Pong_Code.objdump 783 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386
  1. Pong_Code.elf: file format elf32-littlenios2
  2. Pong_Code.elf
  3. architecture: nios2:r1, flags 0x00000112:
  4. EXEC_P, HAS_SYMS, D_PAGED
  5. start address 0x00040230
  6. Program Header:
  7. LOAD off 0x00001000 vaddr 0x00040000 paddr 0x00040000 align 2**12
  8. filesz 0x00000020 memsz 0x00000020 flags r-x
  9. LOAD off 0x00001020 vaddr 0x00040020 paddr 0x00040020 align 2**12
  10. filesz 0x0001255c memsz 0x0001255c flags r-x
  11. LOAD off 0x0001357c vaddr 0x0005257c paddr 0x00054190 align 2**12
  12. filesz 0x00001c14 memsz 0x00001c14 flags rw-
  13. LOAD off 0x00015da4 vaddr 0x00055da4 paddr 0x00055da4 align 2**12
  14. filesz 0x00000000 memsz 0x000001a0 flags rw-
  15. Sections:
  16. Idx Name Size VMA LMA File off Algn
  17. 0 .entry 00000020 00040000 00040000 00001000 2**5
  18. CONTENTS, ALLOC, LOAD, READONLY, CODE
  19. 1 .exceptions 00000210 00040020 00040020 00001020 2**2
  20. CONTENTS, ALLOC, LOAD, READONLY, CODE
  21. 2 .text 00011d20 00040230 00040230 00001230 2**2
  22. CONTENTS, ALLOC, LOAD, READONLY, CODE
  23. 3 .rodata 0000062c 00051f50 00051f50 00012f50 2**2
  24. CONTENTS, ALLOC, LOAD, READONLY, DATA
  25. 4 .rwdata 00001c14 0005257c 00054190 0001357c 2**2
  26. CONTENTS, ALLOC, LOAD, DATA, SMALL_DATA
  27. 5 .bss 000001a0 00055da4 00055da4 00015da4 2**2
  28. ALLOC, SMALL_DATA
  29. 6 .onchip_memory2 00000000 00055f44 00055f44 00015190 2**0
  30. CONTENTS
  31. 7 .comment 00000023 00000000 00000000 00015190 2**0
  32. CONTENTS, READONLY
  33. 8 .debug_aranges 00001040 00000000 00000000 000151b8 2**3
  34. CONTENTS, READONLY, DEBUGGING
  35. 9 .debug_info 000260cb 00000000 00000000 000161f8 2**0
  36. CONTENTS, READONLY, DEBUGGING
  37. 10 .debug_abbrev 00009eb8 00000000 00000000 0003c2c3 2**0
  38. CONTENTS, READONLY, DEBUGGING
  39. 11 .debug_line 0000c576 00000000 00000000 0004617b 2**0
  40. CONTENTS, READONLY, DEBUGGING
  41. 12 .debug_frame 00002538 00000000 00000000 000526f4 2**2
  42. CONTENTS, READONLY, DEBUGGING
  43. 13 .debug_str 00004001 00000000 00000000 00054c2c 2**0
  44. CONTENTS, READONLY, DEBUGGING
  45. 14 .debug_loc 00018548 00000000 00000000 00058c2d 2**0
  46. CONTENTS, READONLY, DEBUGGING
  47. 15 .debug_alt_sim_info 00000040 00000000 00000000 00071178 2**2
  48. CONTENTS, READONLY, DEBUGGING
  49. 16 .debug_ranges 00001b70 00000000 00000000 000711b8 2**3
  50. CONTENTS, READONLY, DEBUGGING
  51. 17 .thread_model 00000003 00000000 00000000 00076312 2**0
  52. CONTENTS, READONLY
  53. 18 .cpu 00000005 00000000 00000000 00076315 2**0
  54. CONTENTS, READONLY
  55. 19 .qsys 00000001 00000000 00000000 0007631a 2**0
  56. CONTENTS, READONLY
  57. 20 .simulation_enabled 00000001 00000000 00000000 0007631b 2**0
  58. CONTENTS, READONLY
  59. 21 .stderr_dev 00000009 00000000 00000000 0007631c 2**0
  60. CONTENTS, READONLY
  61. 22 .stdin_dev 00000009 00000000 00000000 00076325 2**0
  62. CONTENTS, READONLY
  63. 23 .stdout_dev 00000009 00000000 00000000 0007632e 2**0
  64. CONTENTS, READONLY
  65. 24 .sopc_system_name 00000008 00000000 00000000 00076337 2**0
  66. CONTENTS, READONLY
  67. 25 .quartus_project_dir 0000001d 00000000 00000000 0007633f 2**0
  68. CONTENTS, READONLY
  69. 26 .jdi 00004802 00000000 00000000 0007635c 2**0
  70. CONTENTS, READONLY
  71. 27 .sopcinfo 0004849f 00000000 00000000 0007ab5e 2**0
  72. CONTENTS, READONLY
  73. SYMBOL TABLE:
  74. 00040000 l d .entry 00000000 .entry
  75. 00040020 l d .exceptions 00000000 .exceptions
  76. 00040230 l d .text 00000000 .text
  77. 00051f50 l d .rodata 00000000 .rodata
  78. 0005257c l d .rwdata 00000000 .rwdata
  79. 00055da4 l d .bss 00000000 .bss
  80. 00055f44 l d .onchip_memory2 00000000 .onchip_memory2
  81. 00000000 l d .comment 00000000 .comment
  82. 00000000 l d .debug_aranges 00000000 .debug_aranges
  83. 00000000 l d .debug_info 00000000 .debug_info
  84. 00000000 l d .debug_abbrev 00000000 .debug_abbrev
  85. 00000000 l d .debug_line 00000000 .debug_line
  86. 00000000 l d .debug_frame 00000000 .debug_frame
  87. 00000000 l d .debug_str 00000000 .debug_str
  88. 00000000 l d .debug_loc 00000000 .debug_loc
  89. 00000000 l d .debug_alt_sim_info 00000000 .debug_alt_sim_info
  90. 00000000 l d .debug_ranges 00000000 .debug_ranges
  91. 00000000 l df *ABS* 00000000 ../Pong_Code_bsp//obj/HAL/src/crt0.o
  92. 00040268 l .text 00000000 alt_after_alt_main
  93. 00000000 l df *ABS* 00000000 alt_irq_handler.c
  94. 00000000 l df *ABS* 00000000 alt_instruction_exception_entry.c
  95. 00000000 l df *ABS* 00000000 specs.cpp
  96. 00000000 l df *ABS* 00000000 Main.c
  97. 00000000 l df *ABS* 00000000 specs.cpp
  98. 00000000 l df *ABS* 00000000 s_round.c
  99. 00000000 l df *ABS* 00000000 eqsf2.c
  100. 00000000 l df *ABS* 00000000 gesf2.c
  101. 00000000 l df *ABS* 00000000 lesf2.c
  102. 00000000 l df *ABS* 00000000 floatsisf.c
  103. 00000000 l df *ABS* 00000000 adddf3.c
  104. 00000000 l df *ABS* 00000000 gedf2.c
  105. 00000000 l df *ABS* 00000000 ledf2.c
  106. 00000000 l df *ABS* 00000000 subdf3.c
  107. 00000000 l df *ABS* 00000000 fixdfsi.c
  108. 00000000 l df *ABS* 00000000 floatsidf.c
  109. 00000000 l df *ABS* 00000000 extendsfdf2.c
  110. 00000000 l df *ABS* 00000000 libgcc2.c
  111. 00000000 l df *ABS* 00000000 libgcc2.c
  112. 00000000 l df *ABS* 00000000 printf.c
  113. 00000000 l df *ABS* 00000000 putchar.c
  114. 00000000 l df *ABS* 00000000 puts.c
  115. 00000000 l df *ABS* 00000000 strlen.c
  116. 00000000 l df *ABS* 00000000 vfprintf.c
  117. 0005213a l O .rodata 00000010 zeroes.4404
  118. 000450d0 l F .text 000000bc __sbprintf
  119. 0005214a l O .rodata 00000010 blanks.4403
  120. 00000000 l df *ABS* 00000000 wsetup.c
  121. 00000000 l df *ABS* 00000000 dtoa.c
  122. 000452e0 l F .text 00000228 quorem
  123. 00000000 l df *ABS* 00000000 fflush.c
  124. 00000000 l df *ABS* 00000000 findfp.c
  125. 00046e38 l F .text 00000008 __fp_unlock
  126. 00046e4c l F .text 0000019c __sinit.part.1
  127. 00046fe8 l F .text 00000008 __fp_lock
  128. 00000000 l df *ABS* 00000000 mallocr.c
  129. 00000000 l df *ABS* 00000000 fvwrite.c
  130. 00000000 l df *ABS* 00000000 fwalk.c
  131. 00000000 l df *ABS* 00000000 impure.c
  132. 0005257c l O .rwdata 00000424 impure_data
  133. 00000000 l df *ABS* 00000000 locale.c
  134. 000529c0 l O .rwdata 00000020 lc_ctype_charset
  135. 000529a0 l O .rwdata 00000020 lc_message_charset
  136. 000529e0 l O .rwdata 00000038 lconv
  137. 00000000 l df *ABS* 00000000 makebuf.c
  138. 00000000 l df *ABS* 00000000 mallocr.c
  139. 00000000 l df *ABS* 00000000 memchr.c
  140. 00000000 l df *ABS* 00000000 memcpy.c
  141. 00000000 l df *ABS* 00000000 memmove.c
  142. 00000000 l df *ABS* 00000000 memset.c
  143. 00000000 l df *ABS* 00000000 mprec.c
  144. 0005217c l O .rodata 0000000c p05.2768
  145. 00000000 l df *ABS* 00000000 putc.c
  146. 00000000 l df *ABS* 00000000 mallocr.c
  147. 00000000 l df *ABS* 00000000 s_fpclassify.c
  148. 00000000 l df *ABS* 00000000 sbrkr.c
  149. 00000000 l df *ABS* 00000000 stdio.c
  150. 00000000 l df *ABS* 00000000 strcmp.c
  151. 00000000 l df *ABS* 00000000 vfprintf.c
  152. 0004a624 l F .text 000000fc __sprint_r.part.0
  153. 000522a0 l O .rodata 00000010 zeroes.4349
  154. 0004bc60 l F .text 000000bc __sbprintf
  155. 000522b0 l O .rodata 00000010 blanks.4348
  156. 00000000 l df *ABS* 00000000 wbuf.c
  157. 00000000 l df *ABS* 00000000 writer.c
  158. 00000000 l df *ABS* 00000000 closer.c
  159. 00000000 l df *ABS* 00000000 mallocr.c
  160. 00000000 l df *ABS* 00000000 fclose.c
  161. 00000000 l df *ABS* 00000000 fputwc.c
  162. 00000000 l df *ABS* 00000000 fstatr.c
  163. 00000000 l df *ABS* 00000000 int_errno.c
  164. 00000000 l df *ABS* 00000000 isattyr.c
  165. 00000000 l df *ABS* 00000000 lseekr.c
  166. 00000000 l df *ABS* 00000000 readr.c
  167. 00000000 l df *ABS* 00000000 wcrtomb.c
  168. 00000000 l df *ABS* 00000000 wctomb_r.c
  169. 00000000 l df *ABS* 00000000 libgcc2.c
  170. 00000000 l df *ABS* 00000000 libgcc2.c
  171. 00000000 l df *ABS* 00000000 lib2-divmod.c
  172. 00000000 l df *ABS* 00000000 lib2-mul.c
  173. 00000000 l df *ABS* 00000000 divdf3.c
  174. 00000000 l df *ABS* 00000000 eqdf2.c
  175. 00000000 l df *ABS* 00000000 muldf3.c
  176. 00000000 l df *ABS* 00000000 floatunsidf.c
  177. 00000000 l df *ABS* 00000000 alt_close.c
  178. 0004e770 l F .text 0000003c alt_get_errno
  179. 00000000 l df *ABS* 00000000 alt_dev.c
  180. 0004e884 l F .text 0000002c alt_dev_null_write
  181. 00000000 l df *ABS* 00000000 alt_errno.c
  182. 00000000 l df *ABS* 00000000 alt_fstat.c
  183. 0004e8b0 l F .text 0000003c alt_get_errno
  184. 00000000 l df *ABS* 00000000 alt_isatty.c
  185. 0004e9a4 l F .text 0000003c alt_get_errno
  186. 00000000 l df *ABS* 00000000 alt_load.c
  187. 0004ea8c l F .text 00000068 alt_load_section
  188. 00000000 l df *ABS* 00000000 alt_lseek.c
  189. 0004eb78 l F .text 0000003c alt_get_errno
  190. 00000000 l df *ABS* 00000000 alt_main.c
  191. 00000000 l df *ABS* 00000000 alt_malloc_lock.c
  192. 00000000 l df *ABS* 00000000 alt_read.c
  193. 0004ed54 l F .text 0000003c alt_get_errno
  194. 00000000 l df *ABS* 00000000 alt_release_fd.c
  195. 00000000 l df *ABS* 00000000 alt_sbrk.c
  196. 00054178 l O .rwdata 00000004 heap_end
  197. 00000000 l df *ABS* 00000000 alt_write.c
  198. 0004efc8 l F .text 0000003c alt_get_errno
  199. 00000000 l df *ABS* 00000000 alt_sys_init.c
  200. 0004f104 l F .text 00000034 alt_dev_reg
  201. 00052fc8 l O .rwdata 00001060 jtag_uart
  202. 00054028 l O .rwdata 00000120 lcd_16207
  203. 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_fd.c
  204. 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_init.c
  205. 0004f3f4 l F .text 0000020c altera_avalon_jtag_uart_irq
  206. 0004f600 l F .text 000000a0 altera_avalon_jtag_uart_timeout
  207. 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_ioctl.c
  208. 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_read.c
  209. 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_write.c
  210. 00000000 l df *ABS* 00000000 altera_avalon_lcd_16207.c
  211. 0005417c l O .rwdata 00000004 colstart
  212. 0004fc38 l F .text 000000b8 lcd_write_command
  213. 0004fcf0 l F .text 000000d8 lcd_write_data
  214. 0004fdc8 l F .text 000000e8 lcd_clear_screen
  215. 0004feb0 l F .text 00000228 lcd_repaint_screen
  216. 000500d8 l F .text 000000e8 lcd_scroll_up
  217. 000501c0 l F .text 000002c4 lcd_handle_escape
  218. 000509a4 l F .text 000000ac alt_lcd_16207_timeout
  219. 00000000 l df *ABS* 00000000 altera_avalon_lcd_16207_fd.c
  220. 00000000 l df *ABS* 00000000 alt_alarm_start.c
  221. 00000000 l df *ABS* 00000000 alt_dcache_flush_all.c
  222. 00000000 l df *ABS* 00000000 alt_dev_llist_insert.c
  223. 00050d30 l F .text 0000003c alt_get_errno
  224. 00000000 l df *ABS* 00000000 alt_do_ctors.c
  225. 00000000 l df *ABS* 00000000 alt_do_dtors.c
  226. 00000000 l df *ABS* 00000000 alt_icache_flush_all.c
  227. 00000000 l df *ABS* 00000000 alt_iic.c
  228. 00000000 l df *ABS* 00000000 alt_iic_isr_register.c
  229. 00000000 l df *ABS* 00000000 alt_io_redirect.c
  230. 00051190 l F .text 000000e4 alt_open_fd
  231. 00000000 l df *ABS* 00000000 alt_irq_vars.c
  232. 00000000 l df *ABS* 00000000 alt_open.c
  233. 000512f0 l F .text 0000003c alt_get_errno
  234. 0005132c l F .text 000000ec alt_file_locked
  235. 00000000 l df *ABS* 00000000 alt_tick.c
  236. 00000000 l df *ABS* 00000000 alt_usleep.c
  237. 00000000 l df *ABS* 00000000 altera_nios2_gen2_irq.c
  238. 00000000 l df *ABS* 00000000 alt_busy_sleep.c
  239. 00000000 l df *ABS* 00000000 alt_find_dev.c
  240. 00000000 l df *ABS* 00000000 alt_find_file.c
  241. 00000000 l df *ABS* 00000000 alt_get_fd.c
  242. 00000000 l df *ABS* 00000000 atexit.c
  243. 00000000 l df *ABS* 00000000 ctype_.c
  244. 000523fc l O .rodata 00000180 _ctype_b
  245. 00000000 l df *ABS* 00000000 exit.c
  246. 00000000 l df *ABS* 00000000 memcmp.c
  247. 00000000 l df *ABS* 00000000 __atexit.c
  248. 00000000 l df *ABS* 00000000 __call_atexit.c
  249. 00000000 l df *ABS* 00000000 alt_exit.c
  250. 00055de8 g O .bss 00000004 alt_instruction_exception_handler
  251. 00042c54 g F .text 00000018 putchar
  252. 00049b00 g F .text 00000074 _mprec_log10
  253. 00049bec g F .text 0000008c __any_on
  254. 0004c36c g F .text 00000054 _isatty_r
  255. 00052188 g O .rodata 00000028 __mprec_tinytens
  256. 0004ec90 g F .text 0000007c alt_main
  257. 00042c6c g F .text 000000c0 _puts_r
  258. 00055e44 g O .bss 00000100 alt_irq
  259. 0004c3c0 g F .text 00000060 _lseek_r
  260. 00054190 g *ABS* 00000000 __flash_rwdata_start
  261. 0004ddd4 g F .text 00000088 .hidden __eqdf2
  262. 00055f44 g *ABS* 00000000 __alt_heap_start
  263. 00042c10 g F .text 0000003c printf
  264. 0004c480 g F .text 0000009c _wcrtomb_r
  265. 0004a4e4 g F .text 0000005c __sseek
  266. 00047198 g F .text 00000010 __sinit
  267. 0004bd1c g F .text 00000140 __swbuf_r
  268. 00047c6c g F .text 0000007c _setlocale_r
  269. 00046ff0 g F .text 00000078 __sfmoreglue
  270. 0004ed30 g F .text 00000024 __malloc_unlock
  271. 00041178 g F .text 00000100 round
  272. 0004893c g F .text 0000015c memmove
  273. 00047180 g F .text 00000018 _cleanup
  274. 00048bc0 g F .text 000000a8 _Balloc
  275. 00041e44 g F .text 000000dc .hidden __gtdf2
  276. 00051748 g F .text 00000024 altera_nios2_gen2_irq_init
  277. 00040000 g F .entry 0000000c __reset
  278. 00040020 g *ABS* 00000000 __flash_exceptions_start
  279. 0004c310 g F .text 0000005c _fstat_r
  280. 00055dcc g O .bss 00000004 errno
  281. 0004a460 g F .text 00000008 __seofread
  282. 00055dd4 g O .bss 00000004 alt_argv
  283. 0005c148 g *ABS* 00000000 _gp
  284. 00051718 g F .text 00000030 usleep
  285. 00040504 g F .text 00000b40 game
  286. 00052e48 g O .rwdata 00000180 alt_fd_list
  287. 00042c4c g F .text 00000008 _putchar_r
  288. 000518c4 g F .text 00000090 alt_find_dev
  289. 000487f4 g F .text 00000148 memcpy
  290. 00046e40 g F .text 0000000c _cleanup_r
  291. 00042990 g F .text 000000dc .hidden __floatsidf
  292. 00051274 g F .text 0000007c alt_io_redirect
  293. 00041f20 g F .text 000000f4 .hidden __ltdf2
  294. 00051f50 g *ABS* 00000000 __DTOR_END__
  295. 00042d2c g F .text 00000014 puts
  296. 00051b20 g F .text 0000009c alt_exception_cause_generated_bad_addr
  297. 0004a344 g F .text 00000074 __fpclassifyd
  298. 00049a5c g F .text 000000a4 __ratio
  299. 0004bc44 g F .text 0000001c __vfiprintf_internal
  300. 00055e14 g O .bss 00000020 screen
  301. 0004f7f8 g F .text 0000021c altera_avalon_jtag_uart_read
  302. 00042be0 g F .text 00000030 _printf_r
  303. 0004d320 g F .text 00000064 .hidden __udivsi3
  304. 0004e9e0 g F .text 000000ac isatty
  305. 000521d8 g O .rodata 000000c8 __mprec_tens
  306. 00047ce8 g F .text 0000000c __locale_charset
  307. 000413ac g F .text 000000c8 .hidden __lesf2
  308. 00055dc8 g O .bss 00000004 __malloc_top_pad
  309. 00054150 g O .rwdata 00000004 __mb_cur_max
  310. 00047d18 g F .text 0000000c _localeconv_r
  311. 0004048c g F .text 00000078 reset_pos
  312. 00048ff4 g F .text 0000003c __i2b
  313. 0004761c g F .text 000004c8 __sfvwrite_r
  314. 0004a3b8 g F .text 00000054 _sbrk_r
  315. 0004c420 g F .text 00000060 _read_r
  316. 000403c0 g F .text 00000070 set_pixel
  317. 00054170 g O .rwdata 00000004 alt_max_fd
  318. 0004c004 g F .text 000000f0 _fclose_r
  319. 00046e08 g F .text 00000030 fflush
  320. 00055dc4 g O .bss 00000004 __malloc_max_sbrked_mem
  321. 00042a6c g F .text 00000110 .hidden __extendsfdf2
  322. 00041598 g F .text 000008ac .hidden __adddf3
  323. 00041278 g F .text 00000078 .hidden __nesf2
  324. 00049804 g F .text 0000010c __b2d
  325. 0004cc64 g F .text 000005c4 .hidden __umoddi3
  326. 0004ebb4 g F .text 000000dc lseek
  327. 00054148 g O .rwdata 00000004 _global_impure_ptr
  328. 00049de0 g F .text 00000564 _realloc_r
  329. 00055f44 g *ABS* 00000000 __bss_end
  330. 000510a0 g F .text 000000f0 alt_iic_isr_register
  331. 00051610 g F .text 00000108 alt_tick
  332. 0004c668 g F .text 000005fc .hidden __udivdi3
  333. 0004c26c g F .text 00000024 _fputwc_r
  334. 000521b0 g O .rodata 00000028 __mprec_bigtens
  335. 00048dd8 g F .text 00000104 __s2b
  336. 0004e6c8 g F .text 000000a8 .hidden __floatunsidf
  337. 00049544 g F .text 00000060 __mcmp
  338. 000471b8 g F .text 00000018 __fp_lock_all
  339. 00051054 g F .text 0000004c alt_ic_irq_enabled
  340. 00051574 g F .text 0000009c alt_alarm_stop
  341. 00055ddc g O .bss 00000004 alt_irq_active
  342. 000400fc g F .exceptions 000000d4 alt_irq_handler
  343. 00052e20 g O .rwdata 00000028 alt_dev_null
  344. 00050d10 g F .text 00000020 alt_dcache_flush_all
  345. 00048edc g F .text 00000068 __hi0bits
  346. 00042910 g F .text 00000080 .hidden __fixdfsi
  347. 00054190 g *ABS* 00000000 __ram_rwdata_end
  348. 00054168 g O .rwdata 00000008 alt_dev_list
  349. 0004f004 g F .text 00000100 write
  350. 00049c78 g F .text 000000a0 _putc_r
  351. 000412f0 g F .text 000000bc .hidden __gtsf2
  352. 0005257c g *ABS* 00000000 __ram_rodata_end
  353. 0004e8ec g F .text 000000b8 fstat
  354. 00041f20 g F .text 000000f4 .hidden __ledf2
  355. 000492bc g F .text 00000140 __pow5mult
  356. 0004a738 g F .text 0000150c ___vfiprintf_internal_r
  357. 00055dbc g O .bss 00000004 __nlocale_changed
  358. 0004d384 g F .text 00000058 .hidden __umodsi3
  359. 00055f44 g *ABS* 00000000 end
  360. 00050484 g F .text 00000520 altera_avalon_lcd_16207_write
  361. 0004f334 g F .text 000000c0 altera_avalon_jtag_uart_init
  362. 000401d0 g F .exceptions 00000060 alt_instruction_exception_entry
  363. 00051f50 g *ABS* 00000000 __CTOR_LIST__
  364. 00072000 g *ABS* 00000000 __alt_stack_pointer
  365. 00042b7c g F .text 00000064 .hidden __clzsi2
  366. 0004fa14 g F .text 00000224 altera_avalon_jtag_uart_write
  367. 000471a8 g F .text 00000004 __sfp_lock_acquire
  368. 00048710 g F .text 000000e4 memchr
  369. 00042dd8 g F .text 000022dc ___vfprintf_internal_r
  370. 0004730c g F .text 00000310 _free_r
  371. 00047cf4 g F .text 00000010 __locale_mb_cur_max
  372. 00051d9c g F .text 00000180 __call_exitprocs
  373. 00055db8 g O .bss 00000004 __mlocale_changed
  374. 00054154 g O .rwdata 00000004 __malloc_sbrk_base
  375. 00040230 g F .text 0000003c _start
  376. 00055de0 g O .bss 00000004 _alt_tick_rate
  377. 000493fc g F .text 00000148 __lshift
  378. 00055de4 g O .bss 00000004 _alt_nticks
  379. 0004ed90 g F .text 00000104 read
  380. 0004f170 g F .text 00000060 alt_sys_init
  381. 00041474 g F .text 00000124 .hidden __floatsisf
  382. 00051c84 g F .text 00000118 __register_exitproc
  383. 00049030 g F .text 0000028c __multiply
  384. 0004f6a0 g F .text 00000068 altera_avalon_jtag_uart_close
  385. 0004d3dc g F .text 00000028 .hidden __mulsi3
  386. 0005257c g *ABS* 00000000 __ram_rwdata_start
  387. 00051f50 g *ABS* 00000000 __ram_rodata_start
  388. 00055dec g O .bss 00000028 __malloc_current_mallinfo
  389. 00041278 g F .text 00000078 .hidden __eqsf2
  390. 00049910 g F .text 0000014c __d2b
  391. 0004f1d0 g F .text 00000060 altera_avalon_jtag_uart_read_fd
  392. 00051a5c g F .text 000000c4 alt_get_fd
  393. 0005176c g F .text 00000158 alt_busy_sleep
  394. 0004bed4 g F .text 00000054 _close_r
  395. 00051c08 g F .text 0000007c memcmp
  396. 0004f290 g F .text 00000050 altera_avalon_jtag_uart_close_fd
  397. 00055f44 g *ABS* 00000000 __alt_stack_base
  398. 0004f2e0 g F .text 00000054 altera_avalon_jtag_uart_ioctl_fd
  399. 0004518c g F .text 00000154 __swsetup_r
  400. 0004d404 g F .text 000009d0 .hidden __divdf3
  401. 00047068 g F .text 00000118 __sfp
  402. 00049b74 g F .text 00000078 __copybits
  403. 00052a18 g O .rwdata 00000408 __malloc_av_
  404. 000471b4 g F .text 00000004 __sinit_lock_release
  405. 0004de5c g F .text 0000086c .hidden __muldf3
  406. 0004a40c g F .text 00000054 __sread
  407. 00051954 g F .text 00000108 alt_find_file
  408. 00050d6c g F .text 000000a4 alt_dev_llist_insert
  409. 0004ed0c g F .text 00000024 __malloc_lock
  410. 0004ef18 g F .text 000000b0 sbrk
  411. 00046dac g F .text 0000005c _fflush_r
  412. 0004bf28 g F .text 000000dc _calloc_r
  413. 00055da4 g *ABS* 00000000 __bss_start
  414. 00048a98 g F .text 00000128 memset
  415. 0004114c g F .text 0000002c main
  416. 00055dd8 g O .bss 00000004 alt_envp
  417. 00055dc0 g O .bss 00000004 __malloc_max_total_mem
  418. 0004f230 g F .text 00000060 altera_avalon_jtag_uart_write_fd
  419. 0004be5c g F .text 00000018 __swbuf
  420. 000413ac g F .text 000000c8 .hidden __ltsf2
  421. 00050a50 g F .text 00000134 altera_avalon_lcd_16207_init
  422. 0004a540 g F .text 00000008 __sclose
  423. 00072000 g *ABS* 00000000 __alt_heap_limit
  424. 0004c0f4 g F .text 00000014 fclose
  425. 00040430 g F .text 0000005c reset_screen
  426. 00045508 g F .text 00001688 _dtoa_r
  427. 00047f04 g F .text 0000080c _malloc_r
  428. 0004c5dc g F .text 00000030 __ascii_wctomb
  429. 00054174 g O .rwdata 00000004 alt_errno
  430. 00047ae4 g F .text 000000c4 _fwalk
  431. 00041044 g F .text 00000108 test_picture
  432. 00049d18 g F .text 000000c8 putc
  433. 0004d228 g F .text 00000084 .hidden __divsi3
  434. 000471e8 g F .text 00000124 _malloc_trim_r
  435. 00051f50 g *ABS* 00000000 __CTOR_END__
  436. 0004a548 g F .text 000000dc strcmp
  437. 00051f50 g *ABS* 00000000 __flash_rodata_start
  438. 00051f50 g *ABS* 00000000 __DTOR_LIST__
  439. 00055da4 g O .bss 00000008 left_paddle
  440. 0004ddd4 g F .text 00000088 .hidden __nedf2
  441. 0004f138 g F .text 00000038 alt_irq_init
  442. 0004ee94 g F .text 00000084 alt_release_fd
  443. 00051ff2 g O .rodata 00000100 .hidden __clz_tab
  444. 00055db4 g O .bss 00000004 _PathLocale
  445. 0004026c g F .text 00000060 bin
  446. 00051bbc g F .text 00000014 atexit
  447. 000412f0 g F .text 000000bc .hidden __gesf2
  448. 0004be74 g F .text 00000060 _write_r
  449. 00047d24 g F .text 00000018 setlocale
  450. 0005414c g O .rwdata 00000004 _impure_ptr
  451. 00055dd0 g O .bss 00000004 alt_argc
  452. 00046b90 g F .text 0000021c __sflush_r
  453. 00050e70 g F .text 00000060 _do_dtors
  454. 00047d10 g F .text 00000008 __locale_cjk_lang
  455. 00040020 g .exceptions 00000000 alt_irq_entry
  456. 000497a0 g F .text 00000064 __ulp
  457. 000471d0 g F .text 00000018 __fp_unlock_all
  458. 00050b84 g F .text 00000060 altera_avalon_lcd_16207_write_fd
  459. 00054160 g O .rwdata 00000008 alt_fs_list
  460. 00055e34 g O .bss 00000010 ball
  461. 00040020 g *ABS* 00000000 __ram_exceptions_start
  462. 00047d3c g F .text 0000000c localeconv
  463. 00040000 g *ABS* 00000000 __alt_mem_onchip_memory2
  464. 00050ef0 g F .text 00000050 alt_ic_isr_register
  465. 00054190 g *ABS* 00000000 _edata
  466. 00055f44 g *ABS* 00000000 _end
  467. 0004c108 g F .text 00000164 __fputwc
  468. 00040230 g *ABS* 00000000 __ram_exceptions_end
  469. 00055dac g O .bss 00000008 right_paddle
  470. 0004f708 g F .text 000000f0 altera_avalon_jtag_uart_ioctl
  471. 00050fc8 g F .text 0000008c alt_ic_irq_disable
  472. 0004a468 g F .text 0000007c __swrite
  473. 00054158 g O .rwdata 00000004 __malloc_trim_threshold
  474. 0004034c g F .text 00000074 draw_console
  475. 00047d04 g F .text 0000000c __locale_msgcharset
  476. 00051bd0 g F .text 00000038 exit
  477. 00047ba8 g F .text 000000c4 _fwalk_reent
  478. 000495a4 g F .text 000001fc __mdiff
  479. 0004d2ac g F .text 00000074 .hidden __modsi3
  480. 0005418c g O .rwdata 00000004 __ctype_ptr__
  481. 00072000 g *ABS* 00000000 __alt_data_end
  482. 00040020 g F .exceptions 00000000 alt_exception
  483. 000471ac g F .text 00000004 __sfp_lock_release
  484. 000522fb g O .rodata 00000101 _ctype_
  485. 000402cc g F .text 00000080 draw
  486. 00051f1c g F .text 00000034 _exit
  487. 00050be4 g F .text 0000012c alt_alarm_start
  488. 00047d48 g F .text 000001bc __smakebuf_r
  489. 00042d40 g F .text 00000098 strlen
  490. 00051418 g F .text 0000015c open
  491. 00041e44 g F .text 000000dc .hidden __gedf2
  492. 0005415c g O .rwdata 00000004 __wctomb
  493. 0004a720 g F .text 00000018 __sprint_r
  494. 00050ed0 g F .text 00000020 alt_icache_flush_all
  495. 00054180 g O .rwdata 00000004 alt_priority_mask
  496. 00050f40 g F .text 00000088 alt_ic_irq_enable
  497. 000450b4 g F .text 0000001c __vfprintf_internal
  498. 0004c60c g F .text 0000005c _wctomb_r
  499. 00042014 g F .text 000008fc .hidden __subdf3
  500. 00048f44 g F .text 000000b0 __lo0bits
  501. 00054184 g O .rwdata 00000008 alt_alarm_list
  502. 00050e10 g F .text 00000060 _do_ctors
  503. 0004c51c g F .text 000000c0 wcrtomb
  504. 0004e7ac g F .text 000000d8 close
  505. 0004eaf4 g F .text 00000084 alt_load
  506. 0004c290 g F .text 00000080 fputwc
  507. 000471b0 g F .text 00000004 __sinit_lock_acquire
  508. 00048c90 g F .text 00000148 __multadd
  509. 00048c68 g F .text 00000028 _Bfree
  510. Disassembly of section .entry:
  511. 00040000 <__reset>:
  512. * Jump to the _start entry point in the .text section if reset code
  513. * is allowed or if optimizing for RTL simulation.
  514. */
  515. #if defined(ALT_ALLOW_CODE_AT_RESET) || defined(ALT_SIM_OPTIMIZE)
  516. /* Jump to the _start entry point in the .text section. */
  517. movhi r1, %hi(_start)
  518. 40000: 00400134 movhi at,4
  519. ori r1, r1, %lo(_start)
  520. 40004: 08408c14 ori at,at,560
  521. jmp r1
  522. 40008: 0800683a jmp at
  523. ...
  524. Disassembly of section .exceptions:
  525. 00040020 <alt_exception>:
  526. #else /* ALT_EXCEPTION_STACK disabled */
  527. /*
  528. * Reserve space on normal stack for registers about to be pushed.
  529. */
  530. addi sp, sp, -76
  531. 40020: deffed04 addi sp,sp,-76
  532. * documentation for details).
  533. *
  534. * Leave a gap in the stack frame at 4(sp) for the muldiv handler to
  535. * store zero into.
  536. */
  537. stw ra, 0(sp)
  538. 40024: dfc00015 stw ra,0(sp)
  539. stw r1, 8(sp)
  540. 40028: d8400215 stw at,8(sp)
  541. stw r2, 12(sp)
  542. 4002c: d8800315 stw r2,12(sp)
  543. stw r3, 16(sp)
  544. 40030: d8c00415 stw r3,16(sp)
  545. stw r4, 20(sp)
  546. 40034: d9000515 stw r4,20(sp)
  547. stw r5, 24(sp)
  548. 40038: d9400615 stw r5,24(sp)
  549. stw r6, 28(sp)
  550. 4003c: d9800715 stw r6,28(sp)
  551. stw r7, 32(sp)
  552. 40040: d9c00815 stw r7,32(sp)
  553. rdctl r5, estatus /* Read early to avoid usage stall */
  554. 40044: 000b307a rdctl r5,estatus
  555. stw r8, 36(sp)
  556. 40048: da000915 stw r8,36(sp)
  557. stw r9, 40(sp)
  558. 4004c: da400a15 stw r9,40(sp)
  559. stw r10, 44(sp)
  560. 40050: da800b15 stw r10,44(sp)
  561. stw r11, 48(sp)
  562. 40054: dac00c15 stw r11,48(sp)
  563. stw r12, 52(sp)
  564. 40058: db000d15 stw r12,52(sp)
  565. stw r13, 56(sp)
  566. 4005c: db400e15 stw r13,56(sp)
  567. stw r14, 60(sp)
  568. 40060: db800f15 stw r14,60(sp)
  569. stw r15, 64(sp)
  570. 40064: dbc01015 stw r15,64(sp)
  571. /*
  572. * ea-4 contains the address of the instruction being executed
  573. * when the exception occured. For interrupt exceptions, we will
  574. * will be re-issue the isntruction. Store it in 72(sp)
  575. */
  576. stw r5, 68(sp) /* estatus */
  577. 40068: d9401115 stw r5,68(sp)
  578. addi r15, ea, -4 /* instruction that caused exception */
  579. 4006c: ebffff04 addi r15,ea,-4
  580. stw r15, 72(sp)
  581. 40070: dbc01215 stw r15,72(sp)
  582. #else
  583. /*
  584. * Test to see if the exception was a software exception or caused
  585. * by an external interrupt, and vector accordingly.
  586. */
  587. rdctl r4, ipending
  588. 40074: 0009313a rdctl r4,ipending
  589. andi r2, r5, 1
  590. 40078: 2880004c andi r2,r5,1
  591. beq r2, zero, .Lnot_irq
  592. 4007c: 10000326 beq r2,zero,4008c <alt_exception+0x6c>
  593. beq r4, zero, .Lnot_irq
  594. 40080: 20000226 beq r4,zero,4008c <alt_exception+0x6c>
  595. /*
  596. * Now that all necessary registers have been preserved, call
  597. * alt_irq_handler() to process the interrupts.
  598. */
  599. call alt_irq_handler
  600. 40084: 00400fc0 call 400fc <alt_irq_handler>
  601. .section .exceptions.irqreturn, "xa"
  602. br .Lexception_exit
  603. 40088: 00000706 br 400a8 <alt_exception+0x88>
  604. * upon completion, so we write ea (address of instruction *after*
  605. * the one where the exception occured) into 72(sp). The actual
  606. * instruction that caused the exception is written in r2, which these
  607. * handlers will utilize.
  608. */
  609. stw ea, 72(sp) /* EA is PC+4 so will skip over instruction causing exception */
  610. 4008c: df401215 stw ea,72(sp)
  611. .Lunknown_16bit:
  612. addi.n r4, r4, 2 /* Need PC+2 to skip over instruction causing exception */
  613. stw r4, 72(sp)
  614. #else /* CDX is not Enabled and all instructions are 32bits */
  615. ldw r2, -4(ea) /* Instruction value that caused exception */
  616. 40090: e8bfff17 ldw r2,-4(ea)
  617. * debugger is present) or go into an infinite loop since the
  618. * handling behavior is undefined; in that case we will not return here.
  619. */
  620. /* Load exception-causing address as first argument (r4) */
  621. addi r4, ea, -4
  622. 40094: e93fff04 addi r4,ea,-4
  623. /* Call the instruction-exception entry */
  624. call alt_instruction_exception_entry
  625. 40098: 00401d00 call 401d0 <alt_instruction_exception_entry>
  626. * instruction
  627. *
  628. * Return code was 0: Skip. The instruction after the exception is
  629. * already stored in 72(sp).
  630. */
  631. bne r2, r0, .Lexception_exit
  632. 4009c: 1000021e bne r2,zero,400a8 <alt_exception+0x88>
  633. /*
  634. * Otherwise, modify 72(sp) to re-issue the instruction that caused the
  635. * exception.
  636. */
  637. addi r15, ea, -4 /* instruction that caused exception */
  638. 400a0: ebffff04 addi r15,ea,-4
  639. stw r15, 72(sp)
  640. 400a4: dbc01215 stw r15,72(sp)
  641. /*
  642. * Restore the saved registers, so that all general purpose registers
  643. * have been restored to their state at the time the interrupt occured.
  644. */
  645. ldw r5, 68(sp)
  646. 400a8: d9401117 ldw r5,68(sp)
  647. ldw ea, 72(sp) /* This becomes the PC once eret is executed */
  648. 400ac: df401217 ldw ea,72(sp)
  649. ldw ra, 0(sp)
  650. 400b0: dfc00017 ldw ra,0(sp)
  651. wrctl estatus, r5
  652. 400b4: 2801707a wrctl estatus,r5
  653. ldw r1, 8(sp)
  654. 400b8: d8400217 ldw at,8(sp)
  655. ldw r2, 12(sp)
  656. 400bc: d8800317 ldw r2,12(sp)
  657. ldw r3, 16(sp)
  658. 400c0: d8c00417 ldw r3,16(sp)
  659. ldw r4, 20(sp)
  660. 400c4: d9000517 ldw r4,20(sp)
  661. ldw r5, 24(sp)
  662. 400c8: d9400617 ldw r5,24(sp)
  663. ldw r6, 28(sp)
  664. 400cc: d9800717 ldw r6,28(sp)
  665. ldw r7, 32(sp)
  666. 400d0: d9c00817 ldw r7,32(sp)
  667. #if defined(ALT_EXCEPTION_STACK) && defined(ALT_STACK_CHECK)
  668. ldw et, %gprel(alt_exception_old_stack_limit)(gp)
  669. #endif
  670. ldw r8, 36(sp)
  671. 400d4: da000917 ldw r8,36(sp)
  672. ldw r9, 40(sp)
  673. 400d8: da400a17 ldw r9,40(sp)
  674. ldw r10, 44(sp)
  675. 400dc: da800b17 ldw r10,44(sp)
  676. ldw r11, 48(sp)
  677. 400e0: dac00c17 ldw r11,48(sp)
  678. ldw r12, 52(sp)
  679. 400e4: db000d17 ldw r12,52(sp)
  680. ldw r13, 56(sp)
  681. 400e8: db400e17 ldw r13,56(sp)
  682. ldw r14, 60(sp)
  683. 400ec: db800f17 ldw r14,60(sp)
  684. ldw r15, 64(sp)
  685. 400f0: dbc01017 ldw r15,64(sp)
  686. stw et, %gprel(alt_stack_limit_value)(gp)
  687. stw zero, %gprel(alt_exception_old_stack_limit)(gp)
  688. #endif /* ALT_STACK_CHECK */
  689. ldw sp, 76(sp)
  690. #else /* ALT_EXCEPTION_STACK disabled */
  691. addi sp, sp, 76
  692. 400f4: dec01304 addi sp,sp,76
  693. /*
  694. * Return to the interrupted instruction.
  695. */
  696. eret
  697. 400f8: ef80083a eret
  698. 000400fc <alt_irq_handler>:
  699. * instruction is present if the macro ALT_CI_INTERRUPT_VECTOR defined.
  700. */
  701. void alt_irq_handler (void) __attribute__ ((section (".exceptions")));
  702. void alt_irq_handler (void)
  703. {
  704. 400fc: defff904 addi sp,sp,-28
  705. 40100: dfc00615 stw ra,24(sp)
  706. 40104: df000515 stw fp,20(sp)
  707. 40108: df000504 addi fp,sp,20
  708. /*
  709. * Notify the operating system that we are at interrupt level.
  710. */
  711. ALT_OS_INT_ENTER();
  712. 4010c: 0001883a nop
  713. #ifndef NIOS2_EIC_PRESENT
  714. static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void)
  715. {
  716. alt_u32 active;
  717. NIOS2_READ_IPENDING (active);
  718. 40110: 0005313a rdctl r2,ipending
  719. 40114: e0bffe15 stw r2,-8(fp)
  720. return active;
  721. 40118: e0bffe17 ldw r2,-8(fp)
  722. * Consider the case where the high priority interupt is asserted during
  723. * the interrupt entry sequence for a lower priority interrupt to see why
  724. * this is the case.
  725. */
  726. active = alt_irq_pending ();
  727. 4011c: e0bffb15 stw r2,-20(fp)
  728. do
  729. {
  730. i = 0;
  731. 40120: e03ffd15 stw zero,-12(fp)
  732. mask = 1;
  733. 40124: 00800044 movi r2,1
  734. 40128: e0bffc15 stw r2,-16(fp)
  735. * called to clear the interrupt condition.
  736. */
  737. do
  738. {
  739. if (active & mask)
  740. 4012c: e0fffb17 ldw r3,-20(fp)
  741. 40130: e0bffc17 ldw r2,-16(fp)
  742. 40134: 1884703a and r2,r3,r2
  743. 40138: 10001426 beq r2,zero,4018c <alt_irq_handler+0x90>
  744. {
  745. #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
  746. alt_irq[i].handler(alt_irq[i].context);
  747. 4013c: 00800174 movhi r2,5
  748. 40140: 10979104 addi r2,r2,24132
  749. 40144: e0fffd17 ldw r3,-12(fp)
  750. 40148: 180690fa slli r3,r3,3
  751. 4014c: 10c5883a add r2,r2,r3
  752. 40150: 10c00017 ldw r3,0(r2)
  753. 40154: 00800174 movhi r2,5
  754. 40158: 10979104 addi r2,r2,24132
  755. 4015c: e13ffd17 ldw r4,-12(fp)
  756. 40160: 200890fa slli r4,r4,3
  757. 40164: 1105883a add r2,r2,r4
  758. 40168: 10800104 addi r2,r2,4
  759. 4016c: 10800017 ldw r2,0(r2)
  760. 40170: 1009883a mov r4,r2
  761. 40174: 183ee83a callr r3
  762. #else
  763. alt_irq[i].handler(alt_irq[i].context, i);
  764. #endif
  765. break;
  766. 40178: 0001883a nop
  767. #ifndef NIOS2_EIC_PRESENT
  768. static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void)
  769. {
  770. alt_u32 active;
  771. NIOS2_READ_IPENDING (active);
  772. 4017c: 0005313a rdctl r2,ipending
  773. 40180: e0bfff15 stw r2,-4(fp)
  774. return active;
  775. 40184: e0bfff17 ldw r2,-4(fp)
  776. 40188: 00000706 br 401a8 <alt_irq_handler+0xac>
  777. }
  778. mask <<= 1;
  779. 4018c: e0bffc17 ldw r2,-16(fp)
  780. 40190: 1085883a add r2,r2,r2
  781. 40194: e0bffc15 stw r2,-16(fp)
  782. i++;
  783. 40198: e0bffd17 ldw r2,-12(fp)
  784. 4019c: 10800044 addi r2,r2,1
  785. 401a0: e0bffd15 stw r2,-12(fp)
  786. } while (1);
  787. 401a4: 003fe106 br 4012c <__alt_data_end+0xfffce12c>
  788. active = alt_irq_pending ();
  789. 401a8: e0bffb15 stw r2,-20(fp)
  790. } while (active);
  791. 401ac: e0bffb17 ldw r2,-20(fp)
  792. 401b0: 103fdb1e bne r2,zero,40120 <__alt_data_end+0xfffce120>
  793. /*
  794. * Notify the operating system that interrupt processing is complete.
  795. */
  796. ALT_OS_INT_EXIT();
  797. 401b4: 0001883a nop
  798. }
  799. 401b8: 0001883a nop
  800. 401bc: e037883a mov sp,fp
  801. 401c0: dfc00117 ldw ra,4(sp)
  802. 401c4: df000017 ldw fp,0(sp)
  803. 401c8: dec00204 addi sp,sp,8
  804. 401cc: f800283a ret
  805. 000401d0 <alt_instruction_exception_entry>:
  806. * that handler if it has been registered. Absent a handler, it will
  807. * break break or hang as discussed below.
  808. */
  809. int
  810. alt_instruction_exception_entry (alt_u32 exception_pc)
  811. {
  812. 401d0: defffb04 addi sp,sp,-20
  813. 401d4: dfc00415 stw ra,16(sp)
  814. 401d8: df000315 stw fp,12(sp)
  815. 401dc: df000304 addi fp,sp,12
  816. 401e0: e13fff15 stw r4,-4(fp)
  817. cause = ( (cause & NIOS2_EXCEPTION_REG_CAUSE_MASK) >>
  818. NIOS2_EXCEPTION_REG_CAUSE_OFST );
  819. NIOS2_READ_BADADDR(badaddr);
  820. #else
  821. cause = NIOS2_EXCEPTION_CAUSE_NOT_PRESENT;
  822. 401e4: 00bfffc4 movi r2,-1
  823. 401e8: e0bffd15 stw r2,-12(fp)
  824. badaddr = 0;
  825. 401ec: e03ffe15 stw zero,-8(fp)
  826. #endif /* NIOS2_HAS_EXTRA_EXCEPTION_INFO */
  827. if(alt_instruction_exception_handler) {
  828. 401f0: d0a72817 ldw r2,-25440(gp)
  829. 401f4: 10000726 beq r2,zero,40214 <alt_instruction_exception_entry+0x44>
  830. * Call handler. Its return value indicates whether the exception-causing
  831. * instruction should be re-issued. The code that called us,
  832. * alt_eceptions_entry.S, will look at this value and adjust the ea
  833. * register as necessary
  834. */
  835. return alt_instruction_exception_handler(cause, exception_pc, badaddr);
  836. 401f8: d0a72817 ldw r2,-25440(gp)
  837. 401fc: e0fffd17 ldw r3,-12(fp)
  838. 40200: e1bffe17 ldw r6,-8(fp)
  839. 40204: e17fff17 ldw r5,-4(fp)
  840. 40208: 1809883a mov r4,r3
  841. 4020c: 103ee83a callr r2
  842. 40210: 00000206 br 4021c <alt_instruction_exception_entry+0x4c>
  843. * (a peripheral which negates its interrupt output before its
  844. * interrupt handler has been executed will cause spurious interrupts)
  845. */
  846. else {
  847. #ifdef NIOS2_HAS_DEBUG_STUB
  848. NIOS2_BREAK();
  849. 40214: 003da03a break 0
  850. ;
  851. #endif /* NIOS2_HAS_DEBUG_STUB */
  852. }
  853. /* We should not get here. Remove compiler warning. */
  854. return NIOS2_EXCEPTION_RETURN_REISSUE_INST;
  855. 40218: 0005883a mov r2,zero
  856. }
  857. 4021c: e037883a mov sp,fp
  858. 40220: dfc00117 ldw ra,4(sp)
  859. 40224: df000017 ldw fp,0(sp)
  860. 40228: dec00204 addi sp,sp,8
  861. 4022c: f800283a ret
  862. Disassembly of section .text:
  863. 00040230 <_start>:
  864. /*
  865. * Now that the caches are initialized, set up the stack pointer and global pointer.
  866. * The values provided by the linker are assumed to be correctly aligned.
  867. */
  868. movhi sp, %hi(__alt_stack_pointer)
  869. 40230: 06c001f4 movhi sp,7
  870. ori sp, sp, %lo(__alt_stack_pointer)
  871. 40234: dec80014 ori sp,sp,8192
  872. movhi gp, %hi(_gp)
  873. 40238: 06800174 movhi gp,5
  874. ori gp, gp, %lo(_gp)
  875. 4023c: d6b05214 ori gp,gp,49480
  876. */
  877. #ifndef ALT_SIM_OPTIMIZE
  878. /* Log that the BSS is about to be cleared. */
  879. ALT_LOG_PUTS(alt_log_msg_bss)
  880. movhi r2, %hi(__bss_start)
  881. 40240: 00800174 movhi r2,5
  882. ori r2, r2, %lo(__bss_start)
  883. 40244: 10976914 ori r2,r2,23972
  884. movhi r3, %hi(__bss_end)
  885. 40248: 00c00174 movhi r3,5
  886. ori r3, r3, %lo(__bss_end)
  887. 4024c: 18d7d114 ori r3,r3,24388
  888. beq r2, r3, 1f
  889. 40250: 10c00326 beq r2,r3,40260 <_start+0x30>
  890. 0:
  891. stw zero, (r2)
  892. 40254: 10000015 stw zero,0(r2)
  893. addi r2, r2, 4
  894. 40258: 10800104 addi r2,r2,4
  895. bltu r2, r3, 0b
  896. 4025c: 10fffd36 bltu r2,r3,40254 <__alt_data_end+0xfffce254>
  897. * section aren't defined until alt_load() has been called).
  898. */
  899. mov et, zero
  900. #endif
  901. call alt_load
  902. 40260: 004eaf40 call 4eaf4 <alt_load>
  903. /* Log that alt_main is about to be called. */
  904. ALT_LOG_PUTS(alt_log_msg_alt_main)
  905. /* Call the C entry point. It should never return. */
  906. call alt_main
  907. 40264: 004ec900 call 4ec90 <alt_main>
  908. 00040268 <alt_after_alt_main>:
  909. /* Wait in infinite loop in case alt_main does return. */
  910. alt_after_alt_main:
  911. br alt_after_alt_main
  912. 40268: 003fff06 br 40268 <__alt_data_end+0xfffce268>
  913. 0004026c <bin>:
  914. #define ROWS 8
  915. int screen[ROWS];
  916. void bin(unsigned n)
  917. {
  918. 4026c: defffd04 addi sp,sp,-12
  919. 40270: dfc00215 stw ra,8(sp)
  920. 40274: df000115 stw fp,4(sp)
  921. 40278: df000104 addi fp,sp,4
  922. 4027c: e13fff15 stw r4,-4(fp)
  923. if (n > 1)
  924. 40280: e0bfff17 ldw r2,-4(fp)
  925. 40284: 108000b0 cmpltui r2,r2,2
  926. 40288: 1000041e bne r2,zero,4029c <bin+0x30>
  927. bin(n >> 1);
  928. 4028c: e0bfff17 ldw r2,-4(fp)
  929. 40290: 1004d07a srli r2,r2,1
  930. 40294: 1009883a mov r4,r2
  931. 40298: 004026c0 call 4026c <bin>
  932. printf("%d", n & 1);
  933. 4029c: e0bfff17 ldw r2,-4(fp)
  934. 402a0: 1080004c andi r2,r2,1
  935. 402a4: 100b883a mov r5,r2
  936. 402a8: 01000174 movhi r4,5
  937. 402ac: 2107d404 addi r4,r4,8016
  938. 402b0: 0042c100 call 42c10 <printf>
  939. }
  940. 402b4: 0001883a nop
  941. 402b8: e037883a mov sp,fp
  942. 402bc: dfc00117 ldw ra,4(sp)
  943. 402c0: df000017 ldw fp,0(sp)
  944. 402c4: dec00204 addi sp,sp,8
  945. 402c8: f800283a ret
  946. 000402cc <draw>:
  947. void draw() {
  948. 402cc: defffd04 addi sp,sp,-12
  949. 402d0: df000215 stw fp,8(sp)
  950. 402d4: df000204 addi fp,sp,8
  951. int row,i,j;
  952. for (i=0 ; i<ROWS ; i++) {
  953. 402d8: e03ffe15 stw zero,-8(fp)
  954. 402dc: 00001306 br 4032c <draw+0x60>
  955. row = screen[i] | ((i+1)<<12); //send format: (4bits row indicator,12bits data)
  956. 402e0: 00800174 movhi r2,5
  957. 402e4: 10978504 addi r2,r2,24084
  958. 402e8: e0fffe17 ldw r3,-8(fp)
  959. 402ec: 18c7883a add r3,r3,r3
  960. 402f0: 18c7883a add r3,r3,r3
  961. 402f4: 10c5883a add r2,r2,r3
  962. 402f8: 10c00017 ldw r3,0(r2)
  963. 402fc: e0bffe17 ldw r2,-8(fp)
  964. 40300: 10800044 addi r2,r2,1
  965. 40304: 1004933a slli r2,r2,12
  966. 40308: 1884b03a or r2,r3,r2
  967. 4030c: e0bfff15 stw r2,-4(fp)
  968. IOWR_ALTERA_AVALON_PIO_DATA(PIO_MATRIX_BASE, row);
  969. 40310: 00800234 movhi r2,8
  970. 40314: 10841404 addi r2,r2,4176
  971. 40318: e0ffff17 ldw r3,-4(fp)
  972. 4031c: 10c00035 stwio r3,0(r2)
  973. }
  974. void draw() {
  975. int row,i,j;
  976. for (i=0 ; i<ROWS ; i++) {
  977. 40320: e0bffe17 ldw r2,-8(fp)
  978. 40324: 10800044 addi r2,r2,1
  979. 40328: e0bffe15 stw r2,-8(fp)
  980. 4032c: e0bffe17 ldw r2,-8(fp)
  981. 40330: 10800210 cmplti r2,r2,8
  982. 40334: 103fea1e bne r2,zero,402e0 <__alt_data_end+0xfffce2e0>
  983. row = screen[i] | ((i+1)<<12); //send format: (4bits row indicator,12bits data)
  984. IOWR_ALTERA_AVALON_PIO_DATA(PIO_MATRIX_BASE, row);
  985. }
  986. }
  987. 40338: 0001883a nop
  988. 4033c: e037883a mov sp,fp
  989. 40340: df000017 ldw fp,0(sp)
  990. 40344: dec00104 addi sp,sp,4
  991. 40348: f800283a ret
  992. 0004034c <draw_console>:
  993. void draw_console() {
  994. 4034c: defffd04 addi sp,sp,-12
  995. 40350: dfc00215 stw ra,8(sp)
  996. 40354: df000115 stw fp,4(sp)
  997. 40358: df000104 addi fp,sp,4
  998. int i;
  999. for (i = 0 ; i < ROWS ; i++) {
  1000. 4035c: e03fff15 stw zero,-4(fp)
  1001. 40360: 00000e06 br 4039c <draw_console+0x50>
  1002. bin(screen[i]);
  1003. 40364: 00800174 movhi r2,5
  1004. 40368: 10978504 addi r2,r2,24084
  1005. 4036c: e0ffff17 ldw r3,-4(fp)
  1006. 40370: 18c7883a add r3,r3,r3
  1007. 40374: 18c7883a add r3,r3,r3
  1008. 40378: 10c5883a add r2,r2,r3
  1009. 4037c: 10800017 ldw r2,0(r2)
  1010. 40380: 1009883a mov r4,r2
  1011. 40384: 004026c0 call 4026c <bin>
  1012. printf("\n");
  1013. 40388: 01000284 movi r4,10
  1014. 4038c: 0042c540 call 42c54 <putchar>
  1015. }
  1016. }
  1017. void draw_console() {
  1018. int i;
  1019. for (i = 0 ; i < ROWS ; i++) {
  1020. 40390: e0bfff17 ldw r2,-4(fp)
  1021. 40394: 10800044 addi r2,r2,1
  1022. 40398: e0bfff15 stw r2,-4(fp)
  1023. 4039c: e0bfff17 ldw r2,-4(fp)
  1024. 403a0: 10800210 cmplti r2,r2,8
  1025. 403a4: 103fef1e bne r2,zero,40364 <__alt_data_end+0xfffce364>
  1026. bin(screen[i]);
  1027. printf("\n");
  1028. }
  1029. }
  1030. 403a8: 0001883a nop
  1031. 403ac: e037883a mov sp,fp
  1032. 403b0: dfc00117 ldw ra,4(sp)
  1033. 403b4: df000017 ldw fp,0(sp)
  1034. 403b8: dec00204 addi sp,sp,8
  1035. 403bc: f800283a ret
  1036. 000403c0 <set_pixel>:
  1037. void set_pixel(int x, int y) {
  1038. 403c0: defffd04 addi sp,sp,-12
  1039. 403c4: df000215 stw fp,8(sp)
  1040. 403c8: df000204 addi fp,sp,8
  1041. 403cc: e13ffe15 stw r4,-8(fp)
  1042. 403d0: e17fff15 stw r5,-4(fp)
  1043. screen[y] = screen[y] & ~(1<<x) | (1<<x);
  1044. 403d4: 00c00044 movi r3,1
  1045. 403d8: e0bffe17 ldw r2,-8(fp)
  1046. 403dc: 1888983a sll r4,r3,r2
  1047. 403e0: 00800174 movhi r2,5
  1048. 403e4: 10978504 addi r2,r2,24084
  1049. 403e8: e0ffff17 ldw r3,-4(fp)
  1050. 403ec: 18c7883a add r3,r3,r3
  1051. 403f0: 18c7883a add r3,r3,r3
  1052. 403f4: 10c5883a add r2,r2,r3
  1053. 403f8: 10800017 ldw r2,0(r2)
  1054. 403fc: 2088b03a or r4,r4,r2
  1055. 40400: 00800174 movhi r2,5
  1056. 40404: 10978504 addi r2,r2,24084
  1057. 40408: e0ffff17 ldw r3,-4(fp)
  1058. 4040c: 18c7883a add r3,r3,r3
  1059. 40410: 18c7883a add r3,r3,r3
  1060. 40414: 10c5883a add r2,r2,r3
  1061. 40418: 11000015 stw r4,0(r2)
  1062. }
  1063. 4041c: 0001883a nop
  1064. 40420: e037883a mov sp,fp
  1065. 40424: df000017 ldw fp,0(sp)
  1066. 40428: dec00104 addi sp,sp,4
  1067. 4042c: f800283a ret
  1068. 00040430 <reset_screen>:
  1069. void reset_screen() {
  1070. 40430: defffe04 addi sp,sp,-8
  1071. 40434: df000115 stw fp,4(sp)
  1072. 40438: df000104 addi fp,sp,4
  1073. int i;
  1074. for (i=0;i<ROWS;i++) {
  1075. 4043c: e03fff15 stw zero,-4(fp)
  1076. 40440: 00000a06 br 4046c <reset_screen+0x3c>
  1077. screen[i] = 0;
  1078. 40444: 00800174 movhi r2,5
  1079. 40448: 10978504 addi r2,r2,24084
  1080. 4044c: e0ffff17 ldw r3,-4(fp)
  1081. 40450: 18c7883a add r3,r3,r3
  1082. 40454: 18c7883a add r3,r3,r3
  1083. 40458: 10c5883a add r2,r2,r3
  1084. 4045c: 10000015 stw zero,0(r2)
  1085. screen[y] = screen[y] & ~(1<<x) | (1<<x);
  1086. }
  1087. void reset_screen() {
  1088. int i;
  1089. for (i=0;i<ROWS;i++) {
  1090. 40460: e0bfff17 ldw r2,-4(fp)
  1091. 40464: 10800044 addi r2,r2,1
  1092. 40468: e0bfff15 stw r2,-4(fp)
  1093. 4046c: e0bfff17 ldw r2,-4(fp)
  1094. 40470: 10800210 cmplti r2,r2,8
  1095. 40474: 103ff31e bne r2,zero,40444 <__alt_data_end+0xfffce444>
  1096. screen[i] = 0;
  1097. }
  1098. }
  1099. 40478: 0001883a nop
  1100. 4047c: e037883a mov sp,fp
  1101. 40480: df000017 ldw fp,0(sp)
  1102. 40484: dec00104 addi sp,sp,4
  1103. 40488: f800283a ret
  1104. 0004048c <reset_pos>:
  1105. struct Ball ball;
  1106. struct Paddle left_paddle;
  1107. struct Paddle right_paddle;
  1108. void reset_pos() {
  1109. 4048c: deffff04 addi sp,sp,-4
  1110. 40490: df000015 stw fp,0(sp)
  1111. 40494: d839883a mov fp,sp
  1112. ball.x = COLS/2 - 1;
  1113. 40498: 00800174 movhi r2,5
  1114. 4049c: 10978d04 addi r2,r2,24116
  1115. 404a0: 00d02834 movhi r3,16544
  1116. 404a4: 10c00015 stw r3,0(r2)
  1117. ball.y = ROWS/2 - 1;
  1118. 404a8: 00800174 movhi r2,5
  1119. 404ac: 10978d04 addi r2,r2,24116
  1120. 404b0: 00d01034 movhi r3,16448
  1121. 404b4: 10c00115 stw r3,4(r2)
  1122. ball.vel_x = - 1;
  1123. 404b8: 00800174 movhi r2,5
  1124. 404bc: 10978d04 addi r2,r2,24116
  1125. 404c0: 00efe034 movhi r3,49024
  1126. 404c4: 10c00215 stw r3,8(r2)
  1127. ball.vel_y = - 1;
  1128. 404c8: 00800174 movhi r2,5
  1129. 404cc: 10978d04 addi r2,r2,24116
  1130. 404d0: 00efe034 movhi r3,49024
  1131. 404d4: 10c00315 stw r3,12(r2)
  1132. left_paddle.y = 0;
  1133. 404d8: d0271715 stw zero,-25508(gp)
  1134. left_paddle.length = 4;
  1135. 404dc: 00800104 movi r2,4
  1136. 404e0: d0a71815 stw r2,-25504(gp)
  1137. right_paddle.y = 0;
  1138. 404e4: d0271915 stw zero,-25500(gp)
  1139. right_paddle.length = 4;
  1140. 404e8: 00800104 movi r2,4
  1141. 404ec: d0a71a15 stw r2,-25496(gp)
  1142. }
  1143. 404f0: 0001883a nop
  1144. 404f4: e037883a mov sp,fp
  1145. 404f8: df000017 ldw fp,0(sp)
  1146. 404fc: dec00104 addi sp,sp,4
  1147. 40500: f800283a ret
  1148. 00040504 <game>:
  1149. void game() {
  1150. 40504: defff604 addi sp,sp,-40
  1151. 40508: dfc00915 stw ra,36(sp)
  1152. 4050c: df000815 stw fp,32(sp)
  1153. 40510: dcc00715 stw r19,28(sp)
  1154. 40514: dc800615 stw r18,24(sp)
  1155. 40518: dc400515 stw r17,20(sp)
  1156. 4051c: dc000415 stw r16,16(sp)
  1157. 40520: df000804 addi fp,sp,32
  1158. int i,k;
  1159. unsigned buttons;
  1160. k=0;
  1161. 40524: e03ffa15 stw zero,-24(fp)
  1162. reset_pos();
  1163. 40528: 004048c0 call 4048c <reset_pos>
  1164. while (1){
  1165. buttons = ~IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE);
  1166. 4052c: 00800234 movhi r2,8
  1167. 40530: 10841004 addi r2,r2,4160
  1168. 40534: 10800037 ldwio r2,0(r2)
  1169. 40538: 0084303a nor r2,zero,r2
  1170. 4053c: e0bffb15 stw r2,-20(fp)
  1171. //buttons = 10;
  1172. if (buttons & (1<<LEFT_UP_BUTTON)){
  1173. 40540: e0bffb17 ldw r2,-20(fp)
  1174. 40544: 1080008c andi r2,r2,2
  1175. 40548: 10001926 beq r2,zero,405b0 <game+0xac>
  1176. left_paddle.y = MAX(left_paddle.y - (10 * TICK),0);
  1177. 4054c: d0e71717 ldw r3,-25508(gp)
  1178. 40550: 008f0934 movhi r2,15396
  1179. 40554: 10b5c2c4 addi r2,r2,-10485
  1180. 40558: 1885ffb2 custom 254,r2,r3,r2
  1181. 4055c: 000b883a mov r5,zero
  1182. 40560: 1009883a mov r4,r2
  1183. 40564: 00412f00 call 412f0 <__gesf2>
  1184. 40568: 0080050e bge zero,r2,40580 <game+0x7c>
  1185. 4056c: d0e71717 ldw r3,-25508(gp)
  1186. 40570: 008f0934 movhi r2,15396
  1187. 40574: 10b5c2c4 addi r2,r2,-10485
  1188. 40578: 1885ffb2 custom 254,r2,r3,r2
  1189. 4057c: 00000106 br 40584 <game+0x80>
  1190. 40580: 0005883a mov r2,zero
  1191. 40584: d0a71715 stw r2,-25508(gp)
  1192. printf("%f\n",left_paddle.y);
  1193. 40588: d0a71717 ldw r2,-25508(gp)
  1194. 4058c: 1009883a mov r4,r2
  1195. 40590: 0042a6c0 call 42a6c <__extendsfdf2>
  1196. 40594: 100d883a mov r6,r2
  1197. 40598: 180f883a mov r7,r3
  1198. 4059c: 300b883a mov r5,r6
  1199. 405a0: 380d883a mov r6,r7
  1200. 405a4: 01000174 movhi r4,5
  1201. 405a8: 2107d504 addi r4,r4,8020
  1202. 405ac: 0042c100 call 42c10 <printf>
  1203. }
  1204. if (buttons & (1<<LEFT_DOWN_BUTTON)){
  1205. 405b0: e0bffb17 ldw r2,-20(fp)
  1206. 405b4: 1080004c andi r2,r2,1
  1207. 405b8: 10002426 beq r2,zero,4064c <game+0x148>
  1208. left_paddle.y = MIN(left_paddle.y + (10 * TICK), ROWS - (left_paddle.length));
  1209. 405bc: d0e71717 ldw r3,-25508(gp)
  1210. 405c0: 008f0934 movhi r2,15396
  1211. 405c4: 10b5c2c4 addi r2,r2,-10485
  1212. 405c8: 18a1ff72 custom 253,r16,r3,r2
  1213. 405cc: d0a71817 ldw r2,-25504(gp)
  1214. 405d0: 00c00204 movi r3,8
  1215. 405d4: 1885c83a sub r2,r3,r2
  1216. 405d8: 1009883a mov r4,r2
  1217. 405dc: 00414740 call 41474 <__floatsisf>
  1218. 405e0: 1007883a mov r3,r2
  1219. 405e4: 180b883a mov r5,r3
  1220. 405e8: 8009883a mov r4,r16
  1221. 405ec: 00413ac0 call 413ac <__lesf2>
  1222. 405f0: 1000050e bge r2,zero,40608 <game+0x104>
  1223. 405f4: d0e71717 ldw r3,-25508(gp)
  1224. 405f8: 008f0934 movhi r2,15396
  1225. 405fc: 10b5c2c4 addi r2,r2,-10485
  1226. 40600: 1887ff72 custom 253,r3,r3,r2
  1227. 40604: 00000606 br 40620 <game+0x11c>
  1228. 40608: d0a71817 ldw r2,-25504(gp)
  1229. 4060c: 00c00204 movi r3,8
  1230. 40610: 1885c83a sub r2,r3,r2
  1231. 40614: 1009883a mov r4,r2
  1232. 40618: 00414740 call 41474 <__floatsisf>
  1233. 4061c: 1007883a mov r3,r2
  1234. 40620: d0e71715 stw r3,-25508(gp)
  1235. printf("%f\n",left_paddle.y);
  1236. 40624: d0a71717 ldw r2,-25508(gp)
  1237. 40628: 1009883a mov r4,r2
  1238. 4062c: 0042a6c0 call 42a6c <__extendsfdf2>
  1239. 40630: 100d883a mov r6,r2
  1240. 40634: 180f883a mov r7,r3
  1241. 40638: 300b883a mov r5,r6
  1242. 4063c: 380d883a mov r6,r7
  1243. 40640: 01000174 movhi r4,5
  1244. 40644: 2107d504 addi r4,r4,8020
  1245. 40648: 0042c100 call 42c10 <printf>
  1246. }
  1247. if (buttons & (1<<RIGTH_UP_BUTTON)){
  1248. 4064c: e0bffb17 ldw r2,-20(fp)
  1249. 40650: 1080020c andi r2,r2,8
  1250. 40654: 10000f26 beq r2,zero,40694 <game+0x190>
  1251. right_paddle.y = MAX(right_paddle.y - (10 * TICK), 0);
  1252. 40658: d0e71917 ldw r3,-25500(gp)
  1253. 4065c: 008f0934 movhi r2,15396
  1254. 40660: 10b5c2c4 addi r2,r2,-10485
  1255. 40664: 1885ffb2 custom 254,r2,r3,r2
  1256. 40668: 000b883a mov r5,zero
  1257. 4066c: 1009883a mov r4,r2
  1258. 40670: 00412f00 call 412f0 <__gesf2>
  1259. 40674: 0080050e bge zero,r2,4068c <game+0x188>
  1260. 40678: d0e71917 ldw r3,-25500(gp)
  1261. 4067c: 008f0934 movhi r2,15396
  1262. 40680: 10b5c2c4 addi r2,r2,-10485
  1263. 40684: 1885ffb2 custom 254,r2,r3,r2
  1264. 40688: 00000106 br 40690 <game+0x18c>
  1265. 4068c: 0005883a mov r2,zero
  1266. 40690: d0a71915 stw r2,-25500(gp)
  1267. }
  1268. if (buttons & (1<<RIGTH_DOWN_BUTTON)){
  1269. 40694: e0bffb17 ldw r2,-20(fp)
  1270. 40698: 1080010c andi r2,r2,4
  1271. 4069c: 10001a26 beq r2,zero,40708 <game+0x204>
  1272. right_paddle.y = MIN(right_paddle.y + (10 * TICK), ROWS - (right_paddle.length));
  1273. 406a0: d0e71917 ldw r3,-25500(gp)
  1274. 406a4: 008f0934 movhi r2,15396
  1275. 406a8: 10b5c2c4 addi r2,r2,-10485
  1276. 406ac: 18a1ff72 custom 253,r16,r3,r2
  1277. 406b0: d0a71a17 ldw r2,-25496(gp)
  1278. 406b4: 00c00204 movi r3,8
  1279. 406b8: 1885c83a sub r2,r3,r2
  1280. 406bc: 1009883a mov r4,r2
  1281. 406c0: 00414740 call 41474 <__floatsisf>
  1282. 406c4: 1007883a mov r3,r2
  1283. 406c8: 180b883a mov r5,r3
  1284. 406cc: 8009883a mov r4,r16
  1285. 406d0: 00413ac0 call 413ac <__lesf2>
  1286. 406d4: 1000050e bge r2,zero,406ec <game+0x1e8>
  1287. 406d8: d0e71917 ldw r3,-25500(gp)
  1288. 406dc: 008f0934 movhi r2,15396
  1289. 406e0: 10b5c2c4 addi r2,r2,-10485
  1290. 406e4: 1887ff72 custom 253,r3,r3,r2
  1291. 406e8: 00000606 br 40704 <game+0x200>
  1292. 406ec: d0a71a17 ldw r2,-25496(gp)
  1293. 406f0: 00c00204 movi r3,8
  1294. 406f4: 1885c83a sub r2,r3,r2
  1295. 406f8: 1009883a mov r4,r2
  1296. 406fc: 00414740 call 41474 <__floatsisf>
  1297. 40700: 1007883a mov r3,r2
  1298. 40704: d0e71915 stw r3,-25500(gp)
  1299. }
  1300. ball.y = MAX(MIN(ball.y + ball.vel_y * TICK,ROWS - 1),0);
  1301. 40708: 00800174 movhi r2,5
  1302. 4070c: 10978d04 addi r2,r2,24116
  1303. 40710: 10c00117 ldw r3,4(r2)
  1304. 40714: 00800174 movhi r2,5
  1305. 40718: 10978d04 addi r2,r2,24116
  1306. 4071c: 11000317 ldw r4,12(r2)
  1307. 40720: 008ea0f4 movhi r2,14979
  1308. 40724: 10849bc4 addi r2,r2,4719
  1309. 40728: 2085ff32 custom 252,r2,r4,r2
  1310. 4072c: 1885ff72 custom 253,r2,r3,r2
  1311. 40730: 01503834 movhi r5,16608
  1312. 40734: 1009883a mov r4,r2
  1313. 40738: 00413ac0 call 413ac <__lesf2>
  1314. 4073c: 1000110e bge r2,zero,40784 <game+0x280>
  1315. 40740: 00800174 movhi r2,5
  1316. 40744: 10978d04 addi r2,r2,24116
  1317. 40748: 10c00117 ldw r3,4(r2)
  1318. 4074c: 00800174 movhi r2,5
  1319. 40750: 10978d04 addi r2,r2,24116
  1320. 40754: 11000317 ldw r4,12(r2)
  1321. 40758: 008ea0f4 movhi r2,14979
  1322. 4075c: 10849bc4 addi r2,r2,4719
  1323. 40760: 2085ff32 custom 252,r2,r4,r2
  1324. 40764: 1885ff72 custom 253,r2,r3,r2
  1325. 40768: 04000044 movi r16,1
  1326. 4076c: 000b883a mov r5,zero
  1327. 40770: 1009883a mov r4,r2
  1328. 40774: 00412f00 call 412f0 <__gesf2>
  1329. 40778: 00800316 blt zero,r2,40788 <game+0x284>
  1330. 4077c: 0021883a mov r16,zero
  1331. 40780: 00000106 br 40788 <game+0x284>
  1332. 40784: 04000044 movi r16,1
  1333. 40788: 80803fcc andi r2,r16,255
  1334. 4078c: 10001b26 beq r2,zero,407fc <game+0x2f8>
  1335. 40790: 00800174 movhi r2,5
  1336. 40794: 10978d04 addi r2,r2,24116
  1337. 40798: 10c00117 ldw r3,4(r2)
  1338. 4079c: 00800174 movhi r2,5
  1339. 407a0: 10978d04 addi r2,r2,24116
  1340. 407a4: 11000317 ldw r4,12(r2)
  1341. 407a8: 008ea0f4 movhi r2,14979
  1342. 407ac: 10849bc4 addi r2,r2,4719
  1343. 407b0: 2085ff32 custom 252,r2,r4,r2
  1344. 407b4: 1885ff72 custom 253,r2,r3,r2
  1345. 407b8: 01503834 movhi r5,16608
  1346. 407bc: 1009883a mov r4,r2
  1347. 407c0: 00413ac0 call 413ac <__lesf2>
  1348. 407c4: 10000b0e bge r2,zero,407f4 <game+0x2f0>
  1349. 407c8: 00800174 movhi r2,5
  1350. 407cc: 10978d04 addi r2,r2,24116
  1351. 407d0: 10c00117 ldw r3,4(r2)
  1352. 407d4: 00800174 movhi r2,5
  1353. 407d8: 10978d04 addi r2,r2,24116
  1354. 407dc: 11000317 ldw r4,12(r2)
  1355. 407e0: 008ea0f4 movhi r2,14979
  1356. 407e4: 10849bc4 addi r2,r2,4719
  1357. 407e8: 2085ff32 custom 252,r2,r4,r2
  1358. 407ec: 1887ff72 custom 253,r3,r3,r2
  1359. 407f0: 00000306 br 40800 <game+0x2fc>
  1360. 407f4: 00d03834 movhi r3,16608
  1361. 407f8: 00000106 br 40800 <game+0x2fc>
  1362. 407fc: 0007883a mov r3,zero
  1363. 40800: 00800174 movhi r2,5
  1364. 40804: 10978d04 addi r2,r2,24116
  1365. 40808: 10c00115 stw r3,4(r2)
  1366. if (ball.y == 0 || ball.y == ROWS - 1){
  1367. 4080c: 00800174 movhi r2,5
  1368. 40810: 10978d04 addi r2,r2,24116
  1369. 40814: 10c00117 ldw r3,4(r2)
  1370. 40818: 000b883a mov r5,zero
  1371. 4081c: 1809883a mov r4,r3
  1372. 40820: 00412780 call 41278 <__eqsf2>
  1373. 40824: 10000726 beq r2,zero,40844 <game+0x340>
  1374. 40828: 00800174 movhi r2,5
  1375. 4082c: 10978d04 addi r2,r2,24116
  1376. 40830: 10c00117 ldw r3,4(r2)
  1377. 40834: 01503834 movhi r5,16608
  1378. 40838: 1809883a mov r4,r3
  1379. 4083c: 00412780 call 41278 <__eqsf2>
  1380. 40840: 1000071e bne r2,zero,40860 <game+0x35c>
  1381. ball.vel_y = -ball.vel_y;
  1382. 40844: 00800174 movhi r2,5
  1383. 40848: 10978d04 addi r2,r2,24116
  1384. 4084c: 10c00317 ldw r3,12(r2)
  1385. 40850: 18e0003c xorhi r3,r3,32768
  1386. 40854: 00800174 movhi r2,5
  1387. 40858: 10978d04 addi r2,r2,24116
  1388. 4085c: 10c00315 stw r3,12(r2)
  1389. }
  1390. ball.x = MAX(MIN(ball.x + ball.vel_x * TICK,COLS - 1),0);
  1391. 40860: 00800174 movhi r2,5
  1392. 40864: 10978d04 addi r2,r2,24116
  1393. 40868: 10c00017 ldw r3,0(r2)
  1394. 4086c: 00800174 movhi r2,5
  1395. 40870: 10978d04 addi r2,r2,24116
  1396. 40874: 11000217 ldw r4,8(r2)
  1397. 40878: 008ea0f4 movhi r2,14979
  1398. 4087c: 10849bc4 addi r2,r2,4719
  1399. 40880: 2085ff32 custom 252,r2,r4,r2
  1400. 40884: 1885ff72 custom 253,r2,r3,r2
  1401. 40888: 01504c34 movhi r5,16688
  1402. 4088c: 1009883a mov r4,r2
  1403. 40890: 00413ac0 call 413ac <__lesf2>
  1404. 40894: 1000110e bge r2,zero,408dc <game+0x3d8>
  1405. 40898: 00800174 movhi r2,5
  1406. 4089c: 10978d04 addi r2,r2,24116
  1407. 408a0: 10c00017 ldw r3,0(r2)
  1408. 408a4: 00800174 movhi r2,5
  1409. 408a8: 10978d04 addi r2,r2,24116
  1410. 408ac: 11000217 ldw r4,8(r2)
  1411. 408b0: 008ea0f4 movhi r2,14979
  1412. 408b4: 10849bc4 addi r2,r2,4719
  1413. 408b8: 2085ff32 custom 252,r2,r4,r2
  1414. 408bc: 1885ff72 custom 253,r2,r3,r2
  1415. 408c0: 04000044 movi r16,1
  1416. 408c4: 000b883a mov r5,zero
  1417. 408c8: 1009883a mov r4,r2
  1418. 408cc: 00412f00 call 412f0 <__gesf2>
  1419. 408d0: 00800316 blt zero,r2,408e0 <game+0x3dc>
  1420. 408d4: 0021883a mov r16,zero
  1421. 408d8: 00000106 br 408e0 <game+0x3dc>
  1422. 408dc: 04000044 movi r16,1
  1423. 408e0: 80803fcc andi r2,r16,255
  1424. 408e4: 10001b26 beq r2,zero,40954 <game+0x450>
  1425. 408e8: 00800174 movhi r2,5
  1426. 408ec: 10978d04 addi r2,r2,24116
  1427. 408f0: 10c00017 ldw r3,0(r2)
  1428. 408f4: 00800174 movhi r2,5
  1429. 408f8: 10978d04 addi r2,r2,24116
  1430. 408fc: 11000217 ldw r4,8(r2)
  1431. 40900: 008ea0f4 movhi r2,14979
  1432. 40904: 10849bc4 addi r2,r2,4719
  1433. 40908: 2085ff32 custom 252,r2,r4,r2
  1434. 4090c: 1885ff72 custom 253,r2,r3,r2
  1435. 40910: 01504c34 movhi r5,16688
  1436. 40914: 1009883a mov r4,r2
  1437. 40918: 00413ac0 call 413ac <__lesf2>
  1438. 4091c: 10000b0e bge r2,zero,4094c <game+0x448>
  1439. 40920: 00800174 movhi r2,5
  1440. 40924: 10978d04 addi r2,r2,24116
  1441. 40928: 10c00017 ldw r3,0(r2)
  1442. 4092c: 00800174 movhi r2,5
  1443. 40930: 10978d04 addi r2,r2,24116
  1444. 40934: 11000217 ldw r4,8(r2)
  1445. 40938: 008ea0f4 movhi r2,14979
  1446. 4093c: 10849bc4 addi r2,r2,4719
  1447. 40940: 2085ff32 custom 252,r2,r4,r2
  1448. 40944: 1887ff72 custom 253,r3,r3,r2
  1449. 40948: 00000306 br 40958 <game+0x454>
  1450. 4094c: 00d04c34 movhi r3,16688
  1451. 40950: 00000106 br 40958 <game+0x454>
  1452. 40954: 0007883a mov r3,zero
  1453. 40958: 00800174 movhi r2,5
  1454. 4095c: 10978d04 addi r2,r2,24116
  1455. 40960: 10c00015 stw r3,0(r2)
  1456. if (ball.x <= 1){
  1457. 40964: 00800174 movhi r2,5
  1458. 40968: 10978d04 addi r2,r2,24116
  1459. 4096c: 10c00017 ldw r3,0(r2)
  1460. 40970: 014fe034 movhi r5,16256
  1461. 40974: 1809883a mov r4,r3
  1462. 40978: 00413ac0 call 413ac <__lesf2>
  1463. 4097c: 00808f16 blt zero,r2,40bbc <game+0x6b8>
  1464. printf("ballx: %f, ball y: %f\n",ball.x,ball.y);
  1465. 40980: 00800174 movhi r2,5
  1466. 40984: 10978d04 addi r2,r2,24116
  1467. 40988: 10c00017 ldw r3,0(r2)
  1468. 4098c: 1809883a mov r4,r3
  1469. 40990: 0042a6c0 call 42a6c <__extendsfdf2>
  1470. 40994: 1021883a mov r16,r2
  1471. 40998: 1823883a mov r17,r3
  1472. 4099c: 00800174 movhi r2,5
  1473. 409a0: 10978d04 addi r2,r2,24116
  1474. 409a4: 10c00117 ldw r3,4(r2)
  1475. 409a8: 1809883a mov r4,r3
  1476. 409ac: 0042a6c0 call 42a6c <__extendsfdf2>
  1477. 409b0: 1009883a mov r4,r2
  1478. 409b4: 180b883a mov r5,r3
  1479. 409b8: d9400015 stw r5,0(sp)
  1480. 409bc: 200f883a mov r7,r4
  1481. 409c0: 800b883a mov r5,r16
  1482. 409c4: 880d883a mov r6,r17
  1483. 409c8: 01000174 movhi r4,5
  1484. 409cc: 2107d604 addi r4,r4,8024
  1485. 409d0: 0042c100 call 42c10 <printf>
  1486. printf("left_paddlex: %f\n",left_paddle.y);
  1487. 409d4: d0a71717 ldw r2,-25508(gp)
  1488. 409d8: 1009883a mov r4,r2
  1489. 409dc: 0042a6c0 call 42a6c <__extendsfdf2>
  1490. 409e0: 100d883a mov r6,r2
  1491. 409e4: 180f883a mov r7,r3
  1492. 409e8: 300b883a mov r5,r6
  1493. 409ec: 380d883a mov r6,r7
  1494. 409f0: 01000174 movhi r4,5
  1495. 409f4: 2107dc04 addi r4,r4,8048
  1496. 409f8: 0042c100 call 42c10 <printf>
  1497. if (round(ball.y) >= round(left_paddle.y) && round(ball.y) <= (round(left_paddle.y) + left_paddle.length -1)){
  1498. 409fc: 00800174 movhi r2,5
  1499. 40a00: 10978d04 addi r2,r2,24116
  1500. 40a04: 10c00117 ldw r3,4(r2)
  1501. 40a08: 1809883a mov r4,r3
  1502. 40a0c: 0042a6c0 call 42a6c <__extendsfdf2>
  1503. 40a10: 100b883a mov r5,r2
  1504. 40a14: 180d883a mov r6,r3
  1505. 40a18: 2809883a mov r4,r5
  1506. 40a1c: 300b883a mov r5,r6
  1507. 40a20: 00411780 call 41178 <round>
  1508. 40a24: 1021883a mov r16,r2
  1509. 40a28: 1823883a mov r17,r3
  1510. 40a2c: d0a71717 ldw r2,-25508(gp)
  1511. 40a30: 1009883a mov r4,r2
  1512. 40a34: 0042a6c0 call 42a6c <__extendsfdf2>
  1513. 40a38: 100b883a mov r5,r2
  1514. 40a3c: 180d883a mov r6,r3
  1515. 40a40: 2809883a mov r4,r5
  1516. 40a44: 300b883a mov r5,r6
  1517. 40a48: 00411780 call 41178 <round>
  1518. 40a4c: 1009883a mov r4,r2
  1519. 40a50: 180b883a mov r5,r3
  1520. 40a54: 200d883a mov r6,r4
  1521. 40a58: 280f883a mov r7,r5
  1522. 40a5c: 8009883a mov r4,r16
  1523. 40a60: 880b883a mov r5,r17
  1524. 40a64: 0041e440 call 41e44 <__gedf2>
  1525. 40a68: 10003b16 blt r2,zero,40b58 <game+0x654>
  1526. 40a6c: 00800174 movhi r2,5
  1527. 40a70: 10978d04 addi r2,r2,24116
  1528. 40a74: 10c00117 ldw r3,4(r2)
  1529. 40a78: 1809883a mov r4,r3
  1530. 40a7c: 0042a6c0 call 42a6c <__extendsfdf2>
  1531. 40a80: 100b883a mov r5,r2
  1532. 40a84: 180d883a mov r6,r3
  1533. 40a88: 2809883a mov r4,r5
  1534. 40a8c: 300b883a mov r5,r6
  1535. 40a90: 00411780 call 41178 <round>
  1536. 40a94: 1021883a mov r16,r2
  1537. 40a98: 1823883a mov r17,r3
  1538. 40a9c: d0a71717 ldw r2,-25508(gp)
  1539. 40aa0: 1009883a mov r4,r2
  1540. 40aa4: 0042a6c0 call 42a6c <__extendsfdf2>
  1541. 40aa8: 100b883a mov r5,r2
  1542. 40aac: 180d883a mov r6,r3
  1543. 40ab0: 2809883a mov r4,r5
  1544. 40ab4: 300b883a mov r5,r6
  1545. 40ab8: 00411780 call 41178 <round>
  1546. 40abc: 1025883a mov r18,r2
  1547. 40ac0: 1827883a mov r19,r3
  1548. 40ac4: d0a71817 ldw r2,-25504(gp)
  1549. 40ac8: 1009883a mov r4,r2
  1550. 40acc: 00429900 call 42990 <__floatsidf>
  1551. 40ad0: 1009883a mov r4,r2
  1552. 40ad4: 180b883a mov r5,r3
  1553. 40ad8: 200d883a mov r6,r4
  1554. 40adc: 280f883a mov r7,r5
  1555. 40ae0: 9009883a mov r4,r18
  1556. 40ae4: 980b883a mov r5,r19
  1557. 40ae8: 00415980 call 41598 <__adddf3>
  1558. 40aec: 1009883a mov r4,r2
  1559. 40af0: 180b883a mov r5,r3
  1560. 40af4: 2005883a mov r2,r4
  1561. 40af8: 2807883a mov r3,r5
  1562. 40afc: 000d883a mov r6,zero
  1563. 40b00: 01cffc34 movhi r7,16368
  1564. 40b04: 1009883a mov r4,r2
  1565. 40b08: 180b883a mov r5,r3
  1566. 40b0c: 00420140 call 42014 <__subdf3>
  1567. 40b10: 1009883a mov r4,r2
  1568. 40b14: 180b883a mov r5,r3
  1569. 40b18: 2005883a mov r2,r4
  1570. 40b1c: 2807883a mov r3,r5
  1571. 40b20: 100d883a mov r6,r2
  1572. 40b24: 180f883a mov r7,r3
  1573. 40b28: 8009883a mov r4,r16
  1574. 40b2c: 880b883a mov r5,r17
  1575. 40b30: 0041f200 call 41f20 <__ledf2>
  1576. 40b34: 00800816 blt zero,r2,40b58 <game+0x654>
  1577. ball.vel_x = - ball.vel_x;
  1578. 40b38: 00800174 movhi r2,5
  1579. 40b3c: 10978d04 addi r2,r2,24116
  1580. 40b40: 10c00217 ldw r3,8(r2)
  1581. 40b44: 18e0003c xorhi r3,r3,32768
  1582. 40b48: 00800174 movhi r2,5
  1583. 40b4c: 10978d04 addi r2,r2,24116
  1584. 40b50: 10c00215 stw r3,8(r2)
  1585. 40b54: 00001906 br 40bbc <game+0x6b8>
  1586. } else {
  1587. printf("ballx: %f, ball y: %f\n",ball.x,ball.y);
  1588. 40b58: 00800174 movhi r2,5
  1589. 40b5c: 10978d04 addi r2,r2,24116
  1590. 40b60: 10c00017 ldw r3,0(r2)
  1591. 40b64: 1809883a mov r4,r3
  1592. 40b68: 0042a6c0 call 42a6c <__extendsfdf2>
  1593. 40b6c: 1021883a mov r16,r2
  1594. 40b70: 1823883a mov r17,r3
  1595. 40b74: 00800174 movhi r2,5
  1596. 40b78: 10978d04 addi r2,r2,24116
  1597. 40b7c: 10c00117 ldw r3,4(r2)
  1598. 40b80: 1809883a mov r4,r3
  1599. 40b84: 0042a6c0 call 42a6c <__extendsfdf2>
  1600. 40b88: 1009883a mov r4,r2
  1601. 40b8c: 180b883a mov r5,r3
  1602. 40b90: d9400015 stw r5,0(sp)
  1603. 40b94: 200f883a mov r7,r4
  1604. 40b98: 800b883a mov r5,r16
  1605. 40b9c: 880d883a mov r6,r17
  1606. 40ba0: 01000174 movhi r4,5
  1607. 40ba4: 2107d604 addi r4,r4,8024
  1608. 40ba8: 0042c100 call 42c10 <printf>
  1609. printf("rigth player lost\n");
  1610. 40bac: 01000174 movhi r4,5
  1611. 40bb0: 2107e104 addi r4,r4,8068
  1612. 40bb4: 0042d2c0 call 42d2c <puts>
  1613. reset_pos();
  1614. 40bb8: 004048c0 call 4048c <reset_pos>
  1615. }
  1616. }
  1617. if (ball.x >= COLS - 2){
  1618. 40bbc: 00800174 movhi r2,5
  1619. 40bc0: 10978d04 addi r2,r2,24116
  1620. 40bc4: 10c00017 ldw r3,0(r2)
  1621. 40bc8: 01504834 movhi r5,16672
  1622. 40bcc: 1809883a mov r4,r3
  1623. 40bd0: 00412f00 call 412f0 <__gesf2>
  1624. 40bd4: 10007016 blt r2,zero,40d98 <game+0x894>
  1625. if (round(ball.y) >= round(right_paddle.y) && round(ball.y) <= (round(right_paddle.y) + right_paddle.length -1)){
  1626. 40bd8: 00800174 movhi r2,5
  1627. 40bdc: 10978d04 addi r2,r2,24116
  1628. 40be0: 10c00117 ldw r3,4(r2)
  1629. 40be4: 1809883a mov r4,r3
  1630. 40be8: 0042a6c0 call 42a6c <__extendsfdf2>
  1631. 40bec: 100b883a mov r5,r2
  1632. 40bf0: 180d883a mov r6,r3
  1633. 40bf4: 2809883a mov r4,r5
  1634. 40bf8: 300b883a mov r5,r6
  1635. 40bfc: 00411780 call 41178 <round>
  1636. 40c00: 1021883a mov r16,r2
  1637. 40c04: 1823883a mov r17,r3
  1638. 40c08: d0a71917 ldw r2,-25500(gp)
  1639. 40c0c: 1009883a mov r4,r2
  1640. 40c10: 0042a6c0 call 42a6c <__extendsfdf2>
  1641. 40c14: 100b883a mov r5,r2
  1642. 40c18: 180d883a mov r6,r3
  1643. 40c1c: 2809883a mov r4,r5
  1644. 40c20: 300b883a mov r5,r6
  1645. 40c24: 00411780 call 41178 <round>
  1646. 40c28: 1009883a mov r4,r2
  1647. 40c2c: 180b883a mov r5,r3
  1648. 40c30: 200d883a mov r6,r4
  1649. 40c34: 280f883a mov r7,r5
  1650. 40c38: 8009883a mov r4,r16
  1651. 40c3c: 880b883a mov r5,r17
  1652. 40c40: 0041e440 call 41e44 <__gedf2>
  1653. 40c44: 10003b16 blt r2,zero,40d34 <game+0x830>
  1654. 40c48: 00800174 movhi r2,5
  1655. 40c4c: 10978d04 addi r2,r2,24116
  1656. 40c50: 10c00117 ldw r3,4(r2)
  1657. 40c54: 1809883a mov r4,r3
  1658. 40c58: 0042a6c0 call 42a6c <__extendsfdf2>
  1659. 40c5c: 100b883a mov r5,r2
  1660. 40c60: 180d883a mov r6,r3
  1661. 40c64: 2809883a mov r4,r5
  1662. 40c68: 300b883a mov r5,r6
  1663. 40c6c: 00411780 call 41178 <round>
  1664. 40c70: 1021883a mov r16,r2
  1665. 40c74: 1823883a mov r17,r3
  1666. 40c78: d0a71917 ldw r2,-25500(gp)
  1667. 40c7c: 1009883a mov r4,r2
  1668. 40c80: 0042a6c0 call 42a6c <__extendsfdf2>
  1669. 40c84: 100b883a mov r5,r2
  1670. 40c88: 180d883a mov r6,r3
  1671. 40c8c: 2809883a mov r4,r5
  1672. 40c90: 300b883a mov r5,r6
  1673. 40c94: 00411780 call 41178 <round>
  1674. 40c98: 1025883a mov r18,r2
  1675. 40c9c: 1827883a mov r19,r3
  1676. 40ca0: d0a71a17 ldw r2,-25496(gp)
  1677. 40ca4: 1009883a mov r4,r2
  1678. 40ca8: 00429900 call 42990 <__floatsidf>
  1679. 40cac: 1009883a mov r4,r2
  1680. 40cb0: 180b883a mov r5,r3
  1681. 40cb4: 200d883a mov r6,r4
  1682. 40cb8: 280f883a mov r7,r5
  1683. 40cbc: 9009883a mov r4,r18
  1684. 40cc0: 980b883a mov r5,r19
  1685. 40cc4: 00415980 call 41598 <__adddf3>
  1686. 40cc8: 1009883a mov r4,r2
  1687. 40ccc: 180b883a mov r5,r3
  1688. 40cd0: 2005883a mov r2,r4
  1689. 40cd4: 2807883a mov r3,r5
  1690. 40cd8: 000d883a mov r6,zero
  1691. 40cdc: 01cffc34 movhi r7,16368
  1692. 40ce0: 1009883a mov r4,r2
  1693. 40ce4: 180b883a mov r5,r3
  1694. 40ce8: 00420140 call 42014 <__subdf3>
  1695. 40cec: 1009883a mov r4,r2
  1696. 40cf0: 180b883a mov r5,r3
  1697. 40cf4: 2005883a mov r2,r4
  1698. 40cf8: 2807883a mov r3,r5
  1699. 40cfc: 100d883a mov r6,r2
  1700. 40d00: 180f883a mov r7,r3
  1701. 40d04: 8009883a mov r4,r16
  1702. 40d08: 880b883a mov r5,r17
  1703. 40d0c: 0041f200 call 41f20 <__ledf2>
  1704. 40d10: 00800816 blt zero,r2,40d34 <game+0x830>
  1705. ball.vel_x = - ball.vel_x;
  1706. 40d14: 00800174 movhi r2,5
  1707. 40d18: 10978d04 addi r2,r2,24116
  1708. 40d1c: 10c00217 ldw r3,8(r2)
  1709. 40d20: 18e0003c xorhi r3,r3,32768
  1710. 40d24: 00800174 movhi r2,5
  1711. 40d28: 10978d04 addi r2,r2,24116
  1712. 40d2c: 10c00215 stw r3,8(r2)
  1713. 40d30: 00001906 br 40d98 <game+0x894>
  1714. } else {
  1715. printf("ballx: %f, ball y: %f\n",ball.x,ball.y);
  1716. 40d34: 00800174 movhi r2,5
  1717. 40d38: 10978d04 addi r2,r2,24116
  1718. 40d3c: 10c00017 ldw r3,0(r2)
  1719. 40d40: 1809883a mov r4,r3
  1720. 40d44: 0042a6c0 call 42a6c <__extendsfdf2>
  1721. 40d48: 1021883a mov r16,r2
  1722. 40d4c: 1823883a mov r17,r3
  1723. 40d50: 00800174 movhi r2,5
  1724. 40d54: 10978d04 addi r2,r2,24116
  1725. 40d58: 10c00117 ldw r3,4(r2)
  1726. 40d5c: 1809883a mov r4,r3
  1727. 40d60: 0042a6c0 call 42a6c <__extendsfdf2>
  1728. 40d64: 1009883a mov r4,r2
  1729. 40d68: 180b883a mov r5,r3
  1730. 40d6c: d9400015 stw r5,0(sp)
  1731. 40d70: 200f883a mov r7,r4
  1732. 40d74: 800b883a mov r5,r16
  1733. 40d78: 880d883a mov r6,r17
  1734. 40d7c: 01000174 movhi r4,5
  1735. 40d80: 2107d604 addi r4,r4,8024
  1736. 40d84: 0042c100 call 42c10 <printf>
  1737. printf("left player lost\n");
  1738. 40d88: 01000174 movhi r4,5
  1739. 40d8c: 2107e604 addi r4,r4,8088
  1740. 40d90: 0042d2c0 call 42d2c <puts>
  1741. reset_pos();
  1742. 40d94: 004048c0 call 4048c <reset_pos>
  1743. }
  1744. }
  1745. if (ball.vel_x < 0) {
  1746. 40d98: 00800174 movhi r2,5
  1747. 40d9c: 10978d04 addi r2,r2,24116
  1748. 40da0: 10c00217 ldw r3,8(r2)
  1749. 40da4: 000b883a mov r5,zero
  1750. 40da8: 1809883a mov r4,r3
  1751. 40dac: 00413ac0 call 413ac <__lesf2>
  1752. 40db0: 10000a0e bge r2,zero,40ddc <game+0x8d8>
  1753. ball.vel_x = ball.vel_x - ACCELERATION;
  1754. 40db4: 00800174 movhi r2,5
  1755. 40db8: 10978d04 addi r2,r2,24116
  1756. 40dbc: 10c00217 ldw r3,8(r2)
  1757. 40dc0: 008ea0f4 movhi r2,14979
  1758. 40dc4: 10849bc4 addi r2,r2,4719
  1759. 40dc8: 1887ffb2 custom 254,r3,r3,r2
  1760. 40dcc: 00800174 movhi r2,5
  1761. 40dd0: 10978d04 addi r2,r2,24116
  1762. 40dd4: 10c00215 stw r3,8(r2)
  1763. 40dd8: 00000906 br 40e00 <game+0x8fc>
  1764. } else {
  1765. ball.vel_x = ball.vel_x + ACCELERATION;
  1766. 40ddc: 00800174 movhi r2,5
  1767. 40de0: 10978d04 addi r2,r2,24116
  1768. 40de4: 10c00217 ldw r3,8(r2)
  1769. 40de8: 008ea0f4 movhi r2,14979
  1770. 40dec: 10849bc4 addi r2,r2,4719
  1771. 40df0: 1887ff72 custom 253,r3,r3,r2
  1772. 40df4: 00800174 movhi r2,5
  1773. 40df8: 10978d04 addi r2,r2,24116
  1774. 40dfc: 10c00215 stw r3,8(r2)
  1775. }
  1776. if (ball.vel_y < 0) {
  1777. 40e00: 00800174 movhi r2,5
  1778. 40e04: 10978d04 addi r2,r2,24116
  1779. 40e08: 10c00317 ldw r3,12(r2)
  1780. 40e0c: 000b883a mov r5,zero
  1781. 40e10: 1809883a mov r4,r3
  1782. 40e14: 00413ac0 call 413ac <__lesf2>
  1783. 40e18: 10000a0e bge r2,zero,40e44 <game+0x940>
  1784. ball.vel_y = ball.vel_y - ACCELERATION;
  1785. 40e1c: 00800174 movhi r2,5
  1786. 40e20: 10978d04 addi r2,r2,24116
  1787. 40e24: 10c00317 ldw r3,12(r2)
  1788. 40e28: 008ea0f4 movhi r2,14979
  1789. 40e2c: 10849bc4 addi r2,r2,4719
  1790. 40e30: 1887ffb2 custom 254,r3,r3,r2
  1791. 40e34: 00800174 movhi r2,5
  1792. 40e38: 10978d04 addi r2,r2,24116
  1793. 40e3c: 10c00315 stw r3,12(r2)
  1794. 40e40: 00000906 br 40e68 <game+0x964>
  1795. } else {
  1796. ball.vel_y = ball.vel_y + ACCELERATION;
  1797. 40e44: 00800174 movhi r2,5
  1798. 40e48: 10978d04 addi r2,r2,24116
  1799. 40e4c: 10c00317 ldw r3,12(r2)
  1800. 40e50: 008ea0f4 movhi r2,14979
  1801. 40e54: 10849bc4 addi r2,r2,4719
  1802. 40e58: 1887ff72 custom 253,r3,r3,r2
  1803. 40e5c: 00800174 movhi r2,5
  1804. 40e60: 10978d04 addi r2,r2,24116
  1805. 40e64: 10c00315 stw r3,12(r2)
  1806. }
  1807. reset_screen();
  1808. 40e68: 00404300 call 40430 <reset_screen>
  1809. for (i=0;i<left_paddle.length;i++) {
  1810. 40e6c: e03ff915 stw zero,-28(fp)
  1811. 40e70: 00002006 br 40ef4 <game+0x9f0>
  1812. set_pixel( 0, round(left_paddle.y) + i);
  1813. 40e74: d0a71717 ldw r2,-25508(gp)
  1814. 40e78: 1009883a mov r4,r2
  1815. 40e7c: 0042a6c0 call 42a6c <__extendsfdf2>
  1816. 40e80: 100b883a mov r5,r2
  1817. 40e84: 180d883a mov r6,r3
  1818. 40e88: 2809883a mov r4,r5
  1819. 40e8c: 300b883a mov r5,r6
  1820. 40e90: 00411780 call 41178 <round>
  1821. 40e94: 1021883a mov r16,r2
  1822. 40e98: 1823883a mov r17,r3
  1823. 40e9c: e13ff917 ldw r4,-28(fp)
  1824. 40ea0: 00429900 call 42990 <__floatsidf>
  1825. 40ea4: 1009883a mov r4,r2
  1826. 40ea8: 180b883a mov r5,r3
  1827. 40eac: 200d883a mov r6,r4
  1828. 40eb0: 280f883a mov r7,r5
  1829. 40eb4: 8009883a mov r4,r16
  1830. 40eb8: 880b883a mov r5,r17
  1831. 40ebc: 00415980 call 41598 <__adddf3>
  1832. 40ec0: 1009883a mov r4,r2
  1833. 40ec4: 180b883a mov r5,r3
  1834. 40ec8: 2005883a mov r2,r4
  1835. 40ecc: 2807883a mov r3,r5
  1836. 40ed0: 1009883a mov r4,r2
  1837. 40ed4: 180b883a mov r5,r3
  1838. 40ed8: 00429100 call 42910 <__fixdfsi>
  1839. 40edc: 100b883a mov r5,r2
  1840. 40ee0: 0009883a mov r4,zero
  1841. 40ee4: 00403c00 call 403c0 <set_pixel>
  1842. ball.vel_y = ball.vel_y + ACCELERATION;
  1843. }
  1844. reset_screen();
  1845. for (i=0;i<left_paddle.length;i++) {
  1846. 40ee8: e0bff917 ldw r2,-28(fp)
  1847. 40eec: 10800044 addi r2,r2,1
  1848. 40ef0: e0bff915 stw r2,-28(fp)
  1849. 40ef4: d0a71817 ldw r2,-25504(gp)
  1850. 40ef8: e0fff917 ldw r3,-28(fp)
  1851. 40efc: 18bfdd16 blt r3,r2,40e74 <__alt_data_end+0xfffcee74>
  1852. set_pixel( 0, round(left_paddle.y) + i);
  1853. }
  1854. for (i=0;i<right_paddle.length;i++) {
  1855. 40f00: e03ff915 stw zero,-28(fp)
  1856. 40f04: 00002006 br 40f88 <game+0xa84>
  1857. set_pixel(COLS - 1, round(right_paddle.y) + i);
  1858. 40f08: d0a71917 ldw r2,-25500(gp)
  1859. 40f0c: 1009883a mov r4,r2
  1860. 40f10: 0042a6c0 call 42a6c <__extendsfdf2>
  1861. 40f14: 100b883a mov r5,r2
  1862. 40f18: 180d883a mov r6,r3
  1863. 40f1c: 2809883a mov r4,r5
  1864. 40f20: 300b883a mov r5,r6
  1865. 40f24: 00411780 call 41178 <round>
  1866. 40f28: 1021883a mov r16,r2
  1867. 40f2c: 1823883a mov r17,r3
  1868. 40f30: e13ff917 ldw r4,-28(fp)
  1869. 40f34: 00429900 call 42990 <__floatsidf>
  1870. 40f38: 1009883a mov r4,r2
  1871. 40f3c: 180b883a mov r5,r3
  1872. 40f40: 200d883a mov r6,r4
  1873. 40f44: 280f883a mov r7,r5
  1874. 40f48: 8009883a mov r4,r16
  1875. 40f4c: 880b883a mov r5,r17
  1876. 40f50: 00415980 call 41598 <__adddf3>
  1877. 40f54: 1009883a mov r4,r2
  1878. 40f58: 180b883a mov r5,r3
  1879. 40f5c: 2005883a mov r2,r4
  1880. 40f60: 2807883a mov r3,r5
  1881. 40f64: 1009883a mov r4,r2
  1882. 40f68: 180b883a mov r5,r3
  1883. 40f6c: 00429100 call 42910 <__fixdfsi>
  1884. 40f70: 100b883a mov r5,r2
  1885. 40f74: 010002c4 movi r4,11
  1886. 40f78: 00403c00 call 403c0 <set_pixel>
  1887. reset_screen();
  1888. for (i=0;i<left_paddle.length;i++) {
  1889. set_pixel( 0, round(left_paddle.y) + i);
  1890. }
  1891. for (i=0;i<right_paddle.length;i++) {
  1892. 40f7c: e0bff917 ldw r2,-28(fp)
  1893. 40f80: 10800044 addi r2,r2,1
  1894. 40f84: e0bff915 stw r2,-28(fp)
  1895. 40f88: d0a71a17 ldw r2,-25496(gp)
  1896. 40f8c: e0fff917 ldw r3,-28(fp)
  1897. 40f90: 18bfdd16 blt r3,r2,40f08 <__alt_data_end+0xfffcef08>
  1898. set_pixel(COLS - 1, round(right_paddle.y) + i);
  1899. }
  1900. set_pixel(round(ball.x),round(ball.y));
  1901. 40f94: 00800174 movhi r2,5
  1902. 40f98: 10978d04 addi r2,r2,24116
  1903. 40f9c: 10c00017 ldw r3,0(r2)
  1904. 40fa0: 1809883a mov r4,r3
  1905. 40fa4: 0042a6c0 call 42a6c <__extendsfdf2>
  1906. 40fa8: 100b883a mov r5,r2
  1907. 40fac: 180d883a mov r6,r3
  1908. 40fb0: 2809883a mov r4,r5
  1909. 40fb4: 300b883a mov r5,r6
  1910. 40fb8: 00411780 call 41178 <round>
  1911. 40fbc: 100b883a mov r5,r2
  1912. 40fc0: 180d883a mov r6,r3
  1913. 40fc4: 2809883a mov r4,r5
  1914. 40fc8: 300b883a mov r5,r6
  1915. 40fcc: 00429100 call 42910 <__fixdfsi>
  1916. 40fd0: 1021883a mov r16,r2
  1917. 40fd4: 00800174 movhi r2,5
  1918. 40fd8: 10978d04 addi r2,r2,24116
  1919. 40fdc: 10c00117 ldw r3,4(r2)
  1920. 40fe0: 1809883a mov r4,r3
  1921. 40fe4: 0042a6c0 call 42a6c <__extendsfdf2>
  1922. 40fe8: 100b883a mov r5,r2
  1923. 40fec: 180d883a mov r6,r3
  1924. 40ff0: 2809883a mov r4,r5
  1925. 40ff4: 300b883a mov r5,r6
  1926. 40ff8: 00411780 call 41178 <round>
  1927. 40ffc: 100b883a mov r5,r2
  1928. 41000: 180d883a mov r6,r3
  1929. 41004: 2809883a mov r4,r5
  1930. 41008: 300b883a mov r5,r6
  1931. 4100c: 00429100 call 42910 <__fixdfsi>
  1932. 41010: 100b883a mov r5,r2
  1933. 41014: 8009883a mov r4,r16
  1934. 41018: 00403c00 call 403c0 <set_pixel>
  1935. for (k=0;k<1000;k++){}
  1936. 4101c: e03ffa15 stw zero,-24(fp)
  1937. 41020: 00000306 br 41030 <game+0xb2c>
  1938. 41024: e0bffa17 ldw r2,-24(fp)
  1939. 41028: 10800044 addi r2,r2,1
  1940. 4102c: e0bffa15 stw r2,-24(fp)
  1941. 41030: e0bffa17 ldw r2,-24(fp)
  1942. 41034: 1080fa10 cmplti r2,r2,1000
  1943. 41038: 103ffa1e bne r2,zero,41024 <__alt_data_end+0xfffcf024>
  1944. draw();
  1945. 4103c: 00402cc0 call 402cc <draw>
  1946. }
  1947. 41040: 003d3a06 br 4052c <__alt_data_end+0xfffce52c>
  1948. 00041044 <test_picture>:
  1949. }
  1950. void test_picture() {
  1951. 41044: defffa04 addi sp,sp,-24
  1952. 41048: dfc00515 stw ra,20(sp)
  1953. 4104c: df000415 stw fp,16(sp)
  1954. 41050: df000404 addi fp,sp,16
  1955. int i,j,k;
  1956. unsigned buttons;
  1957. while (1){
  1958. for (i=0;i<ROWS;i++) {
  1959. 41054: e03ffc15 stw zero,-16(fp)
  1960. 41058: 00003706 br 41138 <test_picture+0xf4>
  1961. for (j=0;j<COLS;j++) {
  1962. 4105c: e03ffd15 stw zero,-12(fp)
  1963. 41060: 00002f06 br 41120 <test_picture+0xdc>
  1964. buttons = ~IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE);
  1965. 41064: 00800234 movhi r2,8
  1966. 41068: 10841004 addi r2,r2,4160
  1967. 4106c: 10800037 ldwio r2,0(r2)
  1968. 41070: 0084303a nor r2,zero,r2
  1969. 41074: e0bfff15 stw r2,-4(fp)
  1970. //printf("%d,%d, set\n",j,i);
  1971. if (buttons & (1<<LEFT_UP_BUTTON)){
  1972. 41078: e0bfff17 ldw r2,-4(fp)
  1973. 4107c: 1080008c andi r2,r2,2
  1974. 41080: 10000326 beq r2,zero,41090 <test_picture+0x4c>
  1975. printf("left button up");
  1976. 41084: 01000174 movhi r4,5
  1977. 41088: 2107eb04 addi r4,r4,8108
  1978. 4108c: 0042c100 call 42c10 <printf>
  1979. }
  1980. if (buttons & (1<<LEFT_DOWN_BUTTON)){
  1981. 41090: e0bfff17 ldw r2,-4(fp)
  1982. 41094: 1080004c andi r2,r2,1
  1983. 41098: 10000326 beq r2,zero,410a8 <test_picture+0x64>
  1984. printf("left button down");
  1985. 4109c: 01000174 movhi r4,5
  1986. 410a0: 2107ef04 addi r4,r4,8124
  1987. 410a4: 0042c100 call 42c10 <printf>
  1988. }
  1989. if (buttons & (1<<RIGTH_UP_BUTTON)){
  1990. 410a8: e0bfff17 ldw r2,-4(fp)
  1991. 410ac: 1080020c andi r2,r2,8
  1992. 410b0: 10000326 beq r2,zero,410c0 <test_picture+0x7c>
  1993. printf("rigth button up");
  1994. 410b4: 01000174 movhi r4,5
  1995. 410b8: 2107f404 addi r4,r4,8144
  1996. 410bc: 0042c100 call 42c10 <printf>
  1997. }
  1998. if (buttons & (1<<RIGTH_DOWN_BUTTON)){
  1999. 410c0: e0bfff17 ldw r2,-4(fp)
  2000. 410c4: 1080010c andi r2,r2,4
  2001. 410c8: 10000326 beq r2,zero,410d8 <test_picture+0x94>
  2002. printf("rigth button down");
  2003. 410cc: 01000174 movhi r4,5
  2004. 410d0: 2107f804 addi r4,r4,8160
  2005. 410d4: 0042c100 call 42c10 <printf>
  2006. }
  2007. printf("\n");
  2008. 410d8: 01000284 movi r4,10
  2009. 410dc: 0042c540 call 42c54 <putchar>
  2010. set_pixel(j,i);
  2011. 410e0: e17ffc17 ldw r5,-16(fp)
  2012. 410e4: e13ffd17 ldw r4,-12(fp)
  2013. 410e8: 00403c00 call 403c0 <set_pixel>
  2014. draw();
  2015. 410ec: 00402cc0 call 402cc <draw>
  2016. for(k=0;k<100000;k++) {
  2017. 410f0: e03ffe15 stw zero,-8(fp)
  2018. 410f4: 00000306 br 41104 <test_picture+0xc0>
  2019. 410f8: e0bffe17 ldw r2,-8(fp)
  2020. 410fc: 10800044 addi r2,r2,1
  2021. 41100: e0bffe15 stw r2,-8(fp)
  2022. 41104: e0fffe17 ldw r3,-8(fp)
  2023. 41108: 008000b4 movhi r2,2
  2024. 4110c: 10a1a7c4 addi r2,r2,-31073
  2025. 41110: 10fff90e bge r2,r3,410f8 <__alt_data_end+0xfffcf0f8>
  2026. void test_picture() {
  2027. int i,j,k;
  2028. unsigned buttons;
  2029. while (1){
  2030. for (i=0;i<ROWS;i++) {
  2031. for (j=0;j<COLS;j++) {
  2032. 41114: e0bffd17 ldw r2,-12(fp)
  2033. 41118: 10800044 addi r2,r2,1
  2034. 4111c: e0bffd15 stw r2,-12(fp)
  2035. 41120: e0bffd17 ldw r2,-12(fp)
  2036. 41124: 10800310 cmplti r2,r2,12
  2037. 41128: 103fce1e bne r2,zero,41064 <__alt_data_end+0xfffcf064>
  2038. void test_picture() {
  2039. int i,j,k;
  2040. unsigned buttons;
  2041. while (1){
  2042. for (i=0;i<ROWS;i++) {
  2043. 4112c: e0bffc17 ldw r2,-16(fp)
  2044. 41130: 10800044 addi r2,r2,1
  2045. 41134: e0bffc15 stw r2,-16(fp)
  2046. 41138: e0bffc17 ldw r2,-16(fp)
  2047. 4113c: 10800210 cmplti r2,r2,8
  2048. 41140: 103fc61e bne r2,zero,4105c <__alt_data_end+0xfffcf05c>
  2049. draw();
  2050. for(k=0;k<100000;k++) {
  2051. }
  2052. }
  2053. }
  2054. reset_screen();
  2055. 41144: 00404300 call 40430 <reset_screen>
  2056. }
  2057. 41148: 003fc206 br 41054 <__alt_data_end+0xfffcf054>
  2058. 0004114c <main>:
  2059. }
  2060. int main() {
  2061. 4114c: defffe04 addi sp,sp,-8
  2062. 41150: dfc00115 stw ra,4(sp)
  2063. 41154: df000015 stw fp,0(sp)
  2064. 41158: d839883a mov fp,sp
  2065. //test_picture();
  2066. game();
  2067. 4115c: 00405040 call 40504 <game>
  2068. 41160: 0005883a mov r2,zero
  2069. }
  2070. 41164: e037883a mov sp,fp
  2071. 41168: dfc00117 ldw ra,4(sp)
  2072. 4116c: df000017 ldw fp,0(sp)
  2073. 41170: dec00204 addi sp,sp,8
  2074. 41174: f800283a ret
  2075. 00041178 <round>:
  2076. 41178: 289ffc2c andhi r2,r5,32752
  2077. 4117c: 1005d53a srai r2,r2,20
  2078. 41180: 024004c4 movi r9,19
  2079. 41184: 2807883a mov r3,r5
  2080. 41188: 123f0044 addi r8,r2,-1023
  2081. 4118c: 200d883a mov r6,r4
  2082. 41190: 280f883a mov r7,r5
  2083. 41194: 4a000916 blt r9,r8,411bc <round+0x44>
  2084. 41198: 40002516 blt r8,zero,41230 <round+0xb8>
  2085. 4119c: 00800434 movhi r2,16
  2086. 411a0: 10bfffc4 addi r2,r2,-1
  2087. 411a4: 1205d83a sra r2,r2,r8
  2088. 411a8: 2888703a and r4,r5,r2
  2089. 411ac: 2000181e bne r4,zero,41210 <round+0x98>
  2090. 411b0: 3000171e bne r6,zero,41210 <round+0x98>
  2091. 411b4: 0005883a mov r2,zero
  2092. 411b8: f800283a ret
  2093. 411bc: 02400cc4 movi r9,51
  2094. 411c0: 4a00040e bge r9,r8,411d4 <round+0x5c>
  2095. 411c4: 00810004 movi r2,1024
  2096. 411c8: 40802126 beq r8,r2,41250 <round+0xd8>
  2097. 411cc: 3005883a mov r2,r6
  2098. 411d0: f800283a ret
  2099. 411d4: 013fffc4 movi r4,-1
  2100. 411d8: 10befb44 addi r2,r2,-1043
  2101. 411dc: 2084d83a srl r2,r4,r2
  2102. 411e0: 3088703a and r4,r6,r2
  2103. 411e4: 20001726 beq r4,zero,41244 <round+0xcc>
  2104. 411e8: 4a11c83a sub r8,r9,r8
  2105. 411ec: 02400044 movi r9,1
  2106. 411f0: 4a10983a sll r8,r9,r8
  2107. 411f4: 4191883a add r8,r8,r6
  2108. 411f8: 4180012e bgeu r8,r6,41200 <round+0x88>
  2109. 411fc: 2a47883a add r3,r5,r9
  2110. 41200: 0084303a nor r2,zero,r2
  2111. 41204: 120c703a and r6,r2,r8
  2112. 41208: 3005883a mov r2,r6
  2113. 4120c: f800283a ret
  2114. 41210: 00c00234 movhi r3,8
  2115. 41214: 1a07d83a sra r3,r3,r8
  2116. 41218: 0084303a nor r2,zero,r2
  2117. 4121c: 000d883a mov r6,zero
  2118. 41220: 19c7883a add r3,r3,r7
  2119. 41224: 1886703a and r3,r3,r2
  2120. 41228: 3005883a mov r2,r6
  2121. 4122c: f800283a ret
  2122. 41230: 00bfffc4 movi r2,-1
  2123. 41234: 28e0002c andhi r3,r5,32768
  2124. 41238: 40800c26 beq r8,r2,4126c <round+0xf4>
  2125. 4123c: 000d883a mov r6,zero
  2126. 41240: 003fe206 br 411cc <__alt_data_end+0xfffcf1cc>
  2127. 41244: 3005883a mov r2,r6
  2128. 41248: 2807883a mov r3,r5
  2129. 4124c: f800283a ret
  2130. 41250: deffff04 addi sp,sp,-4
  2131. 41254: 280f883a mov r7,r5
  2132. 41258: dfc00015 stw ra,0(sp)
  2133. 4125c: 00415980 call 41598 <__adddf3>
  2134. 41260: dfc00017 ldw ra,0(sp)
  2135. 41264: dec00104 addi sp,sp,4
  2136. 41268: f800283a ret
  2137. 4126c: 18cffc34 orhi r3,r3,16368
  2138. 41270: 000d883a mov r6,zero
  2139. 41274: 003fd506 br 411cc <__alt_data_end+0xfffcf1cc>
  2140. 00041278 <__eqsf2>:
  2141. 41278: 2006d5fa srli r3,r4,23
  2142. 4127c: 280cd5fa srli r6,r5,23
  2143. 41280: 01c02034 movhi r7,128
  2144. 41284: 39ffffc4 addi r7,r7,-1
  2145. 41288: 18c03fcc andi r3,r3,255
  2146. 4128c: 02003fc4 movi r8,255
  2147. 41290: 3904703a and r2,r7,r4
  2148. 41294: 31803fcc andi r6,r6,255
  2149. 41298: 394e703a and r7,r7,r5
  2150. 4129c: 2008d7fa srli r4,r4,31
  2151. 412a0: 280ad7fa srli r5,r5,31
  2152. 412a4: 1a000d26 beq r3,r8,412dc <__eqsf2+0x64>
  2153. 412a8: 02003fc4 movi r8,255
  2154. 412ac: 32000826 beq r6,r8,412d0 <__eqsf2+0x58>
  2155. 412b0: 19800226 beq r3,r6,412bc <__eqsf2+0x44>
  2156. 412b4: 00800044 movi r2,1
  2157. 412b8: f800283a ret
  2158. 412bc: 11fffd1e bne r2,r7,412b4 <__alt_data_end+0xfffcf2b4>
  2159. 412c0: 21400926 beq r4,r5,412e8 <__eqsf2+0x70>
  2160. 412c4: 183ffb1e bne r3,zero,412b4 <__alt_data_end+0xfffcf2b4>
  2161. 412c8: 1004c03a cmpne r2,r2,zero
  2162. 412cc: f800283a ret
  2163. 412d0: 383ff726 beq r7,zero,412b0 <__alt_data_end+0xfffcf2b0>
  2164. 412d4: 00800044 movi r2,1
  2165. 412d8: f800283a ret
  2166. 412dc: 103ff226 beq r2,zero,412a8 <__alt_data_end+0xfffcf2a8>
  2167. 412e0: 00800044 movi r2,1
  2168. 412e4: f800283a ret
  2169. 412e8: 0005883a mov r2,zero
  2170. 412ec: f800283a ret
  2171. 000412f0 <__gesf2>:
  2172. 412f0: 2004d5fa srli r2,r4,23
  2173. 412f4: 2806d5fa srli r3,r5,23
  2174. 412f8: 01802034 movhi r6,128
  2175. 412fc: 31bfffc4 addi r6,r6,-1
  2176. 41300: 10803fcc andi r2,r2,255
  2177. 41304: 01c03fc4 movi r7,255
  2178. 41308: 3110703a and r8,r6,r4
  2179. 4130c: 18c03fcc andi r3,r3,255
  2180. 41310: 314c703a and r6,r6,r5
  2181. 41314: 2008d7fa srli r4,r4,31
  2182. 41318: 280ad7fa srli r5,r5,31
  2183. 4131c: 11c01926 beq r2,r7,41384 <__gesf2+0x94>
  2184. 41320: 01c03fc4 movi r7,255
  2185. 41324: 19c00f26 beq r3,r7,41364 <__gesf2+0x74>
  2186. 41328: 1000061e bne r2,zero,41344 <__gesf2+0x54>
  2187. 4132c: 400f003a cmpeq r7,r8,zero
  2188. 41330: 1800071e bne r3,zero,41350 <__gesf2+0x60>
  2189. 41334: 3000061e bne r6,zero,41350 <__gesf2+0x60>
  2190. 41338: 0005883a mov r2,zero
  2191. 4133c: 40000e1e bne r8,zero,41378 <__gesf2+0x88>
  2192. 41340: f800283a ret
  2193. 41344: 18000a1e bne r3,zero,41370 <__gesf2+0x80>
  2194. 41348: 30000b26 beq r6,zero,41378 <__gesf2+0x88>
  2195. 4134c: 000f883a mov r7,zero
  2196. 41350: 29403fcc andi r5,r5,255
  2197. 41354: 38000726 beq r7,zero,41374 <__gesf2+0x84>
  2198. 41358: 28000826 beq r5,zero,4137c <__gesf2+0x8c>
  2199. 4135c: 00800044 movi r2,1
  2200. 41360: f800283a ret
  2201. 41364: 303ff026 beq r6,zero,41328 <__alt_data_end+0xfffcf328>
  2202. 41368: 00bfff84 movi r2,-2
  2203. 4136c: f800283a ret
  2204. 41370: 29403fcc andi r5,r5,255
  2205. 41374: 21400526 beq r4,r5,4138c <__gesf2+0x9c>
  2206. 41378: 203ff826 beq r4,zero,4135c <__alt_data_end+0xfffcf35c>
  2207. 4137c: 00bfffc4 movi r2,-1
  2208. 41380: f800283a ret
  2209. 41384: 403fe626 beq r8,zero,41320 <__alt_data_end+0xfffcf320>
  2210. 41388: 003ff706 br 41368 <__alt_data_end+0xfffcf368>
  2211. 4138c: 18bffa16 blt r3,r2,41378 <__alt_data_end+0xfffcf378>
  2212. 41390: 10c00216 blt r2,r3,4139c <__gesf2+0xac>
  2213. 41394: 323ff836 bltu r6,r8,41378 <__alt_data_end+0xfffcf378>
  2214. 41398: 4180022e bgeu r8,r6,413a4 <__gesf2+0xb4>
  2215. 4139c: 203fef1e bne r4,zero,4135c <__alt_data_end+0xfffcf35c>
  2216. 413a0: 003ff606 br 4137c <__alt_data_end+0xfffcf37c>
  2217. 413a4: 0005883a mov r2,zero
  2218. 413a8: f800283a ret
  2219. 000413ac <__lesf2>:
  2220. 413ac: 2004d5fa srli r2,r4,23
  2221. 413b0: 280cd5fa srli r6,r5,23
  2222. 413b4: 00c02034 movhi r3,128
  2223. 413b8: 18ffffc4 addi r3,r3,-1
  2224. 413bc: 10803fcc andi r2,r2,255
  2225. 413c0: 01c03fc4 movi r7,255
  2226. 413c4: 1910703a and r8,r3,r4
  2227. 413c8: 31803fcc andi r6,r6,255
  2228. 413cc: 1946703a and r3,r3,r5
  2229. 413d0: 2008d7fa srli r4,r4,31
  2230. 413d4: 280ad7fa srli r5,r5,31
  2231. 413d8: 11c01b26 beq r2,r7,41448 <__lesf2+0x9c>
  2232. 413dc: 01c03fc4 movi r7,255
  2233. 413e0: 31c01126 beq r6,r7,41428 <__lesf2+0x7c>
  2234. 413e4: 1000071e bne r2,zero,41404 <__lesf2+0x58>
  2235. 413e8: 400f003a cmpeq r7,r8,zero
  2236. 413ec: 21003fcc andi r4,r4,255
  2237. 413f0: 3000081e bne r6,zero,41414 <__lesf2+0x68>
  2238. 413f4: 1800071e bne r3,zero,41414 <__lesf2+0x68>
  2239. 413f8: 0005883a mov r2,zero
  2240. 413fc: 40000f1e bne r8,zero,4143c <__lesf2+0x90>
  2241. 41400: f800283a ret
  2242. 41404: 21003fcc andi r4,r4,255
  2243. 41408: 30000a1e bne r6,zero,41434 <__lesf2+0x88>
  2244. 4140c: 18000b26 beq r3,zero,4143c <__lesf2+0x90>
  2245. 41410: 000f883a mov r7,zero
  2246. 41414: 29403fcc andi r5,r5,255
  2247. 41418: 38000726 beq r7,zero,41438 <__lesf2+0x8c>
  2248. 4141c: 28000826 beq r5,zero,41440 <__lesf2+0x94>
  2249. 41420: 00800044 movi r2,1
  2250. 41424: f800283a ret
  2251. 41428: 183fee26 beq r3,zero,413e4 <__alt_data_end+0xfffcf3e4>
  2252. 4142c: 00800084 movi r2,2
  2253. 41430: f800283a ret
  2254. 41434: 29403fcc andi r5,r5,255
  2255. 41438: 21400626 beq r4,r5,41454 <__lesf2+0xa8>
  2256. 4143c: 203ff826 beq r4,zero,41420 <__alt_data_end+0xfffcf420>
  2257. 41440: 00bfffc4 movi r2,-1
  2258. 41444: f800283a ret
  2259. 41448: 403fe426 beq r8,zero,413dc <__alt_data_end+0xfffcf3dc>
  2260. 4144c: 00800084 movi r2,2
  2261. 41450: f800283a ret
  2262. 41454: 30bff916 blt r6,r2,4143c <__alt_data_end+0xfffcf43c>
  2263. 41458: 11800216 blt r2,r6,41464 <__lesf2+0xb8>
  2264. 4145c: 1a3ff736 bltu r3,r8,4143c <__alt_data_end+0xfffcf43c>
  2265. 41460: 40c0022e bgeu r8,r3,4146c <__lesf2+0xc0>
  2266. 41464: 203fee1e bne r4,zero,41420 <__alt_data_end+0xfffcf420>
  2267. 41468: 003ff506 br 41440 <__alt_data_end+0xfffcf440>
  2268. 4146c: 0005883a mov r2,zero
  2269. 41470: f800283a ret
  2270. 00041474 <__floatsisf>:
  2271. 41474: defffd04 addi sp,sp,-12
  2272. 41478: dfc00215 stw ra,8(sp)
  2273. 4147c: dc400115 stw r17,4(sp)
  2274. 41480: dc000015 stw r16,0(sp)
  2275. 41484: 20003526 beq r4,zero,4155c <__floatsisf+0xe8>
  2276. 41488: 2021883a mov r16,r4
  2277. 4148c: 2022d7fa srli r17,r4,31
  2278. 41490: 20003616 blt r4,zero,4156c <__floatsisf+0xf8>
  2279. 41494: 8009883a mov r4,r16
  2280. 41498: 0042b7c0 call 42b7c <__clzsi2>
  2281. 4149c: 00c02784 movi r3,158
  2282. 414a0: 1887c83a sub r3,r3,r2
  2283. 414a4: 01002584 movi r4,150
  2284. 414a8: 20c01416 blt r4,r3,414fc <__floatsisf+0x88>
  2285. 414ac: 20c9c83a sub r4,r4,r3
  2286. 414b0: 8120983a sll r16,r16,r4
  2287. 414b4: 00802034 movhi r2,128
  2288. 414b8: 10bfffc4 addi r2,r2,-1
  2289. 414bc: 8809883a mov r4,r17
  2290. 414c0: 80a0703a and r16,r16,r2
  2291. 414c4: 18803fcc andi r2,r3,255
  2292. 414c8: 100695fa slli r3,r2,23
  2293. 414cc: 20803fcc andi r2,r4,255
  2294. 414d0: 100897fa slli r4,r2,31
  2295. 414d4: 00802034 movhi r2,128
  2296. 414d8: 10bfffc4 addi r2,r2,-1
  2297. 414dc: 8084703a and r2,r16,r2
  2298. 414e0: 10c4b03a or r2,r2,r3
  2299. 414e4: 1104b03a or r2,r2,r4
  2300. 414e8: dfc00217 ldw ra,8(sp)
  2301. 414ec: dc400117 ldw r17,4(sp)
  2302. 414f0: dc000017 ldw r16,0(sp)
  2303. 414f4: dec00304 addi sp,sp,12
  2304. 414f8: f800283a ret
  2305. 414fc: 01002644 movi r4,153
  2306. 41500: 20c01c16 blt r4,r3,41574 <__floatsisf+0x100>
  2307. 41504: 20c9c83a sub r4,r4,r3
  2308. 41508: 8120983a sll r16,r16,r4
  2309. 4150c: 013f0034 movhi r4,64512
  2310. 41510: 213fffc4 addi r4,r4,-1
  2311. 41514: 814001cc andi r5,r16,7
  2312. 41518: 8108703a and r4,r16,r4
  2313. 4151c: 28000426 beq r5,zero,41530 <__floatsisf+0xbc>
  2314. 41520: 840003cc andi r16,r16,15
  2315. 41524: 01400104 movi r5,4
  2316. 41528: 81400126 beq r16,r5,41530 <__floatsisf+0xbc>
  2317. 4152c: 2149883a add r4,r4,r5
  2318. 41530: 2141002c andhi r5,r4,1024
  2319. 41534: 28000526 beq r5,zero,4154c <__floatsisf+0xd8>
  2320. 41538: 00c027c4 movi r3,159
  2321. 4153c: 1887c83a sub r3,r3,r2
  2322. 41540: 00bf0034 movhi r2,64512
  2323. 41544: 10bfffc4 addi r2,r2,-1
  2324. 41548: 2088703a and r4,r4,r2
  2325. 4154c: 202091ba slli r16,r4,6
  2326. 41550: 8809883a mov r4,r17
  2327. 41554: 8020d27a srli r16,r16,9
  2328. 41558: 003fda06 br 414c4 <__alt_data_end+0xfffcf4c4>
  2329. 4155c: 0009883a mov r4,zero
  2330. 41560: 0007883a mov r3,zero
  2331. 41564: 0021883a mov r16,zero
  2332. 41568: 003fd606 br 414c4 <__alt_data_end+0xfffcf4c4>
  2333. 4156c: 0121c83a sub r16,zero,r4
  2334. 41570: 003fc806 br 41494 <__alt_data_end+0xfffcf494>
  2335. 41574: 01002e44 movi r4,185
  2336. 41578: 20c9c83a sub r4,r4,r3
  2337. 4157c: 01400144 movi r5,5
  2338. 41580: 8108983a sll r4,r16,r4
  2339. 41584: 288bc83a sub r5,r5,r2
  2340. 41588: 8160d83a srl r16,r16,r5
  2341. 4158c: 2008c03a cmpne r4,r4,zero
  2342. 41590: 8120b03a or r16,r16,r4
  2343. 41594: 003fdd06 br 4150c <__alt_data_end+0xfffcf50c>
  2344. 00041598 <__adddf3>:
  2345. 41598: 02c00434 movhi r11,16
  2346. 4159c: 5affffc4 addi r11,r11,-1
  2347. 415a0: 2806d7fa srli r3,r5,31
  2348. 415a4: 2ad4703a and r10,r5,r11
  2349. 415a8: 3ad2703a and r9,r7,r11
  2350. 415ac: 3804d53a srli r2,r7,20
  2351. 415b0: 3018d77a srli r12,r6,29
  2352. 415b4: 280ad53a srli r5,r5,20
  2353. 415b8: 501490fa slli r10,r10,3
  2354. 415bc: 2010d77a srli r8,r4,29
  2355. 415c0: 481290fa slli r9,r9,3
  2356. 415c4: 380ed7fa srli r7,r7,31
  2357. 415c8: defffb04 addi sp,sp,-20
  2358. 415cc: dc800215 stw r18,8(sp)
  2359. 415d0: dc400115 stw r17,4(sp)
  2360. 415d4: dc000015 stw r16,0(sp)
  2361. 415d8: dfc00415 stw ra,16(sp)
  2362. 415dc: dcc00315 stw r19,12(sp)
  2363. 415e0: 1c803fcc andi r18,r3,255
  2364. 415e4: 2c01ffcc andi r16,r5,2047
  2365. 415e8: 5210b03a or r8,r10,r8
  2366. 415ec: 202290fa slli r17,r4,3
  2367. 415f0: 1081ffcc andi r2,r2,2047
  2368. 415f4: 4b12b03a or r9,r9,r12
  2369. 415f8: 300c90fa slli r6,r6,3
  2370. 415fc: 91c07526 beq r18,r7,417d4 <__adddf3+0x23c>
  2371. 41600: 8087c83a sub r3,r16,r2
  2372. 41604: 00c0ab0e bge zero,r3,418b4 <__adddf3+0x31c>
  2373. 41608: 10002a1e bne r2,zero,416b4 <__adddf3+0x11c>
  2374. 4160c: 4984b03a or r2,r9,r6
  2375. 41610: 1000961e bne r2,zero,4186c <__adddf3+0x2d4>
  2376. 41614: 888001cc andi r2,r17,7
  2377. 41618: 10000726 beq r2,zero,41638 <__adddf3+0xa0>
  2378. 4161c: 888003cc andi r2,r17,15
  2379. 41620: 00c00104 movi r3,4
  2380. 41624: 10c00426 beq r2,r3,41638 <__adddf3+0xa0>
  2381. 41628: 88c7883a add r3,r17,r3
  2382. 4162c: 1c63803a cmpltu r17,r3,r17
  2383. 41630: 4451883a add r8,r8,r17
  2384. 41634: 1823883a mov r17,r3
  2385. 41638: 4080202c andhi r2,r8,128
  2386. 4163c: 10005926 beq r2,zero,417a4 <__adddf3+0x20c>
  2387. 41640: 84000044 addi r16,r16,1
  2388. 41644: 0081ffc4 movi r2,2047
  2389. 41648: 8080ba26 beq r16,r2,41934 <__adddf3+0x39c>
  2390. 4164c: 00bfe034 movhi r2,65408
  2391. 41650: 10bfffc4 addi r2,r2,-1
  2392. 41654: 4090703a and r8,r8,r2
  2393. 41658: 4004977a slli r2,r8,29
  2394. 4165c: 4010927a slli r8,r8,9
  2395. 41660: 8822d0fa srli r17,r17,3
  2396. 41664: 8401ffcc andi r16,r16,2047
  2397. 41668: 4010d33a srli r8,r8,12
  2398. 4166c: 9007883a mov r3,r18
  2399. 41670: 1444b03a or r2,r2,r17
  2400. 41674: 8401ffcc andi r16,r16,2047
  2401. 41678: 8020953a slli r16,r16,20
  2402. 4167c: 18c03fcc andi r3,r3,255
  2403. 41680: 01000434 movhi r4,16
  2404. 41684: 213fffc4 addi r4,r4,-1
  2405. 41688: 180697fa slli r3,r3,31
  2406. 4168c: 4110703a and r8,r8,r4
  2407. 41690: 4410b03a or r8,r8,r16
  2408. 41694: 40c6b03a or r3,r8,r3
  2409. 41698: dfc00417 ldw ra,16(sp)
  2410. 4169c: dcc00317 ldw r19,12(sp)
  2411. 416a0: dc800217 ldw r18,8(sp)
  2412. 416a4: dc400117 ldw r17,4(sp)
  2413. 416a8: dc000017 ldw r16,0(sp)
  2414. 416ac: dec00504 addi sp,sp,20
  2415. 416b0: f800283a ret
  2416. 416b4: 0081ffc4 movi r2,2047
  2417. 416b8: 80bfd626 beq r16,r2,41614 <__alt_data_end+0xfffcf614>
  2418. 416bc: 4a402034 orhi r9,r9,128
  2419. 416c0: 00800e04 movi r2,56
  2420. 416c4: 10c09f16 blt r2,r3,41944 <__adddf3+0x3ac>
  2421. 416c8: 008007c4 movi r2,31
  2422. 416cc: 10c0c216 blt r2,r3,419d8 <__adddf3+0x440>
  2423. 416d0: 00800804 movi r2,32
  2424. 416d4: 10c5c83a sub r2,r2,r3
  2425. 416d8: 488a983a sll r5,r9,r2
  2426. 416dc: 30c8d83a srl r4,r6,r3
  2427. 416e0: 3084983a sll r2,r6,r2
  2428. 416e4: 48c6d83a srl r3,r9,r3
  2429. 416e8: 290cb03a or r6,r5,r4
  2430. 416ec: 1004c03a cmpne r2,r2,zero
  2431. 416f0: 308cb03a or r6,r6,r2
  2432. 416f4: 898dc83a sub r6,r17,r6
  2433. 416f8: 89a3803a cmpltu r17,r17,r6
  2434. 416fc: 40d1c83a sub r8,r8,r3
  2435. 41700: 4451c83a sub r8,r8,r17
  2436. 41704: 3023883a mov r17,r6
  2437. 41708: 4080202c andhi r2,r8,128
  2438. 4170c: 10002326 beq r2,zero,4179c <__adddf3+0x204>
  2439. 41710: 04c02034 movhi r19,128
  2440. 41714: 9cffffc4 addi r19,r19,-1
  2441. 41718: 44e6703a and r19,r8,r19
  2442. 4171c: 98007626 beq r19,zero,418f8 <__adddf3+0x360>
  2443. 41720: 9809883a mov r4,r19
  2444. 41724: 0042b7c0 call 42b7c <__clzsi2>
  2445. 41728: 10fffe04 addi r3,r2,-8
  2446. 4172c: 010007c4 movi r4,31
  2447. 41730: 20c07716 blt r4,r3,41910 <__adddf3+0x378>
  2448. 41734: 00800804 movi r2,32
  2449. 41738: 10c5c83a sub r2,r2,r3
  2450. 4173c: 8884d83a srl r2,r17,r2
  2451. 41740: 98d0983a sll r8,r19,r3
  2452. 41744: 88e2983a sll r17,r17,r3
  2453. 41748: 1204b03a or r2,r2,r8
  2454. 4174c: 1c007416 blt r3,r16,41920 <__adddf3+0x388>
  2455. 41750: 1c21c83a sub r16,r3,r16
  2456. 41754: 82000044 addi r8,r16,1
  2457. 41758: 00c007c4 movi r3,31
  2458. 4175c: 1a009116 blt r3,r8,419a4 <__adddf3+0x40c>
  2459. 41760: 00c00804 movi r3,32
  2460. 41764: 1a07c83a sub r3,r3,r8
  2461. 41768: 8a08d83a srl r4,r17,r8
  2462. 4176c: 88e2983a sll r17,r17,r3
  2463. 41770: 10c6983a sll r3,r2,r3
  2464. 41774: 1210d83a srl r8,r2,r8
  2465. 41778: 8804c03a cmpne r2,r17,zero
  2466. 4177c: 1906b03a or r3,r3,r4
  2467. 41780: 18a2b03a or r17,r3,r2
  2468. 41784: 0021883a mov r16,zero
  2469. 41788: 003fa206 br 41614 <__alt_data_end+0xfffcf614>
  2470. 4178c: 1890b03a or r8,r3,r2
  2471. 41790: 40017d26 beq r8,zero,41d88 <__adddf3+0x7f0>
  2472. 41794: 1011883a mov r8,r2
  2473. 41798: 1823883a mov r17,r3
  2474. 4179c: 888001cc andi r2,r17,7
  2475. 417a0: 103f9e1e bne r2,zero,4161c <__alt_data_end+0xfffcf61c>
  2476. 417a4: 4004977a slli r2,r8,29
  2477. 417a8: 8822d0fa srli r17,r17,3
  2478. 417ac: 4010d0fa srli r8,r8,3
  2479. 417b0: 9007883a mov r3,r18
  2480. 417b4: 1444b03a or r2,r2,r17
  2481. 417b8: 0101ffc4 movi r4,2047
  2482. 417bc: 81002426 beq r16,r4,41850 <__adddf3+0x2b8>
  2483. 417c0: 8120703a and r16,r16,r4
  2484. 417c4: 01000434 movhi r4,16
  2485. 417c8: 213fffc4 addi r4,r4,-1
  2486. 417cc: 4110703a and r8,r8,r4
  2487. 417d0: 003fa806 br 41674 <__alt_data_end+0xfffcf674>
  2488. 417d4: 8089c83a sub r4,r16,r2
  2489. 417d8: 01005e0e bge zero,r4,41954 <__adddf3+0x3bc>
  2490. 417dc: 10002b26 beq r2,zero,4188c <__adddf3+0x2f4>
  2491. 417e0: 0081ffc4 movi r2,2047
  2492. 417e4: 80bf8b26 beq r16,r2,41614 <__alt_data_end+0xfffcf614>
  2493. 417e8: 4a402034 orhi r9,r9,128
  2494. 417ec: 00800e04 movi r2,56
  2495. 417f0: 1100a40e bge r2,r4,41a84 <__adddf3+0x4ec>
  2496. 417f4: 498cb03a or r6,r9,r6
  2497. 417f8: 300ac03a cmpne r5,r6,zero
  2498. 417fc: 0013883a mov r9,zero
  2499. 41800: 2c4b883a add r5,r5,r17
  2500. 41804: 2c63803a cmpltu r17,r5,r17
  2501. 41808: 4a11883a add r8,r9,r8
  2502. 4180c: 8a11883a add r8,r17,r8
  2503. 41810: 2823883a mov r17,r5
  2504. 41814: 4080202c andhi r2,r8,128
  2505. 41818: 103fe026 beq r2,zero,4179c <__alt_data_end+0xfffcf79c>
  2506. 4181c: 84000044 addi r16,r16,1
  2507. 41820: 0081ffc4 movi r2,2047
  2508. 41824: 8080d226 beq r16,r2,41b70 <__adddf3+0x5d8>
  2509. 41828: 00bfe034 movhi r2,65408
  2510. 4182c: 10bfffc4 addi r2,r2,-1
  2511. 41830: 4090703a and r8,r8,r2
  2512. 41834: 880ad07a srli r5,r17,1
  2513. 41838: 400897fa slli r4,r8,31
  2514. 4183c: 88c0004c andi r3,r17,1
  2515. 41840: 28e2b03a or r17,r5,r3
  2516. 41844: 4010d07a srli r8,r8,1
  2517. 41848: 2462b03a or r17,r4,r17
  2518. 4184c: 003f7106 br 41614 <__alt_data_end+0xfffcf614>
  2519. 41850: 4088b03a or r4,r8,r2
  2520. 41854: 20014526 beq r4,zero,41d6c <__adddf3+0x7d4>
  2521. 41858: 01000434 movhi r4,16
  2522. 4185c: 42000234 orhi r8,r8,8
  2523. 41860: 213fffc4 addi r4,r4,-1
  2524. 41864: 4110703a and r8,r8,r4
  2525. 41868: 003f8206 br 41674 <__alt_data_end+0xfffcf674>
  2526. 4186c: 18ffffc4 addi r3,r3,-1
  2527. 41870: 1800491e bne r3,zero,41998 <__adddf3+0x400>
  2528. 41874: 898bc83a sub r5,r17,r6
  2529. 41878: 8963803a cmpltu r17,r17,r5
  2530. 4187c: 4251c83a sub r8,r8,r9
  2531. 41880: 4451c83a sub r8,r8,r17
  2532. 41884: 2823883a mov r17,r5
  2533. 41888: 003f9f06 br 41708 <__alt_data_end+0xfffcf708>
  2534. 4188c: 4984b03a or r2,r9,r6
  2535. 41890: 103f6026 beq r2,zero,41614 <__alt_data_end+0xfffcf614>
  2536. 41894: 213fffc4 addi r4,r4,-1
  2537. 41898: 2000931e bne r4,zero,41ae8 <__adddf3+0x550>
  2538. 4189c: 898d883a add r6,r17,r6
  2539. 418a0: 3463803a cmpltu r17,r6,r17
  2540. 418a4: 4251883a add r8,r8,r9
  2541. 418a8: 8a11883a add r8,r17,r8
  2542. 418ac: 3023883a mov r17,r6
  2543. 418b0: 003fd806 br 41814 <__alt_data_end+0xfffcf814>
  2544. 418b4: 1800541e bne r3,zero,41a08 <__adddf3+0x470>
  2545. 418b8: 80800044 addi r2,r16,1
  2546. 418bc: 1081ffcc andi r2,r2,2047
  2547. 418c0: 00c00044 movi r3,1
  2548. 418c4: 1880a00e bge r3,r2,41b48 <__adddf3+0x5b0>
  2549. 418c8: 8989c83a sub r4,r17,r6
  2550. 418cc: 8905803a cmpltu r2,r17,r4
  2551. 418d0: 4267c83a sub r19,r8,r9
  2552. 418d4: 98a7c83a sub r19,r19,r2
  2553. 418d8: 9880202c andhi r2,r19,128
  2554. 418dc: 10006326 beq r2,zero,41a6c <__adddf3+0x4d4>
  2555. 418e0: 3463c83a sub r17,r6,r17
  2556. 418e4: 4a07c83a sub r3,r9,r8
  2557. 418e8: 344d803a cmpltu r6,r6,r17
  2558. 418ec: 19a7c83a sub r19,r3,r6
  2559. 418f0: 3825883a mov r18,r7
  2560. 418f4: 983f8a1e bne r19,zero,41720 <__alt_data_end+0xfffcf720>
  2561. 418f8: 8809883a mov r4,r17
  2562. 418fc: 0042b7c0 call 42b7c <__clzsi2>
  2563. 41900: 10800804 addi r2,r2,32
  2564. 41904: 10fffe04 addi r3,r2,-8
  2565. 41908: 010007c4 movi r4,31
  2566. 4190c: 20ff890e bge r4,r3,41734 <__alt_data_end+0xfffcf734>
  2567. 41910: 10bff604 addi r2,r2,-40
  2568. 41914: 8884983a sll r2,r17,r2
  2569. 41918: 0023883a mov r17,zero
  2570. 4191c: 1c3f8c0e bge r3,r16,41750 <__alt_data_end+0xfffcf750>
  2571. 41920: 023fe034 movhi r8,65408
  2572. 41924: 423fffc4 addi r8,r8,-1
  2573. 41928: 80e1c83a sub r16,r16,r3
  2574. 4192c: 1210703a and r8,r2,r8
  2575. 41930: 003f3806 br 41614 <__alt_data_end+0xfffcf614>
  2576. 41934: 9007883a mov r3,r18
  2577. 41938: 0011883a mov r8,zero
  2578. 4193c: 0005883a mov r2,zero
  2579. 41940: 003f4c06 br 41674 <__alt_data_end+0xfffcf674>
  2580. 41944: 498cb03a or r6,r9,r6
  2581. 41948: 300cc03a cmpne r6,r6,zero
  2582. 4194c: 0007883a mov r3,zero
  2583. 41950: 003f6806 br 416f4 <__alt_data_end+0xfffcf6f4>
  2584. 41954: 20009c1e bne r4,zero,41bc8 <__adddf3+0x630>
  2585. 41958: 80800044 addi r2,r16,1
  2586. 4195c: 1141ffcc andi r5,r2,2047
  2587. 41960: 01000044 movi r4,1
  2588. 41964: 2140670e bge r4,r5,41b04 <__adddf3+0x56c>
  2589. 41968: 0101ffc4 movi r4,2047
  2590. 4196c: 11007f26 beq r2,r4,41b6c <__adddf3+0x5d4>
  2591. 41970: 898d883a add r6,r17,r6
  2592. 41974: 4247883a add r3,r8,r9
  2593. 41978: 3451803a cmpltu r8,r6,r17
  2594. 4197c: 40d1883a add r8,r8,r3
  2595. 41980: 402297fa slli r17,r8,31
  2596. 41984: 300cd07a srli r6,r6,1
  2597. 41988: 4010d07a srli r8,r8,1
  2598. 4198c: 1021883a mov r16,r2
  2599. 41990: 89a2b03a or r17,r17,r6
  2600. 41994: 003f1f06 br 41614 <__alt_data_end+0xfffcf614>
  2601. 41998: 0081ffc4 movi r2,2047
  2602. 4199c: 80bf481e bne r16,r2,416c0 <__alt_data_end+0xfffcf6c0>
  2603. 419a0: 003f1c06 br 41614 <__alt_data_end+0xfffcf614>
  2604. 419a4: 843ff844 addi r16,r16,-31
  2605. 419a8: 01000804 movi r4,32
  2606. 419ac: 1406d83a srl r3,r2,r16
  2607. 419b0: 41005026 beq r8,r4,41af4 <__adddf3+0x55c>
  2608. 419b4: 01001004 movi r4,64
  2609. 419b8: 2211c83a sub r8,r4,r8
  2610. 419bc: 1204983a sll r2,r2,r8
  2611. 419c0: 88a2b03a or r17,r17,r2
  2612. 419c4: 8822c03a cmpne r17,r17,zero
  2613. 419c8: 1c62b03a or r17,r3,r17
  2614. 419cc: 0011883a mov r8,zero
  2615. 419d0: 0021883a mov r16,zero
  2616. 419d4: 003f7106 br 4179c <__alt_data_end+0xfffcf79c>
  2617. 419d8: 193ff804 addi r4,r3,-32
  2618. 419dc: 00800804 movi r2,32
  2619. 419e0: 4908d83a srl r4,r9,r4
  2620. 419e4: 18804526 beq r3,r2,41afc <__adddf3+0x564>
  2621. 419e8: 00801004 movi r2,64
  2622. 419ec: 10c5c83a sub r2,r2,r3
  2623. 419f0: 4886983a sll r3,r9,r2
  2624. 419f4: 198cb03a or r6,r3,r6
  2625. 419f8: 300cc03a cmpne r6,r6,zero
  2626. 419fc: 218cb03a or r6,r4,r6
  2627. 41a00: 0007883a mov r3,zero
  2628. 41a04: 003f3b06 br 416f4 <__alt_data_end+0xfffcf6f4>
  2629. 41a08: 80002a26 beq r16,zero,41ab4 <__adddf3+0x51c>
  2630. 41a0c: 0101ffc4 movi r4,2047
  2631. 41a10: 11006826 beq r2,r4,41bb4 <__adddf3+0x61c>
  2632. 41a14: 00c7c83a sub r3,zero,r3
  2633. 41a18: 42002034 orhi r8,r8,128
  2634. 41a1c: 01000e04 movi r4,56
  2635. 41a20: 20c07c16 blt r4,r3,41c14 <__adddf3+0x67c>
  2636. 41a24: 010007c4 movi r4,31
  2637. 41a28: 20c0da16 blt r4,r3,41d94 <__adddf3+0x7fc>
  2638. 41a2c: 01000804 movi r4,32
  2639. 41a30: 20c9c83a sub r4,r4,r3
  2640. 41a34: 4114983a sll r10,r8,r4
  2641. 41a38: 88cad83a srl r5,r17,r3
  2642. 41a3c: 8908983a sll r4,r17,r4
  2643. 41a40: 40c6d83a srl r3,r8,r3
  2644. 41a44: 5162b03a or r17,r10,r5
  2645. 41a48: 2008c03a cmpne r4,r4,zero
  2646. 41a4c: 8922b03a or r17,r17,r4
  2647. 41a50: 3463c83a sub r17,r6,r17
  2648. 41a54: 48c7c83a sub r3,r9,r3
  2649. 41a58: 344d803a cmpltu r6,r6,r17
  2650. 41a5c: 1991c83a sub r8,r3,r6
  2651. 41a60: 1021883a mov r16,r2
  2652. 41a64: 3825883a mov r18,r7
  2653. 41a68: 003f2706 br 41708 <__alt_data_end+0xfffcf708>
  2654. 41a6c: 24d0b03a or r8,r4,r19
  2655. 41a70: 40001b1e bne r8,zero,41ae0 <__adddf3+0x548>
  2656. 41a74: 0005883a mov r2,zero
  2657. 41a78: 0007883a mov r3,zero
  2658. 41a7c: 0021883a mov r16,zero
  2659. 41a80: 003f4d06 br 417b8 <__alt_data_end+0xfffcf7b8>
  2660. 41a84: 008007c4 movi r2,31
  2661. 41a88: 11003c16 blt r2,r4,41b7c <__adddf3+0x5e4>
  2662. 41a8c: 00800804 movi r2,32
  2663. 41a90: 1105c83a sub r2,r2,r4
  2664. 41a94: 488e983a sll r7,r9,r2
  2665. 41a98: 310ad83a srl r5,r6,r4
  2666. 41a9c: 3084983a sll r2,r6,r2
  2667. 41aa0: 4912d83a srl r9,r9,r4
  2668. 41aa4: 394ab03a or r5,r7,r5
  2669. 41aa8: 1004c03a cmpne r2,r2,zero
  2670. 41aac: 288ab03a or r5,r5,r2
  2671. 41ab0: 003f5306 br 41800 <__alt_data_end+0xfffcf800>
  2672. 41ab4: 4448b03a or r4,r8,r17
  2673. 41ab8: 20003e26 beq r4,zero,41bb4 <__adddf3+0x61c>
  2674. 41abc: 00c6303a nor r3,zero,r3
  2675. 41ac0: 18003a1e bne r3,zero,41bac <__adddf3+0x614>
  2676. 41ac4: 3463c83a sub r17,r6,r17
  2677. 41ac8: 4a07c83a sub r3,r9,r8
  2678. 41acc: 344d803a cmpltu r6,r6,r17
  2679. 41ad0: 1991c83a sub r8,r3,r6
  2680. 41ad4: 1021883a mov r16,r2
  2681. 41ad8: 3825883a mov r18,r7
  2682. 41adc: 003f0a06 br 41708 <__alt_data_end+0xfffcf708>
  2683. 41ae0: 2023883a mov r17,r4
  2684. 41ae4: 003f0d06 br 4171c <__alt_data_end+0xfffcf71c>
  2685. 41ae8: 0081ffc4 movi r2,2047
  2686. 41aec: 80bf3f1e bne r16,r2,417ec <__alt_data_end+0xfffcf7ec>
  2687. 41af0: 003ec806 br 41614 <__alt_data_end+0xfffcf614>
  2688. 41af4: 0005883a mov r2,zero
  2689. 41af8: 003fb106 br 419c0 <__alt_data_end+0xfffcf9c0>
  2690. 41afc: 0007883a mov r3,zero
  2691. 41b00: 003fbc06 br 419f4 <__alt_data_end+0xfffcf9f4>
  2692. 41b04: 4444b03a or r2,r8,r17
  2693. 41b08: 8000871e bne r16,zero,41d28 <__adddf3+0x790>
  2694. 41b0c: 1000ba26 beq r2,zero,41df8 <__adddf3+0x860>
  2695. 41b10: 4984b03a or r2,r9,r6
  2696. 41b14: 103ebf26 beq r2,zero,41614 <__alt_data_end+0xfffcf614>
  2697. 41b18: 8985883a add r2,r17,r6
  2698. 41b1c: 4247883a add r3,r8,r9
  2699. 41b20: 1451803a cmpltu r8,r2,r17
  2700. 41b24: 40d1883a add r8,r8,r3
  2701. 41b28: 40c0202c andhi r3,r8,128
  2702. 41b2c: 1023883a mov r17,r2
  2703. 41b30: 183f1a26 beq r3,zero,4179c <__alt_data_end+0xfffcf79c>
  2704. 41b34: 00bfe034 movhi r2,65408
  2705. 41b38: 10bfffc4 addi r2,r2,-1
  2706. 41b3c: 2021883a mov r16,r4
  2707. 41b40: 4090703a and r8,r8,r2
  2708. 41b44: 003eb306 br 41614 <__alt_data_end+0xfffcf614>
  2709. 41b48: 4444b03a or r2,r8,r17
  2710. 41b4c: 8000291e bne r16,zero,41bf4 <__adddf3+0x65c>
  2711. 41b50: 10004b1e bne r2,zero,41c80 <__adddf3+0x6e8>
  2712. 41b54: 4990b03a or r8,r9,r6
  2713. 41b58: 40008b26 beq r8,zero,41d88 <__adddf3+0x7f0>
  2714. 41b5c: 4811883a mov r8,r9
  2715. 41b60: 3023883a mov r17,r6
  2716. 41b64: 3825883a mov r18,r7
  2717. 41b68: 003eaa06 br 41614 <__alt_data_end+0xfffcf614>
  2718. 41b6c: 1021883a mov r16,r2
  2719. 41b70: 0011883a mov r8,zero
  2720. 41b74: 0005883a mov r2,zero
  2721. 41b78: 003f0f06 br 417b8 <__alt_data_end+0xfffcf7b8>
  2722. 41b7c: 217ff804 addi r5,r4,-32
  2723. 41b80: 00800804 movi r2,32
  2724. 41b84: 494ad83a srl r5,r9,r5
  2725. 41b88: 20807d26 beq r4,r2,41d80 <__adddf3+0x7e8>
  2726. 41b8c: 00801004 movi r2,64
  2727. 41b90: 1109c83a sub r4,r2,r4
  2728. 41b94: 4912983a sll r9,r9,r4
  2729. 41b98: 498cb03a or r6,r9,r6
  2730. 41b9c: 300cc03a cmpne r6,r6,zero
  2731. 41ba0: 298ab03a or r5,r5,r6
  2732. 41ba4: 0013883a mov r9,zero
  2733. 41ba8: 003f1506 br 41800 <__alt_data_end+0xfffcf800>
  2734. 41bac: 0101ffc4 movi r4,2047
  2735. 41bb0: 113f9a1e bne r2,r4,41a1c <__alt_data_end+0xfffcfa1c>
  2736. 41bb4: 4811883a mov r8,r9
  2737. 41bb8: 3023883a mov r17,r6
  2738. 41bbc: 1021883a mov r16,r2
  2739. 41bc0: 3825883a mov r18,r7
  2740. 41bc4: 003e9306 br 41614 <__alt_data_end+0xfffcf614>
  2741. 41bc8: 8000161e bne r16,zero,41c24 <__adddf3+0x68c>
  2742. 41bcc: 444ab03a or r5,r8,r17
  2743. 41bd0: 28005126 beq r5,zero,41d18 <__adddf3+0x780>
  2744. 41bd4: 0108303a nor r4,zero,r4
  2745. 41bd8: 20004d1e bne r4,zero,41d10 <__adddf3+0x778>
  2746. 41bdc: 89a3883a add r17,r17,r6
  2747. 41be0: 4253883a add r9,r8,r9
  2748. 41be4: 898d803a cmpltu r6,r17,r6
  2749. 41be8: 3251883a add r8,r6,r9
  2750. 41bec: 1021883a mov r16,r2
  2751. 41bf0: 003f0806 br 41814 <__alt_data_end+0xfffcf814>
  2752. 41bf4: 1000301e bne r2,zero,41cb8 <__adddf3+0x720>
  2753. 41bf8: 4984b03a or r2,r9,r6
  2754. 41bfc: 10007126 beq r2,zero,41dc4 <__adddf3+0x82c>
  2755. 41c00: 4811883a mov r8,r9
  2756. 41c04: 3023883a mov r17,r6
  2757. 41c08: 3825883a mov r18,r7
  2758. 41c0c: 0401ffc4 movi r16,2047
  2759. 41c10: 003e8006 br 41614 <__alt_data_end+0xfffcf614>
  2760. 41c14: 4462b03a or r17,r8,r17
  2761. 41c18: 8822c03a cmpne r17,r17,zero
  2762. 41c1c: 0007883a mov r3,zero
  2763. 41c20: 003f8b06 br 41a50 <__alt_data_end+0xfffcfa50>
  2764. 41c24: 0141ffc4 movi r5,2047
  2765. 41c28: 11403b26 beq r2,r5,41d18 <__adddf3+0x780>
  2766. 41c2c: 0109c83a sub r4,zero,r4
  2767. 41c30: 42002034 orhi r8,r8,128
  2768. 41c34: 01400e04 movi r5,56
  2769. 41c38: 29006716 blt r5,r4,41dd8 <__adddf3+0x840>
  2770. 41c3c: 014007c4 movi r5,31
  2771. 41c40: 29007016 blt r5,r4,41e04 <__adddf3+0x86c>
  2772. 41c44: 01400804 movi r5,32
  2773. 41c48: 290bc83a sub r5,r5,r4
  2774. 41c4c: 4154983a sll r10,r8,r5
  2775. 41c50: 890ed83a srl r7,r17,r4
  2776. 41c54: 894a983a sll r5,r17,r5
  2777. 41c58: 4108d83a srl r4,r8,r4
  2778. 41c5c: 51e2b03a or r17,r10,r7
  2779. 41c60: 280ac03a cmpne r5,r5,zero
  2780. 41c64: 8962b03a or r17,r17,r5
  2781. 41c68: 89a3883a add r17,r17,r6
  2782. 41c6c: 2253883a add r9,r4,r9
  2783. 41c70: 898d803a cmpltu r6,r17,r6
  2784. 41c74: 3251883a add r8,r6,r9
  2785. 41c78: 1021883a mov r16,r2
  2786. 41c7c: 003ee506 br 41814 <__alt_data_end+0xfffcf814>
  2787. 41c80: 4984b03a or r2,r9,r6
  2788. 41c84: 103e6326 beq r2,zero,41614 <__alt_data_end+0xfffcf614>
  2789. 41c88: 8987c83a sub r3,r17,r6
  2790. 41c8c: 88c9803a cmpltu r4,r17,r3
  2791. 41c90: 4245c83a sub r2,r8,r9
  2792. 41c94: 1105c83a sub r2,r2,r4
  2793. 41c98: 1100202c andhi r4,r2,128
  2794. 41c9c: 203ebb26 beq r4,zero,4178c <__alt_data_end+0xfffcf78c>
  2795. 41ca0: 3463c83a sub r17,r6,r17
  2796. 41ca4: 4a07c83a sub r3,r9,r8
  2797. 41ca8: 344d803a cmpltu r6,r6,r17
  2798. 41cac: 1991c83a sub r8,r3,r6
  2799. 41cb0: 3825883a mov r18,r7
  2800. 41cb4: 003e5706 br 41614 <__alt_data_end+0xfffcf614>
  2801. 41cb8: 4984b03a or r2,r9,r6
  2802. 41cbc: 10002e26 beq r2,zero,41d78 <__adddf3+0x7e0>
  2803. 41cc0: 4004d0fa srli r2,r8,3
  2804. 41cc4: 8822d0fa srli r17,r17,3
  2805. 41cc8: 4010977a slli r8,r8,29
  2806. 41ccc: 10c0022c andhi r3,r2,8
  2807. 41cd0: 4462b03a or r17,r8,r17
  2808. 41cd4: 18000826 beq r3,zero,41cf8 <__adddf3+0x760>
  2809. 41cd8: 4808d0fa srli r4,r9,3
  2810. 41cdc: 20c0022c andhi r3,r4,8
  2811. 41ce0: 1800051e bne r3,zero,41cf8 <__adddf3+0x760>
  2812. 41ce4: 300cd0fa srli r6,r6,3
  2813. 41ce8: 4806977a slli r3,r9,29
  2814. 41cec: 2005883a mov r2,r4
  2815. 41cf0: 3825883a mov r18,r7
  2816. 41cf4: 19a2b03a or r17,r3,r6
  2817. 41cf8: 8810d77a srli r8,r17,29
  2818. 41cfc: 100490fa slli r2,r2,3
  2819. 41d00: 882290fa slli r17,r17,3
  2820. 41d04: 0401ffc4 movi r16,2047
  2821. 41d08: 4090b03a or r8,r8,r2
  2822. 41d0c: 003e4106 br 41614 <__alt_data_end+0xfffcf614>
  2823. 41d10: 0141ffc4 movi r5,2047
  2824. 41d14: 117fc71e bne r2,r5,41c34 <__alt_data_end+0xfffcfc34>
  2825. 41d18: 4811883a mov r8,r9
  2826. 41d1c: 3023883a mov r17,r6
  2827. 41d20: 1021883a mov r16,r2
  2828. 41d24: 003e3b06 br 41614 <__alt_data_end+0xfffcf614>
  2829. 41d28: 10002f26 beq r2,zero,41de8 <__adddf3+0x850>
  2830. 41d2c: 4984b03a or r2,r9,r6
  2831. 41d30: 10001126 beq r2,zero,41d78 <__adddf3+0x7e0>
  2832. 41d34: 4004d0fa srli r2,r8,3
  2833. 41d38: 8822d0fa srli r17,r17,3
  2834. 41d3c: 4010977a slli r8,r8,29
  2835. 41d40: 10c0022c andhi r3,r2,8
  2836. 41d44: 4462b03a or r17,r8,r17
  2837. 41d48: 183feb26 beq r3,zero,41cf8 <__alt_data_end+0xfffcfcf8>
  2838. 41d4c: 4808d0fa srli r4,r9,3
  2839. 41d50: 20c0022c andhi r3,r4,8
  2840. 41d54: 183fe81e bne r3,zero,41cf8 <__alt_data_end+0xfffcfcf8>
  2841. 41d58: 300cd0fa srli r6,r6,3
  2842. 41d5c: 4806977a slli r3,r9,29
  2843. 41d60: 2005883a mov r2,r4
  2844. 41d64: 19a2b03a or r17,r3,r6
  2845. 41d68: 003fe306 br 41cf8 <__alt_data_end+0xfffcfcf8>
  2846. 41d6c: 0011883a mov r8,zero
  2847. 41d70: 0005883a mov r2,zero
  2848. 41d74: 003e3f06 br 41674 <__alt_data_end+0xfffcf674>
  2849. 41d78: 0401ffc4 movi r16,2047
  2850. 41d7c: 003e2506 br 41614 <__alt_data_end+0xfffcf614>
  2851. 41d80: 0013883a mov r9,zero
  2852. 41d84: 003f8406 br 41b98 <__alt_data_end+0xfffcfb98>
  2853. 41d88: 0005883a mov r2,zero
  2854. 41d8c: 0007883a mov r3,zero
  2855. 41d90: 003e8906 br 417b8 <__alt_data_end+0xfffcf7b8>
  2856. 41d94: 197ff804 addi r5,r3,-32
  2857. 41d98: 01000804 movi r4,32
  2858. 41d9c: 414ad83a srl r5,r8,r5
  2859. 41da0: 19002426 beq r3,r4,41e34 <__adddf3+0x89c>
  2860. 41da4: 01001004 movi r4,64
  2861. 41da8: 20c7c83a sub r3,r4,r3
  2862. 41dac: 40c6983a sll r3,r8,r3
  2863. 41db0: 1c46b03a or r3,r3,r17
  2864. 41db4: 1806c03a cmpne r3,r3,zero
  2865. 41db8: 28e2b03a or r17,r5,r3
  2866. 41dbc: 0007883a mov r3,zero
  2867. 41dc0: 003f2306 br 41a50 <__alt_data_end+0xfffcfa50>
  2868. 41dc4: 0007883a mov r3,zero
  2869. 41dc8: 5811883a mov r8,r11
  2870. 41dcc: 00bfffc4 movi r2,-1
  2871. 41dd0: 0401ffc4 movi r16,2047
  2872. 41dd4: 003e7806 br 417b8 <__alt_data_end+0xfffcf7b8>
  2873. 41dd8: 4462b03a or r17,r8,r17
  2874. 41ddc: 8822c03a cmpne r17,r17,zero
  2875. 41de0: 0009883a mov r4,zero
  2876. 41de4: 003fa006 br 41c68 <__alt_data_end+0xfffcfc68>
  2877. 41de8: 4811883a mov r8,r9
  2878. 41dec: 3023883a mov r17,r6
  2879. 41df0: 0401ffc4 movi r16,2047
  2880. 41df4: 003e0706 br 41614 <__alt_data_end+0xfffcf614>
  2881. 41df8: 4811883a mov r8,r9
  2882. 41dfc: 3023883a mov r17,r6
  2883. 41e00: 003e0406 br 41614 <__alt_data_end+0xfffcf614>
  2884. 41e04: 21fff804 addi r7,r4,-32
  2885. 41e08: 01400804 movi r5,32
  2886. 41e0c: 41ced83a srl r7,r8,r7
  2887. 41e10: 21400a26 beq r4,r5,41e3c <__adddf3+0x8a4>
  2888. 41e14: 01401004 movi r5,64
  2889. 41e18: 2909c83a sub r4,r5,r4
  2890. 41e1c: 4108983a sll r4,r8,r4
  2891. 41e20: 2448b03a or r4,r4,r17
  2892. 41e24: 2008c03a cmpne r4,r4,zero
  2893. 41e28: 3922b03a or r17,r7,r4
  2894. 41e2c: 0009883a mov r4,zero
  2895. 41e30: 003f8d06 br 41c68 <__alt_data_end+0xfffcfc68>
  2896. 41e34: 0007883a mov r3,zero
  2897. 41e38: 003fdd06 br 41db0 <__alt_data_end+0xfffcfdb0>
  2898. 41e3c: 0009883a mov r4,zero
  2899. 41e40: 003ff706 br 41e20 <__alt_data_end+0xfffcfe20>
  2900. 00041e44 <__gedf2>:
  2901. 41e44: 2804d53a srli r2,r5,20
  2902. 41e48: 3806d53a srli r3,r7,20
  2903. 41e4c: 02000434 movhi r8,16
  2904. 41e50: 423fffc4 addi r8,r8,-1
  2905. 41e54: 1081ffcc andi r2,r2,2047
  2906. 41e58: 0241ffc4 movi r9,2047
  2907. 41e5c: 2a14703a and r10,r5,r8
  2908. 41e60: 18c1ffcc andi r3,r3,2047
  2909. 41e64: 3a10703a and r8,r7,r8
  2910. 41e68: 280ad7fa srli r5,r5,31
  2911. 41e6c: 380ed7fa srli r7,r7,31
  2912. 41e70: 12401d26 beq r2,r9,41ee8 <__gedf2+0xa4>
  2913. 41e74: 0241ffc4 movi r9,2047
  2914. 41e78: 1a401226 beq r3,r9,41ec4 <__gedf2+0x80>
  2915. 41e7c: 1000081e bne r2,zero,41ea0 <__gedf2+0x5c>
  2916. 41e80: 2296b03a or r11,r4,r10
  2917. 41e84: 5813003a cmpeq r9,r11,zero
  2918. 41e88: 1800091e bne r3,zero,41eb0 <__gedf2+0x6c>
  2919. 41e8c: 3218b03a or r12,r6,r8
  2920. 41e90: 6000071e bne r12,zero,41eb0 <__gedf2+0x6c>
  2921. 41e94: 0005883a mov r2,zero
  2922. 41e98: 5800101e bne r11,zero,41edc <__gedf2+0x98>
  2923. 41e9c: f800283a ret
  2924. 41ea0: 18000c1e bne r3,zero,41ed4 <__gedf2+0x90>
  2925. 41ea4: 3212b03a or r9,r6,r8
  2926. 41ea8: 48000c26 beq r9,zero,41edc <__gedf2+0x98>
  2927. 41eac: 0013883a mov r9,zero
  2928. 41eb0: 39c03fcc andi r7,r7,255
  2929. 41eb4: 48000826 beq r9,zero,41ed8 <__gedf2+0x94>
  2930. 41eb8: 38000926 beq r7,zero,41ee0 <__gedf2+0x9c>
  2931. 41ebc: 00800044 movi r2,1
  2932. 41ec0: f800283a ret
  2933. 41ec4: 3212b03a or r9,r6,r8
  2934. 41ec8: 483fec26 beq r9,zero,41e7c <__alt_data_end+0xfffcfe7c>
  2935. 41ecc: 00bfff84 movi r2,-2
  2936. 41ed0: f800283a ret
  2937. 41ed4: 39c03fcc andi r7,r7,255
  2938. 41ed8: 29c00626 beq r5,r7,41ef4 <__gedf2+0xb0>
  2939. 41edc: 283ff726 beq r5,zero,41ebc <__alt_data_end+0xfffcfebc>
  2940. 41ee0: 00bfffc4 movi r2,-1
  2941. 41ee4: f800283a ret
  2942. 41ee8: 2292b03a or r9,r4,r10
  2943. 41eec: 483fe126 beq r9,zero,41e74 <__alt_data_end+0xfffcfe74>
  2944. 41ef0: 003ff606 br 41ecc <__alt_data_end+0xfffcfecc>
  2945. 41ef4: 18bff916 blt r3,r2,41edc <__alt_data_end+0xfffcfedc>
  2946. 41ef8: 10c00316 blt r2,r3,41f08 <__gedf2+0xc4>
  2947. 41efc: 42bff736 bltu r8,r10,41edc <__alt_data_end+0xfffcfedc>
  2948. 41f00: 52000326 beq r10,r8,41f10 <__gedf2+0xcc>
  2949. 41f04: 5200042e bgeu r10,r8,41f18 <__gedf2+0xd4>
  2950. 41f08: 283fec1e bne r5,zero,41ebc <__alt_data_end+0xfffcfebc>
  2951. 41f0c: 003ff406 br 41ee0 <__alt_data_end+0xfffcfee0>
  2952. 41f10: 313ff236 bltu r6,r4,41edc <__alt_data_end+0xfffcfedc>
  2953. 41f14: 21bffc36 bltu r4,r6,41f08 <__alt_data_end+0xfffcff08>
  2954. 41f18: 0005883a mov r2,zero
  2955. 41f1c: f800283a ret
  2956. 00041f20 <__ledf2>:
  2957. 41f20: 2804d53a srli r2,r5,20
  2958. 41f24: 3810d53a srli r8,r7,20
  2959. 41f28: 00c00434 movhi r3,16
  2960. 41f2c: 18ffffc4 addi r3,r3,-1
  2961. 41f30: 1081ffcc andi r2,r2,2047
  2962. 41f34: 0241ffc4 movi r9,2047
  2963. 41f38: 28d4703a and r10,r5,r3
  2964. 41f3c: 4201ffcc andi r8,r8,2047
  2965. 41f40: 38c6703a and r3,r7,r3
  2966. 41f44: 280ad7fa srli r5,r5,31
  2967. 41f48: 380ed7fa srli r7,r7,31
  2968. 41f4c: 12401f26 beq r2,r9,41fcc <__ledf2+0xac>
  2969. 41f50: 0241ffc4 movi r9,2047
  2970. 41f54: 42401426 beq r8,r9,41fa8 <__ledf2+0x88>
  2971. 41f58: 1000091e bne r2,zero,41f80 <__ledf2+0x60>
  2972. 41f5c: 2296b03a or r11,r4,r10
  2973. 41f60: 5813003a cmpeq r9,r11,zero
  2974. 41f64: 29403fcc andi r5,r5,255
  2975. 41f68: 40000a1e bne r8,zero,41f94 <__ledf2+0x74>
  2976. 41f6c: 30d8b03a or r12,r6,r3
  2977. 41f70: 6000081e bne r12,zero,41f94 <__ledf2+0x74>
  2978. 41f74: 0005883a mov r2,zero
  2979. 41f78: 5800111e bne r11,zero,41fc0 <__ledf2+0xa0>
  2980. 41f7c: f800283a ret
  2981. 41f80: 29403fcc andi r5,r5,255
  2982. 41f84: 40000c1e bne r8,zero,41fb8 <__ledf2+0x98>
  2983. 41f88: 30d2b03a or r9,r6,r3
  2984. 41f8c: 48000c26 beq r9,zero,41fc0 <__ledf2+0xa0>
  2985. 41f90: 0013883a mov r9,zero
  2986. 41f94: 39c03fcc andi r7,r7,255
  2987. 41f98: 48000826 beq r9,zero,41fbc <__ledf2+0x9c>
  2988. 41f9c: 38001126 beq r7,zero,41fe4 <__ledf2+0xc4>
  2989. 41fa0: 00800044 movi r2,1
  2990. 41fa4: f800283a ret
  2991. 41fa8: 30d2b03a or r9,r6,r3
  2992. 41fac: 483fea26 beq r9,zero,41f58 <__alt_data_end+0xfffcff58>
  2993. 41fb0: 00800084 movi r2,2
  2994. 41fb4: f800283a ret
  2995. 41fb8: 39c03fcc andi r7,r7,255
  2996. 41fbc: 39400726 beq r7,r5,41fdc <__ledf2+0xbc>
  2997. 41fc0: 2800081e bne r5,zero,41fe4 <__ledf2+0xc4>
  2998. 41fc4: 00800044 movi r2,1
  2999. 41fc8: f800283a ret
  3000. 41fcc: 2292b03a or r9,r4,r10
  3001. 41fd0: 483fdf26 beq r9,zero,41f50 <__alt_data_end+0xfffcff50>
  3002. 41fd4: 00800084 movi r2,2
  3003. 41fd8: f800283a ret
  3004. 41fdc: 4080030e bge r8,r2,41fec <__ledf2+0xcc>
  3005. 41fe0: 383fef26 beq r7,zero,41fa0 <__alt_data_end+0xfffcffa0>
  3006. 41fe4: 00bfffc4 movi r2,-1
  3007. 41fe8: f800283a ret
  3008. 41fec: 123feb16 blt r2,r8,41f9c <__alt_data_end+0xfffcff9c>
  3009. 41ff0: 1abff336 bltu r3,r10,41fc0 <__alt_data_end+0xfffcffc0>
  3010. 41ff4: 50c00326 beq r10,r3,42004 <__ledf2+0xe4>
  3011. 41ff8: 50c0042e bgeu r10,r3,4200c <__ledf2+0xec>
  3012. 41ffc: 283fe81e bne r5,zero,41fa0 <__alt_data_end+0xfffcffa0>
  3013. 42000: 003ff806 br 41fe4 <__alt_data_end+0xfffcffe4>
  3014. 42004: 313fee36 bltu r6,r4,41fc0 <__alt_data_end+0xfffcffc0>
  3015. 42008: 21bffc36 bltu r4,r6,41ffc <__alt_data_end+0xfffcfffc>
  3016. 4200c: 0005883a mov r2,zero
  3017. 42010: f800283a ret
  3018. 00042014 <__subdf3>:
  3019. 42014: 02000434 movhi r8,16
  3020. 42018: 423fffc4 addi r8,r8,-1
  3021. 4201c: defffb04 addi sp,sp,-20
  3022. 42020: 2a14703a and r10,r5,r8
  3023. 42024: 3812d53a srli r9,r7,20
  3024. 42028: 3a10703a and r8,r7,r8
  3025. 4202c: 2006d77a srli r3,r4,29
  3026. 42030: 3004d77a srli r2,r6,29
  3027. 42034: dc000015 stw r16,0(sp)
  3028. 42038: 501490fa slli r10,r10,3
  3029. 4203c: 2820d53a srli r16,r5,20
  3030. 42040: 401090fa slli r8,r8,3
  3031. 42044: dc800215 stw r18,8(sp)
  3032. 42048: dc400115 stw r17,4(sp)
  3033. 4204c: dfc00415 stw ra,16(sp)
  3034. 42050: 202290fa slli r17,r4,3
  3035. 42054: dcc00315 stw r19,12(sp)
  3036. 42058: 4a41ffcc andi r9,r9,2047
  3037. 4205c: 0101ffc4 movi r4,2047
  3038. 42060: 2824d7fa srli r18,r5,31
  3039. 42064: 8401ffcc andi r16,r16,2047
  3040. 42068: 50c6b03a or r3,r10,r3
  3041. 4206c: 380ed7fa srli r7,r7,31
  3042. 42070: 408ab03a or r5,r8,r2
  3043. 42074: 300c90fa slli r6,r6,3
  3044. 42078: 49009626 beq r9,r4,422d4 <__subdf3+0x2c0>
  3045. 4207c: 39c0005c xori r7,r7,1
  3046. 42080: 8245c83a sub r2,r16,r9
  3047. 42084: 3c807426 beq r7,r18,42258 <__subdf3+0x244>
  3048. 42088: 0080af0e bge zero,r2,42348 <__subdf3+0x334>
  3049. 4208c: 48002a1e bne r9,zero,42138 <__subdf3+0x124>
  3050. 42090: 2988b03a or r4,r5,r6
  3051. 42094: 20009a1e bne r4,zero,42300 <__subdf3+0x2ec>
  3052. 42098: 888001cc andi r2,r17,7
  3053. 4209c: 10000726 beq r2,zero,420bc <__subdf3+0xa8>
  3054. 420a0: 888003cc andi r2,r17,15
  3055. 420a4: 01000104 movi r4,4
  3056. 420a8: 11000426 beq r2,r4,420bc <__subdf3+0xa8>
  3057. 420ac: 890b883a add r5,r17,r4
  3058. 420b0: 2c63803a cmpltu r17,r5,r17
  3059. 420b4: 1c47883a add r3,r3,r17
  3060. 420b8: 2823883a mov r17,r5
  3061. 420bc: 1880202c andhi r2,r3,128
  3062. 420c0: 10005926 beq r2,zero,42228 <__subdf3+0x214>
  3063. 420c4: 84000044 addi r16,r16,1
  3064. 420c8: 0081ffc4 movi r2,2047
  3065. 420cc: 8080be26 beq r16,r2,423c8 <__subdf3+0x3b4>
  3066. 420d0: 017fe034 movhi r5,65408
  3067. 420d4: 297fffc4 addi r5,r5,-1
  3068. 420d8: 1946703a and r3,r3,r5
  3069. 420dc: 1804977a slli r2,r3,29
  3070. 420e0: 1806927a slli r3,r3,9
  3071. 420e4: 8822d0fa srli r17,r17,3
  3072. 420e8: 8401ffcc andi r16,r16,2047
  3073. 420ec: 180ad33a srli r5,r3,12
  3074. 420f0: 9100004c andi r4,r18,1
  3075. 420f4: 1444b03a or r2,r2,r17
  3076. 420f8: 80c1ffcc andi r3,r16,2047
  3077. 420fc: 1820953a slli r16,r3,20
  3078. 42100: 20c03fcc andi r3,r4,255
  3079. 42104: 180897fa slli r4,r3,31
  3080. 42108: 00c00434 movhi r3,16
  3081. 4210c: 18ffffc4 addi r3,r3,-1
  3082. 42110: 28c6703a and r3,r5,r3
  3083. 42114: 1c06b03a or r3,r3,r16
  3084. 42118: 1906b03a or r3,r3,r4
  3085. 4211c: dfc00417 ldw ra,16(sp)
  3086. 42120: dcc00317 ldw r19,12(sp)
  3087. 42124: dc800217 ldw r18,8(sp)
  3088. 42128: dc400117 ldw r17,4(sp)
  3089. 4212c: dc000017 ldw r16,0(sp)
  3090. 42130: dec00504 addi sp,sp,20
  3091. 42134: f800283a ret
  3092. 42138: 0101ffc4 movi r4,2047
  3093. 4213c: 813fd626 beq r16,r4,42098 <__alt_data_end+0xfffd0098>
  3094. 42140: 29402034 orhi r5,r5,128
  3095. 42144: 01000e04 movi r4,56
  3096. 42148: 2080a316 blt r4,r2,423d8 <__subdf3+0x3c4>
  3097. 4214c: 010007c4 movi r4,31
  3098. 42150: 2080c616 blt r4,r2,4246c <__subdf3+0x458>
  3099. 42154: 01000804 movi r4,32
  3100. 42158: 2089c83a sub r4,r4,r2
  3101. 4215c: 2910983a sll r8,r5,r4
  3102. 42160: 308ed83a srl r7,r6,r2
  3103. 42164: 3108983a sll r4,r6,r4
  3104. 42168: 2884d83a srl r2,r5,r2
  3105. 4216c: 41ccb03a or r6,r8,r7
  3106. 42170: 2008c03a cmpne r4,r4,zero
  3107. 42174: 310cb03a or r6,r6,r4
  3108. 42178: 898dc83a sub r6,r17,r6
  3109. 4217c: 89a3803a cmpltu r17,r17,r6
  3110. 42180: 1887c83a sub r3,r3,r2
  3111. 42184: 1c47c83a sub r3,r3,r17
  3112. 42188: 3023883a mov r17,r6
  3113. 4218c: 1880202c andhi r2,r3,128
  3114. 42190: 10002326 beq r2,zero,42220 <__subdf3+0x20c>
  3115. 42194: 04c02034 movhi r19,128
  3116. 42198: 9cffffc4 addi r19,r19,-1
  3117. 4219c: 1ce6703a and r19,r3,r19
  3118. 421a0: 98007a26 beq r19,zero,4238c <__subdf3+0x378>
  3119. 421a4: 9809883a mov r4,r19
  3120. 421a8: 0042b7c0 call 42b7c <__clzsi2>
  3121. 421ac: 113ffe04 addi r4,r2,-8
  3122. 421b0: 00c007c4 movi r3,31
  3123. 421b4: 19007b16 blt r3,r4,423a4 <__subdf3+0x390>
  3124. 421b8: 00800804 movi r2,32
  3125. 421bc: 1105c83a sub r2,r2,r4
  3126. 421c0: 8884d83a srl r2,r17,r2
  3127. 421c4: 9906983a sll r3,r19,r4
  3128. 421c8: 8922983a sll r17,r17,r4
  3129. 421cc: 10c4b03a or r2,r2,r3
  3130. 421d0: 24007816 blt r4,r16,423b4 <__subdf3+0x3a0>
  3131. 421d4: 2421c83a sub r16,r4,r16
  3132. 421d8: 80c00044 addi r3,r16,1
  3133. 421dc: 010007c4 movi r4,31
  3134. 421e0: 20c09516 blt r4,r3,42438 <__subdf3+0x424>
  3135. 421e4: 01400804 movi r5,32
  3136. 421e8: 28cbc83a sub r5,r5,r3
  3137. 421ec: 88c8d83a srl r4,r17,r3
  3138. 421f0: 8962983a sll r17,r17,r5
  3139. 421f4: 114a983a sll r5,r2,r5
  3140. 421f8: 10c6d83a srl r3,r2,r3
  3141. 421fc: 8804c03a cmpne r2,r17,zero
  3142. 42200: 290ab03a or r5,r5,r4
  3143. 42204: 28a2b03a or r17,r5,r2
  3144. 42208: 0021883a mov r16,zero
  3145. 4220c: 003fa206 br 42098 <__alt_data_end+0xfffd0098>
  3146. 42210: 2090b03a or r8,r4,r2
  3147. 42214: 40018e26 beq r8,zero,42850 <__subdf3+0x83c>
  3148. 42218: 1007883a mov r3,r2
  3149. 4221c: 2023883a mov r17,r4
  3150. 42220: 888001cc andi r2,r17,7
  3151. 42224: 103f9e1e bne r2,zero,420a0 <__alt_data_end+0xfffd00a0>
  3152. 42228: 1804977a slli r2,r3,29
  3153. 4222c: 8822d0fa srli r17,r17,3
  3154. 42230: 1810d0fa srli r8,r3,3
  3155. 42234: 9100004c andi r4,r18,1
  3156. 42238: 1444b03a or r2,r2,r17
  3157. 4223c: 00c1ffc4 movi r3,2047
  3158. 42240: 80c02826 beq r16,r3,422e4 <__subdf3+0x2d0>
  3159. 42244: 01400434 movhi r5,16
  3160. 42248: 297fffc4 addi r5,r5,-1
  3161. 4224c: 80e0703a and r16,r16,r3
  3162. 42250: 414a703a and r5,r8,r5
  3163. 42254: 003fa806 br 420f8 <__alt_data_end+0xfffd00f8>
  3164. 42258: 0080630e bge zero,r2,423e8 <__subdf3+0x3d4>
  3165. 4225c: 48003026 beq r9,zero,42320 <__subdf3+0x30c>
  3166. 42260: 0101ffc4 movi r4,2047
  3167. 42264: 813f8c26 beq r16,r4,42098 <__alt_data_end+0xfffd0098>
  3168. 42268: 29402034 orhi r5,r5,128
  3169. 4226c: 01000e04 movi r4,56
  3170. 42270: 2080a90e bge r4,r2,42518 <__subdf3+0x504>
  3171. 42274: 298cb03a or r6,r5,r6
  3172. 42278: 3012c03a cmpne r9,r6,zero
  3173. 4227c: 0005883a mov r2,zero
  3174. 42280: 4c53883a add r9,r9,r17
  3175. 42284: 4c63803a cmpltu r17,r9,r17
  3176. 42288: 10c7883a add r3,r2,r3
  3177. 4228c: 88c7883a add r3,r17,r3
  3178. 42290: 4823883a mov r17,r9
  3179. 42294: 1880202c andhi r2,r3,128
  3180. 42298: 1000d026 beq r2,zero,425dc <__subdf3+0x5c8>
  3181. 4229c: 84000044 addi r16,r16,1
  3182. 422a0: 0081ffc4 movi r2,2047
  3183. 422a4: 8080fe26 beq r16,r2,426a0 <__subdf3+0x68c>
  3184. 422a8: 00bfe034 movhi r2,65408
  3185. 422ac: 10bfffc4 addi r2,r2,-1
  3186. 422b0: 1886703a and r3,r3,r2
  3187. 422b4: 880ad07a srli r5,r17,1
  3188. 422b8: 180497fa slli r2,r3,31
  3189. 422bc: 8900004c andi r4,r17,1
  3190. 422c0: 2922b03a or r17,r5,r4
  3191. 422c4: 1806d07a srli r3,r3,1
  3192. 422c8: 1462b03a or r17,r2,r17
  3193. 422cc: 3825883a mov r18,r7
  3194. 422d0: 003f7106 br 42098 <__alt_data_end+0xfffd0098>
  3195. 422d4: 2984b03a or r2,r5,r6
  3196. 422d8: 103f6826 beq r2,zero,4207c <__alt_data_end+0xfffd007c>
  3197. 422dc: 39c03fcc andi r7,r7,255
  3198. 422e0: 003f6706 br 42080 <__alt_data_end+0xfffd0080>
  3199. 422e4: 4086b03a or r3,r8,r2
  3200. 422e8: 18015226 beq r3,zero,42834 <__subdf3+0x820>
  3201. 422ec: 00c00434 movhi r3,16
  3202. 422f0: 41400234 orhi r5,r8,8
  3203. 422f4: 18ffffc4 addi r3,r3,-1
  3204. 422f8: 28ca703a and r5,r5,r3
  3205. 422fc: 003f7e06 br 420f8 <__alt_data_end+0xfffd00f8>
  3206. 42300: 10bfffc4 addi r2,r2,-1
  3207. 42304: 1000491e bne r2,zero,4242c <__subdf3+0x418>
  3208. 42308: 898fc83a sub r7,r17,r6
  3209. 4230c: 89e3803a cmpltu r17,r17,r7
  3210. 42310: 1947c83a sub r3,r3,r5
  3211. 42314: 1c47c83a sub r3,r3,r17
  3212. 42318: 3823883a mov r17,r7
  3213. 4231c: 003f9b06 br 4218c <__alt_data_end+0xfffd018c>
  3214. 42320: 2988b03a or r4,r5,r6
  3215. 42324: 203f5c26 beq r4,zero,42098 <__alt_data_end+0xfffd0098>
  3216. 42328: 10bfffc4 addi r2,r2,-1
  3217. 4232c: 1000931e bne r2,zero,4257c <__subdf3+0x568>
  3218. 42330: 898d883a add r6,r17,r6
  3219. 42334: 3463803a cmpltu r17,r6,r17
  3220. 42338: 1947883a add r3,r3,r5
  3221. 4233c: 88c7883a add r3,r17,r3
  3222. 42340: 3023883a mov r17,r6
  3223. 42344: 003fd306 br 42294 <__alt_data_end+0xfffd0294>
  3224. 42348: 1000541e bne r2,zero,4249c <__subdf3+0x488>
  3225. 4234c: 80800044 addi r2,r16,1
  3226. 42350: 1081ffcc andi r2,r2,2047
  3227. 42354: 01000044 movi r4,1
  3228. 42358: 2080a20e bge r4,r2,425e4 <__subdf3+0x5d0>
  3229. 4235c: 8989c83a sub r4,r17,r6
  3230. 42360: 8905803a cmpltu r2,r17,r4
  3231. 42364: 1967c83a sub r19,r3,r5
  3232. 42368: 98a7c83a sub r19,r19,r2
  3233. 4236c: 9880202c andhi r2,r19,128
  3234. 42370: 10006326 beq r2,zero,42500 <__subdf3+0x4ec>
  3235. 42374: 3463c83a sub r17,r6,r17
  3236. 42378: 28c7c83a sub r3,r5,r3
  3237. 4237c: 344d803a cmpltu r6,r6,r17
  3238. 42380: 19a7c83a sub r19,r3,r6
  3239. 42384: 3825883a mov r18,r7
  3240. 42388: 983f861e bne r19,zero,421a4 <__alt_data_end+0xfffd01a4>
  3241. 4238c: 8809883a mov r4,r17
  3242. 42390: 0042b7c0 call 42b7c <__clzsi2>
  3243. 42394: 10800804 addi r2,r2,32
  3244. 42398: 113ffe04 addi r4,r2,-8
  3245. 4239c: 00c007c4 movi r3,31
  3246. 423a0: 193f850e bge r3,r4,421b8 <__alt_data_end+0xfffd01b8>
  3247. 423a4: 10bff604 addi r2,r2,-40
  3248. 423a8: 8884983a sll r2,r17,r2
  3249. 423ac: 0023883a mov r17,zero
  3250. 423b0: 243f880e bge r4,r16,421d4 <__alt_data_end+0xfffd01d4>
  3251. 423b4: 00ffe034 movhi r3,65408
  3252. 423b8: 18ffffc4 addi r3,r3,-1
  3253. 423bc: 8121c83a sub r16,r16,r4
  3254. 423c0: 10c6703a and r3,r2,r3
  3255. 423c4: 003f3406 br 42098 <__alt_data_end+0xfffd0098>
  3256. 423c8: 9100004c andi r4,r18,1
  3257. 423cc: 000b883a mov r5,zero
  3258. 423d0: 0005883a mov r2,zero
  3259. 423d4: 003f4806 br 420f8 <__alt_data_end+0xfffd00f8>
  3260. 423d8: 298cb03a or r6,r5,r6
  3261. 423dc: 300cc03a cmpne r6,r6,zero
  3262. 423e0: 0005883a mov r2,zero
  3263. 423e4: 003f6406 br 42178 <__alt_data_end+0xfffd0178>
  3264. 423e8: 10009a1e bne r2,zero,42654 <__subdf3+0x640>
  3265. 423ec: 82400044 addi r9,r16,1
  3266. 423f0: 4881ffcc andi r2,r9,2047
  3267. 423f4: 02800044 movi r10,1
  3268. 423f8: 5080670e bge r10,r2,42598 <__subdf3+0x584>
  3269. 423fc: 0081ffc4 movi r2,2047
  3270. 42400: 4880af26 beq r9,r2,426c0 <__subdf3+0x6ac>
  3271. 42404: 898d883a add r6,r17,r6
  3272. 42408: 1945883a add r2,r3,r5
  3273. 4240c: 3447803a cmpltu r3,r6,r17
  3274. 42410: 1887883a add r3,r3,r2
  3275. 42414: 182297fa slli r17,r3,31
  3276. 42418: 300cd07a srli r6,r6,1
  3277. 4241c: 1806d07a srli r3,r3,1
  3278. 42420: 4821883a mov r16,r9
  3279. 42424: 89a2b03a or r17,r17,r6
  3280. 42428: 003f1b06 br 42098 <__alt_data_end+0xfffd0098>
  3281. 4242c: 0101ffc4 movi r4,2047
  3282. 42430: 813f441e bne r16,r4,42144 <__alt_data_end+0xfffd0144>
  3283. 42434: 003f1806 br 42098 <__alt_data_end+0xfffd0098>
  3284. 42438: 843ff844 addi r16,r16,-31
  3285. 4243c: 01400804 movi r5,32
  3286. 42440: 1408d83a srl r4,r2,r16
  3287. 42444: 19405026 beq r3,r5,42588 <__subdf3+0x574>
  3288. 42448: 01401004 movi r5,64
  3289. 4244c: 28c7c83a sub r3,r5,r3
  3290. 42450: 10c4983a sll r2,r2,r3
  3291. 42454: 88a2b03a or r17,r17,r2
  3292. 42458: 8822c03a cmpne r17,r17,zero
  3293. 4245c: 2462b03a or r17,r4,r17
  3294. 42460: 0007883a mov r3,zero
  3295. 42464: 0021883a mov r16,zero
  3296. 42468: 003f6d06 br 42220 <__alt_data_end+0xfffd0220>
  3297. 4246c: 11fff804 addi r7,r2,-32
  3298. 42470: 01000804 movi r4,32
  3299. 42474: 29ced83a srl r7,r5,r7
  3300. 42478: 11004526 beq r2,r4,42590 <__subdf3+0x57c>
  3301. 4247c: 01001004 movi r4,64
  3302. 42480: 2089c83a sub r4,r4,r2
  3303. 42484: 2904983a sll r2,r5,r4
  3304. 42488: 118cb03a or r6,r2,r6
  3305. 4248c: 300cc03a cmpne r6,r6,zero
  3306. 42490: 398cb03a or r6,r7,r6
  3307. 42494: 0005883a mov r2,zero
  3308. 42498: 003f3706 br 42178 <__alt_data_end+0xfffd0178>
  3309. 4249c: 80002a26 beq r16,zero,42548 <__subdf3+0x534>
  3310. 424a0: 0101ffc4 movi r4,2047
  3311. 424a4: 49006626 beq r9,r4,42640 <__subdf3+0x62c>
  3312. 424a8: 0085c83a sub r2,zero,r2
  3313. 424ac: 18c02034 orhi r3,r3,128
  3314. 424b0: 01000e04 movi r4,56
  3315. 424b4: 20807e16 blt r4,r2,426b0 <__subdf3+0x69c>
  3316. 424b8: 010007c4 movi r4,31
  3317. 424bc: 2080e716 blt r4,r2,4285c <__subdf3+0x848>
  3318. 424c0: 01000804 movi r4,32
  3319. 424c4: 2089c83a sub r4,r4,r2
  3320. 424c8: 1914983a sll r10,r3,r4
  3321. 424cc: 8890d83a srl r8,r17,r2
  3322. 424d0: 8908983a sll r4,r17,r4
  3323. 424d4: 1884d83a srl r2,r3,r2
  3324. 424d8: 5222b03a or r17,r10,r8
  3325. 424dc: 2006c03a cmpne r3,r4,zero
  3326. 424e0: 88e2b03a or r17,r17,r3
  3327. 424e4: 3463c83a sub r17,r6,r17
  3328. 424e8: 2885c83a sub r2,r5,r2
  3329. 424ec: 344d803a cmpltu r6,r6,r17
  3330. 424f0: 1187c83a sub r3,r2,r6
  3331. 424f4: 4821883a mov r16,r9
  3332. 424f8: 3825883a mov r18,r7
  3333. 424fc: 003f2306 br 4218c <__alt_data_end+0xfffd018c>
  3334. 42500: 24d0b03a or r8,r4,r19
  3335. 42504: 40001b1e bne r8,zero,42574 <__subdf3+0x560>
  3336. 42508: 0005883a mov r2,zero
  3337. 4250c: 0009883a mov r4,zero
  3338. 42510: 0021883a mov r16,zero
  3339. 42514: 003f4906 br 4223c <__alt_data_end+0xfffd023c>
  3340. 42518: 010007c4 movi r4,31
  3341. 4251c: 20803a16 blt r4,r2,42608 <__subdf3+0x5f4>
  3342. 42520: 01000804 movi r4,32
  3343. 42524: 2089c83a sub r4,r4,r2
  3344. 42528: 2912983a sll r9,r5,r4
  3345. 4252c: 3090d83a srl r8,r6,r2
  3346. 42530: 3108983a sll r4,r6,r4
  3347. 42534: 2884d83a srl r2,r5,r2
  3348. 42538: 4a12b03a or r9,r9,r8
  3349. 4253c: 2008c03a cmpne r4,r4,zero
  3350. 42540: 4912b03a or r9,r9,r4
  3351. 42544: 003f4e06 br 42280 <__alt_data_end+0xfffd0280>
  3352. 42548: 1c48b03a or r4,r3,r17
  3353. 4254c: 20003c26 beq r4,zero,42640 <__subdf3+0x62c>
  3354. 42550: 0084303a nor r2,zero,r2
  3355. 42554: 1000381e bne r2,zero,42638 <__subdf3+0x624>
  3356. 42558: 3463c83a sub r17,r6,r17
  3357. 4255c: 28c5c83a sub r2,r5,r3
  3358. 42560: 344d803a cmpltu r6,r6,r17
  3359. 42564: 1187c83a sub r3,r2,r6
  3360. 42568: 4821883a mov r16,r9
  3361. 4256c: 3825883a mov r18,r7
  3362. 42570: 003f0606 br 4218c <__alt_data_end+0xfffd018c>
  3363. 42574: 2023883a mov r17,r4
  3364. 42578: 003f0906 br 421a0 <__alt_data_end+0xfffd01a0>
  3365. 4257c: 0101ffc4 movi r4,2047
  3366. 42580: 813f3a1e bne r16,r4,4226c <__alt_data_end+0xfffd026c>
  3367. 42584: 003ec406 br 42098 <__alt_data_end+0xfffd0098>
  3368. 42588: 0005883a mov r2,zero
  3369. 4258c: 003fb106 br 42454 <__alt_data_end+0xfffd0454>
  3370. 42590: 0005883a mov r2,zero
  3371. 42594: 003fbc06 br 42488 <__alt_data_end+0xfffd0488>
  3372. 42598: 1c44b03a or r2,r3,r17
  3373. 4259c: 80008e1e bne r16,zero,427d8 <__subdf3+0x7c4>
  3374. 425a0: 1000c826 beq r2,zero,428c4 <__subdf3+0x8b0>
  3375. 425a4: 2984b03a or r2,r5,r6
  3376. 425a8: 103ebb26 beq r2,zero,42098 <__alt_data_end+0xfffd0098>
  3377. 425ac: 8989883a add r4,r17,r6
  3378. 425b0: 1945883a add r2,r3,r5
  3379. 425b4: 2447803a cmpltu r3,r4,r17
  3380. 425b8: 1887883a add r3,r3,r2
  3381. 425bc: 1880202c andhi r2,r3,128
  3382. 425c0: 2023883a mov r17,r4
  3383. 425c4: 103f1626 beq r2,zero,42220 <__alt_data_end+0xfffd0220>
  3384. 425c8: 00bfe034 movhi r2,65408
  3385. 425cc: 10bfffc4 addi r2,r2,-1
  3386. 425d0: 5021883a mov r16,r10
  3387. 425d4: 1886703a and r3,r3,r2
  3388. 425d8: 003eaf06 br 42098 <__alt_data_end+0xfffd0098>
  3389. 425dc: 3825883a mov r18,r7
  3390. 425e0: 003f0f06 br 42220 <__alt_data_end+0xfffd0220>
  3391. 425e4: 1c44b03a or r2,r3,r17
  3392. 425e8: 8000251e bne r16,zero,42680 <__subdf3+0x66c>
  3393. 425ec: 1000661e bne r2,zero,42788 <__subdf3+0x774>
  3394. 425f0: 2990b03a or r8,r5,r6
  3395. 425f4: 40009626 beq r8,zero,42850 <__subdf3+0x83c>
  3396. 425f8: 2807883a mov r3,r5
  3397. 425fc: 3023883a mov r17,r6
  3398. 42600: 3825883a mov r18,r7
  3399. 42604: 003ea406 br 42098 <__alt_data_end+0xfffd0098>
  3400. 42608: 127ff804 addi r9,r2,-32
  3401. 4260c: 01000804 movi r4,32
  3402. 42610: 2a52d83a srl r9,r5,r9
  3403. 42614: 11008c26 beq r2,r4,42848 <__subdf3+0x834>
  3404. 42618: 01001004 movi r4,64
  3405. 4261c: 2085c83a sub r2,r4,r2
  3406. 42620: 2884983a sll r2,r5,r2
  3407. 42624: 118cb03a or r6,r2,r6
  3408. 42628: 300cc03a cmpne r6,r6,zero
  3409. 4262c: 4992b03a or r9,r9,r6
  3410. 42630: 0005883a mov r2,zero
  3411. 42634: 003f1206 br 42280 <__alt_data_end+0xfffd0280>
  3412. 42638: 0101ffc4 movi r4,2047
  3413. 4263c: 493f9c1e bne r9,r4,424b0 <__alt_data_end+0xfffd04b0>
  3414. 42640: 2807883a mov r3,r5
  3415. 42644: 3023883a mov r17,r6
  3416. 42648: 4821883a mov r16,r9
  3417. 4264c: 3825883a mov r18,r7
  3418. 42650: 003e9106 br 42098 <__alt_data_end+0xfffd0098>
  3419. 42654: 80001f1e bne r16,zero,426d4 <__subdf3+0x6c0>
  3420. 42658: 1c48b03a or r4,r3,r17
  3421. 4265c: 20005a26 beq r4,zero,427c8 <__subdf3+0x7b4>
  3422. 42660: 0084303a nor r2,zero,r2
  3423. 42664: 1000561e bne r2,zero,427c0 <__subdf3+0x7ac>
  3424. 42668: 89a3883a add r17,r17,r6
  3425. 4266c: 1945883a add r2,r3,r5
  3426. 42670: 898d803a cmpltu r6,r17,r6
  3427. 42674: 3087883a add r3,r6,r2
  3428. 42678: 4821883a mov r16,r9
  3429. 4267c: 003f0506 br 42294 <__alt_data_end+0xfffd0294>
  3430. 42680: 10002b1e bne r2,zero,42730 <__subdf3+0x71c>
  3431. 42684: 2984b03a or r2,r5,r6
  3432. 42688: 10008026 beq r2,zero,4288c <__subdf3+0x878>
  3433. 4268c: 2807883a mov r3,r5
  3434. 42690: 3023883a mov r17,r6
  3435. 42694: 3825883a mov r18,r7
  3436. 42698: 0401ffc4 movi r16,2047
  3437. 4269c: 003e7e06 br 42098 <__alt_data_end+0xfffd0098>
  3438. 426a0: 3809883a mov r4,r7
  3439. 426a4: 0011883a mov r8,zero
  3440. 426a8: 0005883a mov r2,zero
  3441. 426ac: 003ee306 br 4223c <__alt_data_end+0xfffd023c>
  3442. 426b0: 1c62b03a or r17,r3,r17
  3443. 426b4: 8822c03a cmpne r17,r17,zero
  3444. 426b8: 0005883a mov r2,zero
  3445. 426bc: 003f8906 br 424e4 <__alt_data_end+0xfffd04e4>
  3446. 426c0: 3809883a mov r4,r7
  3447. 426c4: 4821883a mov r16,r9
  3448. 426c8: 0011883a mov r8,zero
  3449. 426cc: 0005883a mov r2,zero
  3450. 426d0: 003eda06 br 4223c <__alt_data_end+0xfffd023c>
  3451. 426d4: 0101ffc4 movi r4,2047
  3452. 426d8: 49003b26 beq r9,r4,427c8 <__subdf3+0x7b4>
  3453. 426dc: 0085c83a sub r2,zero,r2
  3454. 426e0: 18c02034 orhi r3,r3,128
  3455. 426e4: 01000e04 movi r4,56
  3456. 426e8: 20806e16 blt r4,r2,428a4 <__subdf3+0x890>
  3457. 426ec: 010007c4 movi r4,31
  3458. 426f0: 20807716 blt r4,r2,428d0 <__subdf3+0x8bc>
  3459. 426f4: 01000804 movi r4,32
  3460. 426f8: 2089c83a sub r4,r4,r2
  3461. 426fc: 1914983a sll r10,r3,r4
  3462. 42700: 8890d83a srl r8,r17,r2
  3463. 42704: 8908983a sll r4,r17,r4
  3464. 42708: 1884d83a srl r2,r3,r2
  3465. 4270c: 5222b03a or r17,r10,r8
  3466. 42710: 2006c03a cmpne r3,r4,zero
  3467. 42714: 88e2b03a or r17,r17,r3
  3468. 42718: 89a3883a add r17,r17,r6
  3469. 4271c: 1145883a add r2,r2,r5
  3470. 42720: 898d803a cmpltu r6,r17,r6
  3471. 42724: 3087883a add r3,r6,r2
  3472. 42728: 4821883a mov r16,r9
  3473. 4272c: 003ed906 br 42294 <__alt_data_end+0xfffd0294>
  3474. 42730: 2984b03a or r2,r5,r6
  3475. 42734: 10004226 beq r2,zero,42840 <__subdf3+0x82c>
  3476. 42738: 1808d0fa srli r4,r3,3
  3477. 4273c: 8822d0fa srli r17,r17,3
  3478. 42740: 1806977a slli r3,r3,29
  3479. 42744: 2080022c andhi r2,r4,8
  3480. 42748: 1c62b03a or r17,r3,r17
  3481. 4274c: 10000826 beq r2,zero,42770 <__subdf3+0x75c>
  3482. 42750: 2812d0fa srli r9,r5,3
  3483. 42754: 4880022c andhi r2,r9,8
  3484. 42758: 1000051e bne r2,zero,42770 <__subdf3+0x75c>
  3485. 4275c: 300cd0fa srli r6,r6,3
  3486. 42760: 2804977a slli r2,r5,29
  3487. 42764: 4809883a mov r4,r9
  3488. 42768: 3825883a mov r18,r7
  3489. 4276c: 11a2b03a or r17,r2,r6
  3490. 42770: 8806d77a srli r3,r17,29
  3491. 42774: 200890fa slli r4,r4,3
  3492. 42778: 882290fa slli r17,r17,3
  3493. 4277c: 0401ffc4 movi r16,2047
  3494. 42780: 1906b03a or r3,r3,r4
  3495. 42784: 003e4406 br 42098 <__alt_data_end+0xfffd0098>
  3496. 42788: 2984b03a or r2,r5,r6
  3497. 4278c: 103e4226 beq r2,zero,42098 <__alt_data_end+0xfffd0098>
  3498. 42790: 8989c83a sub r4,r17,r6
  3499. 42794: 8911803a cmpltu r8,r17,r4
  3500. 42798: 1945c83a sub r2,r3,r5
  3501. 4279c: 1205c83a sub r2,r2,r8
  3502. 427a0: 1200202c andhi r8,r2,128
  3503. 427a4: 403e9a26 beq r8,zero,42210 <__alt_data_end+0xfffd0210>
  3504. 427a8: 3463c83a sub r17,r6,r17
  3505. 427ac: 28c5c83a sub r2,r5,r3
  3506. 427b0: 344d803a cmpltu r6,r6,r17
  3507. 427b4: 1187c83a sub r3,r2,r6
  3508. 427b8: 3825883a mov r18,r7
  3509. 427bc: 003e3606 br 42098 <__alt_data_end+0xfffd0098>
  3510. 427c0: 0101ffc4 movi r4,2047
  3511. 427c4: 493fc71e bne r9,r4,426e4 <__alt_data_end+0xfffd06e4>
  3512. 427c8: 2807883a mov r3,r5
  3513. 427cc: 3023883a mov r17,r6
  3514. 427d0: 4821883a mov r16,r9
  3515. 427d4: 003e3006 br 42098 <__alt_data_end+0xfffd0098>
  3516. 427d8: 10003626 beq r2,zero,428b4 <__subdf3+0x8a0>
  3517. 427dc: 2984b03a or r2,r5,r6
  3518. 427e0: 10001726 beq r2,zero,42840 <__subdf3+0x82c>
  3519. 427e4: 1808d0fa srli r4,r3,3
  3520. 427e8: 8822d0fa srli r17,r17,3
  3521. 427ec: 1806977a slli r3,r3,29
  3522. 427f0: 2080022c andhi r2,r4,8
  3523. 427f4: 1c62b03a or r17,r3,r17
  3524. 427f8: 10000726 beq r2,zero,42818 <__subdf3+0x804>
  3525. 427fc: 2812d0fa srli r9,r5,3
  3526. 42800: 4880022c andhi r2,r9,8
  3527. 42804: 1000041e bne r2,zero,42818 <__subdf3+0x804>
  3528. 42808: 300cd0fa srli r6,r6,3
  3529. 4280c: 2804977a slli r2,r5,29
  3530. 42810: 4809883a mov r4,r9
  3531. 42814: 11a2b03a or r17,r2,r6
  3532. 42818: 8806d77a srli r3,r17,29
  3533. 4281c: 200890fa slli r4,r4,3
  3534. 42820: 882290fa slli r17,r17,3
  3535. 42824: 3825883a mov r18,r7
  3536. 42828: 1906b03a or r3,r3,r4
  3537. 4282c: 0401ffc4 movi r16,2047
  3538. 42830: 003e1906 br 42098 <__alt_data_end+0xfffd0098>
  3539. 42834: 000b883a mov r5,zero
  3540. 42838: 0005883a mov r2,zero
  3541. 4283c: 003e2e06 br 420f8 <__alt_data_end+0xfffd00f8>
  3542. 42840: 0401ffc4 movi r16,2047
  3543. 42844: 003e1406 br 42098 <__alt_data_end+0xfffd0098>
  3544. 42848: 0005883a mov r2,zero
  3545. 4284c: 003f7506 br 42624 <__alt_data_end+0xfffd0624>
  3546. 42850: 0005883a mov r2,zero
  3547. 42854: 0009883a mov r4,zero
  3548. 42858: 003e7806 br 4223c <__alt_data_end+0xfffd023c>
  3549. 4285c: 123ff804 addi r8,r2,-32
  3550. 42860: 01000804 movi r4,32
  3551. 42864: 1a10d83a srl r8,r3,r8
  3552. 42868: 11002526 beq r2,r4,42900 <__subdf3+0x8ec>
  3553. 4286c: 01001004 movi r4,64
  3554. 42870: 2085c83a sub r2,r4,r2
  3555. 42874: 1884983a sll r2,r3,r2
  3556. 42878: 1444b03a or r2,r2,r17
  3557. 4287c: 1004c03a cmpne r2,r2,zero
  3558. 42880: 40a2b03a or r17,r8,r2
  3559. 42884: 0005883a mov r2,zero
  3560. 42888: 003f1606 br 424e4 <__alt_data_end+0xfffd04e4>
  3561. 4288c: 02000434 movhi r8,16
  3562. 42890: 0009883a mov r4,zero
  3563. 42894: 423fffc4 addi r8,r8,-1
  3564. 42898: 00bfffc4 movi r2,-1
  3565. 4289c: 0401ffc4 movi r16,2047
  3566. 428a0: 003e6606 br 4223c <__alt_data_end+0xfffd023c>
  3567. 428a4: 1c62b03a or r17,r3,r17
  3568. 428a8: 8822c03a cmpne r17,r17,zero
  3569. 428ac: 0005883a mov r2,zero
  3570. 428b0: 003f9906 br 42718 <__alt_data_end+0xfffd0718>
  3571. 428b4: 2807883a mov r3,r5
  3572. 428b8: 3023883a mov r17,r6
  3573. 428bc: 0401ffc4 movi r16,2047
  3574. 428c0: 003df506 br 42098 <__alt_data_end+0xfffd0098>
  3575. 428c4: 2807883a mov r3,r5
  3576. 428c8: 3023883a mov r17,r6
  3577. 428cc: 003df206 br 42098 <__alt_data_end+0xfffd0098>
  3578. 428d0: 123ff804 addi r8,r2,-32
  3579. 428d4: 01000804 movi r4,32
  3580. 428d8: 1a10d83a srl r8,r3,r8
  3581. 428dc: 11000a26 beq r2,r4,42908 <__subdf3+0x8f4>
  3582. 428e0: 01001004 movi r4,64
  3583. 428e4: 2085c83a sub r2,r4,r2
  3584. 428e8: 1884983a sll r2,r3,r2
  3585. 428ec: 1444b03a or r2,r2,r17
  3586. 428f0: 1004c03a cmpne r2,r2,zero
  3587. 428f4: 40a2b03a or r17,r8,r2
  3588. 428f8: 0005883a mov r2,zero
  3589. 428fc: 003f8606 br 42718 <__alt_data_end+0xfffd0718>
  3590. 42900: 0005883a mov r2,zero
  3591. 42904: 003fdc06 br 42878 <__alt_data_end+0xfffd0878>
  3592. 42908: 0005883a mov r2,zero
  3593. 4290c: 003ff706 br 428ec <__alt_data_end+0xfffd08ec>
  3594. 00042910 <__fixdfsi>:
  3595. 42910: 280cd53a srli r6,r5,20
  3596. 42914: 00c00434 movhi r3,16
  3597. 42918: 18ffffc4 addi r3,r3,-1
  3598. 4291c: 3181ffcc andi r6,r6,2047
  3599. 42920: 01c0ff84 movi r7,1022
  3600. 42924: 28c6703a and r3,r5,r3
  3601. 42928: 280ad7fa srli r5,r5,31
  3602. 4292c: 3980120e bge r7,r6,42978 <__fixdfsi+0x68>
  3603. 42930: 00810744 movi r2,1053
  3604. 42934: 11800c16 blt r2,r6,42968 <__fixdfsi+0x58>
  3605. 42938: 00810cc4 movi r2,1075
  3606. 4293c: 1185c83a sub r2,r2,r6
  3607. 42940: 01c007c4 movi r7,31
  3608. 42944: 18c00434 orhi r3,r3,16
  3609. 42948: 38800d16 blt r7,r2,42980 <__fixdfsi+0x70>
  3610. 4294c: 31befb44 addi r6,r6,-1043
  3611. 42950: 2084d83a srl r2,r4,r2
  3612. 42954: 1986983a sll r3,r3,r6
  3613. 42958: 1884b03a or r2,r3,r2
  3614. 4295c: 28000726 beq r5,zero,4297c <__fixdfsi+0x6c>
  3615. 42960: 0085c83a sub r2,zero,r2
  3616. 42964: f800283a ret
  3617. 42968: 00a00034 movhi r2,32768
  3618. 4296c: 10bfffc4 addi r2,r2,-1
  3619. 42970: 2885883a add r2,r5,r2
  3620. 42974: f800283a ret
  3621. 42978: 0005883a mov r2,zero
  3622. 4297c: f800283a ret
  3623. 42980: 008104c4 movi r2,1043
  3624. 42984: 1185c83a sub r2,r2,r6
  3625. 42988: 1884d83a srl r2,r3,r2
  3626. 4298c: 003ff306 br 4295c <__alt_data_end+0xfffd095c>
  3627. 00042990 <__floatsidf>:
  3628. 42990: defffd04 addi sp,sp,-12
  3629. 42994: dfc00215 stw ra,8(sp)
  3630. 42998: dc400115 stw r17,4(sp)
  3631. 4299c: dc000015 stw r16,0(sp)
  3632. 429a0: 20002b26 beq r4,zero,42a50 <__floatsidf+0xc0>
  3633. 429a4: 2023883a mov r17,r4
  3634. 429a8: 2020d7fa srli r16,r4,31
  3635. 429ac: 20002d16 blt r4,zero,42a64 <__floatsidf+0xd4>
  3636. 429b0: 8809883a mov r4,r17
  3637. 429b4: 0042b7c0 call 42b7c <__clzsi2>
  3638. 429b8: 01410784 movi r5,1054
  3639. 429bc: 288bc83a sub r5,r5,r2
  3640. 429c0: 01010cc4 movi r4,1075
  3641. 429c4: 2149c83a sub r4,r4,r5
  3642. 429c8: 00c007c4 movi r3,31
  3643. 429cc: 1900160e bge r3,r4,42a28 <__floatsidf+0x98>
  3644. 429d0: 00c104c4 movi r3,1043
  3645. 429d4: 1947c83a sub r3,r3,r5
  3646. 429d8: 88c6983a sll r3,r17,r3
  3647. 429dc: 00800434 movhi r2,16
  3648. 429e0: 10bfffc4 addi r2,r2,-1
  3649. 429e4: 1886703a and r3,r3,r2
  3650. 429e8: 2941ffcc andi r5,r5,2047
  3651. 429ec: 800d883a mov r6,r16
  3652. 429f0: 0005883a mov r2,zero
  3653. 429f4: 280a953a slli r5,r5,20
  3654. 429f8: 31803fcc andi r6,r6,255
  3655. 429fc: 01000434 movhi r4,16
  3656. 42a00: 300c97fa slli r6,r6,31
  3657. 42a04: 213fffc4 addi r4,r4,-1
  3658. 42a08: 1906703a and r3,r3,r4
  3659. 42a0c: 1946b03a or r3,r3,r5
  3660. 42a10: 1986b03a or r3,r3,r6
  3661. 42a14: dfc00217 ldw ra,8(sp)
  3662. 42a18: dc400117 ldw r17,4(sp)
  3663. 42a1c: dc000017 ldw r16,0(sp)
  3664. 42a20: dec00304 addi sp,sp,12
  3665. 42a24: f800283a ret
  3666. 42a28: 00c002c4 movi r3,11
  3667. 42a2c: 1887c83a sub r3,r3,r2
  3668. 42a30: 88c6d83a srl r3,r17,r3
  3669. 42a34: 8904983a sll r2,r17,r4
  3670. 42a38: 01000434 movhi r4,16
  3671. 42a3c: 213fffc4 addi r4,r4,-1
  3672. 42a40: 2941ffcc andi r5,r5,2047
  3673. 42a44: 1906703a and r3,r3,r4
  3674. 42a48: 800d883a mov r6,r16
  3675. 42a4c: 003fe906 br 429f4 <__alt_data_end+0xfffd09f4>
  3676. 42a50: 000d883a mov r6,zero
  3677. 42a54: 000b883a mov r5,zero
  3678. 42a58: 0007883a mov r3,zero
  3679. 42a5c: 0005883a mov r2,zero
  3680. 42a60: 003fe406 br 429f4 <__alt_data_end+0xfffd09f4>
  3681. 42a64: 0123c83a sub r17,zero,r4
  3682. 42a68: 003fd106 br 429b0 <__alt_data_end+0xfffd09b0>
  3683. 00042a6c <__extendsfdf2>:
  3684. 42a6c: 200ad5fa srli r5,r4,23
  3685. 42a70: defffd04 addi sp,sp,-12
  3686. 42a74: dc400115 stw r17,4(sp)
  3687. 42a78: 29403fcc andi r5,r5,255
  3688. 42a7c: 29800044 addi r6,r5,1
  3689. 42a80: 04402034 movhi r17,128
  3690. 42a84: dc000015 stw r16,0(sp)
  3691. 42a88: 8c7fffc4 addi r17,r17,-1
  3692. 42a8c: dfc00215 stw ra,8(sp)
  3693. 42a90: 31803fcc andi r6,r6,255
  3694. 42a94: 00800044 movi r2,1
  3695. 42a98: 8922703a and r17,r17,r4
  3696. 42a9c: 2020d7fa srli r16,r4,31
  3697. 42aa0: 1180110e bge r2,r6,42ae8 <__extendsfdf2+0x7c>
  3698. 42aa4: 880cd0fa srli r6,r17,3
  3699. 42aa8: 8822977a slli r17,r17,29
  3700. 42aac: 2940e004 addi r5,r5,896
  3701. 42ab0: 2941ffcc andi r5,r5,2047
  3702. 42ab4: 2804953a slli r2,r5,20
  3703. 42ab8: 01400434 movhi r5,16
  3704. 42abc: 800697fa slli r3,r16,31
  3705. 42ac0: 297fffc4 addi r5,r5,-1
  3706. 42ac4: 314a703a and r5,r6,r5
  3707. 42ac8: 288ab03a or r5,r5,r2
  3708. 42acc: 28c6b03a or r3,r5,r3
  3709. 42ad0: 8805883a mov r2,r17
  3710. 42ad4: dfc00217 ldw ra,8(sp)
  3711. 42ad8: dc400117 ldw r17,4(sp)
  3712. 42adc: dc000017 ldw r16,0(sp)
  3713. 42ae0: dec00304 addi sp,sp,12
  3714. 42ae4: f800283a ret
  3715. 42ae8: 2800111e bne r5,zero,42b30 <__extendsfdf2+0xc4>
  3716. 42aec: 88001c26 beq r17,zero,42b60 <__extendsfdf2+0xf4>
  3717. 42af0: 8809883a mov r4,r17
  3718. 42af4: 0042b7c0 call 42b7c <__clzsi2>
  3719. 42af8: 00c00284 movi r3,10
  3720. 42afc: 18801b16 blt r3,r2,42b6c <__extendsfdf2+0x100>
  3721. 42b00: 018002c4 movi r6,11
  3722. 42b04: 308dc83a sub r6,r6,r2
  3723. 42b08: 11000544 addi r4,r2,21
  3724. 42b0c: 8986d83a srl r3,r17,r6
  3725. 42b10: 8922983a sll r17,r17,r4
  3726. 42b14: 0180e244 movi r6,905
  3727. 42b18: 01400434 movhi r5,16
  3728. 42b1c: 3085c83a sub r2,r6,r2
  3729. 42b20: 297fffc4 addi r5,r5,-1
  3730. 42b24: 194c703a and r6,r3,r5
  3731. 42b28: 1141ffcc andi r5,r2,2047
  3732. 42b2c: 003fe006 br 42ab0 <__alt_data_end+0xfffd0ab0>
  3733. 42b30: 88000826 beq r17,zero,42b54 <__extendsfdf2+0xe8>
  3734. 42b34: 880cd0fa srli r6,r17,3
  3735. 42b38: 00800434 movhi r2,16
  3736. 42b3c: 10bfffc4 addi r2,r2,-1
  3737. 42b40: 31800234 orhi r6,r6,8
  3738. 42b44: 8822977a slli r17,r17,29
  3739. 42b48: 308c703a and r6,r6,r2
  3740. 42b4c: 0141ffc4 movi r5,2047
  3741. 42b50: 003fd706 br 42ab0 <__alt_data_end+0xfffd0ab0>
  3742. 42b54: 0141ffc4 movi r5,2047
  3743. 42b58: 000d883a mov r6,zero
  3744. 42b5c: 003fd406 br 42ab0 <__alt_data_end+0xfffd0ab0>
  3745. 42b60: 000b883a mov r5,zero
  3746. 42b64: 000d883a mov r6,zero
  3747. 42b68: 003fd106 br 42ab0 <__alt_data_end+0xfffd0ab0>
  3748. 42b6c: 11bffd44 addi r6,r2,-11
  3749. 42b70: 8986983a sll r3,r17,r6
  3750. 42b74: 0023883a mov r17,zero
  3751. 42b78: 003fe606 br 42b14 <__alt_data_end+0xfffd0b14>
  3752. 00042b7c <__clzsi2>:
  3753. 42b7c: 00bfffd4 movui r2,65535
  3754. 42b80: 11000536 bltu r2,r4,42b98 <__clzsi2+0x1c>
  3755. 42b84: 00803fc4 movi r2,255
  3756. 42b88: 11000f36 bltu r2,r4,42bc8 <__clzsi2+0x4c>
  3757. 42b8c: 00800804 movi r2,32
  3758. 42b90: 0007883a mov r3,zero
  3759. 42b94: 00000506 br 42bac <__clzsi2+0x30>
  3760. 42b98: 00804034 movhi r2,256
  3761. 42b9c: 10bfffc4 addi r2,r2,-1
  3762. 42ba0: 11000c2e bgeu r2,r4,42bd4 <__clzsi2+0x58>
  3763. 42ba4: 00800204 movi r2,8
  3764. 42ba8: 00c00604 movi r3,24
  3765. 42bac: 20c8d83a srl r4,r4,r3
  3766. 42bb0: 00c00174 movhi r3,5
  3767. 42bb4: 18c7fc84 addi r3,r3,8178
  3768. 42bb8: 1909883a add r4,r3,r4
  3769. 42bbc: 20c00003 ldbu r3,0(r4)
  3770. 42bc0: 10c5c83a sub r2,r2,r3
  3771. 42bc4: f800283a ret
  3772. 42bc8: 00800604 movi r2,24
  3773. 42bcc: 00c00204 movi r3,8
  3774. 42bd0: 003ff606 br 42bac <__alt_data_end+0xfffd0bac>
  3775. 42bd4: 00800404 movi r2,16
  3776. 42bd8: 1007883a mov r3,r2
  3777. 42bdc: 003ff306 br 42bac <__alt_data_end+0xfffd0bac>
  3778. 00042be0 <_printf_r>:
  3779. 42be0: defffd04 addi sp,sp,-12
  3780. 42be4: 2805883a mov r2,r5
  3781. 42be8: dfc00015 stw ra,0(sp)
  3782. 42bec: d9800115 stw r6,4(sp)
  3783. 42bf0: d9c00215 stw r7,8(sp)
  3784. 42bf4: 21400217 ldw r5,8(r4)
  3785. 42bf8: d9c00104 addi r7,sp,4
  3786. 42bfc: 100d883a mov r6,r2
  3787. 42c00: 0042dd80 call 42dd8 <___vfprintf_internal_r>
  3788. 42c04: dfc00017 ldw ra,0(sp)
  3789. 42c08: dec00304 addi sp,sp,12
  3790. 42c0c: f800283a ret
  3791. 00042c10 <printf>:
  3792. 42c10: defffc04 addi sp,sp,-16
  3793. 42c14: dfc00015 stw ra,0(sp)
  3794. 42c18: d9400115 stw r5,4(sp)
  3795. 42c1c: d9800215 stw r6,8(sp)
  3796. 42c20: d9c00315 stw r7,12(sp)
  3797. 42c24: 00800174 movhi r2,5
  3798. 42c28: 10905304 addi r2,r2,16716
  3799. 42c2c: 10800017 ldw r2,0(r2)
  3800. 42c30: 200b883a mov r5,r4
  3801. 42c34: d9800104 addi r6,sp,4
  3802. 42c38: 11000217 ldw r4,8(r2)
  3803. 42c3c: 00450b40 call 450b4 <__vfprintf_internal>
  3804. 42c40: dfc00017 ldw ra,0(sp)
  3805. 42c44: dec00404 addi sp,sp,16
  3806. 42c48: f800283a ret
  3807. 00042c4c <_putchar_r>:
  3808. 42c4c: 21800217 ldw r6,8(r4)
  3809. 42c50: 0049c781 jmpi 49c78 <_putc_r>
  3810. 00042c54 <putchar>:
  3811. 42c54: 00800174 movhi r2,5
  3812. 42c58: 10905304 addi r2,r2,16716
  3813. 42c5c: 200b883a mov r5,r4
  3814. 42c60: 11000017 ldw r4,0(r2)
  3815. 42c64: 21800217 ldw r6,8(r4)
  3816. 42c68: 0049c781 jmpi 49c78 <_putc_r>
  3817. 00042c6c <_puts_r>:
  3818. 42c6c: defff604 addi sp,sp,-40
  3819. 42c70: dc000715 stw r16,28(sp)
  3820. 42c74: 2021883a mov r16,r4
  3821. 42c78: 2809883a mov r4,r5
  3822. 42c7c: dc400815 stw r17,32(sp)
  3823. 42c80: dfc00915 stw ra,36(sp)
  3824. 42c84: 2823883a mov r17,r5
  3825. 42c88: 0042d400 call 42d40 <strlen>
  3826. 42c8c: 10c00044 addi r3,r2,1
  3827. 42c90: d8800115 stw r2,4(sp)
  3828. 42c94: 00800174 movhi r2,5
  3829. 42c98: 10883d04 addi r2,r2,8436
  3830. 42c9c: d8800215 stw r2,8(sp)
  3831. 42ca0: 00800044 movi r2,1
  3832. 42ca4: d8800315 stw r2,12(sp)
  3833. 42ca8: 00800084 movi r2,2
  3834. 42cac: dc400015 stw r17,0(sp)
  3835. 42cb0: d8c00615 stw r3,24(sp)
  3836. 42cb4: dec00415 stw sp,16(sp)
  3837. 42cb8: d8800515 stw r2,20(sp)
  3838. 42cbc: 80000226 beq r16,zero,42cc8 <_puts_r+0x5c>
  3839. 42cc0: 80800e17 ldw r2,56(r16)
  3840. 42cc4: 10001426 beq r2,zero,42d18 <_puts_r+0xac>
  3841. 42cc8: 81400217 ldw r5,8(r16)
  3842. 42ccc: 2880030b ldhu r2,12(r5)
  3843. 42cd0: 10c8000c andi r3,r2,8192
  3844. 42cd4: 1800061e bne r3,zero,42cf0 <_puts_r+0x84>
  3845. 42cd8: 29001917 ldw r4,100(r5)
  3846. 42cdc: 00f7ffc4 movi r3,-8193
  3847. 42ce0: 10880014 ori r2,r2,8192
  3848. 42ce4: 20c6703a and r3,r4,r3
  3849. 42ce8: 2880030d sth r2,12(r5)
  3850. 42cec: 28c01915 stw r3,100(r5)
  3851. 42cf0: d9800404 addi r6,sp,16
  3852. 42cf4: 8009883a mov r4,r16
  3853. 42cf8: 004761c0 call 4761c <__sfvwrite_r>
  3854. 42cfc: 1000091e bne r2,zero,42d24 <_puts_r+0xb8>
  3855. 42d00: 00800284 movi r2,10
  3856. 42d04: dfc00917 ldw ra,36(sp)
  3857. 42d08: dc400817 ldw r17,32(sp)
  3858. 42d0c: dc000717 ldw r16,28(sp)
  3859. 42d10: dec00a04 addi sp,sp,40
  3860. 42d14: f800283a ret
  3861. 42d18: 8009883a mov r4,r16
  3862. 42d1c: 00471980 call 47198 <__sinit>
  3863. 42d20: 003fe906 br 42cc8 <__alt_data_end+0xfffd0cc8>
  3864. 42d24: 00bfffc4 movi r2,-1
  3865. 42d28: 003ff606 br 42d04 <__alt_data_end+0xfffd0d04>
  3866. 00042d2c <puts>:
  3867. 42d2c: 00800174 movhi r2,5
  3868. 42d30: 10905304 addi r2,r2,16716
  3869. 42d34: 200b883a mov r5,r4
  3870. 42d38: 11000017 ldw r4,0(r2)
  3871. 42d3c: 0042c6c1 jmpi 42c6c <_puts_r>
  3872. 00042d40 <strlen>:
  3873. 42d40: 208000cc andi r2,r4,3
  3874. 42d44: 10002026 beq r2,zero,42dc8 <strlen+0x88>
  3875. 42d48: 20800007 ldb r2,0(r4)
  3876. 42d4c: 10002026 beq r2,zero,42dd0 <strlen+0x90>
  3877. 42d50: 2005883a mov r2,r4
  3878. 42d54: 00000206 br 42d60 <strlen+0x20>
  3879. 42d58: 10c00007 ldb r3,0(r2)
  3880. 42d5c: 18001826 beq r3,zero,42dc0 <strlen+0x80>
  3881. 42d60: 10800044 addi r2,r2,1
  3882. 42d64: 10c000cc andi r3,r2,3
  3883. 42d68: 183ffb1e bne r3,zero,42d58 <__alt_data_end+0xfffd0d58>
  3884. 42d6c: 10c00017 ldw r3,0(r2)
  3885. 42d70: 01ffbff4 movhi r7,65279
  3886. 42d74: 39ffbfc4 addi r7,r7,-257
  3887. 42d78: 00ca303a nor r5,zero,r3
  3888. 42d7c: 01a02074 movhi r6,32897
  3889. 42d80: 19c7883a add r3,r3,r7
  3890. 42d84: 31a02004 addi r6,r6,-32640
  3891. 42d88: 1946703a and r3,r3,r5
  3892. 42d8c: 1986703a and r3,r3,r6
  3893. 42d90: 1800091e bne r3,zero,42db8 <strlen+0x78>
  3894. 42d94: 10800104 addi r2,r2,4
  3895. 42d98: 10c00017 ldw r3,0(r2)
  3896. 42d9c: 19cb883a add r5,r3,r7
  3897. 42da0: 00c6303a nor r3,zero,r3
  3898. 42da4: 28c6703a and r3,r5,r3
  3899. 42da8: 1986703a and r3,r3,r6
  3900. 42dac: 183ff926 beq r3,zero,42d94 <__alt_data_end+0xfffd0d94>
  3901. 42db0: 00000106 br 42db8 <strlen+0x78>
  3902. 42db4: 10800044 addi r2,r2,1
  3903. 42db8: 10c00007 ldb r3,0(r2)
  3904. 42dbc: 183ffd1e bne r3,zero,42db4 <__alt_data_end+0xfffd0db4>
  3905. 42dc0: 1105c83a sub r2,r2,r4
  3906. 42dc4: f800283a ret
  3907. 42dc8: 2005883a mov r2,r4
  3908. 42dcc: 003fe706 br 42d6c <__alt_data_end+0xfffd0d6c>
  3909. 42dd0: 0005883a mov r2,zero
  3910. 42dd4: f800283a ret
  3911. 00042dd8 <___vfprintf_internal_r>:
  3912. 42dd8: deffb804 addi sp,sp,-288
  3913. 42ddc: dfc04715 stw ra,284(sp)
  3914. 42de0: ddc04515 stw r23,276(sp)
  3915. 42de4: dd404315 stw r21,268(sp)
  3916. 42de8: d9002d15 stw r4,180(sp)
  3917. 42dec: 282f883a mov r23,r5
  3918. 42df0: 302b883a mov r21,r6
  3919. 42df4: d9c02e15 stw r7,184(sp)
  3920. 42df8: df004615 stw fp,280(sp)
  3921. 42dfc: dd804415 stw r22,272(sp)
  3922. 42e00: dd004215 stw r20,264(sp)
  3923. 42e04: dcc04115 stw r19,260(sp)
  3924. 42e08: dc804015 stw r18,256(sp)
  3925. 42e0c: dc403f15 stw r17,252(sp)
  3926. 42e10: dc003e15 stw r16,248(sp)
  3927. 42e14: 0047d180 call 47d18 <_localeconv_r>
  3928. 42e18: 10800017 ldw r2,0(r2)
  3929. 42e1c: 1009883a mov r4,r2
  3930. 42e20: d8803415 stw r2,208(sp)
  3931. 42e24: 0042d400 call 42d40 <strlen>
  3932. 42e28: d8803715 stw r2,220(sp)
  3933. 42e2c: d8802d17 ldw r2,180(sp)
  3934. 42e30: 10000226 beq r2,zero,42e3c <___vfprintf_internal_r+0x64>
  3935. 42e34: 10800e17 ldw r2,56(r2)
  3936. 42e38: 1000fb26 beq r2,zero,43228 <___vfprintf_internal_r+0x450>
  3937. 42e3c: b880030b ldhu r2,12(r23)
  3938. 42e40: 10c8000c andi r3,r2,8192
  3939. 42e44: 1800061e bne r3,zero,42e60 <___vfprintf_internal_r+0x88>
  3940. 42e48: b9001917 ldw r4,100(r23)
  3941. 42e4c: 00f7ffc4 movi r3,-8193
  3942. 42e50: 10880014 ori r2,r2,8192
  3943. 42e54: 20c6703a and r3,r4,r3
  3944. 42e58: b880030d sth r2,12(r23)
  3945. 42e5c: b8c01915 stw r3,100(r23)
  3946. 42e60: 10c0020c andi r3,r2,8
  3947. 42e64: 1800c326 beq r3,zero,43174 <___vfprintf_internal_r+0x39c>
  3948. 42e68: b8c00417 ldw r3,16(r23)
  3949. 42e6c: 1800c126 beq r3,zero,43174 <___vfprintf_internal_r+0x39c>
  3950. 42e70: 1080068c andi r2,r2,26
  3951. 42e74: 00c00284 movi r3,10
  3952. 42e78: 10c0c626 beq r2,r3,43194 <___vfprintf_internal_r+0x3bc>
  3953. 42e7c: d8c00404 addi r3,sp,16
  3954. 42e80: 05000174 movhi r20,5
  3955. 42e84: d9001e04 addi r4,sp,120
  3956. 42e88: a5084e84 addi r20,r20,8506
  3957. 42e8c: d8c01e15 stw r3,120(sp)
  3958. 42e90: d8002015 stw zero,128(sp)
  3959. 42e94: d8001f15 stw zero,124(sp)
  3960. 42e98: d8003315 stw zero,204(sp)
  3961. 42e9c: d8003615 stw zero,216(sp)
  3962. 42ea0: d8003815 stw zero,224(sp)
  3963. 42ea4: 1811883a mov r8,r3
  3964. 42ea8: d8003915 stw zero,228(sp)
  3965. 42eac: d8003a15 stw zero,232(sp)
  3966. 42eb0: d8002f15 stw zero,188(sp)
  3967. 42eb4: d9002815 stw r4,160(sp)
  3968. 42eb8: a8800007 ldb r2,0(r21)
  3969. 42ebc: 10028b26 beq r2,zero,438ec <___vfprintf_internal_r+0xb14>
  3970. 42ec0: 00c00944 movi r3,37
  3971. 42ec4: a823883a mov r17,r21
  3972. 42ec8: 10c0021e bne r2,r3,42ed4 <___vfprintf_internal_r+0xfc>
  3973. 42ecc: 00001406 br 42f20 <___vfprintf_internal_r+0x148>
  3974. 42ed0: 10c00326 beq r2,r3,42ee0 <___vfprintf_internal_r+0x108>
  3975. 42ed4: 8c400044 addi r17,r17,1
  3976. 42ed8: 88800007 ldb r2,0(r17)
  3977. 42edc: 103ffc1e bne r2,zero,42ed0 <__alt_data_end+0xfffd0ed0>
  3978. 42ee0: 8d61c83a sub r16,r17,r21
  3979. 42ee4: 80000e26 beq r16,zero,42f20 <___vfprintf_internal_r+0x148>
  3980. 42ee8: d8c02017 ldw r3,128(sp)
  3981. 42eec: d8801f17 ldw r2,124(sp)
  3982. 42ef0: 45400015 stw r21,0(r8)
  3983. 42ef4: 1c07883a add r3,r3,r16
  3984. 42ef8: 10800044 addi r2,r2,1
  3985. 42efc: d8c02015 stw r3,128(sp)
  3986. 42f00: 44000115 stw r16,4(r8)
  3987. 42f04: d8801f15 stw r2,124(sp)
  3988. 42f08: 00c001c4 movi r3,7
  3989. 42f0c: 1880a916 blt r3,r2,431b4 <___vfprintf_internal_r+0x3dc>
  3990. 42f10: 42000204 addi r8,r8,8
  3991. 42f14: d9402f17 ldw r5,188(sp)
  3992. 42f18: 2c0b883a add r5,r5,r16
  3993. 42f1c: d9402f15 stw r5,188(sp)
  3994. 42f20: 88800007 ldb r2,0(r17)
  3995. 42f24: 1000aa26 beq r2,zero,431d0 <___vfprintf_internal_r+0x3f8>
  3996. 42f28: 8d400044 addi r21,r17,1
  3997. 42f2c: 8c400047 ldb r17,1(r17)
  3998. 42f30: 0021883a mov r16,zero
  3999. 42f34: 00bfffc4 movi r2,-1
  4000. 42f38: 0025883a mov r18,zero
  4001. 42f3c: dc002905 stb r16,164(sp)
  4002. 42f40: d8002785 stb zero,158(sp)
  4003. 42f44: d8002b05 stb zero,172(sp)
  4004. 42f48: d8802a15 stw r2,168(sp)
  4005. 42f4c: d8003115 stw zero,196(sp)
  4006. 42f50: 04c01604 movi r19,88
  4007. 42f54: 05800244 movi r22,9
  4008. 42f58: 9021883a mov r16,r18
  4009. 42f5c: 4039883a mov fp,r8
  4010. 42f60: ad400044 addi r21,r21,1
  4011. 42f64: 88bff804 addi r2,r17,-32
  4012. 42f68: 98833236 bltu r19,r2,43c34 <___vfprintf_internal_r+0xe5c>
  4013. 42f6c: 100490ba slli r2,r2,2
  4014. 42f70: 00c00134 movhi r3,4
  4015. 42f74: 18cbe104 addi r3,r3,12164
  4016. 42f78: 10c5883a add r2,r2,r3
  4017. 42f7c: 10800017 ldw r2,0(r2)
  4018. 42f80: 1000683a jmp r2
  4019. 42f84: 00043b2c andhi zero,zero,4332
  4020. 42f88: 00043c34 movhi zero,4336
  4021. 42f8c: 00043c34 movhi zero,4336
  4022. 42f90: 00043b4c andi zero,zero,4333
  4023. 42f94: 00043c34 movhi zero,4336
  4024. 42f98: 00043c34 movhi zero,4336
  4025. 42f9c: 00043c34 movhi zero,4336
  4026. 42fa0: 00043c34 movhi zero,4336
  4027. 42fa4: 00043c34 movhi zero,4336
  4028. 42fa8: 00043c34 movhi zero,4336
  4029. 42fac: 00043234 movhi zero,4296
  4030. 42fb0: 00043a3c xorhi zero,zero,4328
  4031. 42fb4: 00043c34 movhi zero,4336
  4032. 42fb8: 000430f8 rdprs zero,zero,4291
  4033. 42fbc: 00043258 cmpnei zero,zero,4297
  4034. 42fc0: 00043c34 movhi zero,4336
  4035. 42fc4: 000432a8 cmpgeui zero,zero,4298
  4036. 42fc8: 000432b4 movhi zero,4298
  4037. 42fcc: 000432b4 movhi zero,4298
  4038. 42fd0: 000432b4 movhi zero,4298
  4039. 42fd4: 000432b4 movhi zero,4298
  4040. 42fd8: 000432b4 movhi zero,4298
  4041. 42fdc: 000432b4 movhi zero,4298
  4042. 42fe0: 000432b4 movhi zero,4298
  4043. 42fe4: 000432b4 movhi zero,4298
  4044. 42fe8: 000432b4 movhi zero,4298
  4045. 42fec: 00043c34 movhi zero,4336
  4046. 42ff0: 00043c34 movhi zero,4336
  4047. 42ff4: 00043c34 movhi zero,4336
  4048. 42ff8: 00043c34 movhi zero,4336
  4049. 42ffc: 00043c34 movhi zero,4336
  4050. 43000: 00043c34 movhi zero,4336
  4051. 43004: 00043c34 movhi zero,4336
  4052. 43008: 00043c34 movhi zero,4336
  4053. 4300c: 00043c34 movhi zero,4336
  4054. 43010: 00043c34 movhi zero,4336
  4055. 43014: 000432f0 cmpltui zero,zero,4299
  4056. 43018: 000433b8 rdprs zero,zero,4302
  4057. 4301c: 00043c34 movhi zero,4336
  4058. 43020: 000433b8 rdprs zero,zero,4302
  4059. 43024: 00043c34 movhi zero,4336
  4060. 43028: 00043c34 movhi zero,4336
  4061. 4302c: 00043c34 movhi zero,4336
  4062. 43030: 00043c34 movhi zero,4336
  4063. 43034: 00043464 muli zero,zero,4305
  4064. 43038: 00043c34 movhi zero,4336
  4065. 4303c: 00043c34 movhi zero,4336
  4066. 43040: 00043470 cmpltui zero,zero,4305
  4067. 43044: 00043c34 movhi zero,4336
  4068. 43048: 00043c34 movhi zero,4336
  4069. 4304c: 00043c34 movhi zero,4336
  4070. 43050: 00043c34 movhi zero,4336
  4071. 43054: 00043c34 movhi zero,4336
  4072. 43058: 000438f4 movhi zero,4323
  4073. 4305c: 00043c34 movhi zero,4336
  4074. 43060: 00043c34 movhi zero,4336
  4075. 43064: 00043960 cmpeqi zero,zero,4325
  4076. 43068: 00043c34 movhi zero,4336
  4077. 4306c: 00043c34 movhi zero,4336
  4078. 43070: 00043c34 movhi zero,4336
  4079. 43074: 00043c34 movhi zero,4336
  4080. 43078: 00043c34 movhi zero,4336
  4081. 4307c: 00043c34 movhi zero,4336
  4082. 43080: 00043c34 movhi zero,4336
  4083. 43084: 00043c34 movhi zero,4336
  4084. 43088: 00043c34 movhi zero,4336
  4085. 4308c: 00043c34 movhi zero,4336
  4086. 43090: 00043bd8 cmpnei zero,zero,4335
  4087. 43094: 00043b58 cmpnei zero,zero,4333
  4088. 43098: 000433b8 rdprs zero,zero,4302
  4089. 4309c: 000433b8 rdprs zero,zero,4302
  4090. 430a0: 000433b8 rdprs zero,zero,4302
  4091. 430a4: 00043b78 rdprs zero,zero,4333
  4092. 430a8: 00043b58 cmpnei zero,zero,4333
  4093. 430ac: 00043c34 movhi zero,4336
  4094. 430b0: 00043c34 movhi zero,4336
  4095. 430b4: 00043b84 movi zero,4334
  4096. 430b8: 00043c34 movhi zero,4336
  4097. 430bc: 00043b98 cmpnei zero,zero,4334
  4098. 430c0: 00043a1c xori zero,zero,4328
  4099. 430c4: 00043104 movi zero,4292
  4100. 430c8: 00043a54 movui zero,4329
  4101. 430cc: 00043c34 movhi zero,4336
  4102. 430d0: 00043a60 cmpeqi zero,zero,4329
  4103. 430d4: 00043c34 movhi zero,4336
  4104. 430d8: 00043ac4 movi zero,4331
  4105. 430dc: 00043c34 movhi zero,4336
  4106. 430e0: 00043c34 movhi zero,4336
  4107. 430e4: 00043ae4 muli zero,zero,4331
  4108. 430e8: d8c03117 ldw r3,196(sp)
  4109. 430ec: d8802e15 stw r2,184(sp)
  4110. 430f0: 00c7c83a sub r3,zero,r3
  4111. 430f4: d8c03115 stw r3,196(sp)
  4112. 430f8: 84000114 ori r16,r16,4
  4113. 430fc: ac400007 ldb r17,0(r21)
  4114. 43100: 003f9706 br 42f60 <__alt_data_end+0xfffd0f60>
  4115. 43104: 00800c04 movi r2,48
  4116. 43108: d8802705 stb r2,156(sp)
  4117. 4310c: 00801e04 movi r2,120
  4118. 43110: d8802745 stb r2,157(sp)
  4119. 43114: d9002a17 ldw r4,168(sp)
  4120. 43118: d8802e17 ldw r2,184(sp)
  4121. 4311c: d8002785 stb zero,158(sp)
  4122. 43120: e011883a mov r8,fp
  4123. 43124: 10c00104 addi r3,r2,4
  4124. 43128: 14c00017 ldw r19,0(r2)
  4125. 4312c: 002d883a mov r22,zero
  4126. 43130: 80800094 ori r2,r16,2
  4127. 43134: 2002ca16 blt r4,zero,43c60 <___vfprintf_internal_r+0xe88>
  4128. 43138: 00bfdfc4 movi r2,-129
  4129. 4313c: 80a4703a and r18,r16,r2
  4130. 43140: d8c02e15 stw r3,184(sp)
  4131. 43144: 94800094 ori r18,r18,2
  4132. 43148: 9802b41e bne r19,zero,43c1c <___vfprintf_internal_r+0xe44>
  4133. 4314c: 01400174 movhi r5,5
  4134. 43150: 29484704 addi r5,r5,8476
  4135. 43154: d9403915 stw r5,228(sp)
  4136. 43158: 04401e04 movi r17,120
  4137. 4315c: d8802a17 ldw r2,168(sp)
  4138. 43160: 0039883a mov fp,zero
  4139. 43164: 1001fa26 beq r2,zero,43950 <___vfprintf_internal_r+0xb78>
  4140. 43168: 0027883a mov r19,zero
  4141. 4316c: 002d883a mov r22,zero
  4142. 43170: 00021906 br 439d8 <___vfprintf_internal_r+0xc00>
  4143. 43174: d9002d17 ldw r4,180(sp)
  4144. 43178: b80b883a mov r5,r23
  4145. 4317c: 004518c0 call 4518c <__swsetup_r>
  4146. 43180: 1005dc1e bne r2,zero,448f4 <___vfprintf_internal_r+0x1b1c>
  4147. 43184: b880030b ldhu r2,12(r23)
  4148. 43188: 00c00284 movi r3,10
  4149. 4318c: 1080068c andi r2,r2,26
  4150. 43190: 10ff3a1e bne r2,r3,42e7c <__alt_data_end+0xfffd0e7c>
  4151. 43194: b880038f ldh r2,14(r23)
  4152. 43198: 103f3816 blt r2,zero,42e7c <__alt_data_end+0xfffd0e7c>
  4153. 4319c: d9c02e17 ldw r7,184(sp)
  4154. 431a0: d9002d17 ldw r4,180(sp)
  4155. 431a4: a80d883a mov r6,r21
  4156. 431a8: b80b883a mov r5,r23
  4157. 431ac: 00450d00 call 450d0 <__sbprintf>
  4158. 431b0: 00001106 br 431f8 <___vfprintf_internal_r+0x420>
  4159. 431b4: d9002d17 ldw r4,180(sp)
  4160. 431b8: d9801e04 addi r6,sp,120
  4161. 431bc: b80b883a mov r5,r23
  4162. 431c0: 004a7200 call 4a720 <__sprint_r>
  4163. 431c4: 1000081e bne r2,zero,431e8 <___vfprintf_internal_r+0x410>
  4164. 431c8: da000404 addi r8,sp,16
  4165. 431cc: 003f5106 br 42f14 <__alt_data_end+0xfffd0f14>
  4166. 431d0: d8802017 ldw r2,128(sp)
  4167. 431d4: 10000426 beq r2,zero,431e8 <___vfprintf_internal_r+0x410>
  4168. 431d8: d9002d17 ldw r4,180(sp)
  4169. 431dc: d9801e04 addi r6,sp,120
  4170. 431e0: b80b883a mov r5,r23
  4171. 431e4: 004a7200 call 4a720 <__sprint_r>
  4172. 431e8: b880030b ldhu r2,12(r23)
  4173. 431ec: 1080100c andi r2,r2,64
  4174. 431f0: 1005c01e bne r2,zero,448f4 <___vfprintf_internal_r+0x1b1c>
  4175. 431f4: d8802f17 ldw r2,188(sp)
  4176. 431f8: dfc04717 ldw ra,284(sp)
  4177. 431fc: df004617 ldw fp,280(sp)
  4178. 43200: ddc04517 ldw r23,276(sp)
  4179. 43204: dd804417 ldw r22,272(sp)
  4180. 43208: dd404317 ldw r21,268(sp)
  4181. 4320c: dd004217 ldw r20,264(sp)
  4182. 43210: dcc04117 ldw r19,260(sp)
  4183. 43214: dc804017 ldw r18,256(sp)
  4184. 43218: dc403f17 ldw r17,252(sp)
  4185. 4321c: dc003e17 ldw r16,248(sp)
  4186. 43220: dec04804 addi sp,sp,288
  4187. 43224: f800283a ret
  4188. 43228: d9002d17 ldw r4,180(sp)
  4189. 4322c: 00471980 call 47198 <__sinit>
  4190. 43230: 003f0206 br 42e3c <__alt_data_end+0xfffd0e3c>
  4191. 43234: d9002e17 ldw r4,184(sp)
  4192. 43238: d9402e17 ldw r5,184(sp)
  4193. 4323c: 21000017 ldw r4,0(r4)
  4194. 43240: 28800104 addi r2,r5,4
  4195. 43244: d9003115 stw r4,196(sp)
  4196. 43248: 203fa716 blt r4,zero,430e8 <__alt_data_end+0xfffd10e8>
  4197. 4324c: d8802e15 stw r2,184(sp)
  4198. 43250: ac400007 ldb r17,0(r21)
  4199. 43254: 003f4206 br 42f60 <__alt_data_end+0xfffd0f60>
  4200. 43258: ac400007 ldb r17,0(r21)
  4201. 4325c: 01000a84 movi r4,42
  4202. 43260: a8c00044 addi r3,r21,1
  4203. 43264: 89075826 beq r17,r4,44fc8 <___vfprintf_internal_r+0x21f0>
  4204. 43268: 8cbff404 addi r18,r17,-48
  4205. 4326c: b486ae36 bltu r22,r18,44d28 <___vfprintf_internal_r+0x1f50>
  4206. 43270: 0009883a mov r4,zero
  4207. 43274: 1823883a mov r17,r3
  4208. 43278: 01400284 movi r5,10
  4209. 4327c: 004d3dc0 call 4d3dc <__mulsi3>
  4210. 43280: 88c00007 ldb r3,0(r17)
  4211. 43284: 1489883a add r4,r2,r18
  4212. 43288: 8d400044 addi r21,r17,1
  4213. 4328c: 1cbff404 addi r18,r3,-48
  4214. 43290: a823883a mov r17,r21
  4215. 43294: b4bff82e bgeu r22,r18,43278 <__alt_data_end+0xfffd1278>
  4216. 43298: 1823883a mov r17,r3
  4217. 4329c: 2005f616 blt r4,zero,44a78 <___vfprintf_internal_r+0x1ca0>
  4218. 432a0: d9002a15 stw r4,168(sp)
  4219. 432a4: 003f2f06 br 42f64 <__alt_data_end+0xfffd0f64>
  4220. 432a8: 84002014 ori r16,r16,128
  4221. 432ac: ac400007 ldb r17,0(r21)
  4222. 432b0: 003f2b06 br 42f60 <__alt_data_end+0xfffd0f60>
  4223. 432b4: 8cbff404 addi r18,r17,-48
  4224. 432b8: d8003115 stw zero,196(sp)
  4225. 432bc: 0009883a mov r4,zero
  4226. 432c0: a823883a mov r17,r21
  4227. 432c4: 01400284 movi r5,10
  4228. 432c8: 004d3dc0 call 4d3dc <__mulsi3>
  4229. 432cc: 88c00007 ldb r3,0(r17)
  4230. 432d0: 9089883a add r4,r18,r2
  4231. 432d4: ad400044 addi r21,r21,1
  4232. 432d8: 1cbff404 addi r18,r3,-48
  4233. 432dc: a823883a mov r17,r21
  4234. 432e0: b4bff82e bgeu r22,r18,432c4 <__alt_data_end+0xfffd12c4>
  4235. 432e4: 1823883a mov r17,r3
  4236. 432e8: d9003115 stw r4,196(sp)
  4237. 432ec: 003f1d06 br 42f64 <__alt_data_end+0xfffd0f64>
  4238. 432f0: 8025883a mov r18,r16
  4239. 432f4: dc002903 ldbu r16,164(sp)
  4240. 432f8: e011883a mov r8,fp
  4241. 432fc: 84003fcc andi r16,r16,255
  4242. 43300: 8007531e bne r16,zero,45050 <___vfprintf_internal_r+0x2278>
  4243. 43304: 94800414 ori r18,r18,16
  4244. 43308: 9080080c andi r2,r18,32
  4245. 4330c: 1003a326 beq r2,zero,4419c <___vfprintf_internal_r+0x13c4>
  4246. 43310: d9002e17 ldw r4,184(sp)
  4247. 43314: 20800117 ldw r2,4(r4)
  4248. 43318: 24c00017 ldw r19,0(r4)
  4249. 4331c: 21000204 addi r4,r4,8
  4250. 43320: d9002e15 stw r4,184(sp)
  4251. 43324: 102d883a mov r22,r2
  4252. 43328: 10047316 blt r2,zero,444f8 <___vfprintf_internal_r+0x1720>
  4253. 4332c: d9002a17 ldw r4,168(sp)
  4254. 43330: df002783 ldbu fp,158(sp)
  4255. 43334: 2003e416 blt r4,zero,442c8 <___vfprintf_internal_r+0x14f0>
  4256. 43338: 00ffdfc4 movi r3,-129
  4257. 4333c: 9d84b03a or r2,r19,r22
  4258. 43340: 90e4703a and r18,r18,r3
  4259. 43344: 10018026 beq r2,zero,43948 <___vfprintf_internal_r+0xb70>
  4260. 43348: b003ab26 beq r22,zero,441f8 <___vfprintf_internal_r+0x1420>
  4261. 4334c: dc402915 stw r17,164(sp)
  4262. 43350: dc001e04 addi r16,sp,120
  4263. 43354: b023883a mov r17,r22
  4264. 43358: 402d883a mov r22,r8
  4265. 4335c: 9809883a mov r4,r19
  4266. 43360: 880b883a mov r5,r17
  4267. 43364: 01800284 movi r6,10
  4268. 43368: 000f883a mov r7,zero
  4269. 4336c: 004cc640 call 4cc64 <__umoddi3>
  4270. 43370: 10800c04 addi r2,r2,48
  4271. 43374: 843fffc4 addi r16,r16,-1
  4272. 43378: 9809883a mov r4,r19
  4273. 4337c: 880b883a mov r5,r17
  4274. 43380: 80800005 stb r2,0(r16)
  4275. 43384: 01800284 movi r6,10
  4276. 43388: 000f883a mov r7,zero
  4277. 4338c: 004c6680 call 4c668 <__udivdi3>
  4278. 43390: 1027883a mov r19,r2
  4279. 43394: 10c4b03a or r2,r2,r3
  4280. 43398: 1823883a mov r17,r3
  4281. 4339c: 103fef1e bne r2,zero,4335c <__alt_data_end+0xfffd135c>
  4282. 433a0: d8c02817 ldw r3,160(sp)
  4283. 433a4: dc402917 ldw r17,164(sp)
  4284. 433a8: b011883a mov r8,r22
  4285. 433ac: 1c07c83a sub r3,r3,r16
  4286. 433b0: d8c02b15 stw r3,172(sp)
  4287. 433b4: 00005f06 br 43534 <___vfprintf_internal_r+0x75c>
  4288. 433b8: 8025883a mov r18,r16
  4289. 433bc: dc002903 ldbu r16,164(sp)
  4290. 433c0: e011883a mov r8,fp
  4291. 433c4: 84003fcc andi r16,r16,255
  4292. 433c8: 80071e1e bne r16,zero,45044 <___vfprintf_internal_r+0x226c>
  4293. 433cc: 9080020c andi r2,r18,8
  4294. 433d0: 1004af26 beq r2,zero,44690 <___vfprintf_internal_r+0x18b8>
  4295. 433d4: d9002e17 ldw r4,184(sp)
  4296. 433d8: d9402e17 ldw r5,184(sp)
  4297. 433dc: d8802e17 ldw r2,184(sp)
  4298. 433e0: 21000017 ldw r4,0(r4)
  4299. 433e4: 29400117 ldw r5,4(r5)
  4300. 433e8: 10800204 addi r2,r2,8
  4301. 433ec: d9003615 stw r4,216(sp)
  4302. 433f0: d9403815 stw r5,224(sp)
  4303. 433f4: d8802e15 stw r2,184(sp)
  4304. 433f8: d9003617 ldw r4,216(sp)
  4305. 433fc: d9403817 ldw r5,224(sp)
  4306. 43400: da003d15 stw r8,244(sp)
  4307. 43404: 04000044 movi r16,1
  4308. 43408: 004a3440 call 4a344 <__fpclassifyd>
  4309. 4340c: da003d17 ldw r8,244(sp)
  4310. 43410: 1404441e bne r2,r16,44524 <___vfprintf_internal_r+0x174c>
  4311. 43414: d9003617 ldw r4,216(sp)
  4312. 43418: d9403817 ldw r5,224(sp)
  4313. 4341c: 000d883a mov r6,zero
  4314. 43420: 000f883a mov r7,zero
  4315. 43424: 0041f200 call 41f20 <__ledf2>
  4316. 43428: da003d17 ldw r8,244(sp)
  4317. 4342c: 1005e316 blt r2,zero,44bbc <___vfprintf_internal_r+0x1de4>
  4318. 43430: df002783 ldbu fp,158(sp)
  4319. 43434: 008011c4 movi r2,71
  4320. 43438: 1445580e bge r2,r17,4499c <___vfprintf_internal_r+0x1bc4>
  4321. 4343c: 04000174 movhi r16,5
  4322. 43440: 84083f04 addi r16,r16,8444
  4323. 43444: 00c000c4 movi r3,3
  4324. 43448: 00bfdfc4 movi r2,-129
  4325. 4344c: d8c02915 stw r3,164(sp)
  4326. 43450: 90a4703a and r18,r18,r2
  4327. 43454: d8c02b15 stw r3,172(sp)
  4328. 43458: d8002a15 stw zero,168(sp)
  4329. 4345c: d8003215 stw zero,200(sp)
  4330. 43460: 00003a06 br 4354c <___vfprintf_internal_r+0x774>
  4331. 43464: 84000214 ori r16,r16,8
  4332. 43468: ac400007 ldb r17,0(r21)
  4333. 4346c: 003ebc06 br 42f60 <__alt_data_end+0xfffd0f60>
  4334. 43470: 8025883a mov r18,r16
  4335. 43474: dc002903 ldbu r16,164(sp)
  4336. 43478: e011883a mov r8,fp
  4337. 4347c: 84003fcc andi r16,r16,255
  4338. 43480: 8007001e bne r16,zero,45084 <___vfprintf_internal_r+0x22ac>
  4339. 43484: 94800414 ori r18,r18,16
  4340. 43488: 9080080c andi r2,r18,32
  4341. 4348c: 1002fa26 beq r2,zero,44078 <___vfprintf_internal_r+0x12a0>
  4342. 43490: d9002e17 ldw r4,184(sp)
  4343. 43494: d9402a17 ldw r5,168(sp)
  4344. 43498: d8002785 stb zero,158(sp)
  4345. 4349c: 20800204 addi r2,r4,8
  4346. 434a0: 24c00017 ldw r19,0(r4)
  4347. 434a4: 25800117 ldw r22,4(r4)
  4348. 434a8: 2804b116 blt r5,zero,44770 <___vfprintf_internal_r+0x1998>
  4349. 434ac: 013fdfc4 movi r4,-129
  4350. 434b0: 9d86b03a or r3,r19,r22
  4351. 434b4: d8802e15 stw r2,184(sp)
  4352. 434b8: 9124703a and r18,r18,r4
  4353. 434bc: 1802fb1e bne r3,zero,440ac <___vfprintf_internal_r+0x12d4>
  4354. 434c0: d8c02a17 ldw r3,168(sp)
  4355. 434c4: 0039883a mov fp,zero
  4356. 434c8: 1805e526 beq r3,zero,44c60 <___vfprintf_internal_r+0x1e88>
  4357. 434cc: 0027883a mov r19,zero
  4358. 434d0: 002d883a mov r22,zero
  4359. 434d4: dc001e04 addi r16,sp,120
  4360. 434d8: 9806d0fa srli r3,r19,3
  4361. 434dc: b008977a slli r4,r22,29
  4362. 434e0: b02cd0fa srli r22,r22,3
  4363. 434e4: 9cc001cc andi r19,r19,7
  4364. 434e8: 98800c04 addi r2,r19,48
  4365. 434ec: 843fffc4 addi r16,r16,-1
  4366. 434f0: 20e6b03a or r19,r4,r3
  4367. 434f4: 80800005 stb r2,0(r16)
  4368. 434f8: 9d86b03a or r3,r19,r22
  4369. 434fc: 183ff61e bne r3,zero,434d8 <__alt_data_end+0xfffd14d8>
  4370. 43500: 90c0004c andi r3,r18,1
  4371. 43504: 18014126 beq r3,zero,43a0c <___vfprintf_internal_r+0xc34>
  4372. 43508: 10803fcc andi r2,r2,255
  4373. 4350c: 1080201c xori r2,r2,128
  4374. 43510: 10bfe004 addi r2,r2,-128
  4375. 43514: 00c00c04 movi r3,48
  4376. 43518: 10c13c26 beq r2,r3,43a0c <___vfprintf_internal_r+0xc34>
  4377. 4351c: 80ffffc5 stb r3,-1(r16)
  4378. 43520: d8c02817 ldw r3,160(sp)
  4379. 43524: 80bfffc4 addi r2,r16,-1
  4380. 43528: 1021883a mov r16,r2
  4381. 4352c: 1887c83a sub r3,r3,r2
  4382. 43530: d8c02b15 stw r3,172(sp)
  4383. 43534: d8802b17 ldw r2,172(sp)
  4384. 43538: d9002a17 ldw r4,168(sp)
  4385. 4353c: 1100010e bge r2,r4,43544 <___vfprintf_internal_r+0x76c>
  4386. 43540: 2005883a mov r2,r4
  4387. 43544: d8802915 stw r2,164(sp)
  4388. 43548: d8003215 stw zero,200(sp)
  4389. 4354c: e7003fcc andi fp,fp,255
  4390. 43550: e700201c xori fp,fp,128
  4391. 43554: e73fe004 addi fp,fp,-128
  4392. 43558: e0000326 beq fp,zero,43568 <___vfprintf_internal_r+0x790>
  4393. 4355c: d8c02917 ldw r3,164(sp)
  4394. 43560: 18c00044 addi r3,r3,1
  4395. 43564: d8c02915 stw r3,164(sp)
  4396. 43568: 90c0008c andi r3,r18,2
  4397. 4356c: d8c02c15 stw r3,176(sp)
  4398. 43570: 18000326 beq r3,zero,43580 <___vfprintf_internal_r+0x7a8>
  4399. 43574: d8c02917 ldw r3,164(sp)
  4400. 43578: 18c00084 addi r3,r3,2
  4401. 4357c: d8c02915 stw r3,164(sp)
  4402. 43580: 90c0210c andi r3,r18,132
  4403. 43584: d8c03015 stw r3,192(sp)
  4404. 43588: 1801c51e bne r3,zero,43ca0 <___vfprintf_internal_r+0xec8>
  4405. 4358c: d9003117 ldw r4,196(sp)
  4406. 43590: d8c02917 ldw r3,164(sp)
  4407. 43594: 20e7c83a sub r19,r4,r3
  4408. 43598: 04c1c10e bge zero,r19,43ca0 <___vfprintf_internal_r+0xec8>
  4409. 4359c: 02400404 movi r9,16
  4410. 435a0: d8c02017 ldw r3,128(sp)
  4411. 435a4: d8801f17 ldw r2,124(sp)
  4412. 435a8: 4cc52f0e bge r9,r19,44a68 <___vfprintf_internal_r+0x1c90>
  4413. 435ac: 01400174 movhi r5,5
  4414. 435b0: 29485284 addi r5,r5,8522
  4415. 435b4: dc403b15 stw r17,236(sp)
  4416. 435b8: d9403515 stw r5,212(sp)
  4417. 435bc: 9823883a mov r17,r19
  4418. 435c0: 482d883a mov r22,r9
  4419. 435c4: 9027883a mov r19,r18
  4420. 435c8: 070001c4 movi fp,7
  4421. 435cc: 8025883a mov r18,r16
  4422. 435d0: dc002d17 ldw r16,180(sp)
  4423. 435d4: 00000306 br 435e4 <___vfprintf_internal_r+0x80c>
  4424. 435d8: 8c7ffc04 addi r17,r17,-16
  4425. 435dc: 42000204 addi r8,r8,8
  4426. 435e0: b440130e bge r22,r17,43630 <___vfprintf_internal_r+0x858>
  4427. 435e4: 01000174 movhi r4,5
  4428. 435e8: 18c00404 addi r3,r3,16
  4429. 435ec: 10800044 addi r2,r2,1
  4430. 435f0: 21085284 addi r4,r4,8522
  4431. 435f4: 41000015 stw r4,0(r8)
  4432. 435f8: 45800115 stw r22,4(r8)
  4433. 435fc: d8c02015 stw r3,128(sp)
  4434. 43600: d8801f15 stw r2,124(sp)
  4435. 43604: e0bff40e bge fp,r2,435d8 <__alt_data_end+0xfffd15d8>
  4436. 43608: d9801e04 addi r6,sp,120
  4437. 4360c: b80b883a mov r5,r23
  4438. 43610: 8009883a mov r4,r16
  4439. 43614: 004a7200 call 4a720 <__sprint_r>
  4440. 43618: 103ef31e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  4441. 4361c: 8c7ffc04 addi r17,r17,-16
  4442. 43620: d8c02017 ldw r3,128(sp)
  4443. 43624: d8801f17 ldw r2,124(sp)
  4444. 43628: da000404 addi r8,sp,16
  4445. 4362c: b47fed16 blt r22,r17,435e4 <__alt_data_end+0xfffd15e4>
  4446. 43630: 9021883a mov r16,r18
  4447. 43634: 9825883a mov r18,r19
  4448. 43638: 8827883a mov r19,r17
  4449. 4363c: dc403b17 ldw r17,236(sp)
  4450. 43640: d9403517 ldw r5,212(sp)
  4451. 43644: 98c7883a add r3,r19,r3
  4452. 43648: 10800044 addi r2,r2,1
  4453. 4364c: 41400015 stw r5,0(r8)
  4454. 43650: 44c00115 stw r19,4(r8)
  4455. 43654: d8c02015 stw r3,128(sp)
  4456. 43658: d8801f15 stw r2,124(sp)
  4457. 4365c: 010001c4 movi r4,7
  4458. 43660: 2082c516 blt r4,r2,44178 <___vfprintf_internal_r+0x13a0>
  4459. 43664: df002787 ldb fp,158(sp)
  4460. 43668: 42000204 addi r8,r8,8
  4461. 4366c: e0000c26 beq fp,zero,436a0 <___vfprintf_internal_r+0x8c8>
  4462. 43670: d8801f17 ldw r2,124(sp)
  4463. 43674: d9002784 addi r4,sp,158
  4464. 43678: 18c00044 addi r3,r3,1
  4465. 4367c: 10800044 addi r2,r2,1
  4466. 43680: 41000015 stw r4,0(r8)
  4467. 43684: 01000044 movi r4,1
  4468. 43688: 41000115 stw r4,4(r8)
  4469. 4368c: d8c02015 stw r3,128(sp)
  4470. 43690: d8801f15 stw r2,124(sp)
  4471. 43694: 010001c4 movi r4,7
  4472. 43698: 20825e16 blt r4,r2,44014 <___vfprintf_internal_r+0x123c>
  4473. 4369c: 42000204 addi r8,r8,8
  4474. 436a0: d8802c17 ldw r2,176(sp)
  4475. 436a4: 10000c26 beq r2,zero,436d8 <___vfprintf_internal_r+0x900>
  4476. 436a8: d8801f17 ldw r2,124(sp)
  4477. 436ac: d9002704 addi r4,sp,156
  4478. 436b0: 18c00084 addi r3,r3,2
  4479. 436b4: 10800044 addi r2,r2,1
  4480. 436b8: 41000015 stw r4,0(r8)
  4481. 436bc: 01000084 movi r4,2
  4482. 436c0: 41000115 stw r4,4(r8)
  4483. 436c4: d8c02015 stw r3,128(sp)
  4484. 436c8: d8801f15 stw r2,124(sp)
  4485. 436cc: 010001c4 movi r4,7
  4486. 436d0: 20825816 blt r4,r2,44034 <___vfprintf_internal_r+0x125c>
  4487. 436d4: 42000204 addi r8,r8,8
  4488. 436d8: d9003017 ldw r4,192(sp)
  4489. 436dc: 00802004 movi r2,128
  4490. 436e0: 2081bb26 beq r4,r2,43dd0 <___vfprintf_internal_r+0xff8>
  4491. 436e4: d9402a17 ldw r5,168(sp)
  4492. 436e8: d8802b17 ldw r2,172(sp)
  4493. 436ec: 28adc83a sub r22,r5,r2
  4494. 436f0: 0580310e bge zero,r22,437b8 <___vfprintf_internal_r+0x9e0>
  4495. 436f4: 07000404 movi fp,16
  4496. 436f8: d8801f17 ldw r2,124(sp)
  4497. 436fc: e584360e bge fp,r22,447d8 <___vfprintf_internal_r+0x1a00>
  4498. 43700: 01400174 movhi r5,5
  4499. 43704: 29484e84 addi r5,r5,8506
  4500. 43708: dc402a15 stw r17,168(sp)
  4501. 4370c: d9402c15 stw r5,176(sp)
  4502. 43710: b023883a mov r17,r22
  4503. 43714: 04c001c4 movi r19,7
  4504. 43718: a82d883a mov r22,r21
  4505. 4371c: 902b883a mov r21,r18
  4506. 43720: 8025883a mov r18,r16
  4507. 43724: dc002d17 ldw r16,180(sp)
  4508. 43728: 00000306 br 43738 <___vfprintf_internal_r+0x960>
  4509. 4372c: 8c7ffc04 addi r17,r17,-16
  4510. 43730: 42000204 addi r8,r8,8
  4511. 43734: e440110e bge fp,r17,4377c <___vfprintf_internal_r+0x9a4>
  4512. 43738: 18c00404 addi r3,r3,16
  4513. 4373c: 10800044 addi r2,r2,1
  4514. 43740: 45000015 stw r20,0(r8)
  4515. 43744: 47000115 stw fp,4(r8)
  4516. 43748: d8c02015 stw r3,128(sp)
  4517. 4374c: d8801f15 stw r2,124(sp)
  4518. 43750: 98bff60e bge r19,r2,4372c <__alt_data_end+0xfffd172c>
  4519. 43754: d9801e04 addi r6,sp,120
  4520. 43758: b80b883a mov r5,r23
  4521. 4375c: 8009883a mov r4,r16
  4522. 43760: 004a7200 call 4a720 <__sprint_r>
  4523. 43764: 103ea01e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  4524. 43768: 8c7ffc04 addi r17,r17,-16
  4525. 4376c: d8c02017 ldw r3,128(sp)
  4526. 43770: d8801f17 ldw r2,124(sp)
  4527. 43774: da000404 addi r8,sp,16
  4528. 43778: e47fef16 blt fp,r17,43738 <__alt_data_end+0xfffd1738>
  4529. 4377c: 9021883a mov r16,r18
  4530. 43780: a825883a mov r18,r21
  4531. 43784: b02b883a mov r21,r22
  4532. 43788: 882d883a mov r22,r17
  4533. 4378c: dc402a17 ldw r17,168(sp)
  4534. 43790: d9002c17 ldw r4,176(sp)
  4535. 43794: 1d87883a add r3,r3,r22
  4536. 43798: 10800044 addi r2,r2,1
  4537. 4379c: 41000015 stw r4,0(r8)
  4538. 437a0: 45800115 stw r22,4(r8)
  4539. 437a4: d8c02015 stw r3,128(sp)
  4540. 437a8: d8801f15 stw r2,124(sp)
  4541. 437ac: 010001c4 movi r4,7
  4542. 437b0: 20821016 blt r4,r2,43ff4 <___vfprintf_internal_r+0x121c>
  4543. 437b4: 42000204 addi r8,r8,8
  4544. 437b8: 9080400c andi r2,r18,256
  4545. 437bc: 10013a1e bne r2,zero,43ca8 <___vfprintf_internal_r+0xed0>
  4546. 437c0: d9402b17 ldw r5,172(sp)
  4547. 437c4: d8801f17 ldw r2,124(sp)
  4548. 437c8: 44000015 stw r16,0(r8)
  4549. 437cc: 1947883a add r3,r3,r5
  4550. 437d0: 10800044 addi r2,r2,1
  4551. 437d4: 41400115 stw r5,4(r8)
  4552. 437d8: d8c02015 stw r3,128(sp)
  4553. 437dc: d8801f15 stw r2,124(sp)
  4554. 437e0: 010001c4 movi r4,7
  4555. 437e4: 2081f516 blt r4,r2,43fbc <___vfprintf_internal_r+0x11e4>
  4556. 437e8: 42000204 addi r8,r8,8
  4557. 437ec: 9480010c andi r18,r18,4
  4558. 437f0: 90003226 beq r18,zero,438bc <___vfprintf_internal_r+0xae4>
  4559. 437f4: d9403117 ldw r5,196(sp)
  4560. 437f8: d8802917 ldw r2,164(sp)
  4561. 437fc: 28a1c83a sub r16,r5,r2
  4562. 43800: 04002e0e bge zero,r16,438bc <___vfprintf_internal_r+0xae4>
  4563. 43804: 04400404 movi r17,16
  4564. 43808: d8801f17 ldw r2,124(sp)
  4565. 4380c: 8c04c40e bge r17,r16,44b20 <___vfprintf_internal_r+0x1d48>
  4566. 43810: 01400174 movhi r5,5
  4567. 43814: 29485284 addi r5,r5,8522
  4568. 43818: d9403515 stw r5,212(sp)
  4569. 4381c: 048001c4 movi r18,7
  4570. 43820: dcc02d17 ldw r19,180(sp)
  4571. 43824: 00000306 br 43834 <___vfprintf_internal_r+0xa5c>
  4572. 43828: 843ffc04 addi r16,r16,-16
  4573. 4382c: 42000204 addi r8,r8,8
  4574. 43830: 8c00130e bge r17,r16,43880 <___vfprintf_internal_r+0xaa8>
  4575. 43834: 01000174 movhi r4,5
  4576. 43838: 18c00404 addi r3,r3,16
  4577. 4383c: 10800044 addi r2,r2,1
  4578. 43840: 21085284 addi r4,r4,8522
  4579. 43844: 41000015 stw r4,0(r8)
  4580. 43848: 44400115 stw r17,4(r8)
  4581. 4384c: d8c02015 stw r3,128(sp)
  4582. 43850: d8801f15 stw r2,124(sp)
  4583. 43854: 90bff40e bge r18,r2,43828 <__alt_data_end+0xfffd1828>
  4584. 43858: d9801e04 addi r6,sp,120
  4585. 4385c: b80b883a mov r5,r23
  4586. 43860: 9809883a mov r4,r19
  4587. 43864: 004a7200 call 4a720 <__sprint_r>
  4588. 43868: 103e5f1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  4589. 4386c: 843ffc04 addi r16,r16,-16
  4590. 43870: d8c02017 ldw r3,128(sp)
  4591. 43874: d8801f17 ldw r2,124(sp)
  4592. 43878: da000404 addi r8,sp,16
  4593. 4387c: 8c3fed16 blt r17,r16,43834 <__alt_data_end+0xfffd1834>
  4594. 43880: d9403517 ldw r5,212(sp)
  4595. 43884: 1c07883a add r3,r3,r16
  4596. 43888: 10800044 addi r2,r2,1
  4597. 4388c: 41400015 stw r5,0(r8)
  4598. 43890: 44000115 stw r16,4(r8)
  4599. 43894: d8c02015 stw r3,128(sp)
  4600. 43898: d8801f15 stw r2,124(sp)
  4601. 4389c: 010001c4 movi r4,7
  4602. 438a0: 2080060e bge r4,r2,438bc <___vfprintf_internal_r+0xae4>
  4603. 438a4: d9002d17 ldw r4,180(sp)
  4604. 438a8: d9801e04 addi r6,sp,120
  4605. 438ac: b80b883a mov r5,r23
  4606. 438b0: 004a7200 call 4a720 <__sprint_r>
  4607. 438b4: 103e4c1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  4608. 438b8: d8c02017 ldw r3,128(sp)
  4609. 438bc: d8803117 ldw r2,196(sp)
  4610. 438c0: d9002917 ldw r4,164(sp)
  4611. 438c4: 1100010e bge r2,r4,438cc <___vfprintf_internal_r+0xaf4>
  4612. 438c8: 2005883a mov r2,r4
  4613. 438cc: d9402f17 ldw r5,188(sp)
  4614. 438d0: 288b883a add r5,r5,r2
  4615. 438d4: d9402f15 stw r5,188(sp)
  4616. 438d8: 1801c01e bne r3,zero,43fdc <___vfprintf_internal_r+0x1204>
  4617. 438dc: a8800007 ldb r2,0(r21)
  4618. 438e0: d8001f15 stw zero,124(sp)
  4619. 438e4: da000404 addi r8,sp,16
  4620. 438e8: 103d751e bne r2,zero,42ec0 <__alt_data_end+0xfffd0ec0>
  4621. 438ec: a823883a mov r17,r21
  4622. 438f0: 003d8b06 br 42f20 <__alt_data_end+0xfffd0f20>
  4623. 438f4: 8025883a mov r18,r16
  4624. 438f8: dc002903 ldbu r16,164(sp)
  4625. 438fc: e011883a mov r8,fp
  4626. 43900: 84003fcc andi r16,r16,255
  4627. 43904: 8005e51e bne r16,zero,4509c <___vfprintf_internal_r+0x22c4>
  4628. 43908: 94800414 ori r18,r18,16
  4629. 4390c: 9080080c andi r2,r18,32
  4630. 43910: 10022b26 beq r2,zero,441c0 <___vfprintf_internal_r+0x13e8>
  4631. 43914: d9002e17 ldw r4,184(sp)
  4632. 43918: d9402a17 ldw r5,168(sp)
  4633. 4391c: d8002785 stb zero,158(sp)
  4634. 43920: 20c00204 addi r3,r4,8
  4635. 43924: 24c00017 ldw r19,0(r4)
  4636. 43928: 25800117 ldw r22,4(r4)
  4637. 4392c: 28042e16 blt r5,zero,449e8 <___vfprintf_internal_r+0x1c10>
  4638. 43930: 013fdfc4 movi r4,-129
  4639. 43934: 9d84b03a or r2,r19,r22
  4640. 43938: d8c02e15 stw r3,184(sp)
  4641. 4393c: 9124703a and r18,r18,r4
  4642. 43940: 0039883a mov fp,zero
  4643. 43944: 103e801e bne r2,zero,43348 <__alt_data_end+0xfffd1348>
  4644. 43948: d9002a17 ldw r4,168(sp)
  4645. 4394c: 2002e01e bne r4,zero,444d0 <___vfprintf_internal_r+0x16f8>
  4646. 43950: d8002a15 stw zero,168(sp)
  4647. 43954: d8002b15 stw zero,172(sp)
  4648. 43958: dc001e04 addi r16,sp,120
  4649. 4395c: 003ef506 br 43534 <__alt_data_end+0xfffd1534>
  4650. 43960: 8025883a mov r18,r16
  4651. 43964: dc002903 ldbu r16,164(sp)
  4652. 43968: e011883a mov r8,fp
  4653. 4396c: 84003fcc andi r16,r16,255
  4654. 43970: 8005ba1e bne r16,zero,4505c <___vfprintf_internal_r+0x2284>
  4655. 43974: 01000174 movhi r4,5
  4656. 43978: 21084204 addi r4,r4,8456
  4657. 4397c: d9003915 stw r4,228(sp)
  4658. 43980: 9080080c andi r2,r18,32
  4659. 43984: 10006126 beq r2,zero,43b0c <___vfprintf_internal_r+0xd34>
  4660. 43988: d9402e17 ldw r5,184(sp)
  4661. 4398c: 2cc00017 ldw r19,0(r5)
  4662. 43990: 2d800117 ldw r22,4(r5)
  4663. 43994: 29400204 addi r5,r5,8
  4664. 43998: d9402e15 stw r5,184(sp)
  4665. 4399c: 9080004c andi r2,r18,1
  4666. 439a0: 1001ac26 beq r2,zero,44054 <___vfprintf_internal_r+0x127c>
  4667. 439a4: 9d84b03a or r2,r19,r22
  4668. 439a8: 10038526 beq r2,zero,447c0 <___vfprintf_internal_r+0x19e8>
  4669. 439ac: d8c02a17 ldw r3,168(sp)
  4670. 439b0: 00800c04 movi r2,48
  4671. 439b4: d8802705 stb r2,156(sp)
  4672. 439b8: dc402745 stb r17,157(sp)
  4673. 439bc: d8002785 stb zero,158(sp)
  4674. 439c0: 90800094 ori r2,r18,2
  4675. 439c4: 18047916 blt r3,zero,44bac <___vfprintf_internal_r+0x1dd4>
  4676. 439c8: 00bfdfc4 movi r2,-129
  4677. 439cc: 90a4703a and r18,r18,r2
  4678. 439d0: 94800094 ori r18,r18,2
  4679. 439d4: 0039883a mov fp,zero
  4680. 439d8: d9003917 ldw r4,228(sp)
  4681. 439dc: dc001e04 addi r16,sp,120
  4682. 439e0: 988003cc andi r2,r19,15
  4683. 439e4: b006973a slli r3,r22,28
  4684. 439e8: 2085883a add r2,r4,r2
  4685. 439ec: 9826d13a srli r19,r19,4
  4686. 439f0: 10800003 ldbu r2,0(r2)
  4687. 439f4: b02cd13a srli r22,r22,4
  4688. 439f8: 843fffc4 addi r16,r16,-1
  4689. 439fc: 1ce6b03a or r19,r3,r19
  4690. 43a00: 80800005 stb r2,0(r16)
  4691. 43a04: 9d84b03a or r2,r19,r22
  4692. 43a08: 103ff51e bne r2,zero,439e0 <__alt_data_end+0xfffd19e0>
  4693. 43a0c: d8c02817 ldw r3,160(sp)
  4694. 43a10: 1c07c83a sub r3,r3,r16
  4695. 43a14: d8c02b15 stw r3,172(sp)
  4696. 43a18: 003ec606 br 43534 <__alt_data_end+0xfffd1534>
  4697. 43a1c: 8025883a mov r18,r16
  4698. 43a20: dc002903 ldbu r16,164(sp)
  4699. 43a24: e011883a mov r8,fp
  4700. 43a28: 84003fcc andi r16,r16,255
  4701. 43a2c: 803e9626 beq r16,zero,43488 <__alt_data_end+0xfffd1488>
  4702. 43a30: d8c02b03 ldbu r3,172(sp)
  4703. 43a34: d8c02785 stb r3,158(sp)
  4704. 43a38: 003e9306 br 43488 <__alt_data_end+0xfffd1488>
  4705. 43a3c: 00c00044 movi r3,1
  4706. 43a40: d8c02905 stb r3,164(sp)
  4707. 43a44: 00c00ac4 movi r3,43
  4708. 43a48: d8c02b05 stb r3,172(sp)
  4709. 43a4c: ac400007 ldb r17,0(r21)
  4710. 43a50: 003d4306 br 42f60 <__alt_data_end+0xfffd0f60>
  4711. 43a54: 84000814 ori r16,r16,32
  4712. 43a58: ac400007 ldb r17,0(r21)
  4713. 43a5c: 003d4006 br 42f60 <__alt_data_end+0xfffd0f60>
  4714. 43a60: d8802e17 ldw r2,184(sp)
  4715. 43a64: 8025883a mov r18,r16
  4716. 43a68: d8002785 stb zero,158(sp)
  4717. 43a6c: 14000017 ldw r16,0(r2)
  4718. 43a70: e011883a mov r8,fp
  4719. 43a74: 14c00104 addi r19,r2,4
  4720. 43a78: 80042d26 beq r16,zero,44b30 <___vfprintf_internal_r+0x1d58>
  4721. 43a7c: d8c02a17 ldw r3,168(sp)
  4722. 43a80: 1803e416 blt r3,zero,44a14 <___vfprintf_internal_r+0x1c3c>
  4723. 43a84: 180d883a mov r6,r3
  4724. 43a88: 000b883a mov r5,zero
  4725. 43a8c: 8009883a mov r4,r16
  4726. 43a90: df003d15 stw fp,244(sp)
  4727. 43a94: 00487100 call 48710 <memchr>
  4728. 43a98: da003d17 ldw r8,244(sp)
  4729. 43a9c: 10046826 beq r2,zero,44c40 <___vfprintf_internal_r+0x1e68>
  4730. 43aa0: 1405c83a sub r2,r2,r16
  4731. 43aa4: d8802b15 stw r2,172(sp)
  4732. 43aa8: 1003e016 blt r2,zero,44a2c <___vfprintf_internal_r+0x1c54>
  4733. 43aac: df002783 ldbu fp,158(sp)
  4734. 43ab0: d8802915 stw r2,164(sp)
  4735. 43ab4: dcc02e15 stw r19,184(sp)
  4736. 43ab8: d8002a15 stw zero,168(sp)
  4737. 43abc: d8003215 stw zero,200(sp)
  4738. 43ac0: 003ea206 br 4354c <__alt_data_end+0xfffd154c>
  4739. 43ac4: 8025883a mov r18,r16
  4740. 43ac8: dc002903 ldbu r16,164(sp)
  4741. 43acc: e011883a mov r8,fp
  4742. 43ad0: 84003fcc andi r16,r16,255
  4743. 43ad4: 803f8d26 beq r16,zero,4390c <__alt_data_end+0xfffd190c>
  4744. 43ad8: d8c02b03 ldbu r3,172(sp)
  4745. 43adc: d8c02785 stb r3,158(sp)
  4746. 43ae0: 003f8a06 br 4390c <__alt_data_end+0xfffd190c>
  4747. 43ae4: 8025883a mov r18,r16
  4748. 43ae8: dc002903 ldbu r16,164(sp)
  4749. 43aec: e011883a mov r8,fp
  4750. 43af0: 84003fcc andi r16,r16,255
  4751. 43af4: 8005661e bne r16,zero,45090 <___vfprintf_internal_r+0x22b8>
  4752. 43af8: 01000174 movhi r4,5
  4753. 43afc: 21084704 addi r4,r4,8476
  4754. 43b00: d9003915 stw r4,228(sp)
  4755. 43b04: 9080080c andi r2,r18,32
  4756. 43b08: 103f9f1e bne r2,zero,43988 <__alt_data_end+0xfffd1988>
  4757. 43b0c: 9080040c andi r2,r18,16
  4758. 43b10: 1002eb26 beq r2,zero,446c0 <___vfprintf_internal_r+0x18e8>
  4759. 43b14: d8802e17 ldw r2,184(sp)
  4760. 43b18: 002d883a mov r22,zero
  4761. 43b1c: 14c00017 ldw r19,0(r2)
  4762. 43b20: 10800104 addi r2,r2,4
  4763. 43b24: d8802e15 stw r2,184(sp)
  4764. 43b28: 003f9c06 br 4399c <__alt_data_end+0xfffd199c>
  4765. 43b2c: d8802b07 ldb r2,172(sp)
  4766. 43b30: 1002e11e bne r2,zero,446b8 <___vfprintf_internal_r+0x18e0>
  4767. 43b34: 00c00044 movi r3,1
  4768. 43b38: d8c02905 stb r3,164(sp)
  4769. 43b3c: 00c00804 movi r3,32
  4770. 43b40: d8c02b05 stb r3,172(sp)
  4771. 43b44: ac400007 ldb r17,0(r21)
  4772. 43b48: 003d0506 br 42f60 <__alt_data_end+0xfffd0f60>
  4773. 43b4c: 84000054 ori r16,r16,1
  4774. 43b50: ac400007 ldb r17,0(r21)
  4775. 43b54: 003d0206 br 42f60 <__alt_data_end+0xfffd0f60>
  4776. 43b58: 8025883a mov r18,r16
  4777. 43b5c: dc002903 ldbu r16,164(sp)
  4778. 43b60: e011883a mov r8,fp
  4779. 43b64: 84003fcc andi r16,r16,255
  4780. 43b68: 803de726 beq r16,zero,43308 <__alt_data_end+0xfffd1308>
  4781. 43b6c: d8c02b03 ldbu r3,172(sp)
  4782. 43b70: d8c02785 stb r3,158(sp)
  4783. 43b74: 003de406 br 43308 <__alt_data_end+0xfffd1308>
  4784. 43b78: 84001014 ori r16,r16,64
  4785. 43b7c: ac400007 ldb r17,0(r21)
  4786. 43b80: 003cf706 br 42f60 <__alt_data_end+0xfffd0f60>
  4787. 43b84: ac400007 ldb r17,0(r21)
  4788. 43b88: 00801b04 movi r2,108
  4789. 43b8c: 88838f26 beq r17,r2,449cc <___vfprintf_internal_r+0x1bf4>
  4790. 43b90: 84000414 ori r16,r16,16
  4791. 43b94: 003cf206 br 42f60 <__alt_data_end+0xfffd0f60>
  4792. 43b98: 8025883a mov r18,r16
  4793. 43b9c: dc002903 ldbu r16,164(sp)
  4794. 43ba0: e011883a mov r8,fp
  4795. 43ba4: 84003fcc andi r16,r16,255
  4796. 43ba8: 80053f1e bne r16,zero,450a8 <___vfprintf_internal_r+0x22d0>
  4797. 43bac: 9080080c andi r2,r18,32
  4798. 43bb0: 1002d226 beq r2,zero,446fc <___vfprintf_internal_r+0x1924>
  4799. 43bb4: d9002e17 ldw r4,184(sp)
  4800. 43bb8: d9402f17 ldw r5,188(sp)
  4801. 43bbc: 20800017 ldw r2,0(r4)
  4802. 43bc0: 2807d7fa srai r3,r5,31
  4803. 43bc4: 21000104 addi r4,r4,4
  4804. 43bc8: d9002e15 stw r4,184(sp)
  4805. 43bcc: 11400015 stw r5,0(r2)
  4806. 43bd0: 10c00115 stw r3,4(r2)
  4807. 43bd4: 003cb806 br 42eb8 <__alt_data_end+0xfffd0eb8>
  4808. 43bd8: d8c02e17 ldw r3,184(sp)
  4809. 43bdc: d9002e17 ldw r4,184(sp)
  4810. 43be0: 8025883a mov r18,r16
  4811. 43be4: 18800017 ldw r2,0(r3)
  4812. 43be8: 21000104 addi r4,r4,4
  4813. 43bec: 00c00044 movi r3,1
  4814. 43bf0: e011883a mov r8,fp
  4815. 43bf4: d8c02915 stw r3,164(sp)
  4816. 43bf8: d8002785 stb zero,158(sp)
  4817. 43bfc: d8801405 stb r2,80(sp)
  4818. 43c00: d9002e15 stw r4,184(sp)
  4819. 43c04: d8c02b15 stw r3,172(sp)
  4820. 43c08: d8002a15 stw zero,168(sp)
  4821. 43c0c: d8003215 stw zero,200(sp)
  4822. 43c10: dc001404 addi r16,sp,80
  4823. 43c14: 0039883a mov fp,zero
  4824. 43c18: 003e5306 br 43568 <__alt_data_end+0xfffd1568>
  4825. 43c1c: 01000174 movhi r4,5
  4826. 43c20: 21084704 addi r4,r4,8476
  4827. 43c24: 0039883a mov fp,zero
  4828. 43c28: d9003915 stw r4,228(sp)
  4829. 43c2c: 04401e04 movi r17,120
  4830. 43c30: 003f6906 br 439d8 <__alt_data_end+0xfffd19d8>
  4831. 43c34: 8025883a mov r18,r16
  4832. 43c38: dc002903 ldbu r16,164(sp)
  4833. 43c3c: e011883a mov r8,fp
  4834. 43c40: 84003fcc andi r16,r16,255
  4835. 43c44: 8005081e bne r16,zero,45068 <___vfprintf_internal_r+0x2290>
  4836. 43c48: 883d6126 beq r17,zero,431d0 <__alt_data_end+0xfffd11d0>
  4837. 43c4c: 00c00044 movi r3,1
  4838. 43c50: d8c02915 stw r3,164(sp)
  4839. 43c54: dc401405 stb r17,80(sp)
  4840. 43c58: d8002785 stb zero,158(sp)
  4841. 43c5c: 003fe906 br 43c04 <__alt_data_end+0xfffd1c04>
  4842. 43c60: 01400174 movhi r5,5
  4843. 43c64: 29484704 addi r5,r5,8476
  4844. 43c68: d9403915 stw r5,228(sp)
  4845. 43c6c: d8c02e15 stw r3,184(sp)
  4846. 43c70: 1025883a mov r18,r2
  4847. 43c74: 04401e04 movi r17,120
  4848. 43c78: 9d84b03a or r2,r19,r22
  4849. 43c7c: 1000fc1e bne r2,zero,44070 <___vfprintf_internal_r+0x1298>
  4850. 43c80: 0039883a mov fp,zero
  4851. 43c84: 00800084 movi r2,2
  4852. 43c88: 10803fcc andi r2,r2,255
  4853. 43c8c: 00c00044 movi r3,1
  4854. 43c90: 10c20f26 beq r2,r3,444d0 <___vfprintf_internal_r+0x16f8>
  4855. 43c94: 00c00084 movi r3,2
  4856. 43c98: 10fd3326 beq r2,r3,43168 <__alt_data_end+0xfffd1168>
  4857. 43c9c: 003e0b06 br 434cc <__alt_data_end+0xfffd14cc>
  4858. 43ca0: d8c02017 ldw r3,128(sp)
  4859. 43ca4: 003e7106 br 4366c <__alt_data_end+0xfffd166c>
  4860. 43ca8: 00801944 movi r2,101
  4861. 43cac: 14407e0e bge r2,r17,43ea8 <___vfprintf_internal_r+0x10d0>
  4862. 43cb0: d9003617 ldw r4,216(sp)
  4863. 43cb4: d9403817 ldw r5,224(sp)
  4864. 43cb8: 000d883a mov r6,zero
  4865. 43cbc: 000f883a mov r7,zero
  4866. 43cc0: d8c03c15 stw r3,240(sp)
  4867. 43cc4: da003d15 stw r8,244(sp)
  4868. 43cc8: 004ddd40 call 4ddd4 <__eqdf2>
  4869. 43ccc: d8c03c17 ldw r3,240(sp)
  4870. 43cd0: da003d17 ldw r8,244(sp)
  4871. 43cd4: 1000f71e bne r2,zero,440b4 <___vfprintf_internal_r+0x12dc>
  4872. 43cd8: d8801f17 ldw r2,124(sp)
  4873. 43cdc: 01000174 movhi r4,5
  4874. 43ce0: 21084e04 addi r4,r4,8504
  4875. 43ce4: 18c00044 addi r3,r3,1
  4876. 43ce8: 10800044 addi r2,r2,1
  4877. 43cec: 41000015 stw r4,0(r8)
  4878. 43cf0: 01000044 movi r4,1
  4879. 43cf4: 41000115 stw r4,4(r8)
  4880. 43cf8: d8c02015 stw r3,128(sp)
  4881. 43cfc: d8801f15 stw r2,124(sp)
  4882. 43d00: 010001c4 movi r4,7
  4883. 43d04: 2082b816 blt r4,r2,447e8 <___vfprintf_internal_r+0x1a10>
  4884. 43d08: 42000204 addi r8,r8,8
  4885. 43d0c: d8802617 ldw r2,152(sp)
  4886. 43d10: d9403317 ldw r5,204(sp)
  4887. 43d14: 11400216 blt r2,r5,43d20 <___vfprintf_internal_r+0xf48>
  4888. 43d18: 9080004c andi r2,r18,1
  4889. 43d1c: 103eb326 beq r2,zero,437ec <__alt_data_end+0xfffd17ec>
  4890. 43d20: d8803717 ldw r2,220(sp)
  4891. 43d24: d9003417 ldw r4,208(sp)
  4892. 43d28: d9403717 ldw r5,220(sp)
  4893. 43d2c: 1887883a add r3,r3,r2
  4894. 43d30: d8801f17 ldw r2,124(sp)
  4895. 43d34: 41000015 stw r4,0(r8)
  4896. 43d38: 41400115 stw r5,4(r8)
  4897. 43d3c: 10800044 addi r2,r2,1
  4898. 43d40: d8c02015 stw r3,128(sp)
  4899. 43d44: d8801f15 stw r2,124(sp)
  4900. 43d48: 010001c4 movi r4,7
  4901. 43d4c: 20832916 blt r4,r2,449f4 <___vfprintf_internal_r+0x1c1c>
  4902. 43d50: 42000204 addi r8,r8,8
  4903. 43d54: d8803317 ldw r2,204(sp)
  4904. 43d58: 143fffc4 addi r16,r2,-1
  4905. 43d5c: 043ea30e bge zero,r16,437ec <__alt_data_end+0xfffd17ec>
  4906. 43d60: 04400404 movi r17,16
  4907. 43d64: d8801f17 ldw r2,124(sp)
  4908. 43d68: 8c00880e bge r17,r16,43f8c <___vfprintf_internal_r+0x11b4>
  4909. 43d6c: 01400174 movhi r5,5
  4910. 43d70: 29484e84 addi r5,r5,8506
  4911. 43d74: d9402c15 stw r5,176(sp)
  4912. 43d78: 058001c4 movi r22,7
  4913. 43d7c: dcc02d17 ldw r19,180(sp)
  4914. 43d80: 00000306 br 43d90 <___vfprintf_internal_r+0xfb8>
  4915. 43d84: 42000204 addi r8,r8,8
  4916. 43d88: 843ffc04 addi r16,r16,-16
  4917. 43d8c: 8c00820e bge r17,r16,43f98 <___vfprintf_internal_r+0x11c0>
  4918. 43d90: 18c00404 addi r3,r3,16
  4919. 43d94: 10800044 addi r2,r2,1
  4920. 43d98: 45000015 stw r20,0(r8)
  4921. 43d9c: 44400115 stw r17,4(r8)
  4922. 43da0: d8c02015 stw r3,128(sp)
  4923. 43da4: d8801f15 stw r2,124(sp)
  4924. 43da8: b0bff60e bge r22,r2,43d84 <__alt_data_end+0xfffd1d84>
  4925. 43dac: d9801e04 addi r6,sp,120
  4926. 43db0: b80b883a mov r5,r23
  4927. 43db4: 9809883a mov r4,r19
  4928. 43db8: 004a7200 call 4a720 <__sprint_r>
  4929. 43dbc: 103d0a1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  4930. 43dc0: d8c02017 ldw r3,128(sp)
  4931. 43dc4: d8801f17 ldw r2,124(sp)
  4932. 43dc8: da000404 addi r8,sp,16
  4933. 43dcc: 003fee06 br 43d88 <__alt_data_end+0xfffd1d88>
  4934. 43dd0: d9403117 ldw r5,196(sp)
  4935. 43dd4: d8802917 ldw r2,164(sp)
  4936. 43dd8: 28adc83a sub r22,r5,r2
  4937. 43ddc: 05be410e bge zero,r22,436e4 <__alt_data_end+0xfffd16e4>
  4938. 43de0: 07000404 movi fp,16
  4939. 43de4: d8801f17 ldw r2,124(sp)
  4940. 43de8: e5838f0e bge fp,r22,44c28 <___vfprintf_internal_r+0x1e50>
  4941. 43dec: 01400174 movhi r5,5
  4942. 43df0: 29484e84 addi r5,r5,8506
  4943. 43df4: dc403015 stw r17,192(sp)
  4944. 43df8: d9402c15 stw r5,176(sp)
  4945. 43dfc: b023883a mov r17,r22
  4946. 43e00: 04c001c4 movi r19,7
  4947. 43e04: a82d883a mov r22,r21
  4948. 43e08: 902b883a mov r21,r18
  4949. 43e0c: 8025883a mov r18,r16
  4950. 43e10: dc002d17 ldw r16,180(sp)
  4951. 43e14: 00000306 br 43e24 <___vfprintf_internal_r+0x104c>
  4952. 43e18: 8c7ffc04 addi r17,r17,-16
  4953. 43e1c: 42000204 addi r8,r8,8
  4954. 43e20: e440110e bge fp,r17,43e68 <___vfprintf_internal_r+0x1090>
  4955. 43e24: 18c00404 addi r3,r3,16
  4956. 43e28: 10800044 addi r2,r2,1
  4957. 43e2c: 45000015 stw r20,0(r8)
  4958. 43e30: 47000115 stw fp,4(r8)
  4959. 43e34: d8c02015 stw r3,128(sp)
  4960. 43e38: d8801f15 stw r2,124(sp)
  4961. 43e3c: 98bff60e bge r19,r2,43e18 <__alt_data_end+0xfffd1e18>
  4962. 43e40: d9801e04 addi r6,sp,120
  4963. 43e44: b80b883a mov r5,r23
  4964. 43e48: 8009883a mov r4,r16
  4965. 43e4c: 004a7200 call 4a720 <__sprint_r>
  4966. 43e50: 103ce51e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  4967. 43e54: 8c7ffc04 addi r17,r17,-16
  4968. 43e58: d8c02017 ldw r3,128(sp)
  4969. 43e5c: d8801f17 ldw r2,124(sp)
  4970. 43e60: da000404 addi r8,sp,16
  4971. 43e64: e47fef16 blt fp,r17,43e24 <__alt_data_end+0xfffd1e24>
  4972. 43e68: 9021883a mov r16,r18
  4973. 43e6c: a825883a mov r18,r21
  4974. 43e70: b02b883a mov r21,r22
  4975. 43e74: 882d883a mov r22,r17
  4976. 43e78: dc403017 ldw r17,192(sp)
  4977. 43e7c: d9002c17 ldw r4,176(sp)
  4978. 43e80: 1d87883a add r3,r3,r22
  4979. 43e84: 10800044 addi r2,r2,1
  4980. 43e88: 41000015 stw r4,0(r8)
  4981. 43e8c: 45800115 stw r22,4(r8)
  4982. 43e90: d8c02015 stw r3,128(sp)
  4983. 43e94: d8801f15 stw r2,124(sp)
  4984. 43e98: 010001c4 movi r4,7
  4985. 43e9c: 20818e16 blt r4,r2,444d8 <___vfprintf_internal_r+0x1700>
  4986. 43ea0: 42000204 addi r8,r8,8
  4987. 43ea4: 003e0f06 br 436e4 <__alt_data_end+0xfffd16e4>
  4988. 43ea8: d9403317 ldw r5,204(sp)
  4989. 43eac: 00800044 movi r2,1
  4990. 43eb0: 18c00044 addi r3,r3,1
  4991. 43eb4: 1141530e bge r2,r5,44404 <___vfprintf_internal_r+0x162c>
  4992. 43eb8: dc401f17 ldw r17,124(sp)
  4993. 43ebc: 00800044 movi r2,1
  4994. 43ec0: 40800115 stw r2,4(r8)
  4995. 43ec4: 8c400044 addi r17,r17,1
  4996. 43ec8: 44000015 stw r16,0(r8)
  4997. 43ecc: d8c02015 stw r3,128(sp)
  4998. 43ed0: dc401f15 stw r17,124(sp)
  4999. 43ed4: 008001c4 movi r2,7
  5000. 43ed8: 14416b16 blt r2,r17,44488 <___vfprintf_internal_r+0x16b0>
  5001. 43edc: 42000204 addi r8,r8,8
  5002. 43ee0: d8803717 ldw r2,220(sp)
  5003. 43ee4: d9003417 ldw r4,208(sp)
  5004. 43ee8: 8c400044 addi r17,r17,1
  5005. 43eec: 10c7883a add r3,r2,r3
  5006. 43ef0: 40800115 stw r2,4(r8)
  5007. 43ef4: 41000015 stw r4,0(r8)
  5008. 43ef8: d8c02015 stw r3,128(sp)
  5009. 43efc: dc401f15 stw r17,124(sp)
  5010. 43f00: 008001c4 movi r2,7
  5011. 43f04: 14416916 blt r2,r17,444ac <___vfprintf_internal_r+0x16d4>
  5012. 43f08: 45800204 addi r22,r8,8
  5013. 43f0c: d9003617 ldw r4,216(sp)
  5014. 43f10: d9403817 ldw r5,224(sp)
  5015. 43f14: 000d883a mov r6,zero
  5016. 43f18: 000f883a mov r7,zero
  5017. 43f1c: d8c03c15 stw r3,240(sp)
  5018. 43f20: 004ddd40 call 4ddd4 <__eqdf2>
  5019. 43f24: d8c03c17 ldw r3,240(sp)
  5020. 43f28: 1000bc26 beq r2,zero,4421c <___vfprintf_internal_r+0x1444>
  5021. 43f2c: d9403317 ldw r5,204(sp)
  5022. 43f30: 84000044 addi r16,r16,1
  5023. 43f34: 8c400044 addi r17,r17,1
  5024. 43f38: 28bfffc4 addi r2,r5,-1
  5025. 43f3c: 1887883a add r3,r3,r2
  5026. 43f40: b0800115 stw r2,4(r22)
  5027. 43f44: b4000015 stw r16,0(r22)
  5028. 43f48: d8c02015 stw r3,128(sp)
  5029. 43f4c: dc401f15 stw r17,124(sp)
  5030. 43f50: 008001c4 movi r2,7
  5031. 43f54: 14414316 blt r2,r17,44464 <___vfprintf_internal_r+0x168c>
  5032. 43f58: b5800204 addi r22,r22,8
  5033. 43f5c: d9003a17 ldw r4,232(sp)
  5034. 43f60: df0022c4 addi fp,sp,139
  5035. 43f64: 8c400044 addi r17,r17,1
  5036. 43f68: 20c7883a add r3,r4,r3
  5037. 43f6c: b7000015 stw fp,0(r22)
  5038. 43f70: b1000115 stw r4,4(r22)
  5039. 43f74: d8c02015 stw r3,128(sp)
  5040. 43f78: dc401f15 stw r17,124(sp)
  5041. 43f7c: 008001c4 movi r2,7
  5042. 43f80: 14400e16 blt r2,r17,43fbc <___vfprintf_internal_r+0x11e4>
  5043. 43f84: b2000204 addi r8,r22,8
  5044. 43f88: 003e1806 br 437ec <__alt_data_end+0xfffd17ec>
  5045. 43f8c: 01000174 movhi r4,5
  5046. 43f90: 21084e84 addi r4,r4,8506
  5047. 43f94: d9002c15 stw r4,176(sp)
  5048. 43f98: d9002c17 ldw r4,176(sp)
  5049. 43f9c: 1c07883a add r3,r3,r16
  5050. 43fa0: 44000115 stw r16,4(r8)
  5051. 43fa4: 41000015 stw r4,0(r8)
  5052. 43fa8: 10800044 addi r2,r2,1
  5053. 43fac: d8c02015 stw r3,128(sp)
  5054. 43fb0: d8801f15 stw r2,124(sp)
  5055. 43fb4: 010001c4 movi r4,7
  5056. 43fb8: 20be0b0e bge r4,r2,437e8 <__alt_data_end+0xfffd17e8>
  5057. 43fbc: d9002d17 ldw r4,180(sp)
  5058. 43fc0: d9801e04 addi r6,sp,120
  5059. 43fc4: b80b883a mov r5,r23
  5060. 43fc8: 004a7200 call 4a720 <__sprint_r>
  5061. 43fcc: 103c861e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5062. 43fd0: d8c02017 ldw r3,128(sp)
  5063. 43fd4: da000404 addi r8,sp,16
  5064. 43fd8: 003e0406 br 437ec <__alt_data_end+0xfffd17ec>
  5065. 43fdc: d9002d17 ldw r4,180(sp)
  5066. 43fe0: d9801e04 addi r6,sp,120
  5067. 43fe4: b80b883a mov r5,r23
  5068. 43fe8: 004a7200 call 4a720 <__sprint_r>
  5069. 43fec: 103e3b26 beq r2,zero,438dc <__alt_data_end+0xfffd18dc>
  5070. 43ff0: 003c7d06 br 431e8 <__alt_data_end+0xfffd11e8>
  5071. 43ff4: d9002d17 ldw r4,180(sp)
  5072. 43ff8: d9801e04 addi r6,sp,120
  5073. 43ffc: b80b883a mov r5,r23
  5074. 44000: 004a7200 call 4a720 <__sprint_r>
  5075. 44004: 103c781e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5076. 44008: d8c02017 ldw r3,128(sp)
  5077. 4400c: da000404 addi r8,sp,16
  5078. 44010: 003de906 br 437b8 <__alt_data_end+0xfffd17b8>
  5079. 44014: d9002d17 ldw r4,180(sp)
  5080. 44018: d9801e04 addi r6,sp,120
  5081. 4401c: b80b883a mov r5,r23
  5082. 44020: 004a7200 call 4a720 <__sprint_r>
  5083. 44024: 103c701e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5084. 44028: d8c02017 ldw r3,128(sp)
  5085. 4402c: da000404 addi r8,sp,16
  5086. 44030: 003d9b06 br 436a0 <__alt_data_end+0xfffd16a0>
  5087. 44034: d9002d17 ldw r4,180(sp)
  5088. 44038: d9801e04 addi r6,sp,120
  5089. 4403c: b80b883a mov r5,r23
  5090. 44040: 004a7200 call 4a720 <__sprint_r>
  5091. 44044: 103c681e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5092. 44048: d8c02017 ldw r3,128(sp)
  5093. 4404c: da000404 addi r8,sp,16
  5094. 44050: 003da106 br 436d8 <__alt_data_end+0xfffd16d8>
  5095. 44054: d9402a17 ldw r5,168(sp)
  5096. 44058: d8002785 stb zero,158(sp)
  5097. 4405c: 283f0616 blt r5,zero,43c78 <__alt_data_end+0xfffd1c78>
  5098. 44060: 00ffdfc4 movi r3,-129
  5099. 44064: 9d84b03a or r2,r19,r22
  5100. 44068: 90e4703a and r18,r18,r3
  5101. 4406c: 103c3b26 beq r2,zero,4315c <__alt_data_end+0xfffd115c>
  5102. 44070: 0039883a mov fp,zero
  5103. 44074: 003e5806 br 439d8 <__alt_data_end+0xfffd19d8>
  5104. 44078: 9080040c andi r2,r18,16
  5105. 4407c: 1001b326 beq r2,zero,4474c <___vfprintf_internal_r+0x1974>
  5106. 44080: d8c02e17 ldw r3,184(sp)
  5107. 44084: d9002a17 ldw r4,168(sp)
  5108. 44088: d8002785 stb zero,158(sp)
  5109. 4408c: 18800104 addi r2,r3,4
  5110. 44090: 1cc00017 ldw r19,0(r3)
  5111. 44094: 002d883a mov r22,zero
  5112. 44098: 2001b516 blt r4,zero,44770 <___vfprintf_internal_r+0x1998>
  5113. 4409c: 00ffdfc4 movi r3,-129
  5114. 440a0: d8802e15 stw r2,184(sp)
  5115. 440a4: 90e4703a and r18,r18,r3
  5116. 440a8: 983d0526 beq r19,zero,434c0 <__alt_data_end+0xfffd14c0>
  5117. 440ac: 0039883a mov fp,zero
  5118. 440b0: 003d0806 br 434d4 <__alt_data_end+0xfffd14d4>
  5119. 440b4: dc402617 ldw r17,152(sp)
  5120. 440b8: 0441d30e bge zero,r17,44808 <___vfprintf_internal_r+0x1a30>
  5121. 440bc: dc403217 ldw r17,200(sp)
  5122. 440c0: d8803317 ldw r2,204(sp)
  5123. 440c4: 1440010e bge r2,r17,440cc <___vfprintf_internal_r+0x12f4>
  5124. 440c8: 1023883a mov r17,r2
  5125. 440cc: 04400a0e bge zero,r17,440f8 <___vfprintf_internal_r+0x1320>
  5126. 440d0: d8801f17 ldw r2,124(sp)
  5127. 440d4: 1c47883a add r3,r3,r17
  5128. 440d8: 44000015 stw r16,0(r8)
  5129. 440dc: 10800044 addi r2,r2,1
  5130. 440e0: 44400115 stw r17,4(r8)
  5131. 440e4: d8c02015 stw r3,128(sp)
  5132. 440e8: d8801f15 stw r2,124(sp)
  5133. 440ec: 010001c4 movi r4,7
  5134. 440f0: 20826516 blt r4,r2,44a88 <___vfprintf_internal_r+0x1cb0>
  5135. 440f4: 42000204 addi r8,r8,8
  5136. 440f8: 88026116 blt r17,zero,44a80 <___vfprintf_internal_r+0x1ca8>
  5137. 440fc: d9003217 ldw r4,200(sp)
  5138. 44100: 2463c83a sub r17,r4,r17
  5139. 44104: 04407b0e bge zero,r17,442f4 <___vfprintf_internal_r+0x151c>
  5140. 44108: 05800404 movi r22,16
  5141. 4410c: d8801f17 ldw r2,124(sp)
  5142. 44110: b4419d0e bge r22,r17,44788 <___vfprintf_internal_r+0x19b0>
  5143. 44114: 01000174 movhi r4,5
  5144. 44118: 21084e84 addi r4,r4,8506
  5145. 4411c: d9002c15 stw r4,176(sp)
  5146. 44120: 070001c4 movi fp,7
  5147. 44124: dcc02d17 ldw r19,180(sp)
  5148. 44128: 00000306 br 44138 <___vfprintf_internal_r+0x1360>
  5149. 4412c: 42000204 addi r8,r8,8
  5150. 44130: 8c7ffc04 addi r17,r17,-16
  5151. 44134: b441970e bge r22,r17,44794 <___vfprintf_internal_r+0x19bc>
  5152. 44138: 18c00404 addi r3,r3,16
  5153. 4413c: 10800044 addi r2,r2,1
  5154. 44140: 45000015 stw r20,0(r8)
  5155. 44144: 45800115 stw r22,4(r8)
  5156. 44148: d8c02015 stw r3,128(sp)
  5157. 4414c: d8801f15 stw r2,124(sp)
  5158. 44150: e0bff60e bge fp,r2,4412c <__alt_data_end+0xfffd212c>
  5159. 44154: d9801e04 addi r6,sp,120
  5160. 44158: b80b883a mov r5,r23
  5161. 4415c: 9809883a mov r4,r19
  5162. 44160: 004a7200 call 4a720 <__sprint_r>
  5163. 44164: 103c201e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5164. 44168: d8c02017 ldw r3,128(sp)
  5165. 4416c: d8801f17 ldw r2,124(sp)
  5166. 44170: da000404 addi r8,sp,16
  5167. 44174: 003fee06 br 44130 <__alt_data_end+0xfffd2130>
  5168. 44178: d9002d17 ldw r4,180(sp)
  5169. 4417c: d9801e04 addi r6,sp,120
  5170. 44180: b80b883a mov r5,r23
  5171. 44184: 004a7200 call 4a720 <__sprint_r>
  5172. 44188: 103c171e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5173. 4418c: d8c02017 ldw r3,128(sp)
  5174. 44190: df002787 ldb fp,158(sp)
  5175. 44194: da000404 addi r8,sp,16
  5176. 44198: 003d3406 br 4366c <__alt_data_end+0xfffd166c>
  5177. 4419c: 9080040c andi r2,r18,16
  5178. 441a0: 10016126 beq r2,zero,44728 <___vfprintf_internal_r+0x1950>
  5179. 441a4: d9402e17 ldw r5,184(sp)
  5180. 441a8: 2cc00017 ldw r19,0(r5)
  5181. 441ac: 29400104 addi r5,r5,4
  5182. 441b0: d9402e15 stw r5,184(sp)
  5183. 441b4: 982dd7fa srai r22,r19,31
  5184. 441b8: b005883a mov r2,r22
  5185. 441bc: 003c5a06 br 43328 <__alt_data_end+0xfffd1328>
  5186. 441c0: 9080040c andi r2,r18,16
  5187. 441c4: 10003526 beq r2,zero,4429c <___vfprintf_internal_r+0x14c4>
  5188. 441c8: d8c02e17 ldw r3,184(sp)
  5189. 441cc: d9002a17 ldw r4,168(sp)
  5190. 441d0: d8002785 stb zero,158(sp)
  5191. 441d4: 18800104 addi r2,r3,4
  5192. 441d8: 1cc00017 ldw r19,0(r3)
  5193. 441dc: 002d883a mov r22,zero
  5194. 441e0: 20003716 blt r4,zero,442c0 <___vfprintf_internal_r+0x14e8>
  5195. 441e4: 00ffdfc4 movi r3,-129
  5196. 441e8: d8802e15 stw r2,184(sp)
  5197. 441ec: 90e4703a and r18,r18,r3
  5198. 441f0: 0039883a mov fp,zero
  5199. 441f4: 983dd426 beq r19,zero,43948 <__alt_data_end+0xfffd1948>
  5200. 441f8: 00800244 movi r2,9
  5201. 441fc: 14fc5336 bltu r2,r19,4334c <__alt_data_end+0xfffd134c>
  5202. 44200: d8c02817 ldw r3,160(sp)
  5203. 44204: dc001dc4 addi r16,sp,119
  5204. 44208: 9cc00c04 addi r19,r19,48
  5205. 4420c: 1c07c83a sub r3,r3,r16
  5206. 44210: dcc01dc5 stb r19,119(sp)
  5207. 44214: d8c02b15 stw r3,172(sp)
  5208. 44218: 003cc606 br 43534 <__alt_data_end+0xfffd1534>
  5209. 4421c: d8803317 ldw r2,204(sp)
  5210. 44220: 143fffc4 addi r16,r2,-1
  5211. 44224: 043f4d0e bge zero,r16,43f5c <__alt_data_end+0xfffd1f5c>
  5212. 44228: 07000404 movi fp,16
  5213. 4422c: e400810e bge fp,r16,44434 <___vfprintf_internal_r+0x165c>
  5214. 44230: 01400174 movhi r5,5
  5215. 44234: 29484e84 addi r5,r5,8506
  5216. 44238: d9402c15 stw r5,176(sp)
  5217. 4423c: 01c001c4 movi r7,7
  5218. 44240: dcc02d17 ldw r19,180(sp)
  5219. 44244: 00000306 br 44254 <___vfprintf_internal_r+0x147c>
  5220. 44248: b5800204 addi r22,r22,8
  5221. 4424c: 843ffc04 addi r16,r16,-16
  5222. 44250: e4007b0e bge fp,r16,44440 <___vfprintf_internal_r+0x1668>
  5223. 44254: 18c00404 addi r3,r3,16
  5224. 44258: 8c400044 addi r17,r17,1
  5225. 4425c: b5000015 stw r20,0(r22)
  5226. 44260: b7000115 stw fp,4(r22)
  5227. 44264: d8c02015 stw r3,128(sp)
  5228. 44268: dc401f15 stw r17,124(sp)
  5229. 4426c: 3c7ff60e bge r7,r17,44248 <__alt_data_end+0xfffd2248>
  5230. 44270: d9801e04 addi r6,sp,120
  5231. 44274: b80b883a mov r5,r23
  5232. 44278: 9809883a mov r4,r19
  5233. 4427c: d9c03c15 stw r7,240(sp)
  5234. 44280: 004a7200 call 4a720 <__sprint_r>
  5235. 44284: d9c03c17 ldw r7,240(sp)
  5236. 44288: 103bd71e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5237. 4428c: d8c02017 ldw r3,128(sp)
  5238. 44290: dc401f17 ldw r17,124(sp)
  5239. 44294: dd800404 addi r22,sp,16
  5240. 44298: 003fec06 br 4424c <__alt_data_end+0xfffd224c>
  5241. 4429c: 9080100c andi r2,r18,64
  5242. 442a0: d8002785 stb zero,158(sp)
  5243. 442a4: 10010e26 beq r2,zero,446e0 <___vfprintf_internal_r+0x1908>
  5244. 442a8: d9402e17 ldw r5,184(sp)
  5245. 442ac: d8c02a17 ldw r3,168(sp)
  5246. 442b0: 002d883a mov r22,zero
  5247. 442b4: 28800104 addi r2,r5,4
  5248. 442b8: 2cc0000b ldhu r19,0(r5)
  5249. 442bc: 183fc90e bge r3,zero,441e4 <__alt_data_end+0xfffd21e4>
  5250. 442c0: d8802e15 stw r2,184(sp)
  5251. 442c4: 0039883a mov fp,zero
  5252. 442c8: 9d84b03a or r2,r19,r22
  5253. 442cc: 103c1e1e bne r2,zero,43348 <__alt_data_end+0xfffd1348>
  5254. 442d0: 00800044 movi r2,1
  5255. 442d4: 003e6c06 br 43c88 <__alt_data_end+0xfffd1c88>
  5256. 442d8: d9002d17 ldw r4,180(sp)
  5257. 442dc: d9801e04 addi r6,sp,120
  5258. 442e0: b80b883a mov r5,r23
  5259. 442e4: 004a7200 call 4a720 <__sprint_r>
  5260. 442e8: 103bbf1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5261. 442ec: d8c02017 ldw r3,128(sp)
  5262. 442f0: da000404 addi r8,sp,16
  5263. 442f4: d9003217 ldw r4,200(sp)
  5264. 442f8: d8802617 ldw r2,152(sp)
  5265. 442fc: d9403317 ldw r5,204(sp)
  5266. 44300: 8123883a add r17,r16,r4
  5267. 44304: 11400216 blt r2,r5,44310 <___vfprintf_internal_r+0x1538>
  5268. 44308: 9100004c andi r4,r18,1
  5269. 4430c: 20000d26 beq r4,zero,44344 <___vfprintf_internal_r+0x156c>
  5270. 44310: d9003717 ldw r4,220(sp)
  5271. 44314: d9403417 ldw r5,208(sp)
  5272. 44318: 1907883a add r3,r3,r4
  5273. 4431c: d9001f17 ldw r4,124(sp)
  5274. 44320: 41400015 stw r5,0(r8)
  5275. 44324: d9403717 ldw r5,220(sp)
  5276. 44328: 21000044 addi r4,r4,1
  5277. 4432c: d8c02015 stw r3,128(sp)
  5278. 44330: 41400115 stw r5,4(r8)
  5279. 44334: d9001f15 stw r4,124(sp)
  5280. 44338: 014001c4 movi r5,7
  5281. 4433c: 2901e816 blt r5,r4,44ae0 <___vfprintf_internal_r+0x1d08>
  5282. 44340: 42000204 addi r8,r8,8
  5283. 44344: d9003317 ldw r4,204(sp)
  5284. 44348: 8121883a add r16,r16,r4
  5285. 4434c: 2085c83a sub r2,r4,r2
  5286. 44350: 8461c83a sub r16,r16,r17
  5287. 44354: 1400010e bge r2,r16,4435c <___vfprintf_internal_r+0x1584>
  5288. 44358: 1021883a mov r16,r2
  5289. 4435c: 04000a0e bge zero,r16,44388 <___vfprintf_internal_r+0x15b0>
  5290. 44360: d9001f17 ldw r4,124(sp)
  5291. 44364: 1c07883a add r3,r3,r16
  5292. 44368: 44400015 stw r17,0(r8)
  5293. 4436c: 21000044 addi r4,r4,1
  5294. 44370: 44000115 stw r16,4(r8)
  5295. 44374: d8c02015 stw r3,128(sp)
  5296. 44378: d9001f15 stw r4,124(sp)
  5297. 4437c: 014001c4 movi r5,7
  5298. 44380: 2901fb16 blt r5,r4,44b70 <___vfprintf_internal_r+0x1d98>
  5299. 44384: 42000204 addi r8,r8,8
  5300. 44388: 8001f716 blt r16,zero,44b68 <___vfprintf_internal_r+0x1d90>
  5301. 4438c: 1421c83a sub r16,r2,r16
  5302. 44390: 043d160e bge zero,r16,437ec <__alt_data_end+0xfffd17ec>
  5303. 44394: 04400404 movi r17,16
  5304. 44398: d8801f17 ldw r2,124(sp)
  5305. 4439c: 8c3efb0e bge r17,r16,43f8c <__alt_data_end+0xfffd1f8c>
  5306. 443a0: 01400174 movhi r5,5
  5307. 443a4: 29484e84 addi r5,r5,8506
  5308. 443a8: d9402c15 stw r5,176(sp)
  5309. 443ac: 058001c4 movi r22,7
  5310. 443b0: dcc02d17 ldw r19,180(sp)
  5311. 443b4: 00000306 br 443c4 <___vfprintf_internal_r+0x15ec>
  5312. 443b8: 42000204 addi r8,r8,8
  5313. 443bc: 843ffc04 addi r16,r16,-16
  5314. 443c0: 8c3ef50e bge r17,r16,43f98 <__alt_data_end+0xfffd1f98>
  5315. 443c4: 18c00404 addi r3,r3,16
  5316. 443c8: 10800044 addi r2,r2,1
  5317. 443cc: 45000015 stw r20,0(r8)
  5318. 443d0: 44400115 stw r17,4(r8)
  5319. 443d4: d8c02015 stw r3,128(sp)
  5320. 443d8: d8801f15 stw r2,124(sp)
  5321. 443dc: b0bff60e bge r22,r2,443b8 <__alt_data_end+0xfffd23b8>
  5322. 443e0: d9801e04 addi r6,sp,120
  5323. 443e4: b80b883a mov r5,r23
  5324. 443e8: 9809883a mov r4,r19
  5325. 443ec: 004a7200 call 4a720 <__sprint_r>
  5326. 443f0: 103b7d1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5327. 443f4: d8c02017 ldw r3,128(sp)
  5328. 443f8: d8801f17 ldw r2,124(sp)
  5329. 443fc: da000404 addi r8,sp,16
  5330. 44400: 003fee06 br 443bc <__alt_data_end+0xfffd23bc>
  5331. 44404: 9088703a and r4,r18,r2
  5332. 44408: 203eab1e bne r4,zero,43eb8 <__alt_data_end+0xfffd1eb8>
  5333. 4440c: dc401f17 ldw r17,124(sp)
  5334. 44410: 40800115 stw r2,4(r8)
  5335. 44414: 44000015 stw r16,0(r8)
  5336. 44418: 8c400044 addi r17,r17,1
  5337. 4441c: d8c02015 stw r3,128(sp)
  5338. 44420: dc401f15 stw r17,124(sp)
  5339. 44424: 008001c4 movi r2,7
  5340. 44428: 14400e16 blt r2,r17,44464 <___vfprintf_internal_r+0x168c>
  5341. 4442c: 45800204 addi r22,r8,8
  5342. 44430: 003eca06 br 43f5c <__alt_data_end+0xfffd1f5c>
  5343. 44434: 01000174 movhi r4,5
  5344. 44438: 21084e84 addi r4,r4,8506
  5345. 4443c: d9002c15 stw r4,176(sp)
  5346. 44440: d8802c17 ldw r2,176(sp)
  5347. 44444: 1c07883a add r3,r3,r16
  5348. 44448: 8c400044 addi r17,r17,1
  5349. 4444c: b0800015 stw r2,0(r22)
  5350. 44450: b4000115 stw r16,4(r22)
  5351. 44454: d8c02015 stw r3,128(sp)
  5352. 44458: dc401f15 stw r17,124(sp)
  5353. 4445c: 008001c4 movi r2,7
  5354. 44460: 147ebd0e bge r2,r17,43f58 <__alt_data_end+0xfffd1f58>
  5355. 44464: d9002d17 ldw r4,180(sp)
  5356. 44468: d9801e04 addi r6,sp,120
  5357. 4446c: b80b883a mov r5,r23
  5358. 44470: 004a7200 call 4a720 <__sprint_r>
  5359. 44474: 103b5c1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5360. 44478: d8c02017 ldw r3,128(sp)
  5361. 4447c: dc401f17 ldw r17,124(sp)
  5362. 44480: dd800404 addi r22,sp,16
  5363. 44484: 003eb506 br 43f5c <__alt_data_end+0xfffd1f5c>
  5364. 44488: d9002d17 ldw r4,180(sp)
  5365. 4448c: d9801e04 addi r6,sp,120
  5366. 44490: b80b883a mov r5,r23
  5367. 44494: 004a7200 call 4a720 <__sprint_r>
  5368. 44498: 103b531e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5369. 4449c: d8c02017 ldw r3,128(sp)
  5370. 444a0: dc401f17 ldw r17,124(sp)
  5371. 444a4: da000404 addi r8,sp,16
  5372. 444a8: 003e8d06 br 43ee0 <__alt_data_end+0xfffd1ee0>
  5373. 444ac: d9002d17 ldw r4,180(sp)
  5374. 444b0: d9801e04 addi r6,sp,120
  5375. 444b4: b80b883a mov r5,r23
  5376. 444b8: 004a7200 call 4a720 <__sprint_r>
  5377. 444bc: 103b4a1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5378. 444c0: d8c02017 ldw r3,128(sp)
  5379. 444c4: dc401f17 ldw r17,124(sp)
  5380. 444c8: dd800404 addi r22,sp,16
  5381. 444cc: 003e8f06 br 43f0c <__alt_data_end+0xfffd1f0c>
  5382. 444d0: 0027883a mov r19,zero
  5383. 444d4: 003f4a06 br 44200 <__alt_data_end+0xfffd2200>
  5384. 444d8: d9002d17 ldw r4,180(sp)
  5385. 444dc: d9801e04 addi r6,sp,120
  5386. 444e0: b80b883a mov r5,r23
  5387. 444e4: 004a7200 call 4a720 <__sprint_r>
  5388. 444e8: 103b3f1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5389. 444ec: d8c02017 ldw r3,128(sp)
  5390. 444f0: da000404 addi r8,sp,16
  5391. 444f4: 003c7b06 br 436e4 <__alt_data_end+0xfffd16e4>
  5392. 444f8: d9402a17 ldw r5,168(sp)
  5393. 444fc: 04e7c83a sub r19,zero,r19
  5394. 44500: 07000b44 movi fp,45
  5395. 44504: 9804c03a cmpne r2,r19,zero
  5396. 44508: 05adc83a sub r22,zero,r22
  5397. 4450c: df002785 stb fp,158(sp)
  5398. 44510: b0adc83a sub r22,r22,r2
  5399. 44514: 28017b16 blt r5,zero,44b04 <___vfprintf_internal_r+0x1d2c>
  5400. 44518: 00bfdfc4 movi r2,-129
  5401. 4451c: 90a4703a and r18,r18,r2
  5402. 44520: 003b8906 br 43348 <__alt_data_end+0xfffd1348>
  5403. 44524: d9003617 ldw r4,216(sp)
  5404. 44528: d9403817 ldw r5,224(sp)
  5405. 4452c: da003d15 stw r8,244(sp)
  5406. 44530: 004a3440 call 4a344 <__fpclassifyd>
  5407. 44534: da003d17 ldw r8,244(sp)
  5408. 44538: 1000f026 beq r2,zero,448fc <___vfprintf_internal_r+0x1b24>
  5409. 4453c: d9002a17 ldw r4,168(sp)
  5410. 44540: 05bff7c4 movi r22,-33
  5411. 44544: 00bfffc4 movi r2,-1
  5412. 44548: 8dac703a and r22,r17,r22
  5413. 4454c: 20820026 beq r4,r2,44d50 <___vfprintf_internal_r+0x1f78>
  5414. 44550: 008011c4 movi r2,71
  5415. 44554: b081f726 beq r22,r2,44d34 <___vfprintf_internal_r+0x1f5c>
  5416. 44558: d9003817 ldw r4,224(sp)
  5417. 4455c: 90c04014 ori r3,r18,256
  5418. 44560: d8c02c15 stw r3,176(sp)
  5419. 44564: 20021516 blt r4,zero,44dbc <___vfprintf_internal_r+0x1fe4>
  5420. 44568: dcc03817 ldw r19,224(sp)
  5421. 4456c: d8002905 stb zero,164(sp)
  5422. 44570: 00801984 movi r2,102
  5423. 44574: 8881f926 beq r17,r2,44d5c <___vfprintf_internal_r+0x1f84>
  5424. 44578: 00801184 movi r2,70
  5425. 4457c: 88821c26 beq r17,r2,44df0 <___vfprintf_internal_r+0x2018>
  5426. 44580: 00801144 movi r2,69
  5427. 44584: b081ef26 beq r22,r2,44d44 <___vfprintf_internal_r+0x1f6c>
  5428. 44588: d8c02a17 ldw r3,168(sp)
  5429. 4458c: d8802104 addi r2,sp,132
  5430. 44590: d8800315 stw r2,12(sp)
  5431. 44594: d9403617 ldw r5,216(sp)
  5432. 44598: d8802504 addi r2,sp,148
  5433. 4459c: d9002d17 ldw r4,180(sp)
  5434. 445a0: d8800215 stw r2,8(sp)
  5435. 445a4: d8802604 addi r2,sp,152
  5436. 445a8: d8c00015 stw r3,0(sp)
  5437. 445ac: d8800115 stw r2,4(sp)
  5438. 445b0: 01c00084 movi r7,2
  5439. 445b4: 980d883a mov r6,r19
  5440. 445b8: d8c03c15 stw r3,240(sp)
  5441. 445bc: da003d15 stw r8,244(sp)
  5442. 445c0: 00455080 call 45508 <_dtoa_r>
  5443. 445c4: 1021883a mov r16,r2
  5444. 445c8: 008019c4 movi r2,103
  5445. 445cc: d8c03c17 ldw r3,240(sp)
  5446. 445d0: da003d17 ldw r8,244(sp)
  5447. 445d4: 88817126 beq r17,r2,44b9c <___vfprintf_internal_r+0x1dc4>
  5448. 445d8: 008011c4 movi r2,71
  5449. 445dc: 88829126 beq r17,r2,45024 <___vfprintf_internal_r+0x224c>
  5450. 445e0: 80f9883a add fp,r16,r3
  5451. 445e4: d9003617 ldw r4,216(sp)
  5452. 445e8: 000d883a mov r6,zero
  5453. 445ec: 000f883a mov r7,zero
  5454. 445f0: 980b883a mov r5,r19
  5455. 445f4: da003d15 stw r8,244(sp)
  5456. 445f8: 004ddd40 call 4ddd4 <__eqdf2>
  5457. 445fc: da003d17 ldw r8,244(sp)
  5458. 44600: 10018d26 beq r2,zero,44c38 <___vfprintf_internal_r+0x1e60>
  5459. 44604: d8802117 ldw r2,132(sp)
  5460. 44608: 1700062e bgeu r2,fp,44624 <___vfprintf_internal_r+0x184c>
  5461. 4460c: 01000c04 movi r4,48
  5462. 44610: 10c00044 addi r3,r2,1
  5463. 44614: d8c02115 stw r3,132(sp)
  5464. 44618: 11000005 stb r4,0(r2)
  5465. 4461c: d8802117 ldw r2,132(sp)
  5466. 44620: 173ffb36 bltu r2,fp,44610 <__alt_data_end+0xfffd2610>
  5467. 44624: 1405c83a sub r2,r2,r16
  5468. 44628: d8803315 stw r2,204(sp)
  5469. 4462c: 008011c4 movi r2,71
  5470. 44630: b0817626 beq r22,r2,44c0c <___vfprintf_internal_r+0x1e34>
  5471. 44634: 00801944 movi r2,101
  5472. 44638: 1442800e bge r2,r17,4503c <___vfprintf_internal_r+0x2264>
  5473. 4463c: d8c02617 ldw r3,152(sp)
  5474. 44640: 00801984 movi r2,102
  5475. 44644: d8c03215 stw r3,200(sp)
  5476. 44648: 8881fe26 beq r17,r2,44e44 <___vfprintf_internal_r+0x206c>
  5477. 4464c: d8c03217 ldw r3,200(sp)
  5478. 44650: d9003317 ldw r4,204(sp)
  5479. 44654: 1901dd16 blt r3,r4,44dcc <___vfprintf_internal_r+0x1ff4>
  5480. 44658: 9480004c andi r18,r18,1
  5481. 4465c: 90022b1e bne r18,zero,44f0c <___vfprintf_internal_r+0x2134>
  5482. 44660: 1805883a mov r2,r3
  5483. 44664: 18028316 blt r3,zero,45074 <___vfprintf_internal_r+0x229c>
  5484. 44668: d8c03217 ldw r3,200(sp)
  5485. 4466c: 044019c4 movi r17,103
  5486. 44670: d8c02b15 stw r3,172(sp)
  5487. 44674: df002907 ldb fp,164(sp)
  5488. 44678: e001531e bne fp,zero,44bc8 <___vfprintf_internal_r+0x1df0>
  5489. 4467c: df002783 ldbu fp,158(sp)
  5490. 44680: d8802915 stw r2,164(sp)
  5491. 44684: dc802c17 ldw r18,176(sp)
  5492. 44688: d8002a15 stw zero,168(sp)
  5493. 4468c: 003baf06 br 4354c <__alt_data_end+0xfffd154c>
  5494. 44690: d8c02e17 ldw r3,184(sp)
  5495. 44694: d9002e17 ldw r4,184(sp)
  5496. 44698: d9402e17 ldw r5,184(sp)
  5497. 4469c: 18c00017 ldw r3,0(r3)
  5498. 446a0: 21000117 ldw r4,4(r4)
  5499. 446a4: 29400204 addi r5,r5,8
  5500. 446a8: d8c03615 stw r3,216(sp)
  5501. 446ac: d9003815 stw r4,224(sp)
  5502. 446b0: d9402e15 stw r5,184(sp)
  5503. 446b4: 003b5006 br 433f8 <__alt_data_end+0xfffd13f8>
  5504. 446b8: ac400007 ldb r17,0(r21)
  5505. 446bc: 003a2806 br 42f60 <__alt_data_end+0xfffd0f60>
  5506. 446c0: 9080100c andi r2,r18,64
  5507. 446c4: 1000a826 beq r2,zero,44968 <___vfprintf_internal_r+0x1b90>
  5508. 446c8: d8c02e17 ldw r3,184(sp)
  5509. 446cc: 002d883a mov r22,zero
  5510. 446d0: 1cc0000b ldhu r19,0(r3)
  5511. 446d4: 18c00104 addi r3,r3,4
  5512. 446d8: d8c02e15 stw r3,184(sp)
  5513. 446dc: 003caf06 br 4399c <__alt_data_end+0xfffd199c>
  5514. 446e0: d9002e17 ldw r4,184(sp)
  5515. 446e4: d9402a17 ldw r5,168(sp)
  5516. 446e8: 002d883a mov r22,zero
  5517. 446ec: 20800104 addi r2,r4,4
  5518. 446f0: 24c00017 ldw r19,0(r4)
  5519. 446f4: 283ebb0e bge r5,zero,441e4 <__alt_data_end+0xfffd21e4>
  5520. 446f8: 003ef106 br 442c0 <__alt_data_end+0xfffd22c0>
  5521. 446fc: 9080040c andi r2,r18,16
  5522. 44700: 1000921e bne r2,zero,4494c <___vfprintf_internal_r+0x1b74>
  5523. 44704: 9480100c andi r18,r18,64
  5524. 44708: 90013926 beq r18,zero,44bf0 <___vfprintf_internal_r+0x1e18>
  5525. 4470c: d9402e17 ldw r5,184(sp)
  5526. 44710: d8c02f17 ldw r3,188(sp)
  5527. 44714: 28800017 ldw r2,0(r5)
  5528. 44718: 29400104 addi r5,r5,4
  5529. 4471c: d9402e15 stw r5,184(sp)
  5530. 44720: 10c0000d sth r3,0(r2)
  5531. 44724: 0039e406 br 42eb8 <__alt_data_end+0xfffd0eb8>
  5532. 44728: 9080100c andi r2,r18,64
  5533. 4472c: 10008026 beq r2,zero,44930 <___vfprintf_internal_r+0x1b58>
  5534. 44730: d8802e17 ldw r2,184(sp)
  5535. 44734: 14c0000f ldh r19,0(r2)
  5536. 44738: 10800104 addi r2,r2,4
  5537. 4473c: d8802e15 stw r2,184(sp)
  5538. 44740: 982dd7fa srai r22,r19,31
  5539. 44744: b005883a mov r2,r22
  5540. 44748: 003af706 br 43328 <__alt_data_end+0xfffd1328>
  5541. 4474c: 9080100c andi r2,r18,64
  5542. 44750: d8002785 stb zero,158(sp)
  5543. 44754: 10008a1e bne r2,zero,44980 <___vfprintf_internal_r+0x1ba8>
  5544. 44758: d9002e17 ldw r4,184(sp)
  5545. 4475c: d9402a17 ldw r5,168(sp)
  5546. 44760: 002d883a mov r22,zero
  5547. 44764: 20800104 addi r2,r4,4
  5548. 44768: 24c00017 ldw r19,0(r4)
  5549. 4476c: 283e4b0e bge r5,zero,4409c <__alt_data_end+0xfffd209c>
  5550. 44770: 9d86b03a or r3,r19,r22
  5551. 44774: d8802e15 stw r2,184(sp)
  5552. 44778: 183e4c1e bne r3,zero,440ac <__alt_data_end+0xfffd20ac>
  5553. 4477c: 0039883a mov fp,zero
  5554. 44780: 0005883a mov r2,zero
  5555. 44784: 003d4006 br 43c88 <__alt_data_end+0xfffd1c88>
  5556. 44788: 01400174 movhi r5,5
  5557. 4478c: 29484e84 addi r5,r5,8506
  5558. 44790: d9402c15 stw r5,176(sp)
  5559. 44794: d9402c17 ldw r5,176(sp)
  5560. 44798: 1c47883a add r3,r3,r17
  5561. 4479c: 10800044 addi r2,r2,1
  5562. 447a0: 41400015 stw r5,0(r8)
  5563. 447a4: 44400115 stw r17,4(r8)
  5564. 447a8: d8c02015 stw r3,128(sp)
  5565. 447ac: d8801f15 stw r2,124(sp)
  5566. 447b0: 010001c4 movi r4,7
  5567. 447b4: 20bec816 blt r4,r2,442d8 <__alt_data_end+0xfffd22d8>
  5568. 447b8: 42000204 addi r8,r8,8
  5569. 447bc: 003ecd06 br 442f4 <__alt_data_end+0xfffd22f4>
  5570. 447c0: d9002a17 ldw r4,168(sp)
  5571. 447c4: d8002785 stb zero,158(sp)
  5572. 447c8: 203d2d16 blt r4,zero,43c80 <__alt_data_end+0xfffd1c80>
  5573. 447cc: 00bfdfc4 movi r2,-129
  5574. 447d0: 90a4703a and r18,r18,r2
  5575. 447d4: 003a6106 br 4315c <__alt_data_end+0xfffd115c>
  5576. 447d8: 01000174 movhi r4,5
  5577. 447dc: 21084e84 addi r4,r4,8506
  5578. 447e0: d9002c15 stw r4,176(sp)
  5579. 447e4: 003bea06 br 43790 <__alt_data_end+0xfffd1790>
  5580. 447e8: d9002d17 ldw r4,180(sp)
  5581. 447ec: d9801e04 addi r6,sp,120
  5582. 447f0: b80b883a mov r5,r23
  5583. 447f4: 004a7200 call 4a720 <__sprint_r>
  5584. 447f8: 103a7b1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5585. 447fc: d8c02017 ldw r3,128(sp)
  5586. 44800: da000404 addi r8,sp,16
  5587. 44804: 003d4106 br 43d0c <__alt_data_end+0xfffd1d0c>
  5588. 44808: d8801f17 ldw r2,124(sp)
  5589. 4480c: 01400174 movhi r5,5
  5590. 44810: 01000044 movi r4,1
  5591. 44814: 18c00044 addi r3,r3,1
  5592. 44818: 10800044 addi r2,r2,1
  5593. 4481c: 29484e04 addi r5,r5,8504
  5594. 44820: 41000115 stw r4,4(r8)
  5595. 44824: 41400015 stw r5,0(r8)
  5596. 44828: d8c02015 stw r3,128(sp)
  5597. 4482c: d8801f15 stw r2,124(sp)
  5598. 44830: 010001c4 movi r4,7
  5599. 44834: 20805c16 blt r4,r2,449a8 <___vfprintf_internal_r+0x1bd0>
  5600. 44838: 42000204 addi r8,r8,8
  5601. 4483c: 8800041e bne r17,zero,44850 <___vfprintf_internal_r+0x1a78>
  5602. 44840: d8803317 ldw r2,204(sp)
  5603. 44844: 1000021e bne r2,zero,44850 <___vfprintf_internal_r+0x1a78>
  5604. 44848: 9080004c andi r2,r18,1
  5605. 4484c: 103be726 beq r2,zero,437ec <__alt_data_end+0xfffd17ec>
  5606. 44850: d9003717 ldw r4,220(sp)
  5607. 44854: d8801f17 ldw r2,124(sp)
  5608. 44858: d9403417 ldw r5,208(sp)
  5609. 4485c: 20c7883a add r3,r4,r3
  5610. 44860: 10800044 addi r2,r2,1
  5611. 44864: 41000115 stw r4,4(r8)
  5612. 44868: 41400015 stw r5,0(r8)
  5613. 4486c: d8c02015 stw r3,128(sp)
  5614. 44870: d8801f15 stw r2,124(sp)
  5615. 44874: 010001c4 movi r4,7
  5616. 44878: 20812116 blt r4,r2,44d00 <___vfprintf_internal_r+0x1f28>
  5617. 4487c: 42000204 addi r8,r8,8
  5618. 44880: 0463c83a sub r17,zero,r17
  5619. 44884: 0440730e bge zero,r17,44a54 <___vfprintf_internal_r+0x1c7c>
  5620. 44888: 05800404 movi r22,16
  5621. 4488c: b440860e bge r22,r17,44aa8 <___vfprintf_internal_r+0x1cd0>
  5622. 44890: 01400174 movhi r5,5
  5623. 44894: 29484e84 addi r5,r5,8506
  5624. 44898: d9402c15 stw r5,176(sp)
  5625. 4489c: 070001c4 movi fp,7
  5626. 448a0: dcc02d17 ldw r19,180(sp)
  5627. 448a4: 00000306 br 448b4 <___vfprintf_internal_r+0x1adc>
  5628. 448a8: 42000204 addi r8,r8,8
  5629. 448ac: 8c7ffc04 addi r17,r17,-16
  5630. 448b0: b440800e bge r22,r17,44ab4 <___vfprintf_internal_r+0x1cdc>
  5631. 448b4: 18c00404 addi r3,r3,16
  5632. 448b8: 10800044 addi r2,r2,1
  5633. 448bc: 45000015 stw r20,0(r8)
  5634. 448c0: 45800115 stw r22,4(r8)
  5635. 448c4: d8c02015 stw r3,128(sp)
  5636. 448c8: d8801f15 stw r2,124(sp)
  5637. 448cc: e0bff60e bge fp,r2,448a8 <__alt_data_end+0xfffd28a8>
  5638. 448d0: d9801e04 addi r6,sp,120
  5639. 448d4: b80b883a mov r5,r23
  5640. 448d8: 9809883a mov r4,r19
  5641. 448dc: 004a7200 call 4a720 <__sprint_r>
  5642. 448e0: 103a411e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5643. 448e4: d8c02017 ldw r3,128(sp)
  5644. 448e8: d8801f17 ldw r2,124(sp)
  5645. 448ec: da000404 addi r8,sp,16
  5646. 448f0: 003fee06 br 448ac <__alt_data_end+0xfffd28ac>
  5647. 448f4: 00bfffc4 movi r2,-1
  5648. 448f8: 003a3f06 br 431f8 <__alt_data_end+0xfffd11f8>
  5649. 448fc: 008011c4 movi r2,71
  5650. 44900: 1440b816 blt r2,r17,44be4 <___vfprintf_internal_r+0x1e0c>
  5651. 44904: 04000174 movhi r16,5
  5652. 44908: 84084004 addi r16,r16,8448
  5653. 4490c: 00c000c4 movi r3,3
  5654. 44910: 00bfdfc4 movi r2,-129
  5655. 44914: d8c02915 stw r3,164(sp)
  5656. 44918: 90a4703a and r18,r18,r2
  5657. 4491c: df002783 ldbu fp,158(sp)
  5658. 44920: d8c02b15 stw r3,172(sp)
  5659. 44924: d8002a15 stw zero,168(sp)
  5660. 44928: d8003215 stw zero,200(sp)
  5661. 4492c: 003b0706 br 4354c <__alt_data_end+0xfffd154c>
  5662. 44930: d8c02e17 ldw r3,184(sp)
  5663. 44934: 1cc00017 ldw r19,0(r3)
  5664. 44938: 18c00104 addi r3,r3,4
  5665. 4493c: d8c02e15 stw r3,184(sp)
  5666. 44940: 982dd7fa srai r22,r19,31
  5667. 44944: b005883a mov r2,r22
  5668. 44948: 003a7706 br 43328 <__alt_data_end+0xfffd1328>
  5669. 4494c: d8c02e17 ldw r3,184(sp)
  5670. 44950: d9002f17 ldw r4,188(sp)
  5671. 44954: 18800017 ldw r2,0(r3)
  5672. 44958: 18c00104 addi r3,r3,4
  5673. 4495c: d8c02e15 stw r3,184(sp)
  5674. 44960: 11000015 stw r4,0(r2)
  5675. 44964: 00395406 br 42eb8 <__alt_data_end+0xfffd0eb8>
  5676. 44968: d9002e17 ldw r4,184(sp)
  5677. 4496c: 002d883a mov r22,zero
  5678. 44970: 24c00017 ldw r19,0(r4)
  5679. 44974: 21000104 addi r4,r4,4
  5680. 44978: d9002e15 stw r4,184(sp)
  5681. 4497c: 003c0706 br 4399c <__alt_data_end+0xfffd199c>
  5682. 44980: d9402e17 ldw r5,184(sp)
  5683. 44984: d8c02a17 ldw r3,168(sp)
  5684. 44988: 002d883a mov r22,zero
  5685. 4498c: 28800104 addi r2,r5,4
  5686. 44990: 2cc0000b ldhu r19,0(r5)
  5687. 44994: 183dc10e bge r3,zero,4409c <__alt_data_end+0xfffd209c>
  5688. 44998: 003f7506 br 44770 <__alt_data_end+0xfffd2770>
  5689. 4499c: 04000174 movhi r16,5
  5690. 449a0: 84083e04 addi r16,r16,8440
  5691. 449a4: 003aa706 br 43444 <__alt_data_end+0xfffd1444>
  5692. 449a8: d9002d17 ldw r4,180(sp)
  5693. 449ac: d9801e04 addi r6,sp,120
  5694. 449b0: b80b883a mov r5,r23
  5695. 449b4: 004a7200 call 4a720 <__sprint_r>
  5696. 449b8: 103a0b1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5697. 449bc: dc402617 ldw r17,152(sp)
  5698. 449c0: d8c02017 ldw r3,128(sp)
  5699. 449c4: da000404 addi r8,sp,16
  5700. 449c8: 003f9c06 br 4483c <__alt_data_end+0xfffd283c>
  5701. 449cc: ac400043 ldbu r17,1(r21)
  5702. 449d0: 84000814 ori r16,r16,32
  5703. 449d4: ad400044 addi r21,r21,1
  5704. 449d8: 8c403fcc andi r17,r17,255
  5705. 449dc: 8c40201c xori r17,r17,128
  5706. 449e0: 8c7fe004 addi r17,r17,-128
  5707. 449e4: 00395e06 br 42f60 <__alt_data_end+0xfffd0f60>
  5708. 449e8: d8c02e15 stw r3,184(sp)
  5709. 449ec: 0039883a mov fp,zero
  5710. 449f0: 003e3506 br 442c8 <__alt_data_end+0xfffd22c8>
  5711. 449f4: d9002d17 ldw r4,180(sp)
  5712. 449f8: d9801e04 addi r6,sp,120
  5713. 449fc: b80b883a mov r5,r23
  5714. 44a00: 004a7200 call 4a720 <__sprint_r>
  5715. 44a04: 1039f81e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5716. 44a08: d8c02017 ldw r3,128(sp)
  5717. 44a0c: da000404 addi r8,sp,16
  5718. 44a10: 003cd006 br 43d54 <__alt_data_end+0xfffd1d54>
  5719. 44a14: 8009883a mov r4,r16
  5720. 44a18: df003d15 stw fp,244(sp)
  5721. 44a1c: 0042d400 call 42d40 <strlen>
  5722. 44a20: d8802b15 stw r2,172(sp)
  5723. 44a24: da003d17 ldw r8,244(sp)
  5724. 44a28: 103c200e bge r2,zero,43aac <__alt_data_end+0xfffd1aac>
  5725. 44a2c: 0005883a mov r2,zero
  5726. 44a30: 003c1e06 br 43aac <__alt_data_end+0xfffd1aac>
  5727. 44a34: d9002d17 ldw r4,180(sp)
  5728. 44a38: d9801e04 addi r6,sp,120
  5729. 44a3c: b80b883a mov r5,r23
  5730. 44a40: 004a7200 call 4a720 <__sprint_r>
  5731. 44a44: 1039e81e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5732. 44a48: d8c02017 ldw r3,128(sp)
  5733. 44a4c: d8801f17 ldw r2,124(sp)
  5734. 44a50: da000404 addi r8,sp,16
  5735. 44a54: d9403317 ldw r5,204(sp)
  5736. 44a58: 10800044 addi r2,r2,1
  5737. 44a5c: 44000015 stw r16,0(r8)
  5738. 44a60: 28c7883a add r3,r5,r3
  5739. 44a64: 003b5b06 br 437d4 <__alt_data_end+0xfffd17d4>
  5740. 44a68: 01000174 movhi r4,5
  5741. 44a6c: 21085284 addi r4,r4,8522
  5742. 44a70: d9003515 stw r4,212(sp)
  5743. 44a74: 003af206 br 43640 <__alt_data_end+0xfffd1640>
  5744. 44a78: 013fffc4 movi r4,-1
  5745. 44a7c: 003a0806 br 432a0 <__alt_data_end+0xfffd12a0>
  5746. 44a80: 0023883a mov r17,zero
  5747. 44a84: 003d9d06 br 440fc <__alt_data_end+0xfffd20fc>
  5748. 44a88: d9002d17 ldw r4,180(sp)
  5749. 44a8c: d9801e04 addi r6,sp,120
  5750. 44a90: b80b883a mov r5,r23
  5751. 44a94: 004a7200 call 4a720 <__sprint_r>
  5752. 44a98: 1039d31e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5753. 44a9c: d8c02017 ldw r3,128(sp)
  5754. 44aa0: da000404 addi r8,sp,16
  5755. 44aa4: 003d9406 br 440f8 <__alt_data_end+0xfffd20f8>
  5756. 44aa8: 01000174 movhi r4,5
  5757. 44aac: 21084e84 addi r4,r4,8506
  5758. 44ab0: d9002c15 stw r4,176(sp)
  5759. 44ab4: d9002c17 ldw r4,176(sp)
  5760. 44ab8: 1c47883a add r3,r3,r17
  5761. 44abc: 10800044 addi r2,r2,1
  5762. 44ac0: 41000015 stw r4,0(r8)
  5763. 44ac4: 44400115 stw r17,4(r8)
  5764. 44ac8: d8c02015 stw r3,128(sp)
  5765. 44acc: d8801f15 stw r2,124(sp)
  5766. 44ad0: 010001c4 movi r4,7
  5767. 44ad4: 20bfd716 blt r4,r2,44a34 <__alt_data_end+0xfffd2a34>
  5768. 44ad8: 42000204 addi r8,r8,8
  5769. 44adc: 003fdd06 br 44a54 <__alt_data_end+0xfffd2a54>
  5770. 44ae0: d9002d17 ldw r4,180(sp)
  5771. 44ae4: d9801e04 addi r6,sp,120
  5772. 44ae8: b80b883a mov r5,r23
  5773. 44aec: 004a7200 call 4a720 <__sprint_r>
  5774. 44af0: 1039bd1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5775. 44af4: d8802617 ldw r2,152(sp)
  5776. 44af8: d8c02017 ldw r3,128(sp)
  5777. 44afc: da000404 addi r8,sp,16
  5778. 44b00: 003e1006 br 44344 <__alt_data_end+0xfffd2344>
  5779. 44b04: 00800044 movi r2,1
  5780. 44b08: 10803fcc andi r2,r2,255
  5781. 44b0c: 00c00044 movi r3,1
  5782. 44b10: 10fa0d26 beq r2,r3,43348 <__alt_data_end+0xfffd1348>
  5783. 44b14: 00c00084 movi r3,2
  5784. 44b18: 10fbaf26 beq r2,r3,439d8 <__alt_data_end+0xfffd19d8>
  5785. 44b1c: 003a6d06 br 434d4 <__alt_data_end+0xfffd14d4>
  5786. 44b20: 01000174 movhi r4,5
  5787. 44b24: 21085284 addi r4,r4,8522
  5788. 44b28: d9003515 stw r4,212(sp)
  5789. 44b2c: 003b5406 br 43880 <__alt_data_end+0xfffd1880>
  5790. 44b30: d8802a17 ldw r2,168(sp)
  5791. 44b34: 00c00184 movi r3,6
  5792. 44b38: 1880012e bgeu r3,r2,44b40 <___vfprintf_internal_r+0x1d68>
  5793. 44b3c: 1805883a mov r2,r3
  5794. 44b40: d8802b15 stw r2,172(sp)
  5795. 44b44: 1000ef16 blt r2,zero,44f04 <___vfprintf_internal_r+0x212c>
  5796. 44b48: 04000174 movhi r16,5
  5797. 44b4c: d8802915 stw r2,164(sp)
  5798. 44b50: dcc02e15 stw r19,184(sp)
  5799. 44b54: d8002a15 stw zero,168(sp)
  5800. 44b58: d8003215 stw zero,200(sp)
  5801. 44b5c: 84084c04 addi r16,r16,8496
  5802. 44b60: 0039883a mov fp,zero
  5803. 44b64: 003a8006 br 43568 <__alt_data_end+0xfffd1568>
  5804. 44b68: 0021883a mov r16,zero
  5805. 44b6c: 003e0706 br 4438c <__alt_data_end+0xfffd238c>
  5806. 44b70: d9002d17 ldw r4,180(sp)
  5807. 44b74: d9801e04 addi r6,sp,120
  5808. 44b78: b80b883a mov r5,r23
  5809. 44b7c: 004a7200 call 4a720 <__sprint_r>
  5810. 44b80: 1039991e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5811. 44b84: d8802617 ldw r2,152(sp)
  5812. 44b88: d9403317 ldw r5,204(sp)
  5813. 44b8c: d8c02017 ldw r3,128(sp)
  5814. 44b90: da000404 addi r8,sp,16
  5815. 44b94: 2885c83a sub r2,r5,r2
  5816. 44b98: 003dfb06 br 44388 <__alt_data_end+0xfffd2388>
  5817. 44b9c: 9080004c andi r2,r18,1
  5818. 44ba0: 103e8f1e bne r2,zero,445e0 <__alt_data_end+0xfffd25e0>
  5819. 44ba4: d8802117 ldw r2,132(sp)
  5820. 44ba8: 003e9e06 br 44624 <__alt_data_end+0xfffd2624>
  5821. 44bac: 1025883a mov r18,r2
  5822. 44bb0: 0039883a mov fp,zero
  5823. 44bb4: 00800084 movi r2,2
  5824. 44bb8: 003fd306 br 44b08 <__alt_data_end+0xfffd2b08>
  5825. 44bbc: 07000b44 movi fp,45
  5826. 44bc0: df002785 stb fp,158(sp)
  5827. 44bc4: 003a1b06 br 43434 <__alt_data_end+0xfffd1434>
  5828. 44bc8: 00c00b44 movi r3,45
  5829. 44bcc: d8c02785 stb r3,158(sp)
  5830. 44bd0: d8802915 stw r2,164(sp)
  5831. 44bd4: dc802c17 ldw r18,176(sp)
  5832. 44bd8: d8002a15 stw zero,168(sp)
  5833. 44bdc: 07000b44 movi fp,45
  5834. 44be0: 003a5e06 br 4355c <__alt_data_end+0xfffd155c>
  5835. 44be4: 04000174 movhi r16,5
  5836. 44be8: 84084104 addi r16,r16,8452
  5837. 44bec: 003f4706 br 4490c <__alt_data_end+0xfffd290c>
  5838. 44bf0: d9002e17 ldw r4,184(sp)
  5839. 44bf4: d9402f17 ldw r5,188(sp)
  5840. 44bf8: 20800017 ldw r2,0(r4)
  5841. 44bfc: 21000104 addi r4,r4,4
  5842. 44c00: d9002e15 stw r4,184(sp)
  5843. 44c04: 11400015 stw r5,0(r2)
  5844. 44c08: 0038ab06 br 42eb8 <__alt_data_end+0xfffd0eb8>
  5845. 44c0c: dd802617 ldw r22,152(sp)
  5846. 44c10: 00bfff44 movi r2,-3
  5847. 44c14: b0801c16 blt r22,r2,44c88 <___vfprintf_internal_r+0x1eb0>
  5848. 44c18: d9402a17 ldw r5,168(sp)
  5849. 44c1c: 2d801a16 blt r5,r22,44c88 <___vfprintf_internal_r+0x1eb0>
  5850. 44c20: dd803215 stw r22,200(sp)
  5851. 44c24: 003e8906 br 4464c <__alt_data_end+0xfffd264c>
  5852. 44c28: 01000174 movhi r4,5
  5853. 44c2c: 21084e84 addi r4,r4,8506
  5854. 44c30: d9002c15 stw r4,176(sp)
  5855. 44c34: 003c9106 br 43e7c <__alt_data_end+0xfffd1e7c>
  5856. 44c38: e005883a mov r2,fp
  5857. 44c3c: 003e7906 br 44624 <__alt_data_end+0xfffd2624>
  5858. 44c40: d9002a17 ldw r4,168(sp)
  5859. 44c44: df002783 ldbu fp,158(sp)
  5860. 44c48: dcc02e15 stw r19,184(sp)
  5861. 44c4c: d9002915 stw r4,164(sp)
  5862. 44c50: d9002b15 stw r4,172(sp)
  5863. 44c54: d8002a15 stw zero,168(sp)
  5864. 44c58: d8003215 stw zero,200(sp)
  5865. 44c5c: 003a3b06 br 4354c <__alt_data_end+0xfffd154c>
  5866. 44c60: 9080004c andi r2,r18,1
  5867. 44c64: 0039883a mov fp,zero
  5868. 44c68: 10000426 beq r2,zero,44c7c <___vfprintf_internal_r+0x1ea4>
  5869. 44c6c: 00800c04 movi r2,48
  5870. 44c70: dc001dc4 addi r16,sp,119
  5871. 44c74: d8801dc5 stb r2,119(sp)
  5872. 44c78: 003b6406 br 43a0c <__alt_data_end+0xfffd1a0c>
  5873. 44c7c: d8002b15 stw zero,172(sp)
  5874. 44c80: dc001e04 addi r16,sp,120
  5875. 44c84: 003a2b06 br 43534 <__alt_data_end+0xfffd1534>
  5876. 44c88: 8c7fff84 addi r17,r17,-2
  5877. 44c8c: b5bfffc4 addi r22,r22,-1
  5878. 44c90: dd802615 stw r22,152(sp)
  5879. 44c94: dc4022c5 stb r17,139(sp)
  5880. 44c98: b000bf16 blt r22,zero,44f98 <___vfprintf_internal_r+0x21c0>
  5881. 44c9c: 00800ac4 movi r2,43
  5882. 44ca0: d8802305 stb r2,140(sp)
  5883. 44ca4: 00800244 movi r2,9
  5884. 44ca8: 15807016 blt r2,r22,44e6c <___vfprintf_internal_r+0x2094>
  5885. 44cac: 00800c04 movi r2,48
  5886. 44cb0: b5800c04 addi r22,r22,48
  5887. 44cb4: d8802345 stb r2,141(sp)
  5888. 44cb8: dd802385 stb r22,142(sp)
  5889. 44cbc: d88023c4 addi r2,sp,143
  5890. 44cc0: df0022c4 addi fp,sp,139
  5891. 44cc4: d8c03317 ldw r3,204(sp)
  5892. 44cc8: 1739c83a sub fp,r2,fp
  5893. 44ccc: d9003317 ldw r4,204(sp)
  5894. 44cd0: e0c7883a add r3,fp,r3
  5895. 44cd4: df003a15 stw fp,232(sp)
  5896. 44cd8: d8c02b15 stw r3,172(sp)
  5897. 44cdc: 00800044 movi r2,1
  5898. 44ce0: 1100b30e bge r2,r4,44fb0 <___vfprintf_internal_r+0x21d8>
  5899. 44ce4: d8c02b17 ldw r3,172(sp)
  5900. 44ce8: 18c00044 addi r3,r3,1
  5901. 44cec: d8c02b15 stw r3,172(sp)
  5902. 44cf0: 1805883a mov r2,r3
  5903. 44cf4: 1800ac16 blt r3,zero,44fa8 <___vfprintf_internal_r+0x21d0>
  5904. 44cf8: d8003215 stw zero,200(sp)
  5905. 44cfc: 003e5d06 br 44674 <__alt_data_end+0xfffd2674>
  5906. 44d00: d9002d17 ldw r4,180(sp)
  5907. 44d04: d9801e04 addi r6,sp,120
  5908. 44d08: b80b883a mov r5,r23
  5909. 44d0c: 004a7200 call 4a720 <__sprint_r>
  5910. 44d10: 1039351e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8>
  5911. 44d14: dc402617 ldw r17,152(sp)
  5912. 44d18: d8c02017 ldw r3,128(sp)
  5913. 44d1c: d8801f17 ldw r2,124(sp)
  5914. 44d20: da000404 addi r8,sp,16
  5915. 44d24: 003ed606 br 44880 <__alt_data_end+0xfffd2880>
  5916. 44d28: 182b883a mov r21,r3
  5917. 44d2c: d8002a15 stw zero,168(sp)
  5918. 44d30: 00388c06 br 42f64 <__alt_data_end+0xfffd0f64>
  5919. 44d34: d8802a17 ldw r2,168(sp)
  5920. 44d38: 103e071e bne r2,zero,44558 <__alt_data_end+0xfffd2558>
  5921. 44d3c: dc002a15 stw r16,168(sp)
  5922. 44d40: 003e0506 br 44558 <__alt_data_end+0xfffd2558>
  5923. 44d44: d9002a17 ldw r4,168(sp)
  5924. 44d48: 20c00044 addi r3,r4,1
  5925. 44d4c: 003e0f06 br 4458c <__alt_data_end+0xfffd258c>
  5926. 44d50: 01400184 movi r5,6
  5927. 44d54: d9402a15 stw r5,168(sp)
  5928. 44d58: 003dff06 br 44558 <__alt_data_end+0xfffd2558>
  5929. 44d5c: d8802104 addi r2,sp,132
  5930. 44d60: d8800315 stw r2,12(sp)
  5931. 44d64: d8802504 addi r2,sp,148
  5932. 44d68: d8800215 stw r2,8(sp)
  5933. 44d6c: d8802604 addi r2,sp,152
  5934. 44d70: d8800115 stw r2,4(sp)
  5935. 44d74: d8802a17 ldw r2,168(sp)
  5936. 44d78: d9403617 ldw r5,216(sp)
  5937. 44d7c: d9002d17 ldw r4,180(sp)
  5938. 44d80: d8800015 stw r2,0(sp)
  5939. 44d84: 01c000c4 movi r7,3
  5940. 44d88: 980d883a mov r6,r19
  5941. 44d8c: da003d15 stw r8,244(sp)
  5942. 44d90: 00455080 call 45508 <_dtoa_r>
  5943. 44d94: d8c02a17 ldw r3,168(sp)
  5944. 44d98: da003d17 ldw r8,244(sp)
  5945. 44d9c: 1021883a mov r16,r2
  5946. 44da0: 10f9883a add fp,r2,r3
  5947. 44da4: 81000007 ldb r4,0(r16)
  5948. 44da8: 00800c04 movi r2,48
  5949. 44dac: 20805e26 beq r4,r2,44f28 <___vfprintf_internal_r+0x2150>
  5950. 44db0: d8c02617 ldw r3,152(sp)
  5951. 44db4: e0f9883a add fp,fp,r3
  5952. 44db8: 003e0a06 br 445e4 <__alt_data_end+0xfffd25e4>
  5953. 44dbc: 00c00b44 movi r3,45
  5954. 44dc0: 24e0003c xorhi r19,r4,32768
  5955. 44dc4: d8c02905 stb r3,164(sp)
  5956. 44dc8: 003de906 br 44570 <__alt_data_end+0xfffd2570>
  5957. 44dcc: d8c03217 ldw r3,200(sp)
  5958. 44dd0: 00c07a0e bge zero,r3,44fbc <___vfprintf_internal_r+0x21e4>
  5959. 44dd4: 00800044 movi r2,1
  5960. 44dd8: d9003317 ldw r4,204(sp)
  5961. 44ddc: 1105883a add r2,r2,r4
  5962. 44de0: d8802b15 stw r2,172(sp)
  5963. 44de4: 10004e16 blt r2,zero,44f20 <___vfprintf_internal_r+0x2148>
  5964. 44de8: 044019c4 movi r17,103
  5965. 44dec: 003e2106 br 44674 <__alt_data_end+0xfffd2674>
  5966. 44df0: d9002a17 ldw r4,168(sp)
  5967. 44df4: d8802104 addi r2,sp,132
  5968. 44df8: d8800315 stw r2,12(sp)
  5969. 44dfc: d9000015 stw r4,0(sp)
  5970. 44e00: d8802504 addi r2,sp,148
  5971. 44e04: d9403617 ldw r5,216(sp)
  5972. 44e08: d9002d17 ldw r4,180(sp)
  5973. 44e0c: d8800215 stw r2,8(sp)
  5974. 44e10: d8802604 addi r2,sp,152
  5975. 44e14: d8800115 stw r2,4(sp)
  5976. 44e18: 01c000c4 movi r7,3
  5977. 44e1c: 980d883a mov r6,r19
  5978. 44e20: da003d15 stw r8,244(sp)
  5979. 44e24: 00455080 call 45508 <_dtoa_r>
  5980. 44e28: d8c02a17 ldw r3,168(sp)
  5981. 44e2c: da003d17 ldw r8,244(sp)
  5982. 44e30: 1021883a mov r16,r2
  5983. 44e34: 00801184 movi r2,70
  5984. 44e38: 80f9883a add fp,r16,r3
  5985. 44e3c: 88bfd926 beq r17,r2,44da4 <__alt_data_end+0xfffd2da4>
  5986. 44e40: 003de806 br 445e4 <__alt_data_end+0xfffd25e4>
  5987. 44e44: d9002a17 ldw r4,168(sp)
  5988. 44e48: 00c04d0e bge zero,r3,44f80 <___vfprintf_internal_r+0x21a8>
  5989. 44e4c: 2000441e bne r4,zero,44f60 <___vfprintf_internal_r+0x2188>
  5990. 44e50: 9480004c andi r18,r18,1
  5991. 44e54: 9000421e bne r18,zero,44f60 <___vfprintf_internal_r+0x2188>
  5992. 44e58: 1805883a mov r2,r3
  5993. 44e5c: 18006f16 blt r3,zero,4501c <___vfprintf_internal_r+0x2244>
  5994. 44e60: d8c03217 ldw r3,200(sp)
  5995. 44e64: d8c02b15 stw r3,172(sp)
  5996. 44e68: 003e0206 br 44674 <__alt_data_end+0xfffd2674>
  5997. 44e6c: df0022c4 addi fp,sp,139
  5998. 44e70: dc002a15 stw r16,168(sp)
  5999. 44e74: 4027883a mov r19,r8
  6000. 44e78: e021883a mov r16,fp
  6001. 44e7c: b009883a mov r4,r22
  6002. 44e80: 01400284 movi r5,10
  6003. 44e84: 004d2ac0 call 4d2ac <__modsi3>
  6004. 44e88: 10800c04 addi r2,r2,48
  6005. 44e8c: 843fffc4 addi r16,r16,-1
  6006. 44e90: b009883a mov r4,r22
  6007. 44e94: 01400284 movi r5,10
  6008. 44e98: 80800005 stb r2,0(r16)
  6009. 44e9c: 004d2280 call 4d228 <__divsi3>
  6010. 44ea0: 102d883a mov r22,r2
  6011. 44ea4: 00800244 movi r2,9
  6012. 44ea8: 15bff416 blt r2,r22,44e7c <__alt_data_end+0xfffd2e7c>
  6013. 44eac: 9811883a mov r8,r19
  6014. 44eb0: b0800c04 addi r2,r22,48
  6015. 44eb4: 8027883a mov r19,r16
  6016. 44eb8: 997fffc4 addi r5,r19,-1
  6017. 44ebc: 98bfffc5 stb r2,-1(r19)
  6018. 44ec0: dc002a17 ldw r16,168(sp)
  6019. 44ec4: 2f006d2e bgeu r5,fp,4507c <___vfprintf_internal_r+0x22a4>
  6020. 44ec8: d9c02384 addi r7,sp,142
  6021. 44ecc: 3ccfc83a sub r7,r7,r19
  6022. 44ed0: d9002344 addi r4,sp,141
  6023. 44ed4: e1cf883a add r7,fp,r7
  6024. 44ed8: 00000106 br 44ee0 <___vfprintf_internal_r+0x2108>
  6025. 44edc: 28800003 ldbu r2,0(r5)
  6026. 44ee0: 20800005 stb r2,0(r4)
  6027. 44ee4: 21000044 addi r4,r4,1
  6028. 44ee8: 29400044 addi r5,r5,1
  6029. 44eec: 393ffb1e bne r7,r4,44edc <__alt_data_end+0xfffd2edc>
  6030. 44ef0: d8802304 addi r2,sp,140
  6031. 44ef4: 14c5c83a sub r2,r2,r19
  6032. 44ef8: d8c02344 addi r3,sp,141
  6033. 44efc: 1885883a add r2,r3,r2
  6034. 44f00: 003f7006 br 44cc4 <__alt_data_end+0xfffd2cc4>
  6035. 44f04: 0005883a mov r2,zero
  6036. 44f08: 003f0f06 br 44b48 <__alt_data_end+0xfffd2b48>
  6037. 44f0c: d8c03217 ldw r3,200(sp)
  6038. 44f10: 18c00044 addi r3,r3,1
  6039. 44f14: d8c02b15 stw r3,172(sp)
  6040. 44f18: 1805883a mov r2,r3
  6041. 44f1c: 183fb20e bge r3,zero,44de8 <__alt_data_end+0xfffd2de8>
  6042. 44f20: 0005883a mov r2,zero
  6043. 44f24: 003fb006 br 44de8 <__alt_data_end+0xfffd2de8>
  6044. 44f28: d9003617 ldw r4,216(sp)
  6045. 44f2c: 000d883a mov r6,zero
  6046. 44f30: 000f883a mov r7,zero
  6047. 44f34: 980b883a mov r5,r19
  6048. 44f38: d8c03c15 stw r3,240(sp)
  6049. 44f3c: da003d15 stw r8,244(sp)
  6050. 44f40: 004ddd40 call 4ddd4 <__eqdf2>
  6051. 44f44: d8c03c17 ldw r3,240(sp)
  6052. 44f48: da003d17 ldw r8,244(sp)
  6053. 44f4c: 103f9826 beq r2,zero,44db0 <__alt_data_end+0xfffd2db0>
  6054. 44f50: 00800044 movi r2,1
  6055. 44f54: 10c7c83a sub r3,r2,r3
  6056. 44f58: d8c02615 stw r3,152(sp)
  6057. 44f5c: 003f9506 br 44db4 <__alt_data_end+0xfffd2db4>
  6058. 44f60: d9002a17 ldw r4,168(sp)
  6059. 44f64: d8c03217 ldw r3,200(sp)
  6060. 44f68: 20800044 addi r2,r4,1
  6061. 44f6c: 1885883a add r2,r3,r2
  6062. 44f70: d8802b15 stw r2,172(sp)
  6063. 44f74: 103dbf0e bge r2,zero,44674 <__alt_data_end+0xfffd2674>
  6064. 44f78: 0005883a mov r2,zero
  6065. 44f7c: 003dbd06 br 44674 <__alt_data_end+0xfffd2674>
  6066. 44f80: 2000201e bne r4,zero,45004 <___vfprintf_internal_r+0x222c>
  6067. 44f84: 9480004c andi r18,r18,1
  6068. 44f88: 90001e1e bne r18,zero,45004 <___vfprintf_internal_r+0x222c>
  6069. 44f8c: 00800044 movi r2,1
  6070. 44f90: d8802b15 stw r2,172(sp)
  6071. 44f94: 003db706 br 44674 <__alt_data_end+0xfffd2674>
  6072. 44f98: 00800b44 movi r2,45
  6073. 44f9c: 05adc83a sub r22,zero,r22
  6074. 44fa0: d8802305 stb r2,140(sp)
  6075. 44fa4: 003f3f06 br 44ca4 <__alt_data_end+0xfffd2ca4>
  6076. 44fa8: 0005883a mov r2,zero
  6077. 44fac: 003f5206 br 44cf8 <__alt_data_end+0xfffd2cf8>
  6078. 44fb0: 90a4703a and r18,r18,r2
  6079. 44fb4: 903f4e26 beq r18,zero,44cf0 <__alt_data_end+0xfffd2cf0>
  6080. 44fb8: 003f4a06 br 44ce4 <__alt_data_end+0xfffd2ce4>
  6081. 44fbc: 00800084 movi r2,2
  6082. 44fc0: 10c5c83a sub r2,r2,r3
  6083. 44fc4: 003f8406 br 44dd8 <__alt_data_end+0xfffd2dd8>
  6084. 44fc8: d9402e17 ldw r5,184(sp)
  6085. 44fcc: d9002e17 ldw r4,184(sp)
  6086. 44fd0: ac400043 ldbu r17,1(r21)
  6087. 44fd4: 29400017 ldw r5,0(r5)
  6088. 44fd8: 20800104 addi r2,r4,4
  6089. 44fdc: d8802e15 stw r2,184(sp)
  6090. 44fe0: d9402a15 stw r5,168(sp)
  6091. 44fe4: 182b883a mov r21,r3
  6092. 44fe8: 283e7b0e bge r5,zero,449d8 <__alt_data_end+0xfffd29d8>
  6093. 44fec: 8c403fcc andi r17,r17,255
  6094. 44ff0: 017fffc4 movi r5,-1
  6095. 44ff4: 8c40201c xori r17,r17,128
  6096. 44ff8: d9402a15 stw r5,168(sp)
  6097. 44ffc: 8c7fe004 addi r17,r17,-128
  6098. 45000: 0037d706 br 42f60 <__alt_data_end+0xfffd0f60>
  6099. 45004: d8c02a17 ldw r3,168(sp)
  6100. 45008: 18c00084 addi r3,r3,2
  6101. 4500c: d8c02b15 stw r3,172(sp)
  6102. 45010: 1805883a mov r2,r3
  6103. 45014: 183d970e bge r3,zero,44674 <__alt_data_end+0xfffd2674>
  6104. 45018: 003fd706 br 44f78 <__alt_data_end+0xfffd2f78>
  6105. 4501c: 0005883a mov r2,zero
  6106. 45020: 003f8f06 br 44e60 <__alt_data_end+0xfffd2e60>
  6107. 45024: 9080004c andi r2,r18,1
  6108. 45028: 103f821e bne r2,zero,44e34 <__alt_data_end+0xfffd2e34>
  6109. 4502c: d8802117 ldw r2,132(sp)
  6110. 45030: 1405c83a sub r2,r2,r16
  6111. 45034: d8803315 stw r2,204(sp)
  6112. 45038: b47ef426 beq r22,r17,44c0c <__alt_data_end+0xfffd2c0c>
  6113. 4503c: dd802617 ldw r22,152(sp)
  6114. 45040: 003f1206 br 44c8c <__alt_data_end+0xfffd2c8c>
  6115. 45044: d8c02b03 ldbu r3,172(sp)
  6116. 45048: d8c02785 stb r3,158(sp)
  6117. 4504c: 0038df06 br 433cc <__alt_data_end+0xfffd13cc>
  6118. 45050: d8c02b03 ldbu r3,172(sp)
  6119. 45054: d8c02785 stb r3,158(sp)
  6120. 45058: 0038aa06 br 43304 <__alt_data_end+0xfffd1304>
  6121. 4505c: d8c02b03 ldbu r3,172(sp)
  6122. 45060: d8c02785 stb r3,158(sp)
  6123. 45064: 003a4306 br 43974 <__alt_data_end+0xfffd1974>
  6124. 45068: d8c02b03 ldbu r3,172(sp)
  6125. 4506c: d8c02785 stb r3,158(sp)
  6126. 45070: 003af506 br 43c48 <__alt_data_end+0xfffd1c48>
  6127. 45074: 0005883a mov r2,zero
  6128. 45078: 003d7b06 br 44668 <__alt_data_end+0xfffd2668>
  6129. 4507c: d8802344 addi r2,sp,141
  6130. 45080: 003f1006 br 44cc4 <__alt_data_end+0xfffd2cc4>
  6131. 45084: d8c02b03 ldbu r3,172(sp)
  6132. 45088: d8c02785 stb r3,158(sp)
  6133. 4508c: 0038fd06 br 43484 <__alt_data_end+0xfffd1484>
  6134. 45090: d8c02b03 ldbu r3,172(sp)
  6135. 45094: d8c02785 stb r3,158(sp)
  6136. 45098: 003a9706 br 43af8 <__alt_data_end+0xfffd1af8>
  6137. 4509c: d8c02b03 ldbu r3,172(sp)
  6138. 450a0: d8c02785 stb r3,158(sp)
  6139. 450a4: 003a1806 br 43908 <__alt_data_end+0xfffd1908>
  6140. 450a8: d8c02b03 ldbu r3,172(sp)
  6141. 450ac: d8c02785 stb r3,158(sp)
  6142. 450b0: 003abe06 br 43bac <__alt_data_end+0xfffd1bac>
  6143. 000450b4 <__vfprintf_internal>:
  6144. 450b4: 00800174 movhi r2,5
  6145. 450b8: 10905304 addi r2,r2,16716
  6146. 450bc: 300f883a mov r7,r6
  6147. 450c0: 280d883a mov r6,r5
  6148. 450c4: 200b883a mov r5,r4
  6149. 450c8: 11000017 ldw r4,0(r2)
  6150. 450cc: 0042dd81 jmpi 42dd8 <___vfprintf_internal_r>
  6151. 000450d0 <__sbprintf>:
  6152. 450d0: 2880030b ldhu r2,12(r5)
  6153. 450d4: 2ac01917 ldw r11,100(r5)
  6154. 450d8: 2a80038b ldhu r10,14(r5)
  6155. 450dc: 2a400717 ldw r9,28(r5)
  6156. 450e0: 2a000917 ldw r8,36(r5)
  6157. 450e4: defee204 addi sp,sp,-1144
  6158. 450e8: 00c10004 movi r3,1024
  6159. 450ec: dc011a15 stw r16,1128(sp)
  6160. 450f0: 10bfff4c andi r2,r2,65533
  6161. 450f4: 2821883a mov r16,r5
  6162. 450f8: d8cb883a add r5,sp,r3
  6163. 450fc: dc811c15 stw r18,1136(sp)
  6164. 45100: dc411b15 stw r17,1132(sp)
  6165. 45104: dfc11d15 stw ra,1140(sp)
  6166. 45108: 2025883a mov r18,r4
  6167. 4510c: d881030d sth r2,1036(sp)
  6168. 45110: dac11915 stw r11,1124(sp)
  6169. 45114: da81038d sth r10,1038(sp)
  6170. 45118: da410715 stw r9,1052(sp)
  6171. 4511c: da010915 stw r8,1060(sp)
  6172. 45120: dec10015 stw sp,1024(sp)
  6173. 45124: dec10415 stw sp,1040(sp)
  6174. 45128: d8c10215 stw r3,1032(sp)
  6175. 4512c: d8c10515 stw r3,1044(sp)
  6176. 45130: d8010615 stw zero,1048(sp)
  6177. 45134: 0042dd80 call 42dd8 <___vfprintf_internal_r>
  6178. 45138: 1023883a mov r17,r2
  6179. 4513c: 10000416 blt r2,zero,45150 <__sbprintf+0x80>
  6180. 45140: d9410004 addi r5,sp,1024
  6181. 45144: 9009883a mov r4,r18
  6182. 45148: 0046dac0 call 46dac <_fflush_r>
  6183. 4514c: 10000d1e bne r2,zero,45184 <__sbprintf+0xb4>
  6184. 45150: d881030b ldhu r2,1036(sp)
  6185. 45154: 1080100c andi r2,r2,64
  6186. 45158: 10000326 beq r2,zero,45168 <__sbprintf+0x98>
  6187. 4515c: 8080030b ldhu r2,12(r16)
  6188. 45160: 10801014 ori r2,r2,64
  6189. 45164: 8080030d sth r2,12(r16)
  6190. 45168: 8805883a mov r2,r17
  6191. 4516c: dfc11d17 ldw ra,1140(sp)
  6192. 45170: dc811c17 ldw r18,1136(sp)
  6193. 45174: dc411b17 ldw r17,1132(sp)
  6194. 45178: dc011a17 ldw r16,1128(sp)
  6195. 4517c: dec11e04 addi sp,sp,1144
  6196. 45180: f800283a ret
  6197. 45184: 047fffc4 movi r17,-1
  6198. 45188: 003ff106 br 45150 <__alt_data_end+0xfffd3150>
  6199. 0004518c <__swsetup_r>:
  6200. 4518c: 00800174 movhi r2,5
  6201. 45190: defffd04 addi sp,sp,-12
  6202. 45194: 10905304 addi r2,r2,16716
  6203. 45198: dc400115 stw r17,4(sp)
  6204. 4519c: 2023883a mov r17,r4
  6205. 451a0: 11000017 ldw r4,0(r2)
  6206. 451a4: dc000015 stw r16,0(sp)
  6207. 451a8: dfc00215 stw ra,8(sp)
  6208. 451ac: 2821883a mov r16,r5
  6209. 451b0: 20000226 beq r4,zero,451bc <__swsetup_r+0x30>
  6210. 451b4: 20800e17 ldw r2,56(r4)
  6211. 451b8: 10003126 beq r2,zero,45280 <__swsetup_r+0xf4>
  6212. 451bc: 8080030b ldhu r2,12(r16)
  6213. 451c0: 10c0020c andi r3,r2,8
  6214. 451c4: 1009883a mov r4,r2
  6215. 451c8: 18000f26 beq r3,zero,45208 <__swsetup_r+0x7c>
  6216. 451cc: 80c00417 ldw r3,16(r16)
  6217. 451d0: 18001526 beq r3,zero,45228 <__swsetup_r+0x9c>
  6218. 451d4: 1100004c andi r4,r2,1
  6219. 451d8: 20001c1e bne r4,zero,4524c <__swsetup_r+0xc0>
  6220. 451dc: 1080008c andi r2,r2,2
  6221. 451e0: 1000291e bne r2,zero,45288 <__swsetup_r+0xfc>
  6222. 451e4: 80800517 ldw r2,20(r16)
  6223. 451e8: 80800215 stw r2,8(r16)
  6224. 451ec: 18001c26 beq r3,zero,45260 <__swsetup_r+0xd4>
  6225. 451f0: 0005883a mov r2,zero
  6226. 451f4: dfc00217 ldw ra,8(sp)
  6227. 451f8: dc400117 ldw r17,4(sp)
  6228. 451fc: dc000017 ldw r16,0(sp)
  6229. 45200: dec00304 addi sp,sp,12
  6230. 45204: f800283a ret
  6231. 45208: 2080040c andi r2,r4,16
  6232. 4520c: 10002e26 beq r2,zero,452c8 <__swsetup_r+0x13c>
  6233. 45210: 2080010c andi r2,r4,4
  6234. 45214: 10001e1e bne r2,zero,45290 <__swsetup_r+0x104>
  6235. 45218: 80c00417 ldw r3,16(r16)
  6236. 4521c: 20800214 ori r2,r4,8
  6237. 45220: 8080030d sth r2,12(r16)
  6238. 45224: 183feb1e bne r3,zero,451d4 <__alt_data_end+0xfffd31d4>
  6239. 45228: 1100a00c andi r4,r2,640
  6240. 4522c: 01408004 movi r5,512
  6241. 45230: 217fe826 beq r4,r5,451d4 <__alt_data_end+0xfffd31d4>
  6242. 45234: 800b883a mov r5,r16
  6243. 45238: 8809883a mov r4,r17
  6244. 4523c: 0047d480 call 47d48 <__smakebuf_r>
  6245. 45240: 8080030b ldhu r2,12(r16)
  6246. 45244: 80c00417 ldw r3,16(r16)
  6247. 45248: 003fe206 br 451d4 <__alt_data_end+0xfffd31d4>
  6248. 4524c: 80800517 ldw r2,20(r16)
  6249. 45250: 80000215 stw zero,8(r16)
  6250. 45254: 0085c83a sub r2,zero,r2
  6251. 45258: 80800615 stw r2,24(r16)
  6252. 4525c: 183fe41e bne r3,zero,451f0 <__alt_data_end+0xfffd31f0>
  6253. 45260: 80c0030b ldhu r3,12(r16)
  6254. 45264: 0005883a mov r2,zero
  6255. 45268: 1900200c andi r4,r3,128
  6256. 4526c: 203fe126 beq r4,zero,451f4 <__alt_data_end+0xfffd31f4>
  6257. 45270: 18c01014 ori r3,r3,64
  6258. 45274: 80c0030d sth r3,12(r16)
  6259. 45278: 00bfffc4 movi r2,-1
  6260. 4527c: 003fdd06 br 451f4 <__alt_data_end+0xfffd31f4>
  6261. 45280: 00471980 call 47198 <__sinit>
  6262. 45284: 003fcd06 br 451bc <__alt_data_end+0xfffd31bc>
  6263. 45288: 0005883a mov r2,zero
  6264. 4528c: 003fd606 br 451e8 <__alt_data_end+0xfffd31e8>
  6265. 45290: 81400c17 ldw r5,48(r16)
  6266. 45294: 28000626 beq r5,zero,452b0 <__swsetup_r+0x124>
  6267. 45298: 80801004 addi r2,r16,64
  6268. 4529c: 28800326 beq r5,r2,452ac <__swsetup_r+0x120>
  6269. 452a0: 8809883a mov r4,r17
  6270. 452a4: 004730c0 call 4730c <_free_r>
  6271. 452a8: 8100030b ldhu r4,12(r16)
  6272. 452ac: 80000c15 stw zero,48(r16)
  6273. 452b0: 80c00417 ldw r3,16(r16)
  6274. 452b4: 00bff6c4 movi r2,-37
  6275. 452b8: 1108703a and r4,r2,r4
  6276. 452bc: 80000115 stw zero,4(r16)
  6277. 452c0: 80c00015 stw r3,0(r16)
  6278. 452c4: 003fd506 br 4521c <__alt_data_end+0xfffd321c>
  6279. 452c8: 00800244 movi r2,9
  6280. 452cc: 88800015 stw r2,0(r17)
  6281. 452d0: 20801014 ori r2,r4,64
  6282. 452d4: 8080030d sth r2,12(r16)
  6283. 452d8: 00bfffc4 movi r2,-1
  6284. 452dc: 003fc506 br 451f4 <__alt_data_end+0xfffd31f4>
  6285. 000452e0 <quorem>:
  6286. 452e0: defff204 addi sp,sp,-56
  6287. 452e4: ddc00b15 stw r23,44(sp)
  6288. 452e8: 20800417 ldw r2,16(r4)
  6289. 452ec: 2dc00417 ldw r23,16(r5)
  6290. 452f0: dfc00d15 stw ra,52(sp)
  6291. 452f4: df000c15 stw fp,48(sp)
  6292. 452f8: dd800a15 stw r22,40(sp)
  6293. 452fc: dd400915 stw r21,36(sp)
  6294. 45300: dd000815 stw r20,32(sp)
  6295. 45304: dcc00715 stw r19,28(sp)
  6296. 45308: dc800615 stw r18,24(sp)
  6297. 4530c: dc400515 stw r17,20(sp)
  6298. 45310: dc000415 stw r16,16(sp)
  6299. 45314: 15c07a16 blt r2,r23,45500 <quorem+0x220>
  6300. 45318: bdffffc4 addi r23,r23,-1
  6301. 4531c: bde9883a add r20,r23,r23
  6302. 45320: 28c00504 addi r3,r5,20
  6303. 45324: a529883a add r20,r20,r20
  6304. 45328: 1d39883a add fp,r3,r20
  6305. 4532c: 24c00504 addi r19,r4,20
  6306. 45330: d9400215 stw r5,8(sp)
  6307. 45334: 9d29883a add r20,r19,r20
  6308. 45338: e1400017 ldw r5,0(fp)
  6309. 4533c: d9000015 stw r4,0(sp)
  6310. 45340: a1000017 ldw r4,0(r20)
  6311. 45344: 29400044 addi r5,r5,1
  6312. 45348: d8c00115 stw r3,4(sp)
  6313. 4534c: dd000315 stw r20,12(sp)
  6314. 45350: 004d3200 call 4d320 <__udivsi3>
  6315. 45354: 1025883a mov r18,r2
  6316. 45358: 10003026 beq r2,zero,4541c <quorem+0x13c>
  6317. 4535c: dc400117 ldw r17,4(sp)
  6318. 45360: 9829883a mov r20,r19
  6319. 45364: 002d883a mov r22,zero
  6320. 45368: 0021883a mov r16,zero
  6321. 4536c: 8d400017 ldw r21,0(r17)
  6322. 45370: 900b883a mov r5,r18
  6323. 45374: 8c400104 addi r17,r17,4
  6324. 45378: a93fffcc andi r4,r21,65535
  6325. 4537c: 004d3dc0 call 4d3dc <__mulsi3>
  6326. 45380: a808d43a srli r4,r21,16
  6327. 45384: 900b883a mov r5,r18
  6328. 45388: 15ad883a add r22,r2,r22
  6329. 4538c: 004d3dc0 call 4d3dc <__mulsi3>
  6330. 45390: a1000017 ldw r4,0(r20)
  6331. 45394: b00cd43a srli r6,r22,16
  6332. 45398: b0ffffcc andi r3,r22,65535
  6333. 4539c: 217fffcc andi r5,r4,65535
  6334. 453a0: 2c21883a add r16,r5,r16
  6335. 453a4: 80c7c83a sub r3,r16,r3
  6336. 453a8: 2008d43a srli r4,r4,16
  6337. 453ac: 1185883a add r2,r2,r6
  6338. 453b0: 1821d43a srai r16,r3,16
  6339. 453b4: 117fffcc andi r5,r2,65535
  6340. 453b8: 2149c83a sub r4,r4,r5
  6341. 453bc: 2421883a add r16,r4,r16
  6342. 453c0: 8008943a slli r4,r16,16
  6343. 453c4: 18ffffcc andi r3,r3,65535
  6344. 453c8: 102cd43a srli r22,r2,16
  6345. 453cc: 20c8b03a or r4,r4,r3
  6346. 453d0: a1000015 stw r4,0(r20)
  6347. 453d4: 8021d43a srai r16,r16,16
  6348. 453d8: a5000104 addi r20,r20,4
  6349. 453dc: e47fe32e bgeu fp,r17,4536c <__alt_data_end+0xfffd336c>
  6350. 453e0: d8c00317 ldw r3,12(sp)
  6351. 453e4: 18800017 ldw r2,0(r3)
  6352. 453e8: 10000c1e bne r2,zero,4541c <quorem+0x13c>
  6353. 453ec: 18bfff04 addi r2,r3,-4
  6354. 453f0: 9880082e bgeu r19,r2,45414 <quorem+0x134>
  6355. 453f4: 18ffff17 ldw r3,-4(r3)
  6356. 453f8: 18000326 beq r3,zero,45408 <quorem+0x128>
  6357. 453fc: 00000506 br 45414 <quorem+0x134>
  6358. 45400: 10c00017 ldw r3,0(r2)
  6359. 45404: 1800031e bne r3,zero,45414 <quorem+0x134>
  6360. 45408: 10bfff04 addi r2,r2,-4
  6361. 4540c: bdffffc4 addi r23,r23,-1
  6362. 45410: 98bffb36 bltu r19,r2,45400 <__alt_data_end+0xfffd3400>
  6363. 45414: d8c00017 ldw r3,0(sp)
  6364. 45418: 1dc00415 stw r23,16(r3)
  6365. 4541c: d9400217 ldw r5,8(sp)
  6366. 45420: d9000017 ldw r4,0(sp)
  6367. 45424: 00495440 call 49544 <__mcmp>
  6368. 45428: 10002816 blt r2,zero,454cc <quorem+0x1ec>
  6369. 4542c: dc400117 ldw r17,4(sp)
  6370. 45430: 94800044 addi r18,r18,1
  6371. 45434: 980d883a mov r6,r19
  6372. 45438: 0007883a mov r3,zero
  6373. 4543c: 31000017 ldw r4,0(r6)
  6374. 45440: 89400017 ldw r5,0(r17)
  6375. 45444: 31800104 addi r6,r6,4
  6376. 45448: 20bfffcc andi r2,r4,65535
  6377. 4544c: 10c7883a add r3,r2,r3
  6378. 45450: 28bfffcc andi r2,r5,65535
  6379. 45454: 1885c83a sub r2,r3,r2
  6380. 45458: 280ad43a srli r5,r5,16
  6381. 4545c: 2008d43a srli r4,r4,16
  6382. 45460: 1007d43a srai r3,r2,16
  6383. 45464: 10bfffcc andi r2,r2,65535
  6384. 45468: 2149c83a sub r4,r4,r5
  6385. 4546c: 20c9883a add r4,r4,r3
  6386. 45470: 200a943a slli r5,r4,16
  6387. 45474: 8c400104 addi r17,r17,4
  6388. 45478: 2007d43a srai r3,r4,16
  6389. 4547c: 2884b03a or r2,r5,r2
  6390. 45480: 30bfff15 stw r2,-4(r6)
  6391. 45484: e47fed2e bgeu fp,r17,4543c <__alt_data_end+0xfffd343c>
  6392. 45488: bdc5883a add r2,r23,r23
  6393. 4548c: 1085883a add r2,r2,r2
  6394. 45490: 9887883a add r3,r19,r2
  6395. 45494: 18800017 ldw r2,0(r3)
  6396. 45498: 10000c1e bne r2,zero,454cc <quorem+0x1ec>
  6397. 4549c: 18bfff04 addi r2,r3,-4
  6398. 454a0: 9880082e bgeu r19,r2,454c4 <quorem+0x1e4>
  6399. 454a4: 18ffff17 ldw r3,-4(r3)
  6400. 454a8: 18000326 beq r3,zero,454b8 <quorem+0x1d8>
  6401. 454ac: 00000506 br 454c4 <quorem+0x1e4>
  6402. 454b0: 10c00017 ldw r3,0(r2)
  6403. 454b4: 1800031e bne r3,zero,454c4 <quorem+0x1e4>
  6404. 454b8: 10bfff04 addi r2,r2,-4
  6405. 454bc: bdffffc4 addi r23,r23,-1
  6406. 454c0: 98bffb36 bltu r19,r2,454b0 <__alt_data_end+0xfffd34b0>
  6407. 454c4: d8c00017 ldw r3,0(sp)
  6408. 454c8: 1dc00415 stw r23,16(r3)
  6409. 454cc: 9005883a mov r2,r18
  6410. 454d0: dfc00d17 ldw ra,52(sp)
  6411. 454d4: df000c17 ldw fp,48(sp)
  6412. 454d8: ddc00b17 ldw r23,44(sp)
  6413. 454dc: dd800a17 ldw r22,40(sp)
  6414. 454e0: dd400917 ldw r21,36(sp)
  6415. 454e4: dd000817 ldw r20,32(sp)
  6416. 454e8: dcc00717 ldw r19,28(sp)
  6417. 454ec: dc800617 ldw r18,24(sp)
  6418. 454f0: dc400517 ldw r17,20(sp)
  6419. 454f4: dc000417 ldw r16,16(sp)
  6420. 454f8: dec00e04 addi sp,sp,56
  6421. 454fc: f800283a ret
  6422. 45500: 0005883a mov r2,zero
  6423. 45504: 003ff206 br 454d0 <__alt_data_end+0xfffd34d0>
  6424. 00045508 <_dtoa_r>:
  6425. 45508: 20801017 ldw r2,64(r4)
  6426. 4550c: deffde04 addi sp,sp,-136
  6427. 45510: df002015 stw fp,128(sp)
  6428. 45514: dcc01b15 stw r19,108(sp)
  6429. 45518: dc801a15 stw r18,104(sp)
  6430. 4551c: dc401915 stw r17,100(sp)
  6431. 45520: dc001815 stw r16,96(sp)
  6432. 45524: dfc02115 stw ra,132(sp)
  6433. 45528: ddc01f15 stw r23,124(sp)
  6434. 4552c: dd801e15 stw r22,120(sp)
  6435. 45530: dd401d15 stw r21,116(sp)
  6436. 45534: dd001c15 stw r20,112(sp)
  6437. 45538: d9c00315 stw r7,12(sp)
  6438. 4553c: 2039883a mov fp,r4
  6439. 45540: 3023883a mov r17,r6
  6440. 45544: 2825883a mov r18,r5
  6441. 45548: dc002417 ldw r16,144(sp)
  6442. 4554c: 3027883a mov r19,r6
  6443. 45550: 10000826 beq r2,zero,45574 <_dtoa_r+0x6c>
  6444. 45554: 21801117 ldw r6,68(r4)
  6445. 45558: 00c00044 movi r3,1
  6446. 4555c: 100b883a mov r5,r2
  6447. 45560: 1986983a sll r3,r3,r6
  6448. 45564: 11800115 stw r6,4(r2)
  6449. 45568: 10c00215 stw r3,8(r2)
  6450. 4556c: 0048c680 call 48c68 <_Bfree>
  6451. 45570: e0001015 stw zero,64(fp)
  6452. 45574: 88002e16 blt r17,zero,45630 <_dtoa_r+0x128>
  6453. 45578: 80000015 stw zero,0(r16)
  6454. 4557c: 889ffc2c andhi r2,r17,32752
  6455. 45580: 00dffc34 movhi r3,32752
  6456. 45584: 10c01c26 beq r2,r3,455f8 <_dtoa_r+0xf0>
  6457. 45588: 000d883a mov r6,zero
  6458. 4558c: 000f883a mov r7,zero
  6459. 45590: 9009883a mov r4,r18
  6460. 45594: 980b883a mov r5,r19
  6461. 45598: 004ddd40 call 4ddd4 <__eqdf2>
  6462. 4559c: 10002b1e bne r2,zero,4564c <_dtoa_r+0x144>
  6463. 455a0: d9c02317 ldw r7,140(sp)
  6464. 455a4: 00800044 movi r2,1
  6465. 455a8: 38800015 stw r2,0(r7)
  6466. 455ac: d8802517 ldw r2,148(sp)
  6467. 455b0: 10019e26 beq r2,zero,45c2c <_dtoa_r+0x724>
  6468. 455b4: d8c02517 ldw r3,148(sp)
  6469. 455b8: 00800174 movhi r2,5
  6470. 455bc: 10884e44 addi r2,r2,8505
  6471. 455c0: 18800015 stw r2,0(r3)
  6472. 455c4: 10bfffc4 addi r2,r2,-1
  6473. 455c8: dfc02117 ldw ra,132(sp)
  6474. 455cc: df002017 ldw fp,128(sp)
  6475. 455d0: ddc01f17 ldw r23,124(sp)
  6476. 455d4: dd801e17 ldw r22,120(sp)
  6477. 455d8: dd401d17 ldw r21,116(sp)
  6478. 455dc: dd001c17 ldw r20,112(sp)
  6479. 455e0: dcc01b17 ldw r19,108(sp)
  6480. 455e4: dc801a17 ldw r18,104(sp)
  6481. 455e8: dc401917 ldw r17,100(sp)
  6482. 455ec: dc001817 ldw r16,96(sp)
  6483. 455f0: dec02204 addi sp,sp,136
  6484. 455f4: f800283a ret
  6485. 455f8: d8c02317 ldw r3,140(sp)
  6486. 455fc: 0089c3c4 movi r2,9999
  6487. 45600: 18800015 stw r2,0(r3)
  6488. 45604: 90017726 beq r18,zero,45be4 <_dtoa_r+0x6dc>
  6489. 45608: 00800174 movhi r2,5
  6490. 4560c: 10885a04 addi r2,r2,8552
  6491. 45610: d9002517 ldw r4,148(sp)
  6492. 45614: 203fec26 beq r4,zero,455c8 <__alt_data_end+0xfffd35c8>
  6493. 45618: 10c000c7 ldb r3,3(r2)
  6494. 4561c: 1801781e bne r3,zero,45c00 <_dtoa_r+0x6f8>
  6495. 45620: 10c000c4 addi r3,r2,3
  6496. 45624: d9802517 ldw r6,148(sp)
  6497. 45628: 30c00015 stw r3,0(r6)
  6498. 4562c: 003fe606 br 455c8 <__alt_data_end+0xfffd35c8>
  6499. 45630: 04e00034 movhi r19,32768
  6500. 45634: 9cffffc4 addi r19,r19,-1
  6501. 45638: 00800044 movi r2,1
  6502. 4563c: 8ce6703a and r19,r17,r19
  6503. 45640: 80800015 stw r2,0(r16)
  6504. 45644: 9823883a mov r17,r19
  6505. 45648: 003fcc06 br 4557c <__alt_data_end+0xfffd357c>
  6506. 4564c: d8800204 addi r2,sp,8
  6507. 45650: d8800015 stw r2,0(sp)
  6508. 45654: d9c00104 addi r7,sp,4
  6509. 45658: 900b883a mov r5,r18
  6510. 4565c: 980d883a mov r6,r19
  6511. 45660: e009883a mov r4,fp
  6512. 45664: 8820d53a srli r16,r17,20
  6513. 45668: 00499100 call 49910 <__d2b>
  6514. 4566c: d8800915 stw r2,36(sp)
  6515. 45670: 8001651e bne r16,zero,45c08 <_dtoa_r+0x700>
  6516. 45674: dd800217 ldw r22,8(sp)
  6517. 45678: dc000117 ldw r16,4(sp)
  6518. 4567c: 00800804 movi r2,32
  6519. 45680: b421883a add r16,r22,r16
  6520. 45684: 80c10c84 addi r3,r16,1074
  6521. 45688: 10c2d10e bge r2,r3,461d0 <_dtoa_r+0xcc8>
  6522. 4568c: 00801004 movi r2,64
  6523. 45690: 81010484 addi r4,r16,1042
  6524. 45694: 10c7c83a sub r3,r2,r3
  6525. 45698: 9108d83a srl r4,r18,r4
  6526. 4569c: 88e2983a sll r17,r17,r3
  6527. 456a0: 2448b03a or r4,r4,r17
  6528. 456a4: 004e6c80 call 4e6c8 <__floatunsidf>
  6529. 456a8: 017f8434 movhi r5,65040
  6530. 456ac: 01800044 movi r6,1
  6531. 456b0: 1009883a mov r4,r2
  6532. 456b4: 194b883a add r5,r3,r5
  6533. 456b8: 843fffc4 addi r16,r16,-1
  6534. 456bc: d9801115 stw r6,68(sp)
  6535. 456c0: 000d883a mov r6,zero
  6536. 456c4: 01cffe34 movhi r7,16376
  6537. 456c8: 00420140 call 42014 <__subdf3>
  6538. 456cc: 0198dbf4 movhi r6,25455
  6539. 456d0: 01cff4f4 movhi r7,16339
  6540. 456d4: 3190d844 addi r6,r6,17249
  6541. 456d8: 39e1e9c4 addi r7,r7,-30809
  6542. 456dc: 1009883a mov r4,r2
  6543. 456e0: 180b883a mov r5,r3
  6544. 456e4: 004de5c0 call 4de5c <__muldf3>
  6545. 456e8: 01a2d874 movhi r6,35681
  6546. 456ec: 01cff1f4 movhi r7,16327
  6547. 456f0: 31b22cc4 addi r6,r6,-14157
  6548. 456f4: 39e28a04 addi r7,r7,-30168
  6549. 456f8: 180b883a mov r5,r3
  6550. 456fc: 1009883a mov r4,r2
  6551. 45700: 00415980 call 41598 <__adddf3>
  6552. 45704: 8009883a mov r4,r16
  6553. 45708: 1029883a mov r20,r2
  6554. 4570c: 1823883a mov r17,r3
  6555. 45710: 00429900 call 42990 <__floatsidf>
  6556. 45714: 019427f4 movhi r6,20639
  6557. 45718: 01cff4f4 movhi r7,16339
  6558. 4571c: 319e7ec4 addi r6,r6,31227
  6559. 45720: 39d104c4 addi r7,r7,17427
  6560. 45724: 1009883a mov r4,r2
  6561. 45728: 180b883a mov r5,r3
  6562. 4572c: 004de5c0 call 4de5c <__muldf3>
  6563. 45730: 100d883a mov r6,r2
  6564. 45734: 180f883a mov r7,r3
  6565. 45738: a009883a mov r4,r20
  6566. 4573c: 880b883a mov r5,r17
  6567. 45740: 00415980 call 41598 <__adddf3>
  6568. 45744: 1009883a mov r4,r2
  6569. 45748: 180b883a mov r5,r3
  6570. 4574c: 1029883a mov r20,r2
  6571. 45750: 1823883a mov r17,r3
  6572. 45754: 00429100 call 42910 <__fixdfsi>
  6573. 45758: 000d883a mov r6,zero
  6574. 4575c: 000f883a mov r7,zero
  6575. 45760: a009883a mov r4,r20
  6576. 45764: 880b883a mov r5,r17
  6577. 45768: d8800515 stw r2,20(sp)
  6578. 4576c: 0041f200 call 41f20 <__ledf2>
  6579. 45770: 10028716 blt r2,zero,46190 <_dtoa_r+0xc88>
  6580. 45774: d8c00517 ldw r3,20(sp)
  6581. 45778: 00800584 movi r2,22
  6582. 4577c: 10c27536 bltu r2,r3,46154 <_dtoa_r+0xc4c>
  6583. 45780: 180490fa slli r2,r3,3
  6584. 45784: 00c00174 movhi r3,5
  6585. 45788: 18c87604 addi r3,r3,8664
  6586. 4578c: 1885883a add r2,r3,r2
  6587. 45790: 11000017 ldw r4,0(r2)
  6588. 45794: 11400117 ldw r5,4(r2)
  6589. 45798: 900d883a mov r6,r18
  6590. 4579c: 980f883a mov r7,r19
  6591. 457a0: 0041e440 call 41e44 <__gedf2>
  6592. 457a4: 00828d0e bge zero,r2,461dc <_dtoa_r+0xcd4>
  6593. 457a8: d9000517 ldw r4,20(sp)
  6594. 457ac: d8000e15 stw zero,56(sp)
  6595. 457b0: 213fffc4 addi r4,r4,-1
  6596. 457b4: d9000515 stw r4,20(sp)
  6597. 457b8: b42dc83a sub r22,r22,r16
  6598. 457bc: b5bfffc4 addi r22,r22,-1
  6599. 457c0: b0026f16 blt r22,zero,46180 <_dtoa_r+0xc78>
  6600. 457c4: d8000815 stw zero,32(sp)
  6601. 457c8: d9c00517 ldw r7,20(sp)
  6602. 457cc: 38026416 blt r7,zero,46160 <_dtoa_r+0xc58>
  6603. 457d0: b1ed883a add r22,r22,r7
  6604. 457d4: d9c00d15 stw r7,52(sp)
  6605. 457d8: d8000a15 stw zero,40(sp)
  6606. 457dc: d9800317 ldw r6,12(sp)
  6607. 457e0: 00800244 movi r2,9
  6608. 457e4: 11811436 bltu r2,r6,45c38 <_dtoa_r+0x730>
  6609. 457e8: 00800144 movi r2,5
  6610. 457ec: 1184e10e bge r2,r6,46b74 <_dtoa_r+0x166c>
  6611. 457f0: 31bfff04 addi r6,r6,-4
  6612. 457f4: d9800315 stw r6,12(sp)
  6613. 457f8: 0023883a mov r17,zero
  6614. 457fc: d9800317 ldw r6,12(sp)
  6615. 45800: 008000c4 movi r2,3
  6616. 45804: 30836726 beq r6,r2,465a4 <_dtoa_r+0x109c>
  6617. 45808: 1183410e bge r2,r6,46510 <_dtoa_r+0x1008>
  6618. 4580c: d9c00317 ldw r7,12(sp)
  6619. 45810: 00800104 movi r2,4
  6620. 45814: 38827c26 beq r7,r2,46208 <_dtoa_r+0xd00>
  6621. 45818: 00800144 movi r2,5
  6622. 4581c: 3884c41e bne r7,r2,46b30 <_dtoa_r+0x1628>
  6623. 45820: 00800044 movi r2,1
  6624. 45824: d8800b15 stw r2,44(sp)
  6625. 45828: d8c00517 ldw r3,20(sp)
  6626. 4582c: d9002217 ldw r4,136(sp)
  6627. 45830: 1907883a add r3,r3,r4
  6628. 45834: 19800044 addi r6,r3,1
  6629. 45838: d8c00c15 stw r3,48(sp)
  6630. 4583c: d9800615 stw r6,24(sp)
  6631. 45840: 0183a40e bge zero,r6,466d4 <_dtoa_r+0x11cc>
  6632. 45844: d9800617 ldw r6,24(sp)
  6633. 45848: 3021883a mov r16,r6
  6634. 4584c: e0001115 stw zero,68(fp)
  6635. 45850: 008005c4 movi r2,23
  6636. 45854: 1184c92e bgeu r2,r6,46b7c <_dtoa_r+0x1674>
  6637. 45858: 00c00044 movi r3,1
  6638. 4585c: 00800104 movi r2,4
  6639. 45860: 1085883a add r2,r2,r2
  6640. 45864: 11000504 addi r4,r2,20
  6641. 45868: 180b883a mov r5,r3
  6642. 4586c: 18c00044 addi r3,r3,1
  6643. 45870: 313ffb2e bgeu r6,r4,45860 <__alt_data_end+0xfffd3860>
  6644. 45874: e1401115 stw r5,68(fp)
  6645. 45878: e009883a mov r4,fp
  6646. 4587c: 0048bc00 call 48bc0 <_Balloc>
  6647. 45880: d8800715 stw r2,28(sp)
  6648. 45884: e0801015 stw r2,64(fp)
  6649. 45888: 00800384 movi r2,14
  6650. 4588c: 1400f736 bltu r2,r16,45c6c <_dtoa_r+0x764>
  6651. 45890: 8800f626 beq r17,zero,45c6c <_dtoa_r+0x764>
  6652. 45894: d9c00517 ldw r7,20(sp)
  6653. 45898: 01c39a0e bge zero,r7,46704 <_dtoa_r+0x11fc>
  6654. 4589c: 388003cc andi r2,r7,15
  6655. 458a0: 100490fa slli r2,r2,3
  6656. 458a4: 382bd13a srai r21,r7,4
  6657. 458a8: 00c00174 movhi r3,5
  6658. 458ac: 18c87604 addi r3,r3,8664
  6659. 458b0: 1885883a add r2,r3,r2
  6660. 458b4: a8c0040c andi r3,r21,16
  6661. 458b8: 12400017 ldw r9,0(r2)
  6662. 458bc: 12000117 ldw r8,4(r2)
  6663. 458c0: 18037926 beq r3,zero,466a8 <_dtoa_r+0x11a0>
  6664. 458c4: 00800174 movhi r2,5
  6665. 458c8: 10886c04 addi r2,r2,8624
  6666. 458cc: 11800817 ldw r6,32(r2)
  6667. 458d0: 11c00917 ldw r7,36(r2)
  6668. 458d4: 9009883a mov r4,r18
  6669. 458d8: 980b883a mov r5,r19
  6670. 458dc: da001715 stw r8,92(sp)
  6671. 458e0: da401615 stw r9,88(sp)
  6672. 458e4: 004d4040 call 4d404 <__divdf3>
  6673. 458e8: da001717 ldw r8,92(sp)
  6674. 458ec: da401617 ldw r9,88(sp)
  6675. 458f0: ad4003cc andi r21,r21,15
  6676. 458f4: 040000c4 movi r16,3
  6677. 458f8: 1023883a mov r17,r2
  6678. 458fc: 1829883a mov r20,r3
  6679. 45900: a8001126 beq r21,zero,45948 <_dtoa_r+0x440>
  6680. 45904: 05c00174 movhi r23,5
  6681. 45908: bdc86c04 addi r23,r23,8624
  6682. 4590c: 4805883a mov r2,r9
  6683. 45910: 4007883a mov r3,r8
  6684. 45914: a980004c andi r6,r21,1
  6685. 45918: 1009883a mov r4,r2
  6686. 4591c: a82bd07a srai r21,r21,1
  6687. 45920: 180b883a mov r5,r3
  6688. 45924: 30000426 beq r6,zero,45938 <_dtoa_r+0x430>
  6689. 45928: b9800017 ldw r6,0(r23)
  6690. 4592c: b9c00117 ldw r7,4(r23)
  6691. 45930: 84000044 addi r16,r16,1
  6692. 45934: 004de5c0 call 4de5c <__muldf3>
  6693. 45938: bdc00204 addi r23,r23,8
  6694. 4593c: a83ff51e bne r21,zero,45914 <__alt_data_end+0xfffd3914>
  6695. 45940: 1013883a mov r9,r2
  6696. 45944: 1811883a mov r8,r3
  6697. 45948: 480d883a mov r6,r9
  6698. 4594c: 400f883a mov r7,r8
  6699. 45950: 8809883a mov r4,r17
  6700. 45954: a00b883a mov r5,r20
  6701. 45958: 004d4040 call 4d404 <__divdf3>
  6702. 4595c: d8800f15 stw r2,60(sp)
  6703. 45960: d8c01015 stw r3,64(sp)
  6704. 45964: d8c00e17 ldw r3,56(sp)
  6705. 45968: 18000626 beq r3,zero,45984 <_dtoa_r+0x47c>
  6706. 4596c: d9000f17 ldw r4,60(sp)
  6707. 45970: d9401017 ldw r5,64(sp)
  6708. 45974: 000d883a mov r6,zero
  6709. 45978: 01cffc34 movhi r7,16368
  6710. 4597c: 0041f200 call 41f20 <__ledf2>
  6711. 45980: 10040b16 blt r2,zero,469b0 <_dtoa_r+0x14a8>
  6712. 45984: 8009883a mov r4,r16
  6713. 45988: 00429900 call 42990 <__floatsidf>
  6714. 4598c: d9800f17 ldw r6,60(sp)
  6715. 45990: d9c01017 ldw r7,64(sp)
  6716. 45994: 1009883a mov r4,r2
  6717. 45998: 180b883a mov r5,r3
  6718. 4599c: 004de5c0 call 4de5c <__muldf3>
  6719. 459a0: 000d883a mov r6,zero
  6720. 459a4: 01d00734 movhi r7,16412
  6721. 459a8: 1009883a mov r4,r2
  6722. 459ac: 180b883a mov r5,r3
  6723. 459b0: 00415980 call 41598 <__adddf3>
  6724. 459b4: 1021883a mov r16,r2
  6725. 459b8: d8800617 ldw r2,24(sp)
  6726. 459bc: 047f3034 movhi r17,64704
  6727. 459c0: 1c63883a add r17,r3,r17
  6728. 459c4: 10031826 beq r2,zero,46628 <_dtoa_r+0x1120>
  6729. 459c8: d8c00517 ldw r3,20(sp)
  6730. 459cc: db000617 ldw r12,24(sp)
  6731. 459d0: d8c01315 stw r3,76(sp)
  6732. 459d4: d9000b17 ldw r4,44(sp)
  6733. 459d8: 20038f26 beq r4,zero,46818 <_dtoa_r+0x1310>
  6734. 459dc: 60bfffc4 addi r2,r12,-1
  6735. 459e0: 100490fa slli r2,r2,3
  6736. 459e4: 00c00174 movhi r3,5
  6737. 459e8: 18c87604 addi r3,r3,8664
  6738. 459ec: 1885883a add r2,r3,r2
  6739. 459f0: 11800017 ldw r6,0(r2)
  6740. 459f4: 11c00117 ldw r7,4(r2)
  6741. 459f8: d8800717 ldw r2,28(sp)
  6742. 459fc: 0009883a mov r4,zero
  6743. 45a00: 014ff834 movhi r5,16352
  6744. 45a04: db001615 stw r12,88(sp)
  6745. 45a08: 15c00044 addi r23,r2,1
  6746. 45a0c: 004d4040 call 4d404 <__divdf3>
  6747. 45a10: 800d883a mov r6,r16
  6748. 45a14: 880f883a mov r7,r17
  6749. 45a18: 1009883a mov r4,r2
  6750. 45a1c: 180b883a mov r5,r3
  6751. 45a20: 00420140 call 42014 <__subdf3>
  6752. 45a24: d9401017 ldw r5,64(sp)
  6753. 45a28: d9000f17 ldw r4,60(sp)
  6754. 45a2c: 102b883a mov r21,r2
  6755. 45a30: d8c01215 stw r3,72(sp)
  6756. 45a34: 00429100 call 42910 <__fixdfsi>
  6757. 45a38: 1009883a mov r4,r2
  6758. 45a3c: 1029883a mov r20,r2
  6759. 45a40: 00429900 call 42990 <__floatsidf>
  6760. 45a44: d9000f17 ldw r4,60(sp)
  6761. 45a48: d9401017 ldw r5,64(sp)
  6762. 45a4c: 100d883a mov r6,r2
  6763. 45a50: 180f883a mov r7,r3
  6764. 45a54: 00420140 call 42014 <__subdf3>
  6765. 45a58: 1823883a mov r17,r3
  6766. 45a5c: d8c00717 ldw r3,28(sp)
  6767. 45a60: d9401217 ldw r5,72(sp)
  6768. 45a64: a2000c04 addi r8,r20,48
  6769. 45a68: 1021883a mov r16,r2
  6770. 45a6c: 1a000005 stb r8,0(r3)
  6771. 45a70: 800d883a mov r6,r16
  6772. 45a74: 880f883a mov r7,r17
  6773. 45a78: a809883a mov r4,r21
  6774. 45a7c: 4029883a mov r20,r8
  6775. 45a80: 0041e440 call 41e44 <__gedf2>
  6776. 45a84: 00841d16 blt zero,r2,46afc <_dtoa_r+0x15f4>
  6777. 45a88: 800d883a mov r6,r16
  6778. 45a8c: 880f883a mov r7,r17
  6779. 45a90: 0009883a mov r4,zero
  6780. 45a94: 014ffc34 movhi r5,16368
  6781. 45a98: 00420140 call 42014 <__subdf3>
  6782. 45a9c: d9401217 ldw r5,72(sp)
  6783. 45aa0: 100d883a mov r6,r2
  6784. 45aa4: 180f883a mov r7,r3
  6785. 45aa8: a809883a mov r4,r21
  6786. 45aac: 0041e440 call 41e44 <__gedf2>
  6787. 45ab0: db001617 ldw r12,88(sp)
  6788. 45ab4: 00840e16 blt zero,r2,46af0 <_dtoa_r+0x15e8>
  6789. 45ab8: 00800044 movi r2,1
  6790. 45abc: 13006b0e bge r2,r12,45c6c <_dtoa_r+0x764>
  6791. 45ac0: d9000717 ldw r4,28(sp)
  6792. 45ac4: dd800f15 stw r22,60(sp)
  6793. 45ac8: dcc01015 stw r19,64(sp)
  6794. 45acc: 2319883a add r12,r4,r12
  6795. 45ad0: dcc01217 ldw r19,72(sp)
  6796. 45ad4: 602d883a mov r22,r12
  6797. 45ad8: dc801215 stw r18,72(sp)
  6798. 45adc: b825883a mov r18,r23
  6799. 45ae0: 00000906 br 45b08 <_dtoa_r+0x600>
  6800. 45ae4: 00420140 call 42014 <__subdf3>
  6801. 45ae8: a80d883a mov r6,r21
  6802. 45aec: 980f883a mov r7,r19
  6803. 45af0: 1009883a mov r4,r2
  6804. 45af4: 180b883a mov r5,r3
  6805. 45af8: 0041f200 call 41f20 <__ledf2>
  6806. 45afc: 1003e816 blt r2,zero,46aa0 <_dtoa_r+0x1598>
  6807. 45b00: b825883a mov r18,r23
  6808. 45b04: bd83e926 beq r23,r22,46aac <_dtoa_r+0x15a4>
  6809. 45b08: a809883a mov r4,r21
  6810. 45b0c: 980b883a mov r5,r19
  6811. 45b10: 000d883a mov r6,zero
  6812. 45b14: 01d00934 movhi r7,16420
  6813. 45b18: 004de5c0 call 4de5c <__muldf3>
  6814. 45b1c: 000d883a mov r6,zero
  6815. 45b20: 01d00934 movhi r7,16420
  6816. 45b24: 8009883a mov r4,r16
  6817. 45b28: 880b883a mov r5,r17
  6818. 45b2c: 102b883a mov r21,r2
  6819. 45b30: 1827883a mov r19,r3
  6820. 45b34: 004de5c0 call 4de5c <__muldf3>
  6821. 45b38: 180b883a mov r5,r3
  6822. 45b3c: 1009883a mov r4,r2
  6823. 45b40: 1821883a mov r16,r3
  6824. 45b44: 1023883a mov r17,r2
  6825. 45b48: 00429100 call 42910 <__fixdfsi>
  6826. 45b4c: 1009883a mov r4,r2
  6827. 45b50: 1029883a mov r20,r2
  6828. 45b54: 00429900 call 42990 <__floatsidf>
  6829. 45b58: 8809883a mov r4,r17
  6830. 45b5c: 800b883a mov r5,r16
  6831. 45b60: 100d883a mov r6,r2
  6832. 45b64: 180f883a mov r7,r3
  6833. 45b68: 00420140 call 42014 <__subdf3>
  6834. 45b6c: a5000c04 addi r20,r20,48
  6835. 45b70: a80d883a mov r6,r21
  6836. 45b74: 980f883a mov r7,r19
  6837. 45b78: 1009883a mov r4,r2
  6838. 45b7c: 180b883a mov r5,r3
  6839. 45b80: 95000005 stb r20,0(r18)
  6840. 45b84: 1021883a mov r16,r2
  6841. 45b88: 1823883a mov r17,r3
  6842. 45b8c: 0041f200 call 41f20 <__ledf2>
  6843. 45b90: bdc00044 addi r23,r23,1
  6844. 45b94: 800d883a mov r6,r16
  6845. 45b98: 880f883a mov r7,r17
  6846. 45b9c: 0009883a mov r4,zero
  6847. 45ba0: 014ffc34 movhi r5,16368
  6848. 45ba4: 103fcf0e bge r2,zero,45ae4 <__alt_data_end+0xfffd3ae4>
  6849. 45ba8: d8c01317 ldw r3,76(sp)
  6850. 45bac: d8c00515 stw r3,20(sp)
  6851. 45bb0: d9400917 ldw r5,36(sp)
  6852. 45bb4: e009883a mov r4,fp
  6853. 45bb8: 0048c680 call 48c68 <_Bfree>
  6854. 45bbc: d9000517 ldw r4,20(sp)
  6855. 45bc0: d9802317 ldw r6,140(sp)
  6856. 45bc4: d9c02517 ldw r7,148(sp)
  6857. 45bc8: b8000005 stb zero,0(r23)
  6858. 45bcc: 20800044 addi r2,r4,1
  6859. 45bd0: 30800015 stw r2,0(r6)
  6860. 45bd4: 3802aa26 beq r7,zero,46680 <_dtoa_r+0x1178>
  6861. 45bd8: 3dc00015 stw r23,0(r7)
  6862. 45bdc: d8800717 ldw r2,28(sp)
  6863. 45be0: 003e7906 br 455c8 <__alt_data_end+0xfffd35c8>
  6864. 45be4: 00800434 movhi r2,16
  6865. 45be8: 10bfffc4 addi r2,r2,-1
  6866. 45bec: 88a2703a and r17,r17,r2
  6867. 45bf0: 883e851e bne r17,zero,45608 <__alt_data_end+0xfffd3608>
  6868. 45bf4: 00800174 movhi r2,5
  6869. 45bf8: 10885704 addi r2,r2,8540
  6870. 45bfc: 003e8406 br 45610 <__alt_data_end+0xfffd3610>
  6871. 45c00: 10c00204 addi r3,r2,8
  6872. 45c04: 003e8706 br 45624 <__alt_data_end+0xfffd3624>
  6873. 45c08: 01400434 movhi r5,16
  6874. 45c0c: 297fffc4 addi r5,r5,-1
  6875. 45c10: 994a703a and r5,r19,r5
  6876. 45c14: 9009883a mov r4,r18
  6877. 45c18: 843f0044 addi r16,r16,-1023
  6878. 45c1c: 294ffc34 orhi r5,r5,16368
  6879. 45c20: dd800217 ldw r22,8(sp)
  6880. 45c24: d8001115 stw zero,68(sp)
  6881. 45c28: 003ea506 br 456c0 <__alt_data_end+0xfffd36c0>
  6882. 45c2c: 00800174 movhi r2,5
  6883. 45c30: 10884e04 addi r2,r2,8504
  6884. 45c34: 003e6406 br 455c8 <__alt_data_end+0xfffd35c8>
  6885. 45c38: e0001115 stw zero,68(fp)
  6886. 45c3c: 000b883a mov r5,zero
  6887. 45c40: e009883a mov r4,fp
  6888. 45c44: 0048bc00 call 48bc0 <_Balloc>
  6889. 45c48: 01bfffc4 movi r6,-1
  6890. 45c4c: 01c00044 movi r7,1
  6891. 45c50: d8800715 stw r2,28(sp)
  6892. 45c54: d9800c15 stw r6,48(sp)
  6893. 45c58: e0801015 stw r2,64(fp)
  6894. 45c5c: d8000315 stw zero,12(sp)
  6895. 45c60: d9c00b15 stw r7,44(sp)
  6896. 45c64: d9800615 stw r6,24(sp)
  6897. 45c68: d8002215 stw zero,136(sp)
  6898. 45c6c: d8800117 ldw r2,4(sp)
  6899. 45c70: 10008916 blt r2,zero,45e98 <_dtoa_r+0x990>
  6900. 45c74: d9000517 ldw r4,20(sp)
  6901. 45c78: 00c00384 movi r3,14
  6902. 45c7c: 19008616 blt r3,r4,45e98 <_dtoa_r+0x990>
  6903. 45c80: 200490fa slli r2,r4,3
  6904. 45c84: 00c00174 movhi r3,5
  6905. 45c88: d9802217 ldw r6,136(sp)
  6906. 45c8c: 18c87604 addi r3,r3,8664
  6907. 45c90: 1885883a add r2,r3,r2
  6908. 45c94: 14000017 ldw r16,0(r2)
  6909. 45c98: 14400117 ldw r17,4(r2)
  6910. 45c9c: 30016316 blt r6,zero,4622c <_dtoa_r+0xd24>
  6911. 45ca0: 800d883a mov r6,r16
  6912. 45ca4: 880f883a mov r7,r17
  6913. 45ca8: 9009883a mov r4,r18
  6914. 45cac: 980b883a mov r5,r19
  6915. 45cb0: 004d4040 call 4d404 <__divdf3>
  6916. 45cb4: 180b883a mov r5,r3
  6917. 45cb8: 1009883a mov r4,r2
  6918. 45cbc: 00429100 call 42910 <__fixdfsi>
  6919. 45cc0: 1009883a mov r4,r2
  6920. 45cc4: 102b883a mov r21,r2
  6921. 45cc8: 00429900 call 42990 <__floatsidf>
  6922. 45ccc: 800d883a mov r6,r16
  6923. 45cd0: 880f883a mov r7,r17
  6924. 45cd4: 1009883a mov r4,r2
  6925. 45cd8: 180b883a mov r5,r3
  6926. 45cdc: 004de5c0 call 4de5c <__muldf3>
  6927. 45ce0: 100d883a mov r6,r2
  6928. 45ce4: 180f883a mov r7,r3
  6929. 45ce8: 9009883a mov r4,r18
  6930. 45cec: 980b883a mov r5,r19
  6931. 45cf0: 00420140 call 42014 <__subdf3>
  6932. 45cf4: d9c00717 ldw r7,28(sp)
  6933. 45cf8: 1009883a mov r4,r2
  6934. 45cfc: a8800c04 addi r2,r21,48
  6935. 45d00: 38800005 stb r2,0(r7)
  6936. 45d04: 3dc00044 addi r23,r7,1
  6937. 45d08: d9c00617 ldw r7,24(sp)
  6938. 45d0c: 01800044 movi r6,1
  6939. 45d10: 180b883a mov r5,r3
  6940. 45d14: 2005883a mov r2,r4
  6941. 45d18: 39803826 beq r7,r6,45dfc <_dtoa_r+0x8f4>
  6942. 45d1c: 000d883a mov r6,zero
  6943. 45d20: 01d00934 movhi r7,16420
  6944. 45d24: 004de5c0 call 4de5c <__muldf3>
  6945. 45d28: 000d883a mov r6,zero
  6946. 45d2c: 000f883a mov r7,zero
  6947. 45d30: 1009883a mov r4,r2
  6948. 45d34: 180b883a mov r5,r3
  6949. 45d38: 1025883a mov r18,r2
  6950. 45d3c: 1827883a mov r19,r3
  6951. 45d40: 004ddd40 call 4ddd4 <__eqdf2>
  6952. 45d44: 103f9a26 beq r2,zero,45bb0 <__alt_data_end+0xfffd3bb0>
  6953. 45d48: d9c00617 ldw r7,24(sp)
  6954. 45d4c: d8c00717 ldw r3,28(sp)
  6955. 45d50: b829883a mov r20,r23
  6956. 45d54: 38bfffc4 addi r2,r7,-1
  6957. 45d58: 18ad883a add r22,r3,r2
  6958. 45d5c: 00000a06 br 45d88 <_dtoa_r+0x880>
  6959. 45d60: 004de5c0 call 4de5c <__muldf3>
  6960. 45d64: 000d883a mov r6,zero
  6961. 45d68: 000f883a mov r7,zero
  6962. 45d6c: 1009883a mov r4,r2
  6963. 45d70: 180b883a mov r5,r3
  6964. 45d74: 1025883a mov r18,r2
  6965. 45d78: 1827883a mov r19,r3
  6966. 45d7c: b829883a mov r20,r23
  6967. 45d80: 004ddd40 call 4ddd4 <__eqdf2>
  6968. 45d84: 103f8a26 beq r2,zero,45bb0 <__alt_data_end+0xfffd3bb0>
  6969. 45d88: 800d883a mov r6,r16
  6970. 45d8c: 880f883a mov r7,r17
  6971. 45d90: 9009883a mov r4,r18
  6972. 45d94: 980b883a mov r5,r19
  6973. 45d98: 004d4040 call 4d404 <__divdf3>
  6974. 45d9c: 180b883a mov r5,r3
  6975. 45da0: 1009883a mov r4,r2
  6976. 45da4: 00429100 call 42910 <__fixdfsi>
  6977. 45da8: 1009883a mov r4,r2
  6978. 45dac: 102b883a mov r21,r2
  6979. 45db0: 00429900 call 42990 <__floatsidf>
  6980. 45db4: 800d883a mov r6,r16
  6981. 45db8: 880f883a mov r7,r17
  6982. 45dbc: 1009883a mov r4,r2
  6983. 45dc0: 180b883a mov r5,r3
  6984. 45dc4: 004de5c0 call 4de5c <__muldf3>
  6985. 45dc8: 100d883a mov r6,r2
  6986. 45dcc: 180f883a mov r7,r3
  6987. 45dd0: 9009883a mov r4,r18
  6988. 45dd4: 980b883a mov r5,r19
  6989. 45dd8: 00420140 call 42014 <__subdf3>
  6990. 45ddc: aa000c04 addi r8,r21,48
  6991. 45de0: a2000005 stb r8,0(r20)
  6992. 45de4: 000d883a mov r6,zero
  6993. 45de8: 01d00934 movhi r7,16420
  6994. 45dec: 1009883a mov r4,r2
  6995. 45df0: 180b883a mov r5,r3
  6996. 45df4: a5c00044 addi r23,r20,1
  6997. 45df8: b53fd91e bne r22,r20,45d60 <__alt_data_end+0xfffd3d60>
  6998. 45dfc: 100d883a mov r6,r2
  6999. 45e00: 180f883a mov r7,r3
  7000. 45e04: 1009883a mov r4,r2
  7001. 45e08: 180b883a mov r5,r3
  7002. 45e0c: 00415980 call 41598 <__adddf3>
  7003. 45e10: 100d883a mov r6,r2
  7004. 45e14: 180f883a mov r7,r3
  7005. 45e18: 8009883a mov r4,r16
  7006. 45e1c: 880b883a mov r5,r17
  7007. 45e20: 1027883a mov r19,r2
  7008. 45e24: 1825883a mov r18,r3
  7009. 45e28: 0041f200 call 41f20 <__ledf2>
  7010. 45e2c: 10000816 blt r2,zero,45e50 <_dtoa_r+0x948>
  7011. 45e30: 980d883a mov r6,r19
  7012. 45e34: 900f883a mov r7,r18
  7013. 45e38: 8009883a mov r4,r16
  7014. 45e3c: 880b883a mov r5,r17
  7015. 45e40: 004ddd40 call 4ddd4 <__eqdf2>
  7016. 45e44: 103f5a1e bne r2,zero,45bb0 <__alt_data_end+0xfffd3bb0>
  7017. 45e48: ad40004c andi r21,r21,1
  7018. 45e4c: a83f5826 beq r21,zero,45bb0 <__alt_data_end+0xfffd3bb0>
  7019. 45e50: bd3fffc3 ldbu r20,-1(r23)
  7020. 45e54: b8bfffc4 addi r2,r23,-1
  7021. 45e58: 1007883a mov r3,r2
  7022. 45e5c: 01400e44 movi r5,57
  7023. 45e60: d9800717 ldw r6,28(sp)
  7024. 45e64: 00000506 br 45e7c <_dtoa_r+0x974>
  7025. 45e68: 18ffffc4 addi r3,r3,-1
  7026. 45e6c: 11824726 beq r2,r6,4678c <_dtoa_r+0x1284>
  7027. 45e70: 1d000003 ldbu r20,0(r3)
  7028. 45e74: 102f883a mov r23,r2
  7029. 45e78: 10bfffc4 addi r2,r2,-1
  7030. 45e7c: a1003fcc andi r4,r20,255
  7031. 45e80: 2100201c xori r4,r4,128
  7032. 45e84: 213fe004 addi r4,r4,-128
  7033. 45e88: 217ff726 beq r4,r5,45e68 <__alt_data_end+0xfffd3e68>
  7034. 45e8c: a2000044 addi r8,r20,1
  7035. 45e90: 12000005 stb r8,0(r2)
  7036. 45e94: 003f4606 br 45bb0 <__alt_data_end+0xfffd3bb0>
  7037. 45e98: d9000b17 ldw r4,44(sp)
  7038. 45e9c: 2000c826 beq r4,zero,461c0 <_dtoa_r+0xcb8>
  7039. 45ea0: d9800317 ldw r6,12(sp)
  7040. 45ea4: 00c00044 movi r3,1
  7041. 45ea8: 1980f90e bge r3,r6,46290 <_dtoa_r+0xd88>
  7042. 45eac: d8800617 ldw r2,24(sp)
  7043. 45eb0: d8c00a17 ldw r3,40(sp)
  7044. 45eb4: 157fffc4 addi r21,r2,-1
  7045. 45eb8: 1d41f316 blt r3,r21,46688 <_dtoa_r+0x1180>
  7046. 45ebc: 1d6bc83a sub r21,r3,r21
  7047. 45ec0: d9c00617 ldw r7,24(sp)
  7048. 45ec4: 3802aa16 blt r7,zero,46970 <_dtoa_r+0x1468>
  7049. 45ec8: dd000817 ldw r20,32(sp)
  7050. 45ecc: d8800617 ldw r2,24(sp)
  7051. 45ed0: d8c00817 ldw r3,32(sp)
  7052. 45ed4: 01400044 movi r5,1
  7053. 45ed8: e009883a mov r4,fp
  7054. 45edc: 1887883a add r3,r3,r2
  7055. 45ee0: d8c00815 stw r3,32(sp)
  7056. 45ee4: b0ad883a add r22,r22,r2
  7057. 45ee8: 0048ff40 call 48ff4 <__i2b>
  7058. 45eec: 1023883a mov r17,r2
  7059. 45ef0: a0000826 beq r20,zero,45f14 <_dtoa_r+0xa0c>
  7060. 45ef4: 0580070e bge zero,r22,45f14 <_dtoa_r+0xa0c>
  7061. 45ef8: a005883a mov r2,r20
  7062. 45efc: b500b916 blt r22,r20,461e4 <_dtoa_r+0xcdc>
  7063. 45f00: d9000817 ldw r4,32(sp)
  7064. 45f04: a0a9c83a sub r20,r20,r2
  7065. 45f08: b0adc83a sub r22,r22,r2
  7066. 45f0c: 2089c83a sub r4,r4,r2
  7067. 45f10: d9000815 stw r4,32(sp)
  7068. 45f14: d9800a17 ldw r6,40(sp)
  7069. 45f18: 0181810e bge zero,r6,46520 <_dtoa_r+0x1018>
  7070. 45f1c: d9c00b17 ldw r7,44(sp)
  7071. 45f20: 3800b326 beq r7,zero,461f0 <_dtoa_r+0xce8>
  7072. 45f24: a800b226 beq r21,zero,461f0 <_dtoa_r+0xce8>
  7073. 45f28: 880b883a mov r5,r17
  7074. 45f2c: a80d883a mov r6,r21
  7075. 45f30: e009883a mov r4,fp
  7076. 45f34: 00492bc0 call 492bc <__pow5mult>
  7077. 45f38: d9800917 ldw r6,36(sp)
  7078. 45f3c: 100b883a mov r5,r2
  7079. 45f40: e009883a mov r4,fp
  7080. 45f44: 1023883a mov r17,r2
  7081. 45f48: 00490300 call 49030 <__multiply>
  7082. 45f4c: 1021883a mov r16,r2
  7083. 45f50: d8800a17 ldw r2,40(sp)
  7084. 45f54: d9400917 ldw r5,36(sp)
  7085. 45f58: e009883a mov r4,fp
  7086. 45f5c: 1545c83a sub r2,r2,r21
  7087. 45f60: d8800a15 stw r2,40(sp)
  7088. 45f64: 0048c680 call 48c68 <_Bfree>
  7089. 45f68: d8c00a17 ldw r3,40(sp)
  7090. 45f6c: 18009f1e bne r3,zero,461ec <_dtoa_r+0xce4>
  7091. 45f70: 05c00044 movi r23,1
  7092. 45f74: e009883a mov r4,fp
  7093. 45f78: b80b883a mov r5,r23
  7094. 45f7c: 0048ff40 call 48ff4 <__i2b>
  7095. 45f80: d9000d17 ldw r4,52(sp)
  7096. 45f84: 102b883a mov r21,r2
  7097. 45f88: 2000ce26 beq r4,zero,462c4 <_dtoa_r+0xdbc>
  7098. 45f8c: 200d883a mov r6,r4
  7099. 45f90: 100b883a mov r5,r2
  7100. 45f94: e009883a mov r4,fp
  7101. 45f98: 00492bc0 call 492bc <__pow5mult>
  7102. 45f9c: d9800317 ldw r6,12(sp)
  7103. 45fa0: 102b883a mov r21,r2
  7104. 45fa4: b981810e bge r23,r6,465ac <_dtoa_r+0x10a4>
  7105. 45fa8: 0027883a mov r19,zero
  7106. 45fac: a8800417 ldw r2,16(r21)
  7107. 45fb0: 05c00804 movi r23,32
  7108. 45fb4: 10800104 addi r2,r2,4
  7109. 45fb8: 1085883a add r2,r2,r2
  7110. 45fbc: 1085883a add r2,r2,r2
  7111. 45fc0: a885883a add r2,r21,r2
  7112. 45fc4: 11000017 ldw r4,0(r2)
  7113. 45fc8: 0048edc0 call 48edc <__hi0bits>
  7114. 45fcc: b885c83a sub r2,r23,r2
  7115. 45fd0: 1585883a add r2,r2,r22
  7116. 45fd4: 108007cc andi r2,r2,31
  7117. 45fd8: 1000b326 beq r2,zero,462a8 <_dtoa_r+0xda0>
  7118. 45fdc: 00c00804 movi r3,32
  7119. 45fe0: 1887c83a sub r3,r3,r2
  7120. 45fe4: 01000104 movi r4,4
  7121. 45fe8: 20c2cd0e bge r4,r3,46b20 <_dtoa_r+0x1618>
  7122. 45fec: 00c00704 movi r3,28
  7123. 45ff0: 1885c83a sub r2,r3,r2
  7124. 45ff4: d8c00817 ldw r3,32(sp)
  7125. 45ff8: a0a9883a add r20,r20,r2
  7126. 45ffc: b0ad883a add r22,r22,r2
  7127. 46000: 1887883a add r3,r3,r2
  7128. 46004: d8c00815 stw r3,32(sp)
  7129. 46008: d9800817 ldw r6,32(sp)
  7130. 4600c: 0180040e bge zero,r6,46020 <_dtoa_r+0xb18>
  7131. 46010: 800b883a mov r5,r16
  7132. 46014: e009883a mov r4,fp
  7133. 46018: 00493fc0 call 493fc <__lshift>
  7134. 4601c: 1021883a mov r16,r2
  7135. 46020: 0580050e bge zero,r22,46038 <_dtoa_r+0xb30>
  7136. 46024: a80b883a mov r5,r21
  7137. 46028: b00d883a mov r6,r22
  7138. 4602c: e009883a mov r4,fp
  7139. 46030: 00493fc0 call 493fc <__lshift>
  7140. 46034: 102b883a mov r21,r2
  7141. 46038: d9c00e17 ldw r7,56(sp)
  7142. 4603c: 3801211e bne r7,zero,464c4 <_dtoa_r+0xfbc>
  7143. 46040: d9800617 ldw r6,24(sp)
  7144. 46044: 0181380e bge zero,r6,46528 <_dtoa_r+0x1020>
  7145. 46048: d8c00b17 ldw r3,44(sp)
  7146. 4604c: 1800ab1e bne r3,zero,462fc <_dtoa_r+0xdf4>
  7147. 46050: dc800717 ldw r18,28(sp)
  7148. 46054: dcc00617 ldw r19,24(sp)
  7149. 46058: 9029883a mov r20,r18
  7150. 4605c: 00000206 br 46068 <_dtoa_r+0xb60>
  7151. 46060: 0048c900 call 48c90 <__multadd>
  7152. 46064: 1021883a mov r16,r2
  7153. 46068: a80b883a mov r5,r21
  7154. 4606c: 8009883a mov r4,r16
  7155. 46070: 00452e00 call 452e0 <quorem>
  7156. 46074: 10800c04 addi r2,r2,48
  7157. 46078: 90800005 stb r2,0(r18)
  7158. 4607c: 94800044 addi r18,r18,1
  7159. 46080: 9507c83a sub r3,r18,r20
  7160. 46084: 000f883a mov r7,zero
  7161. 46088: 01800284 movi r6,10
  7162. 4608c: 800b883a mov r5,r16
  7163. 46090: e009883a mov r4,fp
  7164. 46094: 1cfff216 blt r3,r19,46060 <__alt_data_end+0xfffd4060>
  7165. 46098: 1011883a mov r8,r2
  7166. 4609c: d8800617 ldw r2,24(sp)
  7167. 460a0: 0082370e bge zero,r2,46980 <_dtoa_r+0x1478>
  7168. 460a4: d9000717 ldw r4,28(sp)
  7169. 460a8: 0025883a mov r18,zero
  7170. 460ac: 20af883a add r23,r4,r2
  7171. 460b0: 01800044 movi r6,1
  7172. 460b4: 800b883a mov r5,r16
  7173. 460b8: e009883a mov r4,fp
  7174. 460bc: da001715 stw r8,92(sp)
  7175. 460c0: 00493fc0 call 493fc <__lshift>
  7176. 460c4: a80b883a mov r5,r21
  7177. 460c8: 1009883a mov r4,r2
  7178. 460cc: d8800915 stw r2,36(sp)
  7179. 460d0: 00495440 call 49544 <__mcmp>
  7180. 460d4: da001717 ldw r8,92(sp)
  7181. 460d8: 0081800e bge zero,r2,466dc <_dtoa_r+0x11d4>
  7182. 460dc: b93fffc3 ldbu r4,-1(r23)
  7183. 460e0: b8bfffc4 addi r2,r23,-1
  7184. 460e4: 1007883a mov r3,r2
  7185. 460e8: 01800e44 movi r6,57
  7186. 460ec: d9c00717 ldw r7,28(sp)
  7187. 460f0: 00000506 br 46108 <_dtoa_r+0xc00>
  7188. 460f4: 18ffffc4 addi r3,r3,-1
  7189. 460f8: 11c12326 beq r2,r7,46588 <_dtoa_r+0x1080>
  7190. 460fc: 19000003 ldbu r4,0(r3)
  7191. 46100: 102f883a mov r23,r2
  7192. 46104: 10bfffc4 addi r2,r2,-1
  7193. 46108: 21403fcc andi r5,r4,255
  7194. 4610c: 2940201c xori r5,r5,128
  7195. 46110: 297fe004 addi r5,r5,-128
  7196. 46114: 29bff726 beq r5,r6,460f4 <__alt_data_end+0xfffd40f4>
  7197. 46118: 21000044 addi r4,r4,1
  7198. 4611c: 11000005 stb r4,0(r2)
  7199. 46120: a80b883a mov r5,r21
  7200. 46124: e009883a mov r4,fp
  7201. 46128: 0048c680 call 48c68 <_Bfree>
  7202. 4612c: 883ea026 beq r17,zero,45bb0 <__alt_data_end+0xfffd3bb0>
  7203. 46130: 90000426 beq r18,zero,46144 <_dtoa_r+0xc3c>
  7204. 46134: 94400326 beq r18,r17,46144 <_dtoa_r+0xc3c>
  7205. 46138: 900b883a mov r5,r18
  7206. 4613c: e009883a mov r4,fp
  7207. 46140: 0048c680 call 48c68 <_Bfree>
  7208. 46144: 880b883a mov r5,r17
  7209. 46148: e009883a mov r4,fp
  7210. 4614c: 0048c680 call 48c68 <_Bfree>
  7211. 46150: 003e9706 br 45bb0 <__alt_data_end+0xfffd3bb0>
  7212. 46154: 01800044 movi r6,1
  7213. 46158: d9800e15 stw r6,56(sp)
  7214. 4615c: 003d9606 br 457b8 <__alt_data_end+0xfffd37b8>
  7215. 46160: d8800817 ldw r2,32(sp)
  7216. 46164: d8c00517 ldw r3,20(sp)
  7217. 46168: d8000d15 stw zero,52(sp)
  7218. 4616c: 10c5c83a sub r2,r2,r3
  7219. 46170: 00c9c83a sub r4,zero,r3
  7220. 46174: d8800815 stw r2,32(sp)
  7221. 46178: d9000a15 stw r4,40(sp)
  7222. 4617c: 003d9706 br 457dc <__alt_data_end+0xfffd37dc>
  7223. 46180: 05adc83a sub r22,zero,r22
  7224. 46184: dd800815 stw r22,32(sp)
  7225. 46188: 002d883a mov r22,zero
  7226. 4618c: 003d8e06 br 457c8 <__alt_data_end+0xfffd37c8>
  7227. 46190: d9000517 ldw r4,20(sp)
  7228. 46194: 00429900 call 42990 <__floatsidf>
  7229. 46198: 100d883a mov r6,r2
  7230. 4619c: 180f883a mov r7,r3
  7231. 461a0: a009883a mov r4,r20
  7232. 461a4: 880b883a mov r5,r17
  7233. 461a8: 004ddd40 call 4ddd4 <__eqdf2>
  7234. 461ac: 103d7126 beq r2,zero,45774 <__alt_data_end+0xfffd3774>
  7235. 461b0: d9c00517 ldw r7,20(sp)
  7236. 461b4: 39ffffc4 addi r7,r7,-1
  7237. 461b8: d9c00515 stw r7,20(sp)
  7238. 461bc: 003d6d06 br 45774 <__alt_data_end+0xfffd3774>
  7239. 461c0: dd400a17 ldw r21,40(sp)
  7240. 461c4: dd000817 ldw r20,32(sp)
  7241. 461c8: 0023883a mov r17,zero
  7242. 461cc: 003f4806 br 45ef0 <__alt_data_end+0xfffd3ef0>
  7243. 461d0: 10e3c83a sub r17,r2,r3
  7244. 461d4: 9448983a sll r4,r18,r17
  7245. 461d8: 003d3206 br 456a4 <__alt_data_end+0xfffd36a4>
  7246. 461dc: d8000e15 stw zero,56(sp)
  7247. 461e0: 003d7506 br 457b8 <__alt_data_end+0xfffd37b8>
  7248. 461e4: b005883a mov r2,r22
  7249. 461e8: 003f4506 br 45f00 <__alt_data_end+0xfffd3f00>
  7250. 461ec: dc000915 stw r16,36(sp)
  7251. 461f0: d9800a17 ldw r6,40(sp)
  7252. 461f4: d9400917 ldw r5,36(sp)
  7253. 461f8: e009883a mov r4,fp
  7254. 461fc: 00492bc0 call 492bc <__pow5mult>
  7255. 46200: 1021883a mov r16,r2
  7256. 46204: 003f5a06 br 45f70 <__alt_data_end+0xfffd3f70>
  7257. 46208: 01c00044 movi r7,1
  7258. 4620c: d9c00b15 stw r7,44(sp)
  7259. 46210: d8802217 ldw r2,136(sp)
  7260. 46214: 0081280e bge zero,r2,466b8 <_dtoa_r+0x11b0>
  7261. 46218: 100d883a mov r6,r2
  7262. 4621c: 1021883a mov r16,r2
  7263. 46220: d8800c15 stw r2,48(sp)
  7264. 46224: d8800615 stw r2,24(sp)
  7265. 46228: 003d8806 br 4584c <__alt_data_end+0xfffd384c>
  7266. 4622c: d8800617 ldw r2,24(sp)
  7267. 46230: 00be9b16 blt zero,r2,45ca0 <__alt_data_end+0xfffd3ca0>
  7268. 46234: 10010f1e bne r2,zero,46674 <_dtoa_r+0x116c>
  7269. 46238: 880b883a mov r5,r17
  7270. 4623c: 000d883a mov r6,zero
  7271. 46240: 01d00534 movhi r7,16404
  7272. 46244: 8009883a mov r4,r16
  7273. 46248: 004de5c0 call 4de5c <__muldf3>
  7274. 4624c: 900d883a mov r6,r18
  7275. 46250: 980f883a mov r7,r19
  7276. 46254: 1009883a mov r4,r2
  7277. 46258: 180b883a mov r5,r3
  7278. 4625c: 0041e440 call 41e44 <__gedf2>
  7279. 46260: 002b883a mov r21,zero
  7280. 46264: 0023883a mov r17,zero
  7281. 46268: 1000bf16 blt r2,zero,46568 <_dtoa_r+0x1060>
  7282. 4626c: d9802217 ldw r6,136(sp)
  7283. 46270: ddc00717 ldw r23,28(sp)
  7284. 46274: 018c303a nor r6,zero,r6
  7285. 46278: d9800515 stw r6,20(sp)
  7286. 4627c: a80b883a mov r5,r21
  7287. 46280: e009883a mov r4,fp
  7288. 46284: 0048c680 call 48c68 <_Bfree>
  7289. 46288: 883e4926 beq r17,zero,45bb0 <__alt_data_end+0xfffd3bb0>
  7290. 4628c: 003fad06 br 46144 <__alt_data_end+0xfffd4144>
  7291. 46290: d9c01117 ldw r7,68(sp)
  7292. 46294: 3801bc26 beq r7,zero,46988 <_dtoa_r+0x1480>
  7293. 46298: 10810cc4 addi r2,r2,1075
  7294. 4629c: dd400a17 ldw r21,40(sp)
  7295. 462a0: dd000817 ldw r20,32(sp)
  7296. 462a4: 003f0a06 br 45ed0 <__alt_data_end+0xfffd3ed0>
  7297. 462a8: 00800704 movi r2,28
  7298. 462ac: d9000817 ldw r4,32(sp)
  7299. 462b0: a0a9883a add r20,r20,r2
  7300. 462b4: b0ad883a add r22,r22,r2
  7301. 462b8: 2089883a add r4,r4,r2
  7302. 462bc: d9000815 stw r4,32(sp)
  7303. 462c0: 003f5106 br 46008 <__alt_data_end+0xfffd4008>
  7304. 462c4: d8c00317 ldw r3,12(sp)
  7305. 462c8: b8c1fc0e bge r23,r3,46abc <_dtoa_r+0x15b4>
  7306. 462cc: 0027883a mov r19,zero
  7307. 462d0: b805883a mov r2,r23
  7308. 462d4: 003f3e06 br 45fd0 <__alt_data_end+0xfffd3fd0>
  7309. 462d8: 880b883a mov r5,r17
  7310. 462dc: e009883a mov r4,fp
  7311. 462e0: 000f883a mov r7,zero
  7312. 462e4: 01800284 movi r6,10
  7313. 462e8: 0048c900 call 48c90 <__multadd>
  7314. 462ec: d9000c17 ldw r4,48(sp)
  7315. 462f0: 1023883a mov r17,r2
  7316. 462f4: 0102040e bge zero,r4,46b08 <_dtoa_r+0x1600>
  7317. 462f8: d9000615 stw r4,24(sp)
  7318. 462fc: 0500050e bge zero,r20,46314 <_dtoa_r+0xe0c>
  7319. 46300: 880b883a mov r5,r17
  7320. 46304: a00d883a mov r6,r20
  7321. 46308: e009883a mov r4,fp
  7322. 4630c: 00493fc0 call 493fc <__lshift>
  7323. 46310: 1023883a mov r17,r2
  7324. 46314: 9801241e bne r19,zero,467a8 <_dtoa_r+0x12a0>
  7325. 46318: 8829883a mov r20,r17
  7326. 4631c: d9000617 ldw r4,24(sp)
  7327. 46320: dcc00717 ldw r19,28(sp)
  7328. 46324: 9480004c andi r18,r18,1
  7329. 46328: 20bfffc4 addi r2,r4,-1
  7330. 4632c: 9885883a add r2,r19,r2
  7331. 46330: d8800415 stw r2,16(sp)
  7332. 46334: dc800615 stw r18,24(sp)
  7333. 46338: a80b883a mov r5,r21
  7334. 4633c: 8009883a mov r4,r16
  7335. 46340: 00452e00 call 452e0 <quorem>
  7336. 46344: 880b883a mov r5,r17
  7337. 46348: 8009883a mov r4,r16
  7338. 4634c: 102f883a mov r23,r2
  7339. 46350: 00495440 call 49544 <__mcmp>
  7340. 46354: a80b883a mov r5,r21
  7341. 46358: a00d883a mov r6,r20
  7342. 4635c: e009883a mov r4,fp
  7343. 46360: 102d883a mov r22,r2
  7344. 46364: 00495a40 call 495a4 <__mdiff>
  7345. 46368: 1007883a mov r3,r2
  7346. 4636c: 10800317 ldw r2,12(r2)
  7347. 46370: bc800c04 addi r18,r23,48
  7348. 46374: 180b883a mov r5,r3
  7349. 46378: 10004e1e bne r2,zero,464b4 <_dtoa_r+0xfac>
  7350. 4637c: 8009883a mov r4,r16
  7351. 46380: d8c01615 stw r3,88(sp)
  7352. 46384: 00495440 call 49544 <__mcmp>
  7353. 46388: d8c01617 ldw r3,88(sp)
  7354. 4638c: e009883a mov r4,fp
  7355. 46390: d8801615 stw r2,88(sp)
  7356. 46394: 180b883a mov r5,r3
  7357. 46398: 0048c680 call 48c68 <_Bfree>
  7358. 4639c: d8801617 ldw r2,88(sp)
  7359. 463a0: 1000041e bne r2,zero,463b4 <_dtoa_r+0xeac>
  7360. 463a4: d9800317 ldw r6,12(sp)
  7361. 463a8: 3000021e bne r6,zero,463b4 <_dtoa_r+0xeac>
  7362. 463ac: d8c00617 ldw r3,24(sp)
  7363. 463b0: 18003726 beq r3,zero,46490 <_dtoa_r+0xf88>
  7364. 463b4: b0002016 blt r22,zero,46438 <_dtoa_r+0xf30>
  7365. 463b8: b000041e bne r22,zero,463cc <_dtoa_r+0xec4>
  7366. 463bc: d9000317 ldw r4,12(sp)
  7367. 463c0: 2000021e bne r4,zero,463cc <_dtoa_r+0xec4>
  7368. 463c4: d8c00617 ldw r3,24(sp)
  7369. 463c8: 18001b26 beq r3,zero,46438 <_dtoa_r+0xf30>
  7370. 463cc: 00810716 blt zero,r2,467ec <_dtoa_r+0x12e4>
  7371. 463d0: d8c00417 ldw r3,16(sp)
  7372. 463d4: 9d800044 addi r22,r19,1
  7373. 463d8: 9c800005 stb r18,0(r19)
  7374. 463dc: b02f883a mov r23,r22
  7375. 463e0: 98c10626 beq r19,r3,467fc <_dtoa_r+0x12f4>
  7376. 463e4: 800b883a mov r5,r16
  7377. 463e8: 000f883a mov r7,zero
  7378. 463ec: 01800284 movi r6,10
  7379. 463f0: e009883a mov r4,fp
  7380. 463f4: 0048c900 call 48c90 <__multadd>
  7381. 463f8: 1021883a mov r16,r2
  7382. 463fc: 000f883a mov r7,zero
  7383. 46400: 01800284 movi r6,10
  7384. 46404: 880b883a mov r5,r17
  7385. 46408: e009883a mov r4,fp
  7386. 4640c: 8d002526 beq r17,r20,464a4 <_dtoa_r+0xf9c>
  7387. 46410: 0048c900 call 48c90 <__multadd>
  7388. 46414: a00b883a mov r5,r20
  7389. 46418: 000f883a mov r7,zero
  7390. 4641c: 01800284 movi r6,10
  7391. 46420: e009883a mov r4,fp
  7392. 46424: 1023883a mov r17,r2
  7393. 46428: 0048c900 call 48c90 <__multadd>
  7394. 4642c: 1029883a mov r20,r2
  7395. 46430: b027883a mov r19,r22
  7396. 46434: 003fc006 br 46338 <__alt_data_end+0xfffd4338>
  7397. 46438: 9011883a mov r8,r18
  7398. 4643c: 00800e0e bge zero,r2,46478 <_dtoa_r+0xf70>
  7399. 46440: 800b883a mov r5,r16
  7400. 46444: 01800044 movi r6,1
  7401. 46448: e009883a mov r4,fp
  7402. 4644c: da001715 stw r8,92(sp)
  7403. 46450: 00493fc0 call 493fc <__lshift>
  7404. 46454: a80b883a mov r5,r21
  7405. 46458: 1009883a mov r4,r2
  7406. 4645c: 1021883a mov r16,r2
  7407. 46460: 00495440 call 49544 <__mcmp>
  7408. 46464: da001717 ldw r8,92(sp)
  7409. 46468: 0081960e bge zero,r2,46ac4 <_dtoa_r+0x15bc>
  7410. 4646c: 00800e44 movi r2,57
  7411. 46470: 40817026 beq r8,r2,46a34 <_dtoa_r+0x152c>
  7412. 46474: ba000c44 addi r8,r23,49
  7413. 46478: 8825883a mov r18,r17
  7414. 4647c: 9dc00044 addi r23,r19,1
  7415. 46480: 9a000005 stb r8,0(r19)
  7416. 46484: a023883a mov r17,r20
  7417. 46488: dc000915 stw r16,36(sp)
  7418. 4648c: 003f2406 br 46120 <__alt_data_end+0xfffd4120>
  7419. 46490: 00800e44 movi r2,57
  7420. 46494: 9011883a mov r8,r18
  7421. 46498: 90816626 beq r18,r2,46a34 <_dtoa_r+0x152c>
  7422. 4649c: 05bff516 blt zero,r22,46474 <__alt_data_end+0xfffd4474>
  7423. 464a0: 003ff506 br 46478 <__alt_data_end+0xfffd4478>
  7424. 464a4: 0048c900 call 48c90 <__multadd>
  7425. 464a8: 1023883a mov r17,r2
  7426. 464ac: 1029883a mov r20,r2
  7427. 464b0: 003fdf06 br 46430 <__alt_data_end+0xfffd4430>
  7428. 464b4: e009883a mov r4,fp
  7429. 464b8: 0048c680 call 48c68 <_Bfree>
  7430. 464bc: 00800044 movi r2,1
  7431. 464c0: 003fbc06 br 463b4 <__alt_data_end+0xfffd43b4>
  7432. 464c4: a80b883a mov r5,r21
  7433. 464c8: 8009883a mov r4,r16
  7434. 464cc: 00495440 call 49544 <__mcmp>
  7435. 464d0: 103edb0e bge r2,zero,46040 <__alt_data_end+0xfffd4040>
  7436. 464d4: 800b883a mov r5,r16
  7437. 464d8: 000f883a mov r7,zero
  7438. 464dc: 01800284 movi r6,10
  7439. 464e0: e009883a mov r4,fp
  7440. 464e4: 0048c900 call 48c90 <__multadd>
  7441. 464e8: 1021883a mov r16,r2
  7442. 464ec: d8800517 ldw r2,20(sp)
  7443. 464f0: d8c00b17 ldw r3,44(sp)
  7444. 464f4: 10bfffc4 addi r2,r2,-1
  7445. 464f8: d8800515 stw r2,20(sp)
  7446. 464fc: 183f761e bne r3,zero,462d8 <__alt_data_end+0xfffd42d8>
  7447. 46500: d9000c17 ldw r4,48(sp)
  7448. 46504: 0101730e bge zero,r4,46ad4 <_dtoa_r+0x15cc>
  7449. 46508: d9000615 stw r4,24(sp)
  7450. 4650c: 003ed006 br 46050 <__alt_data_end+0xfffd4050>
  7451. 46510: 00800084 movi r2,2
  7452. 46514: 3081861e bne r6,r2,46b30 <_dtoa_r+0x1628>
  7453. 46518: d8000b15 stw zero,44(sp)
  7454. 4651c: 003f3c06 br 46210 <__alt_data_end+0xfffd4210>
  7455. 46520: dc000917 ldw r16,36(sp)
  7456. 46524: 003e9206 br 45f70 <__alt_data_end+0xfffd3f70>
  7457. 46528: d9c00317 ldw r7,12(sp)
  7458. 4652c: 00800084 movi r2,2
  7459. 46530: 11fec50e bge r2,r7,46048 <__alt_data_end+0xfffd4048>
  7460. 46534: d9000617 ldw r4,24(sp)
  7461. 46538: 20013c1e bne r4,zero,46a2c <_dtoa_r+0x1524>
  7462. 4653c: a80b883a mov r5,r21
  7463. 46540: 000f883a mov r7,zero
  7464. 46544: 01800144 movi r6,5
  7465. 46548: e009883a mov r4,fp
  7466. 4654c: 0048c900 call 48c90 <__multadd>
  7467. 46550: 100b883a mov r5,r2
  7468. 46554: 8009883a mov r4,r16
  7469. 46558: 102b883a mov r21,r2
  7470. 4655c: 00495440 call 49544 <__mcmp>
  7471. 46560: dc000915 stw r16,36(sp)
  7472. 46564: 00bf410e bge zero,r2,4626c <__alt_data_end+0xfffd426c>
  7473. 46568: d9c00717 ldw r7,28(sp)
  7474. 4656c: 00800c44 movi r2,49
  7475. 46570: 38800005 stb r2,0(r7)
  7476. 46574: d8800517 ldw r2,20(sp)
  7477. 46578: 3dc00044 addi r23,r7,1
  7478. 4657c: 10800044 addi r2,r2,1
  7479. 46580: d8800515 stw r2,20(sp)
  7480. 46584: 003f3d06 br 4627c <__alt_data_end+0xfffd427c>
  7481. 46588: d9800517 ldw r6,20(sp)
  7482. 4658c: d9c00717 ldw r7,28(sp)
  7483. 46590: 00800c44 movi r2,49
  7484. 46594: 31800044 addi r6,r6,1
  7485. 46598: d9800515 stw r6,20(sp)
  7486. 4659c: 38800005 stb r2,0(r7)
  7487. 465a0: 003edf06 br 46120 <__alt_data_end+0xfffd4120>
  7488. 465a4: d8000b15 stw zero,44(sp)
  7489. 465a8: 003c9f06 br 45828 <__alt_data_end+0xfffd3828>
  7490. 465ac: 903e7e1e bne r18,zero,45fa8 <__alt_data_end+0xfffd3fa8>
  7491. 465b0: 00800434 movhi r2,16
  7492. 465b4: 10bfffc4 addi r2,r2,-1
  7493. 465b8: 9884703a and r2,r19,r2
  7494. 465bc: 1000ea1e bne r2,zero,46968 <_dtoa_r+0x1460>
  7495. 465c0: 9cdffc2c andhi r19,r19,32752
  7496. 465c4: 9800e826 beq r19,zero,46968 <_dtoa_r+0x1460>
  7497. 465c8: d9c00817 ldw r7,32(sp)
  7498. 465cc: b5800044 addi r22,r22,1
  7499. 465d0: 04c00044 movi r19,1
  7500. 465d4: 39c00044 addi r7,r7,1
  7501. 465d8: d9c00815 stw r7,32(sp)
  7502. 465dc: d8800d17 ldw r2,52(sp)
  7503. 465e0: 103e721e bne r2,zero,45fac <__alt_data_end+0xfffd3fac>
  7504. 465e4: 00800044 movi r2,1
  7505. 465e8: 003e7906 br 45fd0 <__alt_data_end+0xfffd3fd0>
  7506. 465ec: 8009883a mov r4,r16
  7507. 465f0: 00429900 call 42990 <__floatsidf>
  7508. 465f4: d9800f17 ldw r6,60(sp)
  7509. 465f8: d9c01017 ldw r7,64(sp)
  7510. 465fc: 1009883a mov r4,r2
  7511. 46600: 180b883a mov r5,r3
  7512. 46604: 004de5c0 call 4de5c <__muldf3>
  7513. 46608: 000d883a mov r6,zero
  7514. 4660c: 01d00734 movhi r7,16412
  7515. 46610: 1009883a mov r4,r2
  7516. 46614: 180b883a mov r5,r3
  7517. 46618: 00415980 call 41598 <__adddf3>
  7518. 4661c: 047f3034 movhi r17,64704
  7519. 46620: 1021883a mov r16,r2
  7520. 46624: 1c63883a add r17,r3,r17
  7521. 46628: d9000f17 ldw r4,60(sp)
  7522. 4662c: d9401017 ldw r5,64(sp)
  7523. 46630: 000d883a mov r6,zero
  7524. 46634: 01d00534 movhi r7,16404
  7525. 46638: 00420140 call 42014 <__subdf3>
  7526. 4663c: 800d883a mov r6,r16
  7527. 46640: 880f883a mov r7,r17
  7528. 46644: 1009883a mov r4,r2
  7529. 46648: 180b883a mov r5,r3
  7530. 4664c: 102b883a mov r21,r2
  7531. 46650: 1829883a mov r20,r3
  7532. 46654: 0041e440 call 41e44 <__gedf2>
  7533. 46658: 00806c16 blt zero,r2,4680c <_dtoa_r+0x1304>
  7534. 4665c: 89e0003c xorhi r7,r17,32768
  7535. 46660: 800d883a mov r6,r16
  7536. 46664: a809883a mov r4,r21
  7537. 46668: a00b883a mov r5,r20
  7538. 4666c: 0041f200 call 41f20 <__ledf2>
  7539. 46670: 103d7e0e bge r2,zero,45c6c <__alt_data_end+0xfffd3c6c>
  7540. 46674: 002b883a mov r21,zero
  7541. 46678: 0023883a mov r17,zero
  7542. 4667c: 003efb06 br 4626c <__alt_data_end+0xfffd426c>
  7543. 46680: d8800717 ldw r2,28(sp)
  7544. 46684: 003bd006 br 455c8 <__alt_data_end+0xfffd35c8>
  7545. 46688: d9000a17 ldw r4,40(sp)
  7546. 4668c: d9800d17 ldw r6,52(sp)
  7547. 46690: dd400a15 stw r21,40(sp)
  7548. 46694: a905c83a sub r2,r21,r4
  7549. 46698: 308d883a add r6,r6,r2
  7550. 4669c: d9800d15 stw r6,52(sp)
  7551. 466a0: 002b883a mov r21,zero
  7552. 466a4: 003e0606 br 45ec0 <__alt_data_end+0xfffd3ec0>
  7553. 466a8: 9023883a mov r17,r18
  7554. 466ac: 9829883a mov r20,r19
  7555. 466b0: 04000084 movi r16,2
  7556. 466b4: 003c9206 br 45900 <__alt_data_end+0xfffd3900>
  7557. 466b8: 04000044 movi r16,1
  7558. 466bc: dc000c15 stw r16,48(sp)
  7559. 466c0: dc000615 stw r16,24(sp)
  7560. 466c4: dc002215 stw r16,136(sp)
  7561. 466c8: e0001115 stw zero,68(fp)
  7562. 466cc: 000b883a mov r5,zero
  7563. 466d0: 003c6906 br 45878 <__alt_data_end+0xfffd3878>
  7564. 466d4: 3021883a mov r16,r6
  7565. 466d8: 003ffb06 br 466c8 <__alt_data_end+0xfffd46c8>
  7566. 466dc: 1000021e bne r2,zero,466e8 <_dtoa_r+0x11e0>
  7567. 466e0: 4200004c andi r8,r8,1
  7568. 466e4: 403e7d1e bne r8,zero,460dc <__alt_data_end+0xfffd40dc>
  7569. 466e8: 01000c04 movi r4,48
  7570. 466ec: 00000106 br 466f4 <_dtoa_r+0x11ec>
  7571. 466f0: 102f883a mov r23,r2
  7572. 466f4: b8bfffc4 addi r2,r23,-1
  7573. 466f8: 10c00007 ldb r3,0(r2)
  7574. 466fc: 193ffc26 beq r3,r4,466f0 <__alt_data_end+0xfffd46f0>
  7575. 46700: 003e8706 br 46120 <__alt_data_end+0xfffd4120>
  7576. 46704: d8800517 ldw r2,20(sp)
  7577. 46708: 00a3c83a sub r17,zero,r2
  7578. 4670c: 8800a426 beq r17,zero,469a0 <_dtoa_r+0x1498>
  7579. 46710: 888003cc andi r2,r17,15
  7580. 46714: 100490fa slli r2,r2,3
  7581. 46718: 00c00174 movhi r3,5
  7582. 4671c: 18c87604 addi r3,r3,8664
  7583. 46720: 1885883a add r2,r3,r2
  7584. 46724: 11800017 ldw r6,0(r2)
  7585. 46728: 11c00117 ldw r7,4(r2)
  7586. 4672c: 9009883a mov r4,r18
  7587. 46730: 980b883a mov r5,r19
  7588. 46734: 8823d13a srai r17,r17,4
  7589. 46738: 004de5c0 call 4de5c <__muldf3>
  7590. 4673c: d8800f15 stw r2,60(sp)
  7591. 46740: d8c01015 stw r3,64(sp)
  7592. 46744: 8800e826 beq r17,zero,46ae8 <_dtoa_r+0x15e0>
  7593. 46748: 05000174 movhi r20,5
  7594. 4674c: a5086c04 addi r20,r20,8624
  7595. 46750: 04000084 movi r16,2
  7596. 46754: 8980004c andi r6,r17,1
  7597. 46758: 1009883a mov r4,r2
  7598. 4675c: 8823d07a srai r17,r17,1
  7599. 46760: 180b883a mov r5,r3
  7600. 46764: 30000426 beq r6,zero,46778 <_dtoa_r+0x1270>
  7601. 46768: a1800017 ldw r6,0(r20)
  7602. 4676c: a1c00117 ldw r7,4(r20)
  7603. 46770: 84000044 addi r16,r16,1
  7604. 46774: 004de5c0 call 4de5c <__muldf3>
  7605. 46778: a5000204 addi r20,r20,8
  7606. 4677c: 883ff51e bne r17,zero,46754 <__alt_data_end+0xfffd4754>
  7607. 46780: d8800f15 stw r2,60(sp)
  7608. 46784: d8c01015 stw r3,64(sp)
  7609. 46788: 003c7606 br 45964 <__alt_data_end+0xfffd3964>
  7610. 4678c: 00c00c04 movi r3,48
  7611. 46790: 10c00005 stb r3,0(r2)
  7612. 46794: d8c00517 ldw r3,20(sp)
  7613. 46798: bd3fffc3 ldbu r20,-1(r23)
  7614. 4679c: 18c00044 addi r3,r3,1
  7615. 467a0: d8c00515 stw r3,20(sp)
  7616. 467a4: 003db906 br 45e8c <__alt_data_end+0xfffd3e8c>
  7617. 467a8: 89400117 ldw r5,4(r17)
  7618. 467ac: e009883a mov r4,fp
  7619. 467b0: 0048bc00 call 48bc0 <_Balloc>
  7620. 467b4: 89800417 ldw r6,16(r17)
  7621. 467b8: 89400304 addi r5,r17,12
  7622. 467bc: 11000304 addi r4,r2,12
  7623. 467c0: 31800084 addi r6,r6,2
  7624. 467c4: 318d883a add r6,r6,r6
  7625. 467c8: 318d883a add r6,r6,r6
  7626. 467cc: 1027883a mov r19,r2
  7627. 467d0: 00487f40 call 487f4 <memcpy>
  7628. 467d4: 01800044 movi r6,1
  7629. 467d8: 980b883a mov r5,r19
  7630. 467dc: e009883a mov r4,fp
  7631. 467e0: 00493fc0 call 493fc <__lshift>
  7632. 467e4: 1029883a mov r20,r2
  7633. 467e8: 003ecc06 br 4631c <__alt_data_end+0xfffd431c>
  7634. 467ec: 00800e44 movi r2,57
  7635. 467f0: 90809026 beq r18,r2,46a34 <_dtoa_r+0x152c>
  7636. 467f4: 92000044 addi r8,r18,1
  7637. 467f8: 003f1f06 br 46478 <__alt_data_end+0xfffd4478>
  7638. 467fc: 9011883a mov r8,r18
  7639. 46800: 8825883a mov r18,r17
  7640. 46804: a023883a mov r17,r20
  7641. 46808: 003e2906 br 460b0 <__alt_data_end+0xfffd40b0>
  7642. 4680c: 002b883a mov r21,zero
  7643. 46810: 0023883a mov r17,zero
  7644. 46814: 003f5406 br 46568 <__alt_data_end+0xfffd4568>
  7645. 46818: 61bfffc4 addi r6,r12,-1
  7646. 4681c: 300490fa slli r2,r6,3
  7647. 46820: 00c00174 movhi r3,5
  7648. 46824: 18c87604 addi r3,r3,8664
  7649. 46828: 1885883a add r2,r3,r2
  7650. 4682c: 11000017 ldw r4,0(r2)
  7651. 46830: 11400117 ldw r5,4(r2)
  7652. 46834: d8800717 ldw r2,28(sp)
  7653. 46838: 880f883a mov r7,r17
  7654. 4683c: d9801215 stw r6,72(sp)
  7655. 46840: 800d883a mov r6,r16
  7656. 46844: db001615 stw r12,88(sp)
  7657. 46848: 15c00044 addi r23,r2,1
  7658. 4684c: 004de5c0 call 4de5c <__muldf3>
  7659. 46850: d9401017 ldw r5,64(sp)
  7660. 46854: d9000f17 ldw r4,60(sp)
  7661. 46858: d8c01515 stw r3,84(sp)
  7662. 4685c: d8801415 stw r2,80(sp)
  7663. 46860: 00429100 call 42910 <__fixdfsi>
  7664. 46864: 1009883a mov r4,r2
  7665. 46868: 1021883a mov r16,r2
  7666. 4686c: 00429900 call 42990 <__floatsidf>
  7667. 46870: d9000f17 ldw r4,60(sp)
  7668. 46874: d9401017 ldw r5,64(sp)
  7669. 46878: 100d883a mov r6,r2
  7670. 4687c: 180f883a mov r7,r3
  7671. 46880: 00420140 call 42014 <__subdf3>
  7672. 46884: 1829883a mov r20,r3
  7673. 46888: d8c00717 ldw r3,28(sp)
  7674. 4688c: 84000c04 addi r16,r16,48
  7675. 46890: 1023883a mov r17,r2
  7676. 46894: 1c000005 stb r16,0(r3)
  7677. 46898: db001617 ldw r12,88(sp)
  7678. 4689c: 00800044 movi r2,1
  7679. 468a0: 60802226 beq r12,r2,4692c <_dtoa_r+0x1424>
  7680. 468a4: d9c00717 ldw r7,28(sp)
  7681. 468a8: 8805883a mov r2,r17
  7682. 468ac: b82b883a mov r21,r23
  7683. 468b0: 3b19883a add r12,r7,r12
  7684. 468b4: 6023883a mov r17,r12
  7685. 468b8: a007883a mov r3,r20
  7686. 468bc: dc800f15 stw r18,60(sp)
  7687. 468c0: 000d883a mov r6,zero
  7688. 468c4: 01d00934 movhi r7,16420
  7689. 468c8: 1009883a mov r4,r2
  7690. 468cc: 180b883a mov r5,r3
  7691. 468d0: 004de5c0 call 4de5c <__muldf3>
  7692. 468d4: 180b883a mov r5,r3
  7693. 468d8: 1009883a mov r4,r2
  7694. 468dc: 1829883a mov r20,r3
  7695. 468e0: 1025883a mov r18,r2
  7696. 468e4: 00429100 call 42910 <__fixdfsi>
  7697. 468e8: 1009883a mov r4,r2
  7698. 468ec: 1021883a mov r16,r2
  7699. 468f0: 00429900 call 42990 <__floatsidf>
  7700. 468f4: 100d883a mov r6,r2
  7701. 468f8: 180f883a mov r7,r3
  7702. 468fc: 9009883a mov r4,r18
  7703. 46900: a00b883a mov r5,r20
  7704. 46904: 84000c04 addi r16,r16,48
  7705. 46908: 00420140 call 42014 <__subdf3>
  7706. 4690c: ad400044 addi r21,r21,1
  7707. 46910: ac3fffc5 stb r16,-1(r21)
  7708. 46914: ac7fea1e bne r21,r17,468c0 <__alt_data_end+0xfffd48c0>
  7709. 46918: 1023883a mov r17,r2
  7710. 4691c: d8801217 ldw r2,72(sp)
  7711. 46920: dc800f17 ldw r18,60(sp)
  7712. 46924: 1829883a mov r20,r3
  7713. 46928: b8af883a add r23,r23,r2
  7714. 4692c: d9001417 ldw r4,80(sp)
  7715. 46930: d9401517 ldw r5,84(sp)
  7716. 46934: 000d883a mov r6,zero
  7717. 46938: 01cff834 movhi r7,16352
  7718. 4693c: 00415980 call 41598 <__adddf3>
  7719. 46940: 880d883a mov r6,r17
  7720. 46944: a00f883a mov r7,r20
  7721. 46948: 1009883a mov r4,r2
  7722. 4694c: 180b883a mov r5,r3
  7723. 46950: 0041f200 call 41f20 <__ledf2>
  7724. 46954: 10003e0e bge r2,zero,46a50 <_dtoa_r+0x1548>
  7725. 46958: d9001317 ldw r4,76(sp)
  7726. 4695c: bd3fffc3 ldbu r20,-1(r23)
  7727. 46960: d9000515 stw r4,20(sp)
  7728. 46964: 003d3b06 br 45e54 <__alt_data_end+0xfffd3e54>
  7729. 46968: 0027883a mov r19,zero
  7730. 4696c: 003f1b06 br 465dc <__alt_data_end+0xfffd45dc>
  7731. 46970: d8800817 ldw r2,32(sp)
  7732. 46974: 11e9c83a sub r20,r2,r7
  7733. 46978: 0005883a mov r2,zero
  7734. 4697c: 003d5406 br 45ed0 <__alt_data_end+0xfffd3ed0>
  7735. 46980: 00800044 movi r2,1
  7736. 46984: 003dc706 br 460a4 <__alt_data_end+0xfffd40a4>
  7737. 46988: d8c00217 ldw r3,8(sp)
  7738. 4698c: 00800d84 movi r2,54
  7739. 46990: dd400a17 ldw r21,40(sp)
  7740. 46994: 10c5c83a sub r2,r2,r3
  7741. 46998: dd000817 ldw r20,32(sp)
  7742. 4699c: 003d4c06 br 45ed0 <__alt_data_end+0xfffd3ed0>
  7743. 469a0: dc800f15 stw r18,60(sp)
  7744. 469a4: dcc01015 stw r19,64(sp)
  7745. 469a8: 04000084 movi r16,2
  7746. 469ac: 003bed06 br 45964 <__alt_data_end+0xfffd3964>
  7747. 469b0: d9000617 ldw r4,24(sp)
  7748. 469b4: 203f0d26 beq r4,zero,465ec <__alt_data_end+0xfffd45ec>
  7749. 469b8: d9800c17 ldw r6,48(sp)
  7750. 469bc: 01bcab0e bge zero,r6,45c6c <__alt_data_end+0xfffd3c6c>
  7751. 469c0: d9401017 ldw r5,64(sp)
  7752. 469c4: d9000f17 ldw r4,60(sp)
  7753. 469c8: 000d883a mov r6,zero
  7754. 469cc: 01d00934 movhi r7,16420
  7755. 469d0: 004de5c0 call 4de5c <__muldf3>
  7756. 469d4: 81000044 addi r4,r16,1
  7757. 469d8: d8800f15 stw r2,60(sp)
  7758. 469dc: d8c01015 stw r3,64(sp)
  7759. 469e0: 00429900 call 42990 <__floatsidf>
  7760. 469e4: d9800f17 ldw r6,60(sp)
  7761. 469e8: d9c01017 ldw r7,64(sp)
  7762. 469ec: 1009883a mov r4,r2
  7763. 469f0: 180b883a mov r5,r3
  7764. 469f4: 004de5c0 call 4de5c <__muldf3>
  7765. 469f8: 01d00734 movhi r7,16412
  7766. 469fc: 000d883a mov r6,zero
  7767. 46a00: 1009883a mov r4,r2
  7768. 46a04: 180b883a mov r5,r3
  7769. 46a08: 00415980 call 41598 <__adddf3>
  7770. 46a0c: d9c00517 ldw r7,20(sp)
  7771. 46a10: 047f3034 movhi r17,64704
  7772. 46a14: 1021883a mov r16,r2
  7773. 46a18: 39ffffc4 addi r7,r7,-1
  7774. 46a1c: d9c01315 stw r7,76(sp)
  7775. 46a20: 1c63883a add r17,r3,r17
  7776. 46a24: db000c17 ldw r12,48(sp)
  7777. 46a28: 003bea06 br 459d4 <__alt_data_end+0xfffd39d4>
  7778. 46a2c: dc000915 stw r16,36(sp)
  7779. 46a30: 003e0e06 br 4626c <__alt_data_end+0xfffd426c>
  7780. 46a34: 01000e44 movi r4,57
  7781. 46a38: 8825883a mov r18,r17
  7782. 46a3c: 9dc00044 addi r23,r19,1
  7783. 46a40: 99000005 stb r4,0(r19)
  7784. 46a44: a023883a mov r17,r20
  7785. 46a48: dc000915 stw r16,36(sp)
  7786. 46a4c: 003da406 br 460e0 <__alt_data_end+0xfffd40e0>
  7787. 46a50: d9801417 ldw r6,80(sp)
  7788. 46a54: d9c01517 ldw r7,84(sp)
  7789. 46a58: 0009883a mov r4,zero
  7790. 46a5c: 014ff834 movhi r5,16352
  7791. 46a60: 00420140 call 42014 <__subdf3>
  7792. 46a64: 880d883a mov r6,r17
  7793. 46a68: a00f883a mov r7,r20
  7794. 46a6c: 1009883a mov r4,r2
  7795. 46a70: 180b883a mov r5,r3
  7796. 46a74: 0041e440 call 41e44 <__gedf2>
  7797. 46a78: 00bc7c0e bge zero,r2,45c6c <__alt_data_end+0xfffd3c6c>
  7798. 46a7c: 01000c04 movi r4,48
  7799. 46a80: 00000106 br 46a88 <_dtoa_r+0x1580>
  7800. 46a84: 102f883a mov r23,r2
  7801. 46a88: b8bfffc4 addi r2,r23,-1
  7802. 46a8c: 10c00007 ldb r3,0(r2)
  7803. 46a90: 193ffc26 beq r3,r4,46a84 <__alt_data_end+0xfffd4a84>
  7804. 46a94: d9801317 ldw r6,76(sp)
  7805. 46a98: d9800515 stw r6,20(sp)
  7806. 46a9c: 003c4406 br 45bb0 <__alt_data_end+0xfffd3bb0>
  7807. 46aa0: d9801317 ldw r6,76(sp)
  7808. 46aa4: d9800515 stw r6,20(sp)
  7809. 46aa8: 003cea06 br 45e54 <__alt_data_end+0xfffd3e54>
  7810. 46aac: dd800f17 ldw r22,60(sp)
  7811. 46ab0: dcc01017 ldw r19,64(sp)
  7812. 46ab4: dc801217 ldw r18,72(sp)
  7813. 46ab8: 003c6c06 br 45c6c <__alt_data_end+0xfffd3c6c>
  7814. 46abc: 903e031e bne r18,zero,462cc <__alt_data_end+0xfffd42cc>
  7815. 46ac0: 003ebb06 br 465b0 <__alt_data_end+0xfffd45b0>
  7816. 46ac4: 103e6c1e bne r2,zero,46478 <__alt_data_end+0xfffd4478>
  7817. 46ac8: 4080004c andi r2,r8,1
  7818. 46acc: 103e6a26 beq r2,zero,46478 <__alt_data_end+0xfffd4478>
  7819. 46ad0: 003e6606 br 4646c <__alt_data_end+0xfffd446c>
  7820. 46ad4: d8c00317 ldw r3,12(sp)
  7821. 46ad8: 00800084 movi r2,2
  7822. 46adc: 10c02916 blt r2,r3,46b84 <_dtoa_r+0x167c>
  7823. 46ae0: d9000c17 ldw r4,48(sp)
  7824. 46ae4: 003e8806 br 46508 <__alt_data_end+0xfffd4508>
  7825. 46ae8: 04000084 movi r16,2
  7826. 46aec: 003b9d06 br 45964 <__alt_data_end+0xfffd3964>
  7827. 46af0: d9001317 ldw r4,76(sp)
  7828. 46af4: d9000515 stw r4,20(sp)
  7829. 46af8: 003cd606 br 45e54 <__alt_data_end+0xfffd3e54>
  7830. 46afc: d8801317 ldw r2,76(sp)
  7831. 46b00: d8800515 stw r2,20(sp)
  7832. 46b04: 003c2a06 br 45bb0 <__alt_data_end+0xfffd3bb0>
  7833. 46b08: d9800317 ldw r6,12(sp)
  7834. 46b0c: 00800084 movi r2,2
  7835. 46b10: 11801516 blt r2,r6,46b68 <_dtoa_r+0x1660>
  7836. 46b14: d9c00c17 ldw r7,48(sp)
  7837. 46b18: d9c00615 stw r7,24(sp)
  7838. 46b1c: 003df706 br 462fc <__alt_data_end+0xfffd42fc>
  7839. 46b20: 193d3926 beq r3,r4,46008 <__alt_data_end+0xfffd4008>
  7840. 46b24: 00c00f04 movi r3,60
  7841. 46b28: 1885c83a sub r2,r3,r2
  7842. 46b2c: 003ddf06 br 462ac <__alt_data_end+0xfffd42ac>
  7843. 46b30: e009883a mov r4,fp
  7844. 46b34: e0001115 stw zero,68(fp)
  7845. 46b38: 000b883a mov r5,zero
  7846. 46b3c: 0048bc00 call 48bc0 <_Balloc>
  7847. 46b40: d8800715 stw r2,28(sp)
  7848. 46b44: d8c00717 ldw r3,28(sp)
  7849. 46b48: 00bfffc4 movi r2,-1
  7850. 46b4c: 01000044 movi r4,1
  7851. 46b50: d8800c15 stw r2,48(sp)
  7852. 46b54: e0c01015 stw r3,64(fp)
  7853. 46b58: d9000b15 stw r4,44(sp)
  7854. 46b5c: d8800615 stw r2,24(sp)
  7855. 46b60: d8002215 stw zero,136(sp)
  7856. 46b64: 003c4106 br 45c6c <__alt_data_end+0xfffd3c6c>
  7857. 46b68: d8c00c17 ldw r3,48(sp)
  7858. 46b6c: d8c00615 stw r3,24(sp)
  7859. 46b70: 003e7006 br 46534 <__alt_data_end+0xfffd4534>
  7860. 46b74: 04400044 movi r17,1
  7861. 46b78: 003b2006 br 457fc <__alt_data_end+0xfffd37fc>
  7862. 46b7c: 000b883a mov r5,zero
  7863. 46b80: 003b3d06 br 45878 <__alt_data_end+0xfffd3878>
  7864. 46b84: d8800c17 ldw r2,48(sp)
  7865. 46b88: d8800615 stw r2,24(sp)
  7866. 46b8c: 003e6906 br 46534 <__alt_data_end+0xfffd4534>
  7867. 00046b90 <__sflush_r>:
  7868. 46b90: 2880030b ldhu r2,12(r5)
  7869. 46b94: defffb04 addi sp,sp,-20
  7870. 46b98: dcc00315 stw r19,12(sp)
  7871. 46b9c: dc400115 stw r17,4(sp)
  7872. 46ba0: dfc00415 stw ra,16(sp)
  7873. 46ba4: dc800215 stw r18,8(sp)
  7874. 46ba8: dc000015 stw r16,0(sp)
  7875. 46bac: 10c0020c andi r3,r2,8
  7876. 46bb0: 2823883a mov r17,r5
  7877. 46bb4: 2027883a mov r19,r4
  7878. 46bb8: 1800311e bne r3,zero,46c80 <__sflush_r+0xf0>
  7879. 46bbc: 28c00117 ldw r3,4(r5)
  7880. 46bc0: 10820014 ori r2,r2,2048
  7881. 46bc4: 2880030d sth r2,12(r5)
  7882. 46bc8: 00c04b0e bge zero,r3,46cf8 <__sflush_r+0x168>
  7883. 46bcc: 8a000a17 ldw r8,40(r17)
  7884. 46bd0: 40002326 beq r8,zero,46c60 <__sflush_r+0xd0>
  7885. 46bd4: 9c000017 ldw r16,0(r19)
  7886. 46bd8: 10c4000c andi r3,r2,4096
  7887. 46bdc: 98000015 stw zero,0(r19)
  7888. 46be0: 18004826 beq r3,zero,46d04 <__sflush_r+0x174>
  7889. 46be4: 89801417 ldw r6,80(r17)
  7890. 46be8: 10c0010c andi r3,r2,4
  7891. 46bec: 18000626 beq r3,zero,46c08 <__sflush_r+0x78>
  7892. 46bf0: 88c00117 ldw r3,4(r17)
  7893. 46bf4: 88800c17 ldw r2,48(r17)
  7894. 46bf8: 30cdc83a sub r6,r6,r3
  7895. 46bfc: 10000226 beq r2,zero,46c08 <__sflush_r+0x78>
  7896. 46c00: 88800f17 ldw r2,60(r17)
  7897. 46c04: 308dc83a sub r6,r6,r2
  7898. 46c08: 89400717 ldw r5,28(r17)
  7899. 46c0c: 000f883a mov r7,zero
  7900. 46c10: 9809883a mov r4,r19
  7901. 46c14: 403ee83a callr r8
  7902. 46c18: 00ffffc4 movi r3,-1
  7903. 46c1c: 10c04426 beq r2,r3,46d30 <__sflush_r+0x1a0>
  7904. 46c20: 88c0030b ldhu r3,12(r17)
  7905. 46c24: 89000417 ldw r4,16(r17)
  7906. 46c28: 88000115 stw zero,4(r17)
  7907. 46c2c: 197dffcc andi r5,r3,63487
  7908. 46c30: 8940030d sth r5,12(r17)
  7909. 46c34: 89000015 stw r4,0(r17)
  7910. 46c38: 18c4000c andi r3,r3,4096
  7911. 46c3c: 18002c1e bne r3,zero,46cf0 <__sflush_r+0x160>
  7912. 46c40: 89400c17 ldw r5,48(r17)
  7913. 46c44: 9c000015 stw r16,0(r19)
  7914. 46c48: 28000526 beq r5,zero,46c60 <__sflush_r+0xd0>
  7915. 46c4c: 88801004 addi r2,r17,64
  7916. 46c50: 28800226 beq r5,r2,46c5c <__sflush_r+0xcc>
  7917. 46c54: 9809883a mov r4,r19
  7918. 46c58: 004730c0 call 4730c <_free_r>
  7919. 46c5c: 88000c15 stw zero,48(r17)
  7920. 46c60: 0005883a mov r2,zero
  7921. 46c64: dfc00417 ldw ra,16(sp)
  7922. 46c68: dcc00317 ldw r19,12(sp)
  7923. 46c6c: dc800217 ldw r18,8(sp)
  7924. 46c70: dc400117 ldw r17,4(sp)
  7925. 46c74: dc000017 ldw r16,0(sp)
  7926. 46c78: dec00504 addi sp,sp,20
  7927. 46c7c: f800283a ret
  7928. 46c80: 2c800417 ldw r18,16(r5)
  7929. 46c84: 903ff626 beq r18,zero,46c60 <__alt_data_end+0xfffd4c60>
  7930. 46c88: 2c000017 ldw r16,0(r5)
  7931. 46c8c: 108000cc andi r2,r2,3
  7932. 46c90: 2c800015 stw r18,0(r5)
  7933. 46c94: 84a1c83a sub r16,r16,r18
  7934. 46c98: 1000131e bne r2,zero,46ce8 <__sflush_r+0x158>
  7935. 46c9c: 28800517 ldw r2,20(r5)
  7936. 46ca0: 88800215 stw r2,8(r17)
  7937. 46ca4: 04000316 blt zero,r16,46cb4 <__sflush_r+0x124>
  7938. 46ca8: 003fed06 br 46c60 <__alt_data_end+0xfffd4c60>
  7939. 46cac: 90a5883a add r18,r18,r2
  7940. 46cb0: 043feb0e bge zero,r16,46c60 <__alt_data_end+0xfffd4c60>
  7941. 46cb4: 88800917 ldw r2,36(r17)
  7942. 46cb8: 89400717 ldw r5,28(r17)
  7943. 46cbc: 800f883a mov r7,r16
  7944. 46cc0: 900d883a mov r6,r18
  7945. 46cc4: 9809883a mov r4,r19
  7946. 46cc8: 103ee83a callr r2
  7947. 46ccc: 80a1c83a sub r16,r16,r2
  7948. 46cd0: 00bff616 blt zero,r2,46cac <__alt_data_end+0xfffd4cac>
  7949. 46cd4: 88c0030b ldhu r3,12(r17)
  7950. 46cd8: 00bfffc4 movi r2,-1
  7951. 46cdc: 18c01014 ori r3,r3,64
  7952. 46ce0: 88c0030d sth r3,12(r17)
  7953. 46ce4: 003fdf06 br 46c64 <__alt_data_end+0xfffd4c64>
  7954. 46ce8: 0005883a mov r2,zero
  7955. 46cec: 003fec06 br 46ca0 <__alt_data_end+0xfffd4ca0>
  7956. 46cf0: 88801415 stw r2,80(r17)
  7957. 46cf4: 003fd206 br 46c40 <__alt_data_end+0xfffd4c40>
  7958. 46cf8: 28c00f17 ldw r3,60(r5)
  7959. 46cfc: 00ffb316 blt zero,r3,46bcc <__alt_data_end+0xfffd4bcc>
  7960. 46d00: 003fd706 br 46c60 <__alt_data_end+0xfffd4c60>
  7961. 46d04: 89400717 ldw r5,28(r17)
  7962. 46d08: 000d883a mov r6,zero
  7963. 46d0c: 01c00044 movi r7,1
  7964. 46d10: 9809883a mov r4,r19
  7965. 46d14: 403ee83a callr r8
  7966. 46d18: 100d883a mov r6,r2
  7967. 46d1c: 00bfffc4 movi r2,-1
  7968. 46d20: 30801426 beq r6,r2,46d74 <__sflush_r+0x1e4>
  7969. 46d24: 8880030b ldhu r2,12(r17)
  7970. 46d28: 8a000a17 ldw r8,40(r17)
  7971. 46d2c: 003fae06 br 46be8 <__alt_data_end+0xfffd4be8>
  7972. 46d30: 98c00017 ldw r3,0(r19)
  7973. 46d34: 183fba26 beq r3,zero,46c20 <__alt_data_end+0xfffd4c20>
  7974. 46d38: 01000744 movi r4,29
  7975. 46d3c: 19000626 beq r3,r4,46d58 <__sflush_r+0x1c8>
  7976. 46d40: 01000584 movi r4,22
  7977. 46d44: 19000426 beq r3,r4,46d58 <__sflush_r+0x1c8>
  7978. 46d48: 88c0030b ldhu r3,12(r17)
  7979. 46d4c: 18c01014 ori r3,r3,64
  7980. 46d50: 88c0030d sth r3,12(r17)
  7981. 46d54: 003fc306 br 46c64 <__alt_data_end+0xfffd4c64>
  7982. 46d58: 8880030b ldhu r2,12(r17)
  7983. 46d5c: 88c00417 ldw r3,16(r17)
  7984. 46d60: 88000115 stw zero,4(r17)
  7985. 46d64: 10bdffcc andi r2,r2,63487
  7986. 46d68: 8880030d sth r2,12(r17)
  7987. 46d6c: 88c00015 stw r3,0(r17)
  7988. 46d70: 003fb306 br 46c40 <__alt_data_end+0xfffd4c40>
  7989. 46d74: 98800017 ldw r2,0(r19)
  7990. 46d78: 103fea26 beq r2,zero,46d24 <__alt_data_end+0xfffd4d24>
  7991. 46d7c: 00c00744 movi r3,29
  7992. 46d80: 10c00226 beq r2,r3,46d8c <__sflush_r+0x1fc>
  7993. 46d84: 00c00584 movi r3,22
  7994. 46d88: 10c0031e bne r2,r3,46d98 <__sflush_r+0x208>
  7995. 46d8c: 9c000015 stw r16,0(r19)
  7996. 46d90: 0005883a mov r2,zero
  7997. 46d94: 003fb306 br 46c64 <__alt_data_end+0xfffd4c64>
  7998. 46d98: 88c0030b ldhu r3,12(r17)
  7999. 46d9c: 3005883a mov r2,r6
  8000. 46da0: 18c01014 ori r3,r3,64
  8001. 46da4: 88c0030d sth r3,12(r17)
  8002. 46da8: 003fae06 br 46c64 <__alt_data_end+0xfffd4c64>
  8003. 00046dac <_fflush_r>:
  8004. 46dac: defffd04 addi sp,sp,-12
  8005. 46db0: dc000115 stw r16,4(sp)
  8006. 46db4: dfc00215 stw ra,8(sp)
  8007. 46db8: 2021883a mov r16,r4
  8008. 46dbc: 20000226 beq r4,zero,46dc8 <_fflush_r+0x1c>
  8009. 46dc0: 20800e17 ldw r2,56(r4)
  8010. 46dc4: 10000c26 beq r2,zero,46df8 <_fflush_r+0x4c>
  8011. 46dc8: 2880030f ldh r2,12(r5)
  8012. 46dcc: 1000051e bne r2,zero,46de4 <_fflush_r+0x38>
  8013. 46dd0: 0005883a mov r2,zero
  8014. 46dd4: dfc00217 ldw ra,8(sp)
  8015. 46dd8: dc000117 ldw r16,4(sp)
  8016. 46ddc: dec00304 addi sp,sp,12
  8017. 46de0: f800283a ret
  8018. 46de4: 8009883a mov r4,r16
  8019. 46de8: dfc00217 ldw ra,8(sp)
  8020. 46dec: dc000117 ldw r16,4(sp)
  8021. 46df0: dec00304 addi sp,sp,12
  8022. 46df4: 0046b901 jmpi 46b90 <__sflush_r>
  8023. 46df8: d9400015 stw r5,0(sp)
  8024. 46dfc: 00471980 call 47198 <__sinit>
  8025. 46e00: d9400017 ldw r5,0(sp)
  8026. 46e04: 003ff006 br 46dc8 <__alt_data_end+0xfffd4dc8>
  8027. 00046e08 <fflush>:
  8028. 46e08: 20000526 beq r4,zero,46e20 <fflush+0x18>
  8029. 46e0c: 00800174 movhi r2,5
  8030. 46e10: 10905304 addi r2,r2,16716
  8031. 46e14: 200b883a mov r5,r4
  8032. 46e18: 11000017 ldw r4,0(r2)
  8033. 46e1c: 0046dac1 jmpi 46dac <_fflush_r>
  8034. 46e20: 00800174 movhi r2,5
  8035. 46e24: 10905204 addi r2,r2,16712
  8036. 46e28: 11000017 ldw r4,0(r2)
  8037. 46e2c: 01400134 movhi r5,4
  8038. 46e30: 295b6b04 addi r5,r5,28076
  8039. 46e34: 0047ba81 jmpi 47ba8 <_fwalk_reent>
  8040. 00046e38 <__fp_unlock>:
  8041. 46e38: 0005883a mov r2,zero
  8042. 46e3c: f800283a ret
  8043. 00046e40 <_cleanup_r>:
  8044. 46e40: 01400174 movhi r5,5
  8045. 46e44: 29700104 addi r5,r5,-16380
  8046. 46e48: 0047ba81 jmpi 47ba8 <_fwalk_reent>
  8047. 00046e4c <__sinit.part.1>:
  8048. 46e4c: defff704 addi sp,sp,-36
  8049. 46e50: 00c00134 movhi r3,4
  8050. 46e54: dfc00815 stw ra,32(sp)
  8051. 46e58: ddc00715 stw r23,28(sp)
  8052. 46e5c: dd800615 stw r22,24(sp)
  8053. 46e60: dd400515 stw r21,20(sp)
  8054. 46e64: dd000415 stw r20,16(sp)
  8055. 46e68: dcc00315 stw r19,12(sp)
  8056. 46e6c: dc800215 stw r18,8(sp)
  8057. 46e70: dc400115 stw r17,4(sp)
  8058. 46e74: dc000015 stw r16,0(sp)
  8059. 46e78: 18db9004 addi r3,r3,28224
  8060. 46e7c: 24000117 ldw r16,4(r4)
  8061. 46e80: 20c00f15 stw r3,60(r4)
  8062. 46e84: 2080bb04 addi r2,r4,748
  8063. 46e88: 00c000c4 movi r3,3
  8064. 46e8c: 20c0b915 stw r3,740(r4)
  8065. 46e90: 2080ba15 stw r2,744(r4)
  8066. 46e94: 2000b815 stw zero,736(r4)
  8067. 46e98: 05c00204 movi r23,8
  8068. 46e9c: 00800104 movi r2,4
  8069. 46ea0: 2025883a mov r18,r4
  8070. 46ea4: b80d883a mov r6,r23
  8071. 46ea8: 81001704 addi r4,r16,92
  8072. 46eac: 000b883a mov r5,zero
  8073. 46eb0: 80000015 stw zero,0(r16)
  8074. 46eb4: 80000115 stw zero,4(r16)
  8075. 46eb8: 80000215 stw zero,8(r16)
  8076. 46ebc: 8080030d sth r2,12(r16)
  8077. 46ec0: 80001915 stw zero,100(r16)
  8078. 46ec4: 8000038d sth zero,14(r16)
  8079. 46ec8: 80000415 stw zero,16(r16)
  8080. 46ecc: 80000515 stw zero,20(r16)
  8081. 46ed0: 80000615 stw zero,24(r16)
  8082. 46ed4: 0048a980 call 48a98 <memset>
  8083. 46ed8: 05800174 movhi r22,5
  8084. 46edc: 94400217 ldw r17,8(r18)
  8085. 46ee0: 05400174 movhi r21,5
  8086. 46ee4: 05000174 movhi r20,5
  8087. 46ee8: 04c00174 movhi r19,5
  8088. 46eec: b5a90304 addi r22,r22,-23540
  8089. 46ef0: ad691a04 addi r21,r21,-23448
  8090. 46ef4: a5293904 addi r20,r20,-23324
  8091. 46ef8: 9ce95004 addi r19,r19,-23232
  8092. 46efc: 85800815 stw r22,32(r16)
  8093. 46f00: 85400915 stw r21,36(r16)
  8094. 46f04: 85000a15 stw r20,40(r16)
  8095. 46f08: 84c00b15 stw r19,44(r16)
  8096. 46f0c: 84000715 stw r16,28(r16)
  8097. 46f10: 00800284 movi r2,10
  8098. 46f14: 8880030d sth r2,12(r17)
  8099. 46f18: 00800044 movi r2,1
  8100. 46f1c: b80d883a mov r6,r23
  8101. 46f20: 89001704 addi r4,r17,92
  8102. 46f24: 000b883a mov r5,zero
  8103. 46f28: 88000015 stw zero,0(r17)
  8104. 46f2c: 88000115 stw zero,4(r17)
  8105. 46f30: 88000215 stw zero,8(r17)
  8106. 46f34: 88001915 stw zero,100(r17)
  8107. 46f38: 8880038d sth r2,14(r17)
  8108. 46f3c: 88000415 stw zero,16(r17)
  8109. 46f40: 88000515 stw zero,20(r17)
  8110. 46f44: 88000615 stw zero,24(r17)
  8111. 46f48: 0048a980 call 48a98 <memset>
  8112. 46f4c: 94000317 ldw r16,12(r18)
  8113. 46f50: 00800484 movi r2,18
  8114. 46f54: 8c400715 stw r17,28(r17)
  8115. 46f58: 8d800815 stw r22,32(r17)
  8116. 46f5c: 8d400915 stw r21,36(r17)
  8117. 46f60: 8d000a15 stw r20,40(r17)
  8118. 46f64: 8cc00b15 stw r19,44(r17)
  8119. 46f68: 8080030d sth r2,12(r16)
  8120. 46f6c: 00800084 movi r2,2
  8121. 46f70: 80000015 stw zero,0(r16)
  8122. 46f74: 80000115 stw zero,4(r16)
  8123. 46f78: 80000215 stw zero,8(r16)
  8124. 46f7c: 80001915 stw zero,100(r16)
  8125. 46f80: 8080038d sth r2,14(r16)
  8126. 46f84: 80000415 stw zero,16(r16)
  8127. 46f88: 80000515 stw zero,20(r16)
  8128. 46f8c: 80000615 stw zero,24(r16)
  8129. 46f90: b80d883a mov r6,r23
  8130. 46f94: 000b883a mov r5,zero
  8131. 46f98: 81001704 addi r4,r16,92
  8132. 46f9c: 0048a980 call 48a98 <memset>
  8133. 46fa0: 00800044 movi r2,1
  8134. 46fa4: 84000715 stw r16,28(r16)
  8135. 46fa8: 85800815 stw r22,32(r16)
  8136. 46fac: 85400915 stw r21,36(r16)
  8137. 46fb0: 85000a15 stw r20,40(r16)
  8138. 46fb4: 84c00b15 stw r19,44(r16)
  8139. 46fb8: 90800e15 stw r2,56(r18)
  8140. 46fbc: dfc00817 ldw ra,32(sp)
  8141. 46fc0: ddc00717 ldw r23,28(sp)
  8142. 46fc4: dd800617 ldw r22,24(sp)
  8143. 46fc8: dd400517 ldw r21,20(sp)
  8144. 46fcc: dd000417 ldw r20,16(sp)
  8145. 46fd0: dcc00317 ldw r19,12(sp)
  8146. 46fd4: dc800217 ldw r18,8(sp)
  8147. 46fd8: dc400117 ldw r17,4(sp)
  8148. 46fdc: dc000017 ldw r16,0(sp)
  8149. 46fe0: dec00904 addi sp,sp,36
  8150. 46fe4: f800283a ret
  8151. 00046fe8 <__fp_lock>:
  8152. 46fe8: 0005883a mov r2,zero
  8153. 46fec: f800283a ret
  8154. 00046ff0 <__sfmoreglue>:
  8155. 46ff0: defffc04 addi sp,sp,-16
  8156. 46ff4: dc800215 stw r18,8(sp)
  8157. 46ff8: 2825883a mov r18,r5
  8158. 46ffc: dc000015 stw r16,0(sp)
  8159. 47000: 01401a04 movi r5,104
  8160. 47004: 2021883a mov r16,r4
  8161. 47008: 913fffc4 addi r4,r18,-1
  8162. 4700c: dfc00315 stw ra,12(sp)
  8163. 47010: dc400115 stw r17,4(sp)
  8164. 47014: 004d3dc0 call 4d3dc <__mulsi3>
  8165. 47018: 8009883a mov r4,r16
  8166. 4701c: 11401d04 addi r5,r2,116
  8167. 47020: 1023883a mov r17,r2
  8168. 47024: 0047f040 call 47f04 <_malloc_r>
  8169. 47028: 1021883a mov r16,r2
  8170. 4702c: 10000726 beq r2,zero,4704c <__sfmoreglue+0x5c>
  8171. 47030: 11000304 addi r4,r2,12
  8172. 47034: 10000015 stw zero,0(r2)
  8173. 47038: 14800115 stw r18,4(r2)
  8174. 4703c: 11000215 stw r4,8(r2)
  8175. 47040: 89801a04 addi r6,r17,104
  8176. 47044: 000b883a mov r5,zero
  8177. 47048: 0048a980 call 48a98 <memset>
  8178. 4704c: 8005883a mov r2,r16
  8179. 47050: dfc00317 ldw ra,12(sp)
  8180. 47054: dc800217 ldw r18,8(sp)
  8181. 47058: dc400117 ldw r17,4(sp)
  8182. 4705c: dc000017 ldw r16,0(sp)
  8183. 47060: dec00404 addi sp,sp,16
  8184. 47064: f800283a ret
  8185. 00047068 <__sfp>:
  8186. 47068: defffb04 addi sp,sp,-20
  8187. 4706c: dc000015 stw r16,0(sp)
  8188. 47070: 04000174 movhi r16,5
  8189. 47074: 84105204 addi r16,r16,16712
  8190. 47078: dcc00315 stw r19,12(sp)
  8191. 4707c: 2027883a mov r19,r4
  8192. 47080: 81000017 ldw r4,0(r16)
  8193. 47084: dfc00415 stw ra,16(sp)
  8194. 47088: dc800215 stw r18,8(sp)
  8195. 4708c: 20800e17 ldw r2,56(r4)
  8196. 47090: dc400115 stw r17,4(sp)
  8197. 47094: 1000021e bne r2,zero,470a0 <__sfp+0x38>
  8198. 47098: 0046e4c0 call 46e4c <__sinit.part.1>
  8199. 4709c: 81000017 ldw r4,0(r16)
  8200. 470a0: 2480b804 addi r18,r4,736
  8201. 470a4: 047fffc4 movi r17,-1
  8202. 470a8: 91000117 ldw r4,4(r18)
  8203. 470ac: 94000217 ldw r16,8(r18)
  8204. 470b0: 213fffc4 addi r4,r4,-1
  8205. 470b4: 20000a16 blt r4,zero,470e0 <__sfp+0x78>
  8206. 470b8: 8080030f ldh r2,12(r16)
  8207. 470bc: 10000c26 beq r2,zero,470f0 <__sfp+0x88>
  8208. 470c0: 80c01d04 addi r3,r16,116
  8209. 470c4: 00000206 br 470d0 <__sfp+0x68>
  8210. 470c8: 18bfe60f ldh r2,-104(r3)
  8211. 470cc: 10000826 beq r2,zero,470f0 <__sfp+0x88>
  8212. 470d0: 213fffc4 addi r4,r4,-1
  8213. 470d4: 1c3ffd04 addi r16,r3,-12
  8214. 470d8: 18c01a04 addi r3,r3,104
  8215. 470dc: 247ffa1e bne r4,r17,470c8 <__alt_data_end+0xfffd50c8>
  8216. 470e0: 90800017 ldw r2,0(r18)
  8217. 470e4: 10001d26 beq r2,zero,4715c <__sfp+0xf4>
  8218. 470e8: 1025883a mov r18,r2
  8219. 470ec: 003fee06 br 470a8 <__alt_data_end+0xfffd50a8>
  8220. 470f0: 00bfffc4 movi r2,-1
  8221. 470f4: 8080038d sth r2,14(r16)
  8222. 470f8: 00800044 movi r2,1
  8223. 470fc: 8080030d sth r2,12(r16)
  8224. 47100: 80001915 stw zero,100(r16)
  8225. 47104: 80000015 stw zero,0(r16)
  8226. 47108: 80000215 stw zero,8(r16)
  8227. 4710c: 80000115 stw zero,4(r16)
  8228. 47110: 80000415 stw zero,16(r16)
  8229. 47114: 80000515 stw zero,20(r16)
  8230. 47118: 80000615 stw zero,24(r16)
  8231. 4711c: 01800204 movi r6,8
  8232. 47120: 000b883a mov r5,zero
  8233. 47124: 81001704 addi r4,r16,92
  8234. 47128: 0048a980 call 48a98 <memset>
  8235. 4712c: 8005883a mov r2,r16
  8236. 47130: 80000c15 stw zero,48(r16)
  8237. 47134: 80000d15 stw zero,52(r16)
  8238. 47138: 80001115 stw zero,68(r16)
  8239. 4713c: 80001215 stw zero,72(r16)
  8240. 47140: dfc00417 ldw ra,16(sp)
  8241. 47144: dcc00317 ldw r19,12(sp)
  8242. 47148: dc800217 ldw r18,8(sp)
  8243. 4714c: dc400117 ldw r17,4(sp)
  8244. 47150: dc000017 ldw r16,0(sp)
  8245. 47154: dec00504 addi sp,sp,20
  8246. 47158: f800283a ret
  8247. 4715c: 01400104 movi r5,4
  8248. 47160: 9809883a mov r4,r19
  8249. 47164: 0046ff00 call 46ff0 <__sfmoreglue>
  8250. 47168: 90800015 stw r2,0(r18)
  8251. 4716c: 103fde1e bne r2,zero,470e8 <__alt_data_end+0xfffd50e8>
  8252. 47170: 00800304 movi r2,12
  8253. 47174: 98800015 stw r2,0(r19)
  8254. 47178: 0005883a mov r2,zero
  8255. 4717c: 003ff006 br 47140 <__alt_data_end+0xfffd5140>
  8256. 00047180 <_cleanup>:
  8257. 47180: 00800174 movhi r2,5
  8258. 47184: 10905204 addi r2,r2,16712
  8259. 47188: 11000017 ldw r4,0(r2)
  8260. 4718c: 01400174 movhi r5,5
  8261. 47190: 29700104 addi r5,r5,-16380
  8262. 47194: 0047ba81 jmpi 47ba8 <_fwalk_reent>
  8263. 00047198 <__sinit>:
  8264. 47198: 20800e17 ldw r2,56(r4)
  8265. 4719c: 10000126 beq r2,zero,471a4 <__sinit+0xc>
  8266. 471a0: f800283a ret
  8267. 471a4: 0046e4c1 jmpi 46e4c <__sinit.part.1>
  8268. 000471a8 <__sfp_lock_acquire>:
  8269. 471a8: f800283a ret
  8270. 000471ac <__sfp_lock_release>:
  8271. 471ac: f800283a ret
  8272. 000471b0 <__sinit_lock_acquire>:
  8273. 471b0: f800283a ret
  8274. 000471b4 <__sinit_lock_release>:
  8275. 471b4: f800283a ret
  8276. 000471b8 <__fp_lock_all>:
  8277. 471b8: 00800174 movhi r2,5
  8278. 471bc: 10905304 addi r2,r2,16716
  8279. 471c0: 11000017 ldw r4,0(r2)
  8280. 471c4: 01400134 movhi r5,4
  8281. 471c8: 295bfa04 addi r5,r5,28648
  8282. 471cc: 0047ae41 jmpi 47ae4 <_fwalk>
  8283. 000471d0 <__fp_unlock_all>:
  8284. 471d0: 00800174 movhi r2,5
  8285. 471d4: 10905304 addi r2,r2,16716
  8286. 471d8: 11000017 ldw r4,0(r2)
  8287. 471dc: 01400134 movhi r5,4
  8288. 471e0: 295b8e04 addi r5,r5,28216
  8289. 471e4: 0047ae41 jmpi 47ae4 <_fwalk>
  8290. 000471e8 <_malloc_trim_r>:
  8291. 471e8: defffb04 addi sp,sp,-20
  8292. 471ec: dcc00315 stw r19,12(sp)
  8293. 471f0: 04c00174 movhi r19,5
  8294. 471f4: dc800215 stw r18,8(sp)
  8295. 471f8: dc400115 stw r17,4(sp)
  8296. 471fc: dc000015 stw r16,0(sp)
  8297. 47200: dfc00415 stw ra,16(sp)
  8298. 47204: 2821883a mov r16,r5
  8299. 47208: 9cca8604 addi r19,r19,10776
  8300. 4720c: 2025883a mov r18,r4
  8301. 47210: 004ed0c0 call 4ed0c <__malloc_lock>
  8302. 47214: 98800217 ldw r2,8(r19)
  8303. 47218: 14400117 ldw r17,4(r2)
  8304. 4721c: 00bfff04 movi r2,-4
  8305. 47220: 88a2703a and r17,r17,r2
  8306. 47224: 8c21c83a sub r16,r17,r16
  8307. 47228: 8403fbc4 addi r16,r16,4079
  8308. 4722c: 8020d33a srli r16,r16,12
  8309. 47230: 0083ffc4 movi r2,4095
  8310. 47234: 843fffc4 addi r16,r16,-1
  8311. 47238: 8020933a slli r16,r16,12
  8312. 4723c: 1400060e bge r2,r16,47258 <_malloc_trim_r+0x70>
  8313. 47240: 000b883a mov r5,zero
  8314. 47244: 9009883a mov r4,r18
  8315. 47248: 004a3b80 call 4a3b8 <_sbrk_r>
  8316. 4724c: 98c00217 ldw r3,8(r19)
  8317. 47250: 1c47883a add r3,r3,r17
  8318. 47254: 10c00a26 beq r2,r3,47280 <_malloc_trim_r+0x98>
  8319. 47258: 9009883a mov r4,r18
  8320. 4725c: 004ed300 call 4ed30 <__malloc_unlock>
  8321. 47260: 0005883a mov r2,zero
  8322. 47264: dfc00417 ldw ra,16(sp)
  8323. 47268: dcc00317 ldw r19,12(sp)
  8324. 4726c: dc800217 ldw r18,8(sp)
  8325. 47270: dc400117 ldw r17,4(sp)
  8326. 47274: dc000017 ldw r16,0(sp)
  8327. 47278: dec00504 addi sp,sp,20
  8328. 4727c: f800283a ret
  8329. 47280: 040bc83a sub r5,zero,r16
  8330. 47284: 9009883a mov r4,r18
  8331. 47288: 004a3b80 call 4a3b8 <_sbrk_r>
  8332. 4728c: 00ffffc4 movi r3,-1
  8333. 47290: 10c00d26 beq r2,r3,472c8 <_malloc_trim_r+0xe0>
  8334. 47294: 00c00174 movhi r3,5
  8335. 47298: 18d77b04 addi r3,r3,24044
  8336. 4729c: 18800017 ldw r2,0(r3)
  8337. 472a0: 99000217 ldw r4,8(r19)
  8338. 472a4: 8c23c83a sub r17,r17,r16
  8339. 472a8: 8c400054 ori r17,r17,1
  8340. 472ac: 1421c83a sub r16,r2,r16
  8341. 472b0: 24400115 stw r17,4(r4)
  8342. 472b4: 9009883a mov r4,r18
  8343. 472b8: 1c000015 stw r16,0(r3)
  8344. 472bc: 004ed300 call 4ed30 <__malloc_unlock>
  8345. 472c0: 00800044 movi r2,1
  8346. 472c4: 003fe706 br 47264 <__alt_data_end+0xfffd5264>
  8347. 472c8: 000b883a mov r5,zero
  8348. 472cc: 9009883a mov r4,r18
  8349. 472d0: 004a3b80 call 4a3b8 <_sbrk_r>
  8350. 472d4: 99000217 ldw r4,8(r19)
  8351. 472d8: 014003c4 movi r5,15
  8352. 472dc: 1107c83a sub r3,r2,r4
  8353. 472e0: 28ffdd0e bge r5,r3,47258 <__alt_data_end+0xfffd5258>
  8354. 472e4: 01400174 movhi r5,5
  8355. 472e8: 29505504 addi r5,r5,16724
  8356. 472ec: 29400017 ldw r5,0(r5)
  8357. 472f0: 18c00054 ori r3,r3,1
  8358. 472f4: 20c00115 stw r3,4(r4)
  8359. 472f8: 00c00174 movhi r3,5
  8360. 472fc: 1145c83a sub r2,r2,r5
  8361. 47300: 18d77b04 addi r3,r3,24044
  8362. 47304: 18800015 stw r2,0(r3)
  8363. 47308: 003fd306 br 47258 <__alt_data_end+0xfffd5258>
  8364. 0004730c <_free_r>:
  8365. 4730c: 28004126 beq r5,zero,47414 <_free_r+0x108>
  8366. 47310: defffd04 addi sp,sp,-12
  8367. 47314: dc400115 stw r17,4(sp)
  8368. 47318: dc000015 stw r16,0(sp)
  8369. 4731c: 2023883a mov r17,r4
  8370. 47320: 2821883a mov r16,r5
  8371. 47324: dfc00215 stw ra,8(sp)
  8372. 47328: 004ed0c0 call 4ed0c <__malloc_lock>
  8373. 4732c: 81ffff17 ldw r7,-4(r16)
  8374. 47330: 00bfff84 movi r2,-2
  8375. 47334: 01000174 movhi r4,5
  8376. 47338: 81bffe04 addi r6,r16,-8
  8377. 4733c: 3884703a and r2,r7,r2
  8378. 47340: 210a8604 addi r4,r4,10776
  8379. 47344: 308b883a add r5,r6,r2
  8380. 47348: 2a400117 ldw r9,4(r5)
  8381. 4734c: 22000217 ldw r8,8(r4)
  8382. 47350: 00ffff04 movi r3,-4
  8383. 47354: 48c6703a and r3,r9,r3
  8384. 47358: 2a005726 beq r5,r8,474b8 <_free_r+0x1ac>
  8385. 4735c: 28c00115 stw r3,4(r5)
  8386. 47360: 39c0004c andi r7,r7,1
  8387. 47364: 3800091e bne r7,zero,4738c <_free_r+0x80>
  8388. 47368: 823ffe17 ldw r8,-8(r16)
  8389. 4736c: 22400204 addi r9,r4,8
  8390. 47370: 320dc83a sub r6,r6,r8
  8391. 47374: 31c00217 ldw r7,8(r6)
  8392. 47378: 1205883a add r2,r2,r8
  8393. 4737c: 3a406526 beq r7,r9,47514 <_free_r+0x208>
  8394. 47380: 32000317 ldw r8,12(r6)
  8395. 47384: 3a000315 stw r8,12(r7)
  8396. 47388: 41c00215 stw r7,8(r8)
  8397. 4738c: 28cf883a add r7,r5,r3
  8398. 47390: 39c00117 ldw r7,4(r7)
  8399. 47394: 39c0004c andi r7,r7,1
  8400. 47398: 38003a26 beq r7,zero,47484 <_free_r+0x178>
  8401. 4739c: 10c00054 ori r3,r2,1
  8402. 473a0: 30c00115 stw r3,4(r6)
  8403. 473a4: 3087883a add r3,r6,r2
  8404. 473a8: 18800015 stw r2,0(r3)
  8405. 473ac: 00c07fc4 movi r3,511
  8406. 473b0: 18801936 bltu r3,r2,47418 <_free_r+0x10c>
  8407. 473b4: 1004d0fa srli r2,r2,3
  8408. 473b8: 01c00044 movi r7,1
  8409. 473bc: 21400117 ldw r5,4(r4)
  8410. 473c0: 10c00044 addi r3,r2,1
  8411. 473c4: 18c7883a add r3,r3,r3
  8412. 473c8: 1005d0ba srai r2,r2,2
  8413. 473cc: 18c7883a add r3,r3,r3
  8414. 473d0: 18c7883a add r3,r3,r3
  8415. 473d4: 1907883a add r3,r3,r4
  8416. 473d8: 3884983a sll r2,r7,r2
  8417. 473dc: 19c00017 ldw r7,0(r3)
  8418. 473e0: 1a3ffe04 addi r8,r3,-8
  8419. 473e4: 1144b03a or r2,r2,r5
  8420. 473e8: 32000315 stw r8,12(r6)
  8421. 473ec: 31c00215 stw r7,8(r6)
  8422. 473f0: 20800115 stw r2,4(r4)
  8423. 473f4: 19800015 stw r6,0(r3)
  8424. 473f8: 39800315 stw r6,12(r7)
  8425. 473fc: 8809883a mov r4,r17
  8426. 47400: dfc00217 ldw ra,8(sp)
  8427. 47404: dc400117 ldw r17,4(sp)
  8428. 47408: dc000017 ldw r16,0(sp)
  8429. 4740c: dec00304 addi sp,sp,12
  8430. 47410: 004ed301 jmpi 4ed30 <__malloc_unlock>
  8431. 47414: f800283a ret
  8432. 47418: 100ad27a srli r5,r2,9
  8433. 4741c: 00c00104 movi r3,4
  8434. 47420: 19404a36 bltu r3,r5,4754c <_free_r+0x240>
  8435. 47424: 100ad1ba srli r5,r2,6
  8436. 47428: 28c00e44 addi r3,r5,57
  8437. 4742c: 18c7883a add r3,r3,r3
  8438. 47430: 29400e04 addi r5,r5,56
  8439. 47434: 18c7883a add r3,r3,r3
  8440. 47438: 18c7883a add r3,r3,r3
  8441. 4743c: 1909883a add r4,r3,r4
  8442. 47440: 20c00017 ldw r3,0(r4)
  8443. 47444: 01c00174 movhi r7,5
  8444. 47448: 213ffe04 addi r4,r4,-8
  8445. 4744c: 39ca8604 addi r7,r7,10776
  8446. 47450: 20c04426 beq r4,r3,47564 <_free_r+0x258>
  8447. 47454: 01ffff04 movi r7,-4
  8448. 47458: 19400117 ldw r5,4(r3)
  8449. 4745c: 29ca703a and r5,r5,r7
  8450. 47460: 1140022e bgeu r2,r5,4746c <_free_r+0x160>
  8451. 47464: 18c00217 ldw r3,8(r3)
  8452. 47468: 20fffb1e bne r4,r3,47458 <__alt_data_end+0xfffd5458>
  8453. 4746c: 19000317 ldw r4,12(r3)
  8454. 47470: 31000315 stw r4,12(r6)
  8455. 47474: 30c00215 stw r3,8(r6)
  8456. 47478: 21800215 stw r6,8(r4)
  8457. 4747c: 19800315 stw r6,12(r3)
  8458. 47480: 003fde06 br 473fc <__alt_data_end+0xfffd53fc>
  8459. 47484: 29c00217 ldw r7,8(r5)
  8460. 47488: 10c5883a add r2,r2,r3
  8461. 4748c: 00c00174 movhi r3,5
  8462. 47490: 18ca8804 addi r3,r3,10784
  8463. 47494: 38c03b26 beq r7,r3,47584 <_free_r+0x278>
  8464. 47498: 2a000317 ldw r8,12(r5)
  8465. 4749c: 11400054 ori r5,r2,1
  8466. 474a0: 3087883a add r3,r6,r2
  8467. 474a4: 3a000315 stw r8,12(r7)
  8468. 474a8: 41c00215 stw r7,8(r8)
  8469. 474ac: 31400115 stw r5,4(r6)
  8470. 474b0: 18800015 stw r2,0(r3)
  8471. 474b4: 003fbd06 br 473ac <__alt_data_end+0xfffd53ac>
  8472. 474b8: 39c0004c andi r7,r7,1
  8473. 474bc: 10c5883a add r2,r2,r3
  8474. 474c0: 3800071e bne r7,zero,474e0 <_free_r+0x1d4>
  8475. 474c4: 81fffe17 ldw r7,-8(r16)
  8476. 474c8: 31cdc83a sub r6,r6,r7
  8477. 474cc: 30c00317 ldw r3,12(r6)
  8478. 474d0: 31400217 ldw r5,8(r6)
  8479. 474d4: 11c5883a add r2,r2,r7
  8480. 474d8: 28c00315 stw r3,12(r5)
  8481. 474dc: 19400215 stw r5,8(r3)
  8482. 474e0: 10c00054 ori r3,r2,1
  8483. 474e4: 30c00115 stw r3,4(r6)
  8484. 474e8: 00c00174 movhi r3,5
  8485. 474ec: 18d05604 addi r3,r3,16728
  8486. 474f0: 18c00017 ldw r3,0(r3)
  8487. 474f4: 21800215 stw r6,8(r4)
  8488. 474f8: 10ffc036 bltu r2,r3,473fc <__alt_data_end+0xfffd53fc>
  8489. 474fc: 00800174 movhi r2,5
  8490. 47500: 10977204 addi r2,r2,24008
  8491. 47504: 11400017 ldw r5,0(r2)
  8492. 47508: 8809883a mov r4,r17
  8493. 4750c: 00471e80 call 471e8 <_malloc_trim_r>
  8494. 47510: 003fba06 br 473fc <__alt_data_end+0xfffd53fc>
  8495. 47514: 28c9883a add r4,r5,r3
  8496. 47518: 21000117 ldw r4,4(r4)
  8497. 4751c: 2100004c andi r4,r4,1
  8498. 47520: 2000391e bne r4,zero,47608 <_free_r+0x2fc>
  8499. 47524: 29c00217 ldw r7,8(r5)
  8500. 47528: 29000317 ldw r4,12(r5)
  8501. 4752c: 1885883a add r2,r3,r2
  8502. 47530: 10c00054 ori r3,r2,1
  8503. 47534: 39000315 stw r4,12(r7)
  8504. 47538: 21c00215 stw r7,8(r4)
  8505. 4753c: 30c00115 stw r3,4(r6)
  8506. 47540: 308d883a add r6,r6,r2
  8507. 47544: 30800015 stw r2,0(r6)
  8508. 47548: 003fac06 br 473fc <__alt_data_end+0xfffd53fc>
  8509. 4754c: 00c00504 movi r3,20
  8510. 47550: 19401536 bltu r3,r5,475a8 <_free_r+0x29c>
  8511. 47554: 28c01704 addi r3,r5,92
  8512. 47558: 18c7883a add r3,r3,r3
  8513. 4755c: 294016c4 addi r5,r5,91
  8514. 47560: 003fb406 br 47434 <__alt_data_end+0xfffd5434>
  8515. 47564: 280bd0ba srai r5,r5,2
  8516. 47568: 00c00044 movi r3,1
  8517. 4756c: 38800117 ldw r2,4(r7)
  8518. 47570: 194a983a sll r5,r3,r5
  8519. 47574: 2007883a mov r3,r4
  8520. 47578: 2884b03a or r2,r5,r2
  8521. 4757c: 38800115 stw r2,4(r7)
  8522. 47580: 003fbb06 br 47470 <__alt_data_end+0xfffd5470>
  8523. 47584: 21800515 stw r6,20(r4)
  8524. 47588: 21800415 stw r6,16(r4)
  8525. 4758c: 10c00054 ori r3,r2,1
  8526. 47590: 31c00315 stw r7,12(r6)
  8527. 47594: 31c00215 stw r7,8(r6)
  8528. 47598: 30c00115 stw r3,4(r6)
  8529. 4759c: 308d883a add r6,r6,r2
  8530. 475a0: 30800015 stw r2,0(r6)
  8531. 475a4: 003f9506 br 473fc <__alt_data_end+0xfffd53fc>
  8532. 475a8: 00c01504 movi r3,84
  8533. 475ac: 19400536 bltu r3,r5,475c4 <_free_r+0x2b8>
  8534. 475b0: 100ad33a srli r5,r2,12
  8535. 475b4: 28c01bc4 addi r3,r5,111
  8536. 475b8: 18c7883a add r3,r3,r3
  8537. 475bc: 29401b84 addi r5,r5,110
  8538. 475c0: 003f9c06 br 47434 <__alt_data_end+0xfffd5434>
  8539. 475c4: 00c05504 movi r3,340
  8540. 475c8: 19400536 bltu r3,r5,475e0 <_free_r+0x2d4>
  8541. 475cc: 100ad3fa srli r5,r2,15
  8542. 475d0: 28c01e04 addi r3,r5,120
  8543. 475d4: 18c7883a add r3,r3,r3
  8544. 475d8: 29401dc4 addi r5,r5,119
  8545. 475dc: 003f9506 br 47434 <__alt_data_end+0xfffd5434>
  8546. 475e0: 00c15504 movi r3,1364
  8547. 475e4: 19400536 bltu r3,r5,475fc <_free_r+0x2f0>
  8548. 475e8: 100ad4ba srli r5,r2,18
  8549. 475ec: 28c01f44 addi r3,r5,125
  8550. 475f0: 18c7883a add r3,r3,r3
  8551. 475f4: 29401f04 addi r5,r5,124
  8552. 475f8: 003f8e06 br 47434 <__alt_data_end+0xfffd5434>
  8553. 475fc: 00c03f84 movi r3,254
  8554. 47600: 01401f84 movi r5,126
  8555. 47604: 003f8b06 br 47434 <__alt_data_end+0xfffd5434>
  8556. 47608: 10c00054 ori r3,r2,1
  8557. 4760c: 30c00115 stw r3,4(r6)
  8558. 47610: 308d883a add r6,r6,r2
  8559. 47614: 30800015 stw r2,0(r6)
  8560. 47618: 003f7806 br 473fc <__alt_data_end+0xfffd53fc>
  8561. 0004761c <__sfvwrite_r>:
  8562. 4761c: 30800217 ldw r2,8(r6)
  8563. 47620: 10006726 beq r2,zero,477c0 <__sfvwrite_r+0x1a4>
  8564. 47624: 28c0030b ldhu r3,12(r5)
  8565. 47628: defff404 addi sp,sp,-48
  8566. 4762c: dd400715 stw r21,28(sp)
  8567. 47630: dd000615 stw r20,24(sp)
  8568. 47634: dc000215 stw r16,8(sp)
  8569. 47638: dfc00b15 stw ra,44(sp)
  8570. 4763c: df000a15 stw fp,40(sp)
  8571. 47640: ddc00915 stw r23,36(sp)
  8572. 47644: dd800815 stw r22,32(sp)
  8573. 47648: dcc00515 stw r19,20(sp)
  8574. 4764c: dc800415 stw r18,16(sp)
  8575. 47650: dc400315 stw r17,12(sp)
  8576. 47654: 1880020c andi r2,r3,8
  8577. 47658: 2821883a mov r16,r5
  8578. 4765c: 202b883a mov r21,r4
  8579. 47660: 3029883a mov r20,r6
  8580. 47664: 10002726 beq r2,zero,47704 <__sfvwrite_r+0xe8>
  8581. 47668: 28800417 ldw r2,16(r5)
  8582. 4766c: 10002526 beq r2,zero,47704 <__sfvwrite_r+0xe8>
  8583. 47670: 1880008c andi r2,r3,2
  8584. 47674: a4400017 ldw r17,0(r20)
  8585. 47678: 10002a26 beq r2,zero,47724 <__sfvwrite_r+0x108>
  8586. 4767c: 05a00034 movhi r22,32768
  8587. 47680: 0027883a mov r19,zero
  8588. 47684: 0025883a mov r18,zero
  8589. 47688: b5bf0004 addi r22,r22,-1024
  8590. 4768c: 980d883a mov r6,r19
  8591. 47690: a809883a mov r4,r21
  8592. 47694: 90004626 beq r18,zero,477b0 <__sfvwrite_r+0x194>
  8593. 47698: 900f883a mov r7,r18
  8594. 4769c: b480022e bgeu r22,r18,476a8 <__sfvwrite_r+0x8c>
  8595. 476a0: 01e00034 movhi r7,32768
  8596. 476a4: 39ff0004 addi r7,r7,-1024
  8597. 476a8: 80800917 ldw r2,36(r16)
  8598. 476ac: 81400717 ldw r5,28(r16)
  8599. 476b0: 103ee83a callr r2
  8600. 476b4: 00805a0e bge zero,r2,47820 <__sfvwrite_r+0x204>
  8601. 476b8: a0c00217 ldw r3,8(r20)
  8602. 476bc: 98a7883a add r19,r19,r2
  8603. 476c0: 90a5c83a sub r18,r18,r2
  8604. 476c4: 1885c83a sub r2,r3,r2
  8605. 476c8: a0800215 stw r2,8(r20)
  8606. 476cc: 103fef1e bne r2,zero,4768c <__alt_data_end+0xfffd568c>
  8607. 476d0: 0005883a mov r2,zero
  8608. 476d4: dfc00b17 ldw ra,44(sp)
  8609. 476d8: df000a17 ldw fp,40(sp)
  8610. 476dc: ddc00917 ldw r23,36(sp)
  8611. 476e0: dd800817 ldw r22,32(sp)
  8612. 476e4: dd400717 ldw r21,28(sp)
  8613. 476e8: dd000617 ldw r20,24(sp)
  8614. 476ec: dcc00517 ldw r19,20(sp)
  8615. 476f0: dc800417 ldw r18,16(sp)
  8616. 476f4: dc400317 ldw r17,12(sp)
  8617. 476f8: dc000217 ldw r16,8(sp)
  8618. 476fc: dec00c04 addi sp,sp,48
  8619. 47700: f800283a ret
  8620. 47704: 800b883a mov r5,r16
  8621. 47708: a809883a mov r4,r21
  8622. 4770c: 004518c0 call 4518c <__swsetup_r>
  8623. 47710: 1000ee1e bne r2,zero,47acc <__sfvwrite_r+0x4b0>
  8624. 47714: 80c0030b ldhu r3,12(r16)
  8625. 47718: a4400017 ldw r17,0(r20)
  8626. 4771c: 1880008c andi r2,r3,2
  8627. 47720: 103fd61e bne r2,zero,4767c <__alt_data_end+0xfffd567c>
  8628. 47724: 1880004c andi r2,r3,1
  8629. 47728: 1000421e bne r2,zero,47834 <__sfvwrite_r+0x218>
  8630. 4772c: 0039883a mov fp,zero
  8631. 47730: 0025883a mov r18,zero
  8632. 47734: 90001a26 beq r18,zero,477a0 <__sfvwrite_r+0x184>
  8633. 47738: 1880800c andi r2,r3,512
  8634. 4773c: 84c00217 ldw r19,8(r16)
  8635. 47740: 10002126 beq r2,zero,477c8 <__sfvwrite_r+0x1ac>
  8636. 47744: 982f883a mov r23,r19
  8637. 47748: 94c09636 bltu r18,r19,479a4 <__sfvwrite_r+0x388>
  8638. 4774c: 1881200c andi r2,r3,1152
  8639. 47750: 1000a11e bne r2,zero,479d8 <__sfvwrite_r+0x3bc>
  8640. 47754: 81000017 ldw r4,0(r16)
  8641. 47758: b80d883a mov r6,r23
  8642. 4775c: e00b883a mov r5,fp
  8643. 47760: 004893c0 call 4893c <memmove>
  8644. 47764: 80c00217 ldw r3,8(r16)
  8645. 47768: 81000017 ldw r4,0(r16)
  8646. 4776c: 9005883a mov r2,r18
  8647. 47770: 1ce7c83a sub r19,r3,r19
  8648. 47774: 25cf883a add r7,r4,r23
  8649. 47778: 84c00215 stw r19,8(r16)
  8650. 4777c: 81c00015 stw r7,0(r16)
  8651. 47780: a0c00217 ldw r3,8(r20)
  8652. 47784: e0b9883a add fp,fp,r2
  8653. 47788: 90a5c83a sub r18,r18,r2
  8654. 4778c: 18a7c83a sub r19,r3,r2
  8655. 47790: a4c00215 stw r19,8(r20)
  8656. 47794: 983fce26 beq r19,zero,476d0 <__alt_data_end+0xfffd56d0>
  8657. 47798: 80c0030b ldhu r3,12(r16)
  8658. 4779c: 903fe61e bne r18,zero,47738 <__alt_data_end+0xfffd5738>
  8659. 477a0: 8f000017 ldw fp,0(r17)
  8660. 477a4: 8c800117 ldw r18,4(r17)
  8661. 477a8: 8c400204 addi r17,r17,8
  8662. 477ac: 003fe106 br 47734 <__alt_data_end+0xfffd5734>
  8663. 477b0: 8cc00017 ldw r19,0(r17)
  8664. 477b4: 8c800117 ldw r18,4(r17)
  8665. 477b8: 8c400204 addi r17,r17,8
  8666. 477bc: 003fb306 br 4768c <__alt_data_end+0xfffd568c>
  8667. 477c0: 0005883a mov r2,zero
  8668. 477c4: f800283a ret
  8669. 477c8: 81000017 ldw r4,0(r16)
  8670. 477cc: 80800417 ldw r2,16(r16)
  8671. 477d0: 11005a36 bltu r2,r4,4793c <__sfvwrite_r+0x320>
  8672. 477d4: 85c00517 ldw r23,20(r16)
  8673. 477d8: 95c05836 bltu r18,r23,4793c <__sfvwrite_r+0x320>
  8674. 477dc: 00a00034 movhi r2,32768
  8675. 477e0: 10bfffc4 addi r2,r2,-1
  8676. 477e4: 9009883a mov r4,r18
  8677. 477e8: 1480012e bgeu r2,r18,477f0 <__sfvwrite_r+0x1d4>
  8678. 477ec: 1009883a mov r4,r2
  8679. 477f0: b80b883a mov r5,r23
  8680. 477f4: 004d2280 call 4d228 <__divsi3>
  8681. 477f8: b80b883a mov r5,r23
  8682. 477fc: 1009883a mov r4,r2
  8683. 47800: 004d3dc0 call 4d3dc <__mulsi3>
  8684. 47804: 81400717 ldw r5,28(r16)
  8685. 47808: 80c00917 ldw r3,36(r16)
  8686. 4780c: 100f883a mov r7,r2
  8687. 47810: e00d883a mov r6,fp
  8688. 47814: a809883a mov r4,r21
  8689. 47818: 183ee83a callr r3
  8690. 4781c: 00bfd816 blt zero,r2,47780 <__alt_data_end+0xfffd5780>
  8691. 47820: 8080030b ldhu r2,12(r16)
  8692. 47824: 10801014 ori r2,r2,64
  8693. 47828: 8080030d sth r2,12(r16)
  8694. 4782c: 00bfffc4 movi r2,-1
  8695. 47830: 003fa806 br 476d4 <__alt_data_end+0xfffd56d4>
  8696. 47834: 0027883a mov r19,zero
  8697. 47838: 0011883a mov r8,zero
  8698. 4783c: 0039883a mov fp,zero
  8699. 47840: 0025883a mov r18,zero
  8700. 47844: 90001f26 beq r18,zero,478c4 <__sfvwrite_r+0x2a8>
  8701. 47848: 40005a26 beq r8,zero,479b4 <__sfvwrite_r+0x398>
  8702. 4784c: 982d883a mov r22,r19
  8703. 47850: 94c0012e bgeu r18,r19,47858 <__sfvwrite_r+0x23c>
  8704. 47854: 902d883a mov r22,r18
  8705. 47858: 81000017 ldw r4,0(r16)
  8706. 4785c: 80800417 ldw r2,16(r16)
  8707. 47860: b02f883a mov r23,r22
  8708. 47864: 81c00517 ldw r7,20(r16)
  8709. 47868: 1100032e bgeu r2,r4,47878 <__sfvwrite_r+0x25c>
  8710. 4786c: 80c00217 ldw r3,8(r16)
  8711. 47870: 38c7883a add r3,r7,r3
  8712. 47874: 1d801816 blt r3,r22,478d8 <__sfvwrite_r+0x2bc>
  8713. 47878: b1c03e16 blt r22,r7,47974 <__sfvwrite_r+0x358>
  8714. 4787c: 80800917 ldw r2,36(r16)
  8715. 47880: 81400717 ldw r5,28(r16)
  8716. 47884: e00d883a mov r6,fp
  8717. 47888: da000115 stw r8,4(sp)
  8718. 4788c: a809883a mov r4,r21
  8719. 47890: 103ee83a callr r2
  8720. 47894: 102f883a mov r23,r2
  8721. 47898: da000117 ldw r8,4(sp)
  8722. 4789c: 00bfe00e bge zero,r2,47820 <__alt_data_end+0xfffd5820>
  8723. 478a0: 9de7c83a sub r19,r19,r23
  8724. 478a4: 98001f26 beq r19,zero,47924 <__sfvwrite_r+0x308>
  8725. 478a8: a0800217 ldw r2,8(r20)
  8726. 478ac: e5f9883a add fp,fp,r23
  8727. 478b0: 95e5c83a sub r18,r18,r23
  8728. 478b4: 15efc83a sub r23,r2,r23
  8729. 478b8: a5c00215 stw r23,8(r20)
  8730. 478bc: b83f8426 beq r23,zero,476d0 <__alt_data_end+0xfffd56d0>
  8731. 478c0: 903fe11e bne r18,zero,47848 <__alt_data_end+0xfffd5848>
  8732. 478c4: 8f000017 ldw fp,0(r17)
  8733. 478c8: 8c800117 ldw r18,4(r17)
  8734. 478cc: 0011883a mov r8,zero
  8735. 478d0: 8c400204 addi r17,r17,8
  8736. 478d4: 003fdb06 br 47844 <__alt_data_end+0xfffd5844>
  8737. 478d8: 180d883a mov r6,r3
  8738. 478dc: e00b883a mov r5,fp
  8739. 478e0: da000115 stw r8,4(sp)
  8740. 478e4: d8c00015 stw r3,0(sp)
  8741. 478e8: 004893c0 call 4893c <memmove>
  8742. 478ec: d8c00017 ldw r3,0(sp)
  8743. 478f0: 80800017 ldw r2,0(r16)
  8744. 478f4: 800b883a mov r5,r16
  8745. 478f8: a809883a mov r4,r21
  8746. 478fc: 10c5883a add r2,r2,r3
  8747. 47900: 80800015 stw r2,0(r16)
  8748. 47904: d8c00015 stw r3,0(sp)
  8749. 47908: 0046dac0 call 46dac <_fflush_r>
  8750. 4790c: d8c00017 ldw r3,0(sp)
  8751. 47910: da000117 ldw r8,4(sp)
  8752. 47914: 103fc21e bne r2,zero,47820 <__alt_data_end+0xfffd5820>
  8753. 47918: 182f883a mov r23,r3
  8754. 4791c: 9de7c83a sub r19,r19,r23
  8755. 47920: 983fe11e bne r19,zero,478a8 <__alt_data_end+0xfffd58a8>
  8756. 47924: 800b883a mov r5,r16
  8757. 47928: a809883a mov r4,r21
  8758. 4792c: 0046dac0 call 46dac <_fflush_r>
  8759. 47930: 103fbb1e bne r2,zero,47820 <__alt_data_end+0xfffd5820>
  8760. 47934: 0011883a mov r8,zero
  8761. 47938: 003fdb06 br 478a8 <__alt_data_end+0xfffd58a8>
  8762. 4793c: 94c0012e bgeu r18,r19,47944 <__sfvwrite_r+0x328>
  8763. 47940: 9027883a mov r19,r18
  8764. 47944: 980d883a mov r6,r19
  8765. 47948: e00b883a mov r5,fp
  8766. 4794c: 004893c0 call 4893c <memmove>
  8767. 47950: 80800217 ldw r2,8(r16)
  8768. 47954: 80c00017 ldw r3,0(r16)
  8769. 47958: 14c5c83a sub r2,r2,r19
  8770. 4795c: 1cc7883a add r3,r3,r19
  8771. 47960: 80800215 stw r2,8(r16)
  8772. 47964: 80c00015 stw r3,0(r16)
  8773. 47968: 10004326 beq r2,zero,47a78 <__sfvwrite_r+0x45c>
  8774. 4796c: 9805883a mov r2,r19
  8775. 47970: 003f8306 br 47780 <__alt_data_end+0xfffd5780>
  8776. 47974: b00d883a mov r6,r22
  8777. 47978: e00b883a mov r5,fp
  8778. 4797c: da000115 stw r8,4(sp)
  8779. 47980: 004893c0 call 4893c <memmove>
  8780. 47984: 80800217 ldw r2,8(r16)
  8781. 47988: 80c00017 ldw r3,0(r16)
  8782. 4798c: da000117 ldw r8,4(sp)
  8783. 47990: 1585c83a sub r2,r2,r22
  8784. 47994: 1dad883a add r22,r3,r22
  8785. 47998: 80800215 stw r2,8(r16)
  8786. 4799c: 85800015 stw r22,0(r16)
  8787. 479a0: 003fbf06 br 478a0 <__alt_data_end+0xfffd58a0>
  8788. 479a4: 81000017 ldw r4,0(r16)
  8789. 479a8: 9027883a mov r19,r18
  8790. 479ac: 902f883a mov r23,r18
  8791. 479b0: 003f6906 br 47758 <__alt_data_end+0xfffd5758>
  8792. 479b4: 900d883a mov r6,r18
  8793. 479b8: 01400284 movi r5,10
  8794. 479bc: e009883a mov r4,fp
  8795. 479c0: 00487100 call 48710 <memchr>
  8796. 479c4: 10003e26 beq r2,zero,47ac0 <__sfvwrite_r+0x4a4>
  8797. 479c8: 10800044 addi r2,r2,1
  8798. 479cc: 1727c83a sub r19,r2,fp
  8799. 479d0: 02000044 movi r8,1
  8800. 479d4: 003f9d06 br 4784c <__alt_data_end+0xfffd584c>
  8801. 479d8: 80800517 ldw r2,20(r16)
  8802. 479dc: 81400417 ldw r5,16(r16)
  8803. 479e0: 81c00017 ldw r7,0(r16)
  8804. 479e4: 10a7883a add r19,r2,r2
  8805. 479e8: 9885883a add r2,r19,r2
  8806. 479ec: 1026d7fa srli r19,r2,31
  8807. 479f0: 396dc83a sub r22,r7,r5
  8808. 479f4: b1000044 addi r4,r22,1
  8809. 479f8: 9885883a add r2,r19,r2
  8810. 479fc: 1027d07a srai r19,r2,1
  8811. 47a00: 2485883a add r2,r4,r18
  8812. 47a04: 980d883a mov r6,r19
  8813. 47a08: 9880022e bgeu r19,r2,47a14 <__sfvwrite_r+0x3f8>
  8814. 47a0c: 1027883a mov r19,r2
  8815. 47a10: 100d883a mov r6,r2
  8816. 47a14: 18c1000c andi r3,r3,1024
  8817. 47a18: 18001c26 beq r3,zero,47a8c <__sfvwrite_r+0x470>
  8818. 47a1c: 300b883a mov r5,r6
  8819. 47a20: a809883a mov r4,r21
  8820. 47a24: 0047f040 call 47f04 <_malloc_r>
  8821. 47a28: 102f883a mov r23,r2
  8822. 47a2c: 10002926 beq r2,zero,47ad4 <__sfvwrite_r+0x4b8>
  8823. 47a30: 81400417 ldw r5,16(r16)
  8824. 47a34: b00d883a mov r6,r22
  8825. 47a38: 1009883a mov r4,r2
  8826. 47a3c: 00487f40 call 487f4 <memcpy>
  8827. 47a40: 8080030b ldhu r2,12(r16)
  8828. 47a44: 00fedfc4 movi r3,-1153
  8829. 47a48: 10c4703a and r2,r2,r3
  8830. 47a4c: 10802014 ori r2,r2,128
  8831. 47a50: 8080030d sth r2,12(r16)
  8832. 47a54: bd89883a add r4,r23,r22
  8833. 47a58: 9d8fc83a sub r7,r19,r22
  8834. 47a5c: 85c00415 stw r23,16(r16)
  8835. 47a60: 84c00515 stw r19,20(r16)
  8836. 47a64: 81000015 stw r4,0(r16)
  8837. 47a68: 9027883a mov r19,r18
  8838. 47a6c: 81c00215 stw r7,8(r16)
  8839. 47a70: 902f883a mov r23,r18
  8840. 47a74: 003f3806 br 47758 <__alt_data_end+0xfffd5758>
  8841. 47a78: 800b883a mov r5,r16
  8842. 47a7c: a809883a mov r4,r21
  8843. 47a80: 0046dac0 call 46dac <_fflush_r>
  8844. 47a84: 103fb926 beq r2,zero,4796c <__alt_data_end+0xfffd596c>
  8845. 47a88: 003f6506 br 47820 <__alt_data_end+0xfffd5820>
  8846. 47a8c: a809883a mov r4,r21
  8847. 47a90: 0049de00 call 49de0 <_realloc_r>
  8848. 47a94: 102f883a mov r23,r2
  8849. 47a98: 103fee1e bne r2,zero,47a54 <__alt_data_end+0xfffd5a54>
  8850. 47a9c: 81400417 ldw r5,16(r16)
  8851. 47aa0: a809883a mov r4,r21
  8852. 47aa4: 004730c0 call 4730c <_free_r>
  8853. 47aa8: 8080030b ldhu r2,12(r16)
  8854. 47aac: 00ffdfc4 movi r3,-129
  8855. 47ab0: 1884703a and r2,r3,r2
  8856. 47ab4: 00c00304 movi r3,12
  8857. 47ab8: a8c00015 stw r3,0(r21)
  8858. 47abc: 003f5906 br 47824 <__alt_data_end+0xfffd5824>
  8859. 47ac0: 94c00044 addi r19,r18,1
  8860. 47ac4: 02000044 movi r8,1
  8861. 47ac8: 003f6006 br 4784c <__alt_data_end+0xfffd584c>
  8862. 47acc: 00bfffc4 movi r2,-1
  8863. 47ad0: 003f0006 br 476d4 <__alt_data_end+0xfffd56d4>
  8864. 47ad4: 00800304 movi r2,12
  8865. 47ad8: a8800015 stw r2,0(r21)
  8866. 47adc: 8080030b ldhu r2,12(r16)
  8867. 47ae0: 003f5006 br 47824 <__alt_data_end+0xfffd5824>
  8868. 00047ae4 <_fwalk>:
  8869. 47ae4: defff704 addi sp,sp,-36
  8870. 47ae8: dd000415 stw r20,16(sp)
  8871. 47aec: dfc00815 stw ra,32(sp)
  8872. 47af0: ddc00715 stw r23,28(sp)
  8873. 47af4: dd800615 stw r22,24(sp)
  8874. 47af8: dd400515 stw r21,20(sp)
  8875. 47afc: dcc00315 stw r19,12(sp)
  8876. 47b00: dc800215 stw r18,8(sp)
  8877. 47b04: dc400115 stw r17,4(sp)
  8878. 47b08: dc000015 stw r16,0(sp)
  8879. 47b0c: 2500b804 addi r20,r4,736
  8880. 47b10: a0002326 beq r20,zero,47ba0 <_fwalk+0xbc>
  8881. 47b14: 282b883a mov r21,r5
  8882. 47b18: 002f883a mov r23,zero
  8883. 47b1c: 05800044 movi r22,1
  8884. 47b20: 04ffffc4 movi r19,-1
  8885. 47b24: a4400117 ldw r17,4(r20)
  8886. 47b28: a4800217 ldw r18,8(r20)
  8887. 47b2c: 8c7fffc4 addi r17,r17,-1
  8888. 47b30: 88000d16 blt r17,zero,47b68 <_fwalk+0x84>
  8889. 47b34: 94000304 addi r16,r18,12
  8890. 47b38: 94800384 addi r18,r18,14
  8891. 47b3c: 8080000b ldhu r2,0(r16)
  8892. 47b40: 8c7fffc4 addi r17,r17,-1
  8893. 47b44: 813ffd04 addi r4,r16,-12
  8894. 47b48: b080042e bgeu r22,r2,47b5c <_fwalk+0x78>
  8895. 47b4c: 9080000f ldh r2,0(r18)
  8896. 47b50: 14c00226 beq r2,r19,47b5c <_fwalk+0x78>
  8897. 47b54: a83ee83a callr r21
  8898. 47b58: b8aeb03a or r23,r23,r2
  8899. 47b5c: 84001a04 addi r16,r16,104
  8900. 47b60: 94801a04 addi r18,r18,104
  8901. 47b64: 8cfff51e bne r17,r19,47b3c <__alt_data_end+0xfffd5b3c>
  8902. 47b68: a5000017 ldw r20,0(r20)
  8903. 47b6c: a03fed1e bne r20,zero,47b24 <__alt_data_end+0xfffd5b24>
  8904. 47b70: b805883a mov r2,r23
  8905. 47b74: dfc00817 ldw ra,32(sp)
  8906. 47b78: ddc00717 ldw r23,28(sp)
  8907. 47b7c: dd800617 ldw r22,24(sp)
  8908. 47b80: dd400517 ldw r21,20(sp)
  8909. 47b84: dd000417 ldw r20,16(sp)
  8910. 47b88: dcc00317 ldw r19,12(sp)
  8911. 47b8c: dc800217 ldw r18,8(sp)
  8912. 47b90: dc400117 ldw r17,4(sp)
  8913. 47b94: dc000017 ldw r16,0(sp)
  8914. 47b98: dec00904 addi sp,sp,36
  8915. 47b9c: f800283a ret
  8916. 47ba0: 002f883a mov r23,zero
  8917. 47ba4: 003ff206 br 47b70 <__alt_data_end+0xfffd5b70>
  8918. 00047ba8 <_fwalk_reent>:
  8919. 47ba8: defff704 addi sp,sp,-36
  8920. 47bac: dd000415 stw r20,16(sp)
  8921. 47bb0: dfc00815 stw ra,32(sp)
  8922. 47bb4: ddc00715 stw r23,28(sp)
  8923. 47bb8: dd800615 stw r22,24(sp)
  8924. 47bbc: dd400515 stw r21,20(sp)
  8925. 47bc0: dcc00315 stw r19,12(sp)
  8926. 47bc4: dc800215 stw r18,8(sp)
  8927. 47bc8: dc400115 stw r17,4(sp)
  8928. 47bcc: dc000015 stw r16,0(sp)
  8929. 47bd0: 2500b804 addi r20,r4,736
  8930. 47bd4: a0002326 beq r20,zero,47c64 <_fwalk_reent+0xbc>
  8931. 47bd8: 282b883a mov r21,r5
  8932. 47bdc: 2027883a mov r19,r4
  8933. 47be0: 002f883a mov r23,zero
  8934. 47be4: 05800044 movi r22,1
  8935. 47be8: 04bfffc4 movi r18,-1
  8936. 47bec: a4400117 ldw r17,4(r20)
  8937. 47bf0: a4000217 ldw r16,8(r20)
  8938. 47bf4: 8c7fffc4 addi r17,r17,-1
  8939. 47bf8: 88000c16 blt r17,zero,47c2c <_fwalk_reent+0x84>
  8940. 47bfc: 84000304 addi r16,r16,12
  8941. 47c00: 8080000b ldhu r2,0(r16)
  8942. 47c04: 8c7fffc4 addi r17,r17,-1
  8943. 47c08: 817ffd04 addi r5,r16,-12
  8944. 47c0c: b080052e bgeu r22,r2,47c24 <_fwalk_reent+0x7c>
  8945. 47c10: 8080008f ldh r2,2(r16)
  8946. 47c14: 9809883a mov r4,r19
  8947. 47c18: 14800226 beq r2,r18,47c24 <_fwalk_reent+0x7c>
  8948. 47c1c: a83ee83a callr r21
  8949. 47c20: b8aeb03a or r23,r23,r2
  8950. 47c24: 84001a04 addi r16,r16,104
  8951. 47c28: 8cbff51e bne r17,r18,47c00 <__alt_data_end+0xfffd5c00>
  8952. 47c2c: a5000017 ldw r20,0(r20)
  8953. 47c30: a03fee1e bne r20,zero,47bec <__alt_data_end+0xfffd5bec>
  8954. 47c34: b805883a mov r2,r23
  8955. 47c38: dfc00817 ldw ra,32(sp)
  8956. 47c3c: ddc00717 ldw r23,28(sp)
  8957. 47c40: dd800617 ldw r22,24(sp)
  8958. 47c44: dd400517 ldw r21,20(sp)
  8959. 47c48: dd000417 ldw r20,16(sp)
  8960. 47c4c: dcc00317 ldw r19,12(sp)
  8961. 47c50: dc800217 ldw r18,8(sp)
  8962. 47c54: dc400117 ldw r17,4(sp)
  8963. 47c58: dc000017 ldw r16,0(sp)
  8964. 47c5c: dec00904 addi sp,sp,36
  8965. 47c60: f800283a ret
  8966. 47c64: 002f883a mov r23,zero
  8967. 47c68: 003ff206 br 47c34 <__alt_data_end+0xfffd5c34>
  8968. 00047c6c <_setlocale_r>:
  8969. 47c6c: 30001b26 beq r6,zero,47cdc <_setlocale_r+0x70>
  8970. 47c70: 01400174 movhi r5,5
  8971. 47c74: defffe04 addi sp,sp,-8
  8972. 47c78: 29485c04 addi r5,r5,8560
  8973. 47c7c: 3009883a mov r4,r6
  8974. 47c80: dc000015 stw r16,0(sp)
  8975. 47c84: dfc00115 stw ra,4(sp)
  8976. 47c88: 3021883a mov r16,r6
  8977. 47c8c: 004a5480 call 4a548 <strcmp>
  8978. 47c90: 1000061e bne r2,zero,47cac <_setlocale_r+0x40>
  8979. 47c94: 00800174 movhi r2,5
  8980. 47c98: 10885b04 addi r2,r2,8556
  8981. 47c9c: dfc00117 ldw ra,4(sp)
  8982. 47ca0: dc000017 ldw r16,0(sp)
  8983. 47ca4: dec00204 addi sp,sp,8
  8984. 47ca8: f800283a ret
  8985. 47cac: 01400174 movhi r5,5
  8986. 47cb0: 29485b04 addi r5,r5,8556
  8987. 47cb4: 8009883a mov r4,r16
  8988. 47cb8: 004a5480 call 4a548 <strcmp>
  8989. 47cbc: 103ff526 beq r2,zero,47c94 <__alt_data_end+0xfffd5c94>
  8990. 47cc0: 01400174 movhi r5,5
  8991. 47cc4: 29484604 addi r5,r5,8472
  8992. 47cc8: 8009883a mov r4,r16
  8993. 47ccc: 004a5480 call 4a548 <strcmp>
  8994. 47cd0: 103ff026 beq r2,zero,47c94 <__alt_data_end+0xfffd5c94>
  8995. 47cd4: 0005883a mov r2,zero
  8996. 47cd8: 003ff006 br 47c9c <__alt_data_end+0xfffd5c9c>
  8997. 47cdc: 00800174 movhi r2,5
  8998. 47ce0: 10885b04 addi r2,r2,8556
  8999. 47ce4: f800283a ret
  9000. 00047ce8 <__locale_charset>:
  9001. 47ce8: 00800174 movhi r2,5
  9002. 47cec: 108a7004 addi r2,r2,10688
  9003. 47cf0: f800283a ret
  9004. 00047cf4 <__locale_mb_cur_max>:
  9005. 47cf4: 00800174 movhi r2,5
  9006. 47cf8: 10905404 addi r2,r2,16720
  9007. 47cfc: 10800017 ldw r2,0(r2)
  9008. 47d00: f800283a ret
  9009. 00047d04 <__locale_msgcharset>:
  9010. 47d04: 00800174 movhi r2,5
  9011. 47d08: 108a6804 addi r2,r2,10656
  9012. 47d0c: f800283a ret
  9013. 00047d10 <__locale_cjk_lang>:
  9014. 47d10: 0005883a mov r2,zero
  9015. 47d14: f800283a ret
  9016. 00047d18 <_localeconv_r>:
  9017. 47d18: 00800174 movhi r2,5
  9018. 47d1c: 108a7804 addi r2,r2,10720
  9019. 47d20: f800283a ret
  9020. 00047d24 <setlocale>:
  9021. 47d24: 00800174 movhi r2,5
  9022. 47d28: 10905304 addi r2,r2,16716
  9023. 47d2c: 280d883a mov r6,r5
  9024. 47d30: 200b883a mov r5,r4
  9025. 47d34: 11000017 ldw r4,0(r2)
  9026. 47d38: 0047c6c1 jmpi 47c6c <_setlocale_r>
  9027. 00047d3c <localeconv>:
  9028. 47d3c: 00800174 movhi r2,5
  9029. 47d40: 108a7804 addi r2,r2,10720
  9030. 47d44: f800283a ret
  9031. 00047d48 <__smakebuf_r>:
  9032. 47d48: 2880030b ldhu r2,12(r5)
  9033. 47d4c: 10c0008c andi r3,r2,2
  9034. 47d50: 1800411e bne r3,zero,47e58 <__smakebuf_r+0x110>
  9035. 47d54: deffec04 addi sp,sp,-80
  9036. 47d58: dc000f15 stw r16,60(sp)
  9037. 47d5c: 2821883a mov r16,r5
  9038. 47d60: 2940038f ldh r5,14(r5)
  9039. 47d64: dc401015 stw r17,64(sp)
  9040. 47d68: dfc01315 stw ra,76(sp)
  9041. 47d6c: dcc01215 stw r19,72(sp)
  9042. 47d70: dc801115 stw r18,68(sp)
  9043. 47d74: 2023883a mov r17,r4
  9044. 47d78: 28001c16 blt r5,zero,47dec <__smakebuf_r+0xa4>
  9045. 47d7c: d80d883a mov r6,sp
  9046. 47d80: 004c3100 call 4c310 <_fstat_r>
  9047. 47d84: 10001816 blt r2,zero,47de8 <__smakebuf_r+0xa0>
  9048. 47d88: d8800117 ldw r2,4(sp)
  9049. 47d8c: 00e00014 movui r3,32768
  9050. 47d90: 10bc000c andi r2,r2,61440
  9051. 47d94: 14c80020 cmpeqi r19,r2,8192
  9052. 47d98: 10c03726 beq r2,r3,47e78 <__smakebuf_r+0x130>
  9053. 47d9c: 80c0030b ldhu r3,12(r16)
  9054. 47da0: 18c20014 ori r3,r3,2048
  9055. 47da4: 80c0030d sth r3,12(r16)
  9056. 47da8: 00c80004 movi r3,8192
  9057. 47dac: 10c0521e bne r2,r3,47ef8 <__smakebuf_r+0x1b0>
  9058. 47db0: 8140038f ldh r5,14(r16)
  9059. 47db4: 8809883a mov r4,r17
  9060. 47db8: 004c36c0 call 4c36c <_isatty_r>
  9061. 47dbc: 10004c26 beq r2,zero,47ef0 <__smakebuf_r+0x1a8>
  9062. 47dc0: 8080030b ldhu r2,12(r16)
  9063. 47dc4: 80c010c4 addi r3,r16,67
  9064. 47dc8: 80c00015 stw r3,0(r16)
  9065. 47dcc: 10800054 ori r2,r2,1
  9066. 47dd0: 8080030d sth r2,12(r16)
  9067. 47dd4: 00800044 movi r2,1
  9068. 47dd8: 80c00415 stw r3,16(r16)
  9069. 47ddc: 80800515 stw r2,20(r16)
  9070. 47de0: 04810004 movi r18,1024
  9071. 47de4: 00000706 br 47e04 <__smakebuf_r+0xbc>
  9072. 47de8: 8080030b ldhu r2,12(r16)
  9073. 47dec: 10c0200c andi r3,r2,128
  9074. 47df0: 18001f1e bne r3,zero,47e70 <__smakebuf_r+0x128>
  9075. 47df4: 04810004 movi r18,1024
  9076. 47df8: 10820014 ori r2,r2,2048
  9077. 47dfc: 8080030d sth r2,12(r16)
  9078. 47e00: 0027883a mov r19,zero
  9079. 47e04: 900b883a mov r5,r18
  9080. 47e08: 8809883a mov r4,r17
  9081. 47e0c: 0047f040 call 47f04 <_malloc_r>
  9082. 47e10: 10002c26 beq r2,zero,47ec4 <__smakebuf_r+0x17c>
  9083. 47e14: 80c0030b ldhu r3,12(r16)
  9084. 47e18: 01000134 movhi r4,4
  9085. 47e1c: 211b9004 addi r4,r4,28224
  9086. 47e20: 89000f15 stw r4,60(r17)
  9087. 47e24: 18c02014 ori r3,r3,128
  9088. 47e28: 80c0030d sth r3,12(r16)
  9089. 47e2c: 80800015 stw r2,0(r16)
  9090. 47e30: 80800415 stw r2,16(r16)
  9091. 47e34: 84800515 stw r18,20(r16)
  9092. 47e38: 98001a1e bne r19,zero,47ea4 <__smakebuf_r+0x15c>
  9093. 47e3c: dfc01317 ldw ra,76(sp)
  9094. 47e40: dcc01217 ldw r19,72(sp)
  9095. 47e44: dc801117 ldw r18,68(sp)
  9096. 47e48: dc401017 ldw r17,64(sp)
  9097. 47e4c: dc000f17 ldw r16,60(sp)
  9098. 47e50: dec01404 addi sp,sp,80
  9099. 47e54: f800283a ret
  9100. 47e58: 288010c4 addi r2,r5,67
  9101. 47e5c: 28800015 stw r2,0(r5)
  9102. 47e60: 28800415 stw r2,16(r5)
  9103. 47e64: 00800044 movi r2,1
  9104. 47e68: 28800515 stw r2,20(r5)
  9105. 47e6c: f800283a ret
  9106. 47e70: 04801004 movi r18,64
  9107. 47e74: 003fe006 br 47df8 <__alt_data_end+0xfffd5df8>
  9108. 47e78: 81000a17 ldw r4,40(r16)
  9109. 47e7c: 00c00174 movhi r3,5
  9110. 47e80: 18e93904 addi r3,r3,-23324
  9111. 47e84: 20ffc51e bne r4,r3,47d9c <__alt_data_end+0xfffd5d9c>
  9112. 47e88: 8080030b ldhu r2,12(r16)
  9113. 47e8c: 04810004 movi r18,1024
  9114. 47e90: 84801315 stw r18,76(r16)
  9115. 47e94: 1484b03a or r2,r2,r18
  9116. 47e98: 8080030d sth r2,12(r16)
  9117. 47e9c: 0027883a mov r19,zero
  9118. 47ea0: 003fd806 br 47e04 <__alt_data_end+0xfffd5e04>
  9119. 47ea4: 8140038f ldh r5,14(r16)
  9120. 47ea8: 8809883a mov r4,r17
  9121. 47eac: 004c36c0 call 4c36c <_isatty_r>
  9122. 47eb0: 103fe226 beq r2,zero,47e3c <__alt_data_end+0xfffd5e3c>
  9123. 47eb4: 8080030b ldhu r2,12(r16)
  9124. 47eb8: 10800054 ori r2,r2,1
  9125. 47ebc: 8080030d sth r2,12(r16)
  9126. 47ec0: 003fde06 br 47e3c <__alt_data_end+0xfffd5e3c>
  9127. 47ec4: 8080030b ldhu r2,12(r16)
  9128. 47ec8: 10c0800c andi r3,r2,512
  9129. 47ecc: 183fdb1e bne r3,zero,47e3c <__alt_data_end+0xfffd5e3c>
  9130. 47ed0: 10800094 ori r2,r2,2
  9131. 47ed4: 80c010c4 addi r3,r16,67
  9132. 47ed8: 8080030d sth r2,12(r16)
  9133. 47edc: 00800044 movi r2,1
  9134. 47ee0: 80c00015 stw r3,0(r16)
  9135. 47ee4: 80c00415 stw r3,16(r16)
  9136. 47ee8: 80800515 stw r2,20(r16)
  9137. 47eec: 003fd306 br 47e3c <__alt_data_end+0xfffd5e3c>
  9138. 47ef0: 04810004 movi r18,1024
  9139. 47ef4: 003fc306 br 47e04 <__alt_data_end+0xfffd5e04>
  9140. 47ef8: 0027883a mov r19,zero
  9141. 47efc: 04810004 movi r18,1024
  9142. 47f00: 003fc006 br 47e04 <__alt_data_end+0xfffd5e04>
  9143. 00047f04 <_malloc_r>:
  9144. 47f04: defff504 addi sp,sp,-44
  9145. 47f08: dc800315 stw r18,12(sp)
  9146. 47f0c: dfc00a15 stw ra,40(sp)
  9147. 47f10: df000915 stw fp,36(sp)
  9148. 47f14: ddc00815 stw r23,32(sp)
  9149. 47f18: dd800715 stw r22,28(sp)
  9150. 47f1c: dd400615 stw r21,24(sp)
  9151. 47f20: dd000515 stw r20,20(sp)
  9152. 47f24: dcc00415 stw r19,16(sp)
  9153. 47f28: dc400215 stw r17,8(sp)
  9154. 47f2c: dc000115 stw r16,4(sp)
  9155. 47f30: 288002c4 addi r2,r5,11
  9156. 47f34: 00c00584 movi r3,22
  9157. 47f38: 2025883a mov r18,r4
  9158. 47f3c: 18807f2e bgeu r3,r2,4813c <_malloc_r+0x238>
  9159. 47f40: 047ffe04 movi r17,-8
  9160. 47f44: 1462703a and r17,r2,r17
  9161. 47f48: 8800a316 blt r17,zero,481d8 <_malloc_r+0x2d4>
  9162. 47f4c: 8940a236 bltu r17,r5,481d8 <_malloc_r+0x2d4>
  9163. 47f50: 004ed0c0 call 4ed0c <__malloc_lock>
  9164. 47f54: 00807dc4 movi r2,503
  9165. 47f58: 1441e92e bgeu r2,r17,48700 <_malloc_r+0x7fc>
  9166. 47f5c: 8804d27a srli r2,r17,9
  9167. 47f60: 1000a126 beq r2,zero,481e8 <_malloc_r+0x2e4>
  9168. 47f64: 00c00104 movi r3,4
  9169. 47f68: 18811e36 bltu r3,r2,483e4 <_malloc_r+0x4e0>
  9170. 47f6c: 8804d1ba srli r2,r17,6
  9171. 47f70: 12000e44 addi r8,r2,57
  9172. 47f74: 11c00e04 addi r7,r2,56
  9173. 47f78: 4209883a add r4,r8,r8
  9174. 47f7c: 04c00174 movhi r19,5
  9175. 47f80: 2109883a add r4,r4,r4
  9176. 47f84: 9cca8604 addi r19,r19,10776
  9177. 47f88: 2109883a add r4,r4,r4
  9178. 47f8c: 9909883a add r4,r19,r4
  9179. 47f90: 24000117 ldw r16,4(r4)
  9180. 47f94: 213ffe04 addi r4,r4,-8
  9181. 47f98: 24009726 beq r4,r16,481f8 <_malloc_r+0x2f4>
  9182. 47f9c: 80800117 ldw r2,4(r16)
  9183. 47fa0: 01bfff04 movi r6,-4
  9184. 47fa4: 014003c4 movi r5,15
  9185. 47fa8: 1184703a and r2,r2,r6
  9186. 47fac: 1447c83a sub r3,r2,r17
  9187. 47fb0: 28c00716 blt r5,r3,47fd0 <_malloc_r+0xcc>
  9188. 47fb4: 1800920e bge r3,zero,48200 <_malloc_r+0x2fc>
  9189. 47fb8: 84000317 ldw r16,12(r16)
  9190. 47fbc: 24008e26 beq r4,r16,481f8 <_malloc_r+0x2f4>
  9191. 47fc0: 80800117 ldw r2,4(r16)
  9192. 47fc4: 1184703a and r2,r2,r6
  9193. 47fc8: 1447c83a sub r3,r2,r17
  9194. 47fcc: 28fff90e bge r5,r3,47fb4 <__alt_data_end+0xfffd5fb4>
  9195. 47fd0: 3809883a mov r4,r7
  9196. 47fd4: 01800174 movhi r6,5
  9197. 47fd8: 9c000417 ldw r16,16(r19)
  9198. 47fdc: 318a8604 addi r6,r6,10776
  9199. 47fe0: 32000204 addi r8,r6,8
  9200. 47fe4: 82013426 beq r16,r8,484b8 <_malloc_r+0x5b4>
  9201. 47fe8: 80c00117 ldw r3,4(r16)
  9202. 47fec: 00bfff04 movi r2,-4
  9203. 47ff0: 188e703a and r7,r3,r2
  9204. 47ff4: 3c45c83a sub r2,r7,r17
  9205. 47ff8: 00c003c4 movi r3,15
  9206. 47ffc: 18811f16 blt r3,r2,4847c <_malloc_r+0x578>
  9207. 48000: 32000515 stw r8,20(r6)
  9208. 48004: 32000415 stw r8,16(r6)
  9209. 48008: 10007f0e bge r2,zero,48208 <_malloc_r+0x304>
  9210. 4800c: 00807fc4 movi r2,511
  9211. 48010: 11c0fd36 bltu r2,r7,48408 <_malloc_r+0x504>
  9212. 48014: 3806d0fa srli r3,r7,3
  9213. 48018: 01c00044 movi r7,1
  9214. 4801c: 30800117 ldw r2,4(r6)
  9215. 48020: 19400044 addi r5,r3,1
  9216. 48024: 294b883a add r5,r5,r5
  9217. 48028: 1807d0ba srai r3,r3,2
  9218. 4802c: 294b883a add r5,r5,r5
  9219. 48030: 294b883a add r5,r5,r5
  9220. 48034: 298b883a add r5,r5,r6
  9221. 48038: 38c6983a sll r3,r7,r3
  9222. 4803c: 29c00017 ldw r7,0(r5)
  9223. 48040: 2a7ffe04 addi r9,r5,-8
  9224. 48044: 1886b03a or r3,r3,r2
  9225. 48048: 82400315 stw r9,12(r16)
  9226. 4804c: 81c00215 stw r7,8(r16)
  9227. 48050: 30c00115 stw r3,4(r6)
  9228. 48054: 2c000015 stw r16,0(r5)
  9229. 48058: 3c000315 stw r16,12(r7)
  9230. 4805c: 2005d0ba srai r2,r4,2
  9231. 48060: 01400044 movi r5,1
  9232. 48064: 288a983a sll r5,r5,r2
  9233. 48068: 19406f36 bltu r3,r5,48228 <_malloc_r+0x324>
  9234. 4806c: 28c4703a and r2,r5,r3
  9235. 48070: 10000a1e bne r2,zero,4809c <_malloc_r+0x198>
  9236. 48074: 00bfff04 movi r2,-4
  9237. 48078: 294b883a add r5,r5,r5
  9238. 4807c: 2088703a and r4,r4,r2
  9239. 48080: 28c4703a and r2,r5,r3
  9240. 48084: 21000104 addi r4,r4,4
  9241. 48088: 1000041e bne r2,zero,4809c <_malloc_r+0x198>
  9242. 4808c: 294b883a add r5,r5,r5
  9243. 48090: 28c4703a and r2,r5,r3
  9244. 48094: 21000104 addi r4,r4,4
  9245. 48098: 103ffc26 beq r2,zero,4808c <__alt_data_end+0xfffd608c>
  9246. 4809c: 02bfff04 movi r10,-4
  9247. 480a0: 024003c4 movi r9,15
  9248. 480a4: 21800044 addi r6,r4,1
  9249. 480a8: 318d883a add r6,r6,r6
  9250. 480ac: 318d883a add r6,r6,r6
  9251. 480b0: 318d883a add r6,r6,r6
  9252. 480b4: 998d883a add r6,r19,r6
  9253. 480b8: 333ffe04 addi r12,r6,-8
  9254. 480bc: 2017883a mov r11,r4
  9255. 480c0: 31800104 addi r6,r6,4
  9256. 480c4: 34000017 ldw r16,0(r6)
  9257. 480c8: 31fffd04 addi r7,r6,-12
  9258. 480cc: 81c0041e bne r16,r7,480e0 <_malloc_r+0x1dc>
  9259. 480d0: 0000fb06 br 484c0 <_malloc_r+0x5bc>
  9260. 480d4: 1801030e bge r3,zero,484e4 <_malloc_r+0x5e0>
  9261. 480d8: 84000317 ldw r16,12(r16)
  9262. 480dc: 81c0f826 beq r16,r7,484c0 <_malloc_r+0x5bc>
  9263. 480e0: 80800117 ldw r2,4(r16)
  9264. 480e4: 1284703a and r2,r2,r10
  9265. 480e8: 1447c83a sub r3,r2,r17
  9266. 480ec: 48fff90e bge r9,r3,480d4 <__alt_data_end+0xfffd60d4>
  9267. 480f0: 80800317 ldw r2,12(r16)
  9268. 480f4: 81000217 ldw r4,8(r16)
  9269. 480f8: 89400054 ori r5,r17,1
  9270. 480fc: 81400115 stw r5,4(r16)
  9271. 48100: 20800315 stw r2,12(r4)
  9272. 48104: 11000215 stw r4,8(r2)
  9273. 48108: 8463883a add r17,r16,r17
  9274. 4810c: 9c400515 stw r17,20(r19)
  9275. 48110: 9c400415 stw r17,16(r19)
  9276. 48114: 18800054 ori r2,r3,1
  9277. 48118: 88800115 stw r2,4(r17)
  9278. 4811c: 8a000315 stw r8,12(r17)
  9279. 48120: 8a000215 stw r8,8(r17)
  9280. 48124: 88e3883a add r17,r17,r3
  9281. 48128: 88c00015 stw r3,0(r17)
  9282. 4812c: 9009883a mov r4,r18
  9283. 48130: 004ed300 call 4ed30 <__malloc_unlock>
  9284. 48134: 80800204 addi r2,r16,8
  9285. 48138: 00001b06 br 481a8 <_malloc_r+0x2a4>
  9286. 4813c: 04400404 movi r17,16
  9287. 48140: 89402536 bltu r17,r5,481d8 <_malloc_r+0x2d4>
  9288. 48144: 004ed0c0 call 4ed0c <__malloc_lock>
  9289. 48148: 00800184 movi r2,6
  9290. 4814c: 01000084 movi r4,2
  9291. 48150: 04c00174 movhi r19,5
  9292. 48154: 1085883a add r2,r2,r2
  9293. 48158: 9cca8604 addi r19,r19,10776
  9294. 4815c: 1085883a add r2,r2,r2
  9295. 48160: 9885883a add r2,r19,r2
  9296. 48164: 14000117 ldw r16,4(r2)
  9297. 48168: 10fffe04 addi r3,r2,-8
  9298. 4816c: 80c0d926 beq r16,r3,484d4 <_malloc_r+0x5d0>
  9299. 48170: 80c00117 ldw r3,4(r16)
  9300. 48174: 81000317 ldw r4,12(r16)
  9301. 48178: 00bfff04 movi r2,-4
  9302. 4817c: 1884703a and r2,r3,r2
  9303. 48180: 81400217 ldw r5,8(r16)
  9304. 48184: 8085883a add r2,r16,r2
  9305. 48188: 10c00117 ldw r3,4(r2)
  9306. 4818c: 29000315 stw r4,12(r5)
  9307. 48190: 21400215 stw r5,8(r4)
  9308. 48194: 18c00054 ori r3,r3,1
  9309. 48198: 10c00115 stw r3,4(r2)
  9310. 4819c: 9009883a mov r4,r18
  9311. 481a0: 004ed300 call 4ed30 <__malloc_unlock>
  9312. 481a4: 80800204 addi r2,r16,8
  9313. 481a8: dfc00a17 ldw ra,40(sp)
  9314. 481ac: df000917 ldw fp,36(sp)
  9315. 481b0: ddc00817 ldw r23,32(sp)
  9316. 481b4: dd800717 ldw r22,28(sp)
  9317. 481b8: dd400617 ldw r21,24(sp)
  9318. 481bc: dd000517 ldw r20,20(sp)
  9319. 481c0: dcc00417 ldw r19,16(sp)
  9320. 481c4: dc800317 ldw r18,12(sp)
  9321. 481c8: dc400217 ldw r17,8(sp)
  9322. 481cc: dc000117 ldw r16,4(sp)
  9323. 481d0: dec00b04 addi sp,sp,44
  9324. 481d4: f800283a ret
  9325. 481d8: 00800304 movi r2,12
  9326. 481dc: 90800015 stw r2,0(r18)
  9327. 481e0: 0005883a mov r2,zero
  9328. 481e4: 003ff006 br 481a8 <__alt_data_end+0xfffd61a8>
  9329. 481e8: 01002004 movi r4,128
  9330. 481ec: 02001004 movi r8,64
  9331. 481f0: 01c00fc4 movi r7,63
  9332. 481f4: 003f6106 br 47f7c <__alt_data_end+0xfffd5f7c>
  9333. 481f8: 4009883a mov r4,r8
  9334. 481fc: 003f7506 br 47fd4 <__alt_data_end+0xfffd5fd4>
  9335. 48200: 81000317 ldw r4,12(r16)
  9336. 48204: 003fde06 br 48180 <__alt_data_end+0xfffd6180>
  9337. 48208: 81c5883a add r2,r16,r7
  9338. 4820c: 11400117 ldw r5,4(r2)
  9339. 48210: 9009883a mov r4,r18
  9340. 48214: 29400054 ori r5,r5,1
  9341. 48218: 11400115 stw r5,4(r2)
  9342. 4821c: 004ed300 call 4ed30 <__malloc_unlock>
  9343. 48220: 80800204 addi r2,r16,8
  9344. 48224: 003fe006 br 481a8 <__alt_data_end+0xfffd61a8>
  9345. 48228: 9c000217 ldw r16,8(r19)
  9346. 4822c: 00bfff04 movi r2,-4
  9347. 48230: 85800117 ldw r22,4(r16)
  9348. 48234: b0ac703a and r22,r22,r2
  9349. 48238: b4400336 bltu r22,r17,48248 <_malloc_r+0x344>
  9350. 4823c: b445c83a sub r2,r22,r17
  9351. 48240: 00c003c4 movi r3,15
  9352. 48244: 18805d16 blt r3,r2,483bc <_malloc_r+0x4b8>
  9353. 48248: 05c00174 movhi r23,5
  9354. 4824c: 00800174 movhi r2,5
  9355. 48250: 10977204 addi r2,r2,24008
  9356. 48254: bdd05504 addi r23,r23,16724
  9357. 48258: 15400017 ldw r21,0(r2)
  9358. 4825c: b8c00017 ldw r3,0(r23)
  9359. 48260: 00bfffc4 movi r2,-1
  9360. 48264: 858d883a add r6,r16,r22
  9361. 48268: 8d6b883a add r21,r17,r21
  9362. 4826c: 1880ea26 beq r3,r2,48618 <_malloc_r+0x714>
  9363. 48270: ad4403c4 addi r21,r21,4111
  9364. 48274: 00bc0004 movi r2,-4096
  9365. 48278: a8aa703a and r21,r21,r2
  9366. 4827c: a80b883a mov r5,r21
  9367. 48280: 9009883a mov r4,r18
  9368. 48284: d9800015 stw r6,0(sp)
  9369. 48288: 004a3b80 call 4a3b8 <_sbrk_r>
  9370. 4828c: 1029883a mov r20,r2
  9371. 48290: 00bfffc4 movi r2,-1
  9372. 48294: d9800017 ldw r6,0(sp)
  9373. 48298: a080e826 beq r20,r2,4863c <_malloc_r+0x738>
  9374. 4829c: a180a636 bltu r20,r6,48538 <_malloc_r+0x634>
  9375. 482a0: 07000174 movhi fp,5
  9376. 482a4: e7177b04 addi fp,fp,24044
  9377. 482a8: e0800017 ldw r2,0(fp)
  9378. 482ac: a887883a add r3,r21,r2
  9379. 482b0: e0c00015 stw r3,0(fp)
  9380. 482b4: 3500e626 beq r6,r20,48650 <_malloc_r+0x74c>
  9381. 482b8: b9000017 ldw r4,0(r23)
  9382. 482bc: 00bfffc4 movi r2,-1
  9383. 482c0: 2080ee26 beq r4,r2,4867c <_malloc_r+0x778>
  9384. 482c4: a185c83a sub r2,r20,r6
  9385. 482c8: 10c5883a add r2,r2,r3
  9386. 482cc: e0800015 stw r2,0(fp)
  9387. 482d0: a0c001cc andi r3,r20,7
  9388. 482d4: 1800bc26 beq r3,zero,485c8 <_malloc_r+0x6c4>
  9389. 482d8: a0e9c83a sub r20,r20,r3
  9390. 482dc: 00840204 movi r2,4104
  9391. 482e0: a5000204 addi r20,r20,8
  9392. 482e4: 10c7c83a sub r3,r2,r3
  9393. 482e8: a545883a add r2,r20,r21
  9394. 482ec: 1083ffcc andi r2,r2,4095
  9395. 482f0: 18abc83a sub r21,r3,r2
  9396. 482f4: a80b883a mov r5,r21
  9397. 482f8: 9009883a mov r4,r18
  9398. 482fc: 004a3b80 call 4a3b8 <_sbrk_r>
  9399. 48300: 00ffffc4 movi r3,-1
  9400. 48304: 10c0e126 beq r2,r3,4868c <_malloc_r+0x788>
  9401. 48308: 1505c83a sub r2,r2,r20
  9402. 4830c: 1545883a add r2,r2,r21
  9403. 48310: 10800054 ori r2,r2,1
  9404. 48314: e0c00017 ldw r3,0(fp)
  9405. 48318: 9d000215 stw r20,8(r19)
  9406. 4831c: a0800115 stw r2,4(r20)
  9407. 48320: a8c7883a add r3,r21,r3
  9408. 48324: e0c00015 stw r3,0(fp)
  9409. 48328: 84c00e26 beq r16,r19,48364 <_malloc_r+0x460>
  9410. 4832c: 018003c4 movi r6,15
  9411. 48330: 3580a72e bgeu r6,r22,485d0 <_malloc_r+0x6cc>
  9412. 48334: 81400117 ldw r5,4(r16)
  9413. 48338: 013ffe04 movi r4,-8
  9414. 4833c: b0bffd04 addi r2,r22,-12
  9415. 48340: 1104703a and r2,r2,r4
  9416. 48344: 2900004c andi r4,r5,1
  9417. 48348: 2088b03a or r4,r4,r2
  9418. 4834c: 81000115 stw r4,4(r16)
  9419. 48350: 01400144 movi r5,5
  9420. 48354: 8089883a add r4,r16,r2
  9421. 48358: 21400115 stw r5,4(r4)
  9422. 4835c: 21400215 stw r5,8(r4)
  9423. 48360: 3080cd36 bltu r6,r2,48698 <_malloc_r+0x794>
  9424. 48364: 00800174 movhi r2,5
  9425. 48368: 10977104 addi r2,r2,24004
  9426. 4836c: 11000017 ldw r4,0(r2)
  9427. 48370: 20c0012e bgeu r4,r3,48378 <_malloc_r+0x474>
  9428. 48374: 10c00015 stw r3,0(r2)
  9429. 48378: 00800174 movhi r2,5
  9430. 4837c: 10977004 addi r2,r2,24000
  9431. 48380: 11000017 ldw r4,0(r2)
  9432. 48384: 9c000217 ldw r16,8(r19)
  9433. 48388: 20c0012e bgeu r4,r3,48390 <_malloc_r+0x48c>
  9434. 4838c: 10c00015 stw r3,0(r2)
  9435. 48390: 80c00117 ldw r3,4(r16)
  9436. 48394: 00bfff04 movi r2,-4
  9437. 48398: 1886703a and r3,r3,r2
  9438. 4839c: 1c45c83a sub r2,r3,r17
  9439. 483a0: 1c400236 bltu r3,r17,483ac <_malloc_r+0x4a8>
  9440. 483a4: 00c003c4 movi r3,15
  9441. 483a8: 18800416 blt r3,r2,483bc <_malloc_r+0x4b8>
  9442. 483ac: 9009883a mov r4,r18
  9443. 483b0: 004ed300 call 4ed30 <__malloc_unlock>
  9444. 483b4: 0005883a mov r2,zero
  9445. 483b8: 003f7b06 br 481a8 <__alt_data_end+0xfffd61a8>
  9446. 483bc: 88c00054 ori r3,r17,1
  9447. 483c0: 80c00115 stw r3,4(r16)
  9448. 483c4: 8463883a add r17,r16,r17
  9449. 483c8: 10800054 ori r2,r2,1
  9450. 483cc: 9c400215 stw r17,8(r19)
  9451. 483d0: 88800115 stw r2,4(r17)
  9452. 483d4: 9009883a mov r4,r18
  9453. 483d8: 004ed300 call 4ed30 <__malloc_unlock>
  9454. 483dc: 80800204 addi r2,r16,8
  9455. 483e0: 003f7106 br 481a8 <__alt_data_end+0xfffd61a8>
  9456. 483e4: 00c00504 movi r3,20
  9457. 483e8: 18804a2e bgeu r3,r2,48514 <_malloc_r+0x610>
  9458. 483ec: 00c01504 movi r3,84
  9459. 483f0: 18806e36 bltu r3,r2,485ac <_malloc_r+0x6a8>
  9460. 483f4: 8804d33a srli r2,r17,12
  9461. 483f8: 12001bc4 addi r8,r2,111
  9462. 483fc: 11c01b84 addi r7,r2,110
  9463. 48400: 4209883a add r4,r8,r8
  9464. 48404: 003edd06 br 47f7c <__alt_data_end+0xfffd5f7c>
  9465. 48408: 3804d27a srli r2,r7,9
  9466. 4840c: 00c00104 movi r3,4
  9467. 48410: 1880442e bgeu r3,r2,48524 <_malloc_r+0x620>
  9468. 48414: 00c00504 movi r3,20
  9469. 48418: 18808136 bltu r3,r2,48620 <_malloc_r+0x71c>
  9470. 4841c: 11401704 addi r5,r2,92
  9471. 48420: 10c016c4 addi r3,r2,91
  9472. 48424: 294b883a add r5,r5,r5
  9473. 48428: 294b883a add r5,r5,r5
  9474. 4842c: 294b883a add r5,r5,r5
  9475. 48430: 994b883a add r5,r19,r5
  9476. 48434: 28800017 ldw r2,0(r5)
  9477. 48438: 01800174 movhi r6,5
  9478. 4843c: 297ffe04 addi r5,r5,-8
  9479. 48440: 318a8604 addi r6,r6,10776
  9480. 48444: 28806526 beq r5,r2,485dc <_malloc_r+0x6d8>
  9481. 48448: 01bfff04 movi r6,-4
  9482. 4844c: 10c00117 ldw r3,4(r2)
  9483. 48450: 1986703a and r3,r3,r6
  9484. 48454: 38c0022e bgeu r7,r3,48460 <_malloc_r+0x55c>
  9485. 48458: 10800217 ldw r2,8(r2)
  9486. 4845c: 28bffb1e bne r5,r2,4844c <__alt_data_end+0xfffd644c>
  9487. 48460: 11400317 ldw r5,12(r2)
  9488. 48464: 98c00117 ldw r3,4(r19)
  9489. 48468: 81400315 stw r5,12(r16)
  9490. 4846c: 80800215 stw r2,8(r16)
  9491. 48470: 2c000215 stw r16,8(r5)
  9492. 48474: 14000315 stw r16,12(r2)
  9493. 48478: 003ef806 br 4805c <__alt_data_end+0xfffd605c>
  9494. 4847c: 88c00054 ori r3,r17,1
  9495. 48480: 80c00115 stw r3,4(r16)
  9496. 48484: 8463883a add r17,r16,r17
  9497. 48488: 34400515 stw r17,20(r6)
  9498. 4848c: 34400415 stw r17,16(r6)
  9499. 48490: 10c00054 ori r3,r2,1
  9500. 48494: 8a000315 stw r8,12(r17)
  9501. 48498: 8a000215 stw r8,8(r17)
  9502. 4849c: 88c00115 stw r3,4(r17)
  9503. 484a0: 88a3883a add r17,r17,r2
  9504. 484a4: 88800015 stw r2,0(r17)
  9505. 484a8: 9009883a mov r4,r18
  9506. 484ac: 004ed300 call 4ed30 <__malloc_unlock>
  9507. 484b0: 80800204 addi r2,r16,8
  9508. 484b4: 003f3c06 br 481a8 <__alt_data_end+0xfffd61a8>
  9509. 484b8: 30c00117 ldw r3,4(r6)
  9510. 484bc: 003ee706 br 4805c <__alt_data_end+0xfffd605c>
  9511. 484c0: 5ac00044 addi r11,r11,1
  9512. 484c4: 588000cc andi r2,r11,3
  9513. 484c8: 31800204 addi r6,r6,8
  9514. 484cc: 103efd1e bne r2,zero,480c4 <__alt_data_end+0xfffd60c4>
  9515. 484d0: 00002406 br 48564 <_malloc_r+0x660>
  9516. 484d4: 14000317 ldw r16,12(r2)
  9517. 484d8: 143f251e bne r2,r16,48170 <__alt_data_end+0xfffd6170>
  9518. 484dc: 21000084 addi r4,r4,2
  9519. 484e0: 003ebc06 br 47fd4 <__alt_data_end+0xfffd5fd4>
  9520. 484e4: 8085883a add r2,r16,r2
  9521. 484e8: 10c00117 ldw r3,4(r2)
  9522. 484ec: 81000317 ldw r4,12(r16)
  9523. 484f0: 81400217 ldw r5,8(r16)
  9524. 484f4: 18c00054 ori r3,r3,1
  9525. 484f8: 10c00115 stw r3,4(r2)
  9526. 484fc: 29000315 stw r4,12(r5)
  9527. 48500: 21400215 stw r5,8(r4)
  9528. 48504: 9009883a mov r4,r18
  9529. 48508: 004ed300 call 4ed30 <__malloc_unlock>
  9530. 4850c: 80800204 addi r2,r16,8
  9531. 48510: 003f2506 br 481a8 <__alt_data_end+0xfffd61a8>
  9532. 48514: 12001704 addi r8,r2,92
  9533. 48518: 11c016c4 addi r7,r2,91
  9534. 4851c: 4209883a add r4,r8,r8
  9535. 48520: 003e9606 br 47f7c <__alt_data_end+0xfffd5f7c>
  9536. 48524: 3804d1ba srli r2,r7,6
  9537. 48528: 11400e44 addi r5,r2,57
  9538. 4852c: 10c00e04 addi r3,r2,56
  9539. 48530: 294b883a add r5,r5,r5
  9540. 48534: 003fbc06 br 48428 <__alt_data_end+0xfffd6428>
  9541. 48538: 84ff5926 beq r16,r19,482a0 <__alt_data_end+0xfffd62a0>
  9542. 4853c: 00800174 movhi r2,5
  9543. 48540: 108a8604 addi r2,r2,10776
  9544. 48544: 14000217 ldw r16,8(r2)
  9545. 48548: 00bfff04 movi r2,-4
  9546. 4854c: 80c00117 ldw r3,4(r16)
  9547. 48550: 1886703a and r3,r3,r2
  9548. 48554: 003f9106 br 4839c <__alt_data_end+0xfffd639c>
  9549. 48558: 60800217 ldw r2,8(r12)
  9550. 4855c: 213fffc4 addi r4,r4,-1
  9551. 48560: 1300651e bne r2,r12,486f8 <_malloc_r+0x7f4>
  9552. 48564: 208000cc andi r2,r4,3
  9553. 48568: 633ffe04 addi r12,r12,-8
  9554. 4856c: 103ffa1e bne r2,zero,48558 <__alt_data_end+0xfffd6558>
  9555. 48570: 98800117 ldw r2,4(r19)
  9556. 48574: 0146303a nor r3,zero,r5
  9557. 48578: 1884703a and r2,r3,r2
  9558. 4857c: 98800115 stw r2,4(r19)
  9559. 48580: 294b883a add r5,r5,r5
  9560. 48584: 117f2836 bltu r2,r5,48228 <__alt_data_end+0xfffd6228>
  9561. 48588: 283f2726 beq r5,zero,48228 <__alt_data_end+0xfffd6228>
  9562. 4858c: 2886703a and r3,r5,r2
  9563. 48590: 5809883a mov r4,r11
  9564. 48594: 183ec31e bne r3,zero,480a4 <__alt_data_end+0xfffd60a4>
  9565. 48598: 294b883a add r5,r5,r5
  9566. 4859c: 2886703a and r3,r5,r2
  9567. 485a0: 21000104 addi r4,r4,4
  9568. 485a4: 183ffc26 beq r3,zero,48598 <__alt_data_end+0xfffd6598>
  9569. 485a8: 003ebe06 br 480a4 <__alt_data_end+0xfffd60a4>
  9570. 485ac: 00c05504 movi r3,340
  9571. 485b0: 18801236 bltu r3,r2,485fc <_malloc_r+0x6f8>
  9572. 485b4: 8804d3fa srli r2,r17,15
  9573. 485b8: 12001e04 addi r8,r2,120
  9574. 485bc: 11c01dc4 addi r7,r2,119
  9575. 485c0: 4209883a add r4,r8,r8
  9576. 485c4: 003e6d06 br 47f7c <__alt_data_end+0xfffd5f7c>
  9577. 485c8: 00c40004 movi r3,4096
  9578. 485cc: 003f4606 br 482e8 <__alt_data_end+0xfffd62e8>
  9579. 485d0: 00800044 movi r2,1
  9580. 485d4: a0800115 stw r2,4(r20)
  9581. 485d8: 003f7406 br 483ac <__alt_data_end+0xfffd63ac>
  9582. 485dc: 1805d0ba srai r2,r3,2
  9583. 485e0: 01c00044 movi r7,1
  9584. 485e4: 30c00117 ldw r3,4(r6)
  9585. 485e8: 388e983a sll r7,r7,r2
  9586. 485ec: 2805883a mov r2,r5
  9587. 485f0: 38c6b03a or r3,r7,r3
  9588. 485f4: 30c00115 stw r3,4(r6)
  9589. 485f8: 003f9b06 br 48468 <__alt_data_end+0xfffd6468>
  9590. 485fc: 00c15504 movi r3,1364
  9591. 48600: 18801a36 bltu r3,r2,4866c <_malloc_r+0x768>
  9592. 48604: 8804d4ba srli r2,r17,18
  9593. 48608: 12001f44 addi r8,r2,125
  9594. 4860c: 11c01f04 addi r7,r2,124
  9595. 48610: 4209883a add r4,r8,r8
  9596. 48614: 003e5906 br 47f7c <__alt_data_end+0xfffd5f7c>
  9597. 48618: ad400404 addi r21,r21,16
  9598. 4861c: 003f1706 br 4827c <__alt_data_end+0xfffd627c>
  9599. 48620: 00c01504 movi r3,84
  9600. 48624: 18802336 bltu r3,r2,486b4 <_malloc_r+0x7b0>
  9601. 48628: 3804d33a srli r2,r7,12
  9602. 4862c: 11401bc4 addi r5,r2,111
  9603. 48630: 10c01b84 addi r3,r2,110
  9604. 48634: 294b883a add r5,r5,r5
  9605. 48638: 003f7b06 br 48428 <__alt_data_end+0xfffd6428>
  9606. 4863c: 9c000217 ldw r16,8(r19)
  9607. 48640: 00bfff04 movi r2,-4
  9608. 48644: 80c00117 ldw r3,4(r16)
  9609. 48648: 1886703a and r3,r3,r2
  9610. 4864c: 003f5306 br 4839c <__alt_data_end+0xfffd639c>
  9611. 48650: 3083ffcc andi r2,r6,4095
  9612. 48654: 103f181e bne r2,zero,482b8 <__alt_data_end+0xfffd62b8>
  9613. 48658: 99000217 ldw r4,8(r19)
  9614. 4865c: b545883a add r2,r22,r21
  9615. 48660: 10800054 ori r2,r2,1
  9616. 48664: 20800115 stw r2,4(r4)
  9617. 48668: 003f3e06 br 48364 <__alt_data_end+0xfffd6364>
  9618. 4866c: 01003f84 movi r4,254
  9619. 48670: 02001fc4 movi r8,127
  9620. 48674: 01c01f84 movi r7,126
  9621. 48678: 003e4006 br 47f7c <__alt_data_end+0xfffd5f7c>
  9622. 4867c: 00800174 movhi r2,5
  9623. 48680: 10905504 addi r2,r2,16724
  9624. 48684: 15000015 stw r20,0(r2)
  9625. 48688: 003f1106 br 482d0 <__alt_data_end+0xfffd62d0>
  9626. 4868c: 00800044 movi r2,1
  9627. 48690: 002b883a mov r21,zero
  9628. 48694: 003f1f06 br 48314 <__alt_data_end+0xfffd6314>
  9629. 48698: 81400204 addi r5,r16,8
  9630. 4869c: 9009883a mov r4,r18
  9631. 486a0: 004730c0 call 4730c <_free_r>
  9632. 486a4: 00800174 movhi r2,5
  9633. 486a8: 10977b04 addi r2,r2,24044
  9634. 486ac: 10c00017 ldw r3,0(r2)
  9635. 486b0: 003f2c06 br 48364 <__alt_data_end+0xfffd6364>
  9636. 486b4: 00c05504 movi r3,340
  9637. 486b8: 18800536 bltu r3,r2,486d0 <_malloc_r+0x7cc>
  9638. 486bc: 3804d3fa srli r2,r7,15
  9639. 486c0: 11401e04 addi r5,r2,120
  9640. 486c4: 10c01dc4 addi r3,r2,119
  9641. 486c8: 294b883a add r5,r5,r5
  9642. 486cc: 003f5606 br 48428 <__alt_data_end+0xfffd6428>
  9643. 486d0: 00c15504 movi r3,1364
  9644. 486d4: 18800536 bltu r3,r2,486ec <_malloc_r+0x7e8>
  9645. 486d8: 3804d4ba srli r2,r7,18
  9646. 486dc: 11401f44 addi r5,r2,125
  9647. 486e0: 10c01f04 addi r3,r2,124
  9648. 486e4: 294b883a add r5,r5,r5
  9649. 486e8: 003f4f06 br 48428 <__alt_data_end+0xfffd6428>
  9650. 486ec: 01403f84 movi r5,254
  9651. 486f0: 00c01f84 movi r3,126
  9652. 486f4: 003f4c06 br 48428 <__alt_data_end+0xfffd6428>
  9653. 486f8: 98800117 ldw r2,4(r19)
  9654. 486fc: 003fa006 br 48580 <__alt_data_end+0xfffd6580>
  9655. 48700: 8808d0fa srli r4,r17,3
  9656. 48704: 20800044 addi r2,r4,1
  9657. 48708: 1085883a add r2,r2,r2
  9658. 4870c: 003e9006 br 48150 <__alt_data_end+0xfffd6150>
  9659. 00048710 <memchr>:
  9660. 48710: 208000cc andi r2,r4,3
  9661. 48714: 280f883a mov r7,r5
  9662. 48718: 10003426 beq r2,zero,487ec <memchr+0xdc>
  9663. 4871c: 30bfffc4 addi r2,r6,-1
  9664. 48720: 30001a26 beq r6,zero,4878c <memchr+0x7c>
  9665. 48724: 20c00003 ldbu r3,0(r4)
  9666. 48728: 29803fcc andi r6,r5,255
  9667. 4872c: 30c0051e bne r6,r3,48744 <memchr+0x34>
  9668. 48730: 00001806 br 48794 <memchr+0x84>
  9669. 48734: 10001526 beq r2,zero,4878c <memchr+0x7c>
  9670. 48738: 20c00003 ldbu r3,0(r4)
  9671. 4873c: 10bfffc4 addi r2,r2,-1
  9672. 48740: 30c01426 beq r6,r3,48794 <memchr+0x84>
  9673. 48744: 21000044 addi r4,r4,1
  9674. 48748: 20c000cc andi r3,r4,3
  9675. 4874c: 183ff91e bne r3,zero,48734 <__alt_data_end+0xfffd6734>
  9676. 48750: 020000c4 movi r8,3
  9677. 48754: 40801136 bltu r8,r2,4879c <memchr+0x8c>
  9678. 48758: 10000c26 beq r2,zero,4878c <memchr+0x7c>
  9679. 4875c: 20c00003 ldbu r3,0(r4)
  9680. 48760: 29403fcc andi r5,r5,255
  9681. 48764: 28c00b26 beq r5,r3,48794 <memchr+0x84>
  9682. 48768: 20c00044 addi r3,r4,1
  9683. 4876c: 39803fcc andi r6,r7,255
  9684. 48770: 2089883a add r4,r4,r2
  9685. 48774: 00000306 br 48784 <memchr+0x74>
  9686. 48778: 18c00044 addi r3,r3,1
  9687. 4877c: 197fffc3 ldbu r5,-1(r3)
  9688. 48780: 31400526 beq r6,r5,48798 <memchr+0x88>
  9689. 48784: 1805883a mov r2,r3
  9690. 48788: 20fffb1e bne r4,r3,48778 <__alt_data_end+0xfffd6778>
  9691. 4878c: 0005883a mov r2,zero
  9692. 48790: f800283a ret
  9693. 48794: 2005883a mov r2,r4
  9694. 48798: f800283a ret
  9695. 4879c: 28c03fcc andi r3,r5,255
  9696. 487a0: 1812923a slli r9,r3,8
  9697. 487a4: 02ffbff4 movhi r11,65279
  9698. 487a8: 02a02074 movhi r10,32897
  9699. 487ac: 48d2b03a or r9,r9,r3
  9700. 487b0: 4806943a slli r3,r9,16
  9701. 487b4: 5affbfc4 addi r11,r11,-257
  9702. 487b8: 52a02004 addi r10,r10,-32640
  9703. 487bc: 48d2b03a or r9,r9,r3
  9704. 487c0: 20c00017 ldw r3,0(r4)
  9705. 487c4: 48c6f03a xor r3,r9,r3
  9706. 487c8: 1acd883a add r6,r3,r11
  9707. 487cc: 00c6303a nor r3,zero,r3
  9708. 487d0: 30c6703a and r3,r6,r3
  9709. 487d4: 1a86703a and r3,r3,r10
  9710. 487d8: 183fe01e bne r3,zero,4875c <__alt_data_end+0xfffd675c>
  9711. 487dc: 10bfff04 addi r2,r2,-4
  9712. 487e0: 21000104 addi r4,r4,4
  9713. 487e4: 40bff636 bltu r8,r2,487c0 <__alt_data_end+0xfffd67c0>
  9714. 487e8: 003fdb06 br 48758 <__alt_data_end+0xfffd6758>
  9715. 487ec: 3005883a mov r2,r6
  9716. 487f0: 003fd706 br 48750 <__alt_data_end+0xfffd6750>
  9717. 000487f4 <memcpy>:
  9718. 487f4: defffd04 addi sp,sp,-12
  9719. 487f8: dfc00215 stw ra,8(sp)
  9720. 487fc: dc400115 stw r17,4(sp)
  9721. 48800: dc000015 stw r16,0(sp)
  9722. 48804: 00c003c4 movi r3,15
  9723. 48808: 2005883a mov r2,r4
  9724. 4880c: 1980452e bgeu r3,r6,48924 <memcpy+0x130>
  9725. 48810: 2906b03a or r3,r5,r4
  9726. 48814: 18c000cc andi r3,r3,3
  9727. 48818: 1800441e bne r3,zero,4892c <memcpy+0x138>
  9728. 4881c: 347ffc04 addi r17,r6,-16
  9729. 48820: 8822d13a srli r17,r17,4
  9730. 48824: 28c00104 addi r3,r5,4
  9731. 48828: 23400104 addi r13,r4,4
  9732. 4882c: 8820913a slli r16,r17,4
  9733. 48830: 2b000204 addi r12,r5,8
  9734. 48834: 22c00204 addi r11,r4,8
  9735. 48838: 84000504 addi r16,r16,20
  9736. 4883c: 2a800304 addi r10,r5,12
  9737. 48840: 22400304 addi r9,r4,12
  9738. 48844: 2c21883a add r16,r5,r16
  9739. 48848: 2811883a mov r8,r5
  9740. 4884c: 200f883a mov r7,r4
  9741. 48850: 41000017 ldw r4,0(r8)
  9742. 48854: 1fc00017 ldw ra,0(r3)
  9743. 48858: 63c00017 ldw r15,0(r12)
  9744. 4885c: 39000015 stw r4,0(r7)
  9745. 48860: 53800017 ldw r14,0(r10)
  9746. 48864: 6fc00015 stw ra,0(r13)
  9747. 48868: 5bc00015 stw r15,0(r11)
  9748. 4886c: 4b800015 stw r14,0(r9)
  9749. 48870: 18c00404 addi r3,r3,16
  9750. 48874: 39c00404 addi r7,r7,16
  9751. 48878: 42000404 addi r8,r8,16
  9752. 4887c: 6b400404 addi r13,r13,16
  9753. 48880: 63000404 addi r12,r12,16
  9754. 48884: 5ac00404 addi r11,r11,16
  9755. 48888: 52800404 addi r10,r10,16
  9756. 4888c: 4a400404 addi r9,r9,16
  9757. 48890: 1c3fef1e bne r3,r16,48850 <__alt_data_end+0xfffd6850>
  9758. 48894: 89c00044 addi r7,r17,1
  9759. 48898: 380e913a slli r7,r7,4
  9760. 4889c: 310003cc andi r4,r6,15
  9761. 488a0: 02c000c4 movi r11,3
  9762. 488a4: 11c7883a add r3,r2,r7
  9763. 488a8: 29cb883a add r5,r5,r7
  9764. 488ac: 5900212e bgeu r11,r4,48934 <memcpy+0x140>
  9765. 488b0: 1813883a mov r9,r3
  9766. 488b4: 2811883a mov r8,r5
  9767. 488b8: 200f883a mov r7,r4
  9768. 488bc: 42800017 ldw r10,0(r8)
  9769. 488c0: 4a400104 addi r9,r9,4
  9770. 488c4: 39ffff04 addi r7,r7,-4
  9771. 488c8: 4abfff15 stw r10,-4(r9)
  9772. 488cc: 42000104 addi r8,r8,4
  9773. 488d0: 59fffa36 bltu r11,r7,488bc <__alt_data_end+0xfffd68bc>
  9774. 488d4: 213fff04 addi r4,r4,-4
  9775. 488d8: 2008d0ba srli r4,r4,2
  9776. 488dc: 318000cc andi r6,r6,3
  9777. 488e0: 21000044 addi r4,r4,1
  9778. 488e4: 2109883a add r4,r4,r4
  9779. 488e8: 2109883a add r4,r4,r4
  9780. 488ec: 1907883a add r3,r3,r4
  9781. 488f0: 290b883a add r5,r5,r4
  9782. 488f4: 30000626 beq r6,zero,48910 <memcpy+0x11c>
  9783. 488f8: 198d883a add r6,r3,r6
  9784. 488fc: 29c00003 ldbu r7,0(r5)
  9785. 48900: 18c00044 addi r3,r3,1
  9786. 48904: 29400044 addi r5,r5,1
  9787. 48908: 19ffffc5 stb r7,-1(r3)
  9788. 4890c: 19bffb1e bne r3,r6,488fc <__alt_data_end+0xfffd68fc>
  9789. 48910: dfc00217 ldw ra,8(sp)
  9790. 48914: dc400117 ldw r17,4(sp)
  9791. 48918: dc000017 ldw r16,0(sp)
  9792. 4891c: dec00304 addi sp,sp,12
  9793. 48920: f800283a ret
  9794. 48924: 2007883a mov r3,r4
  9795. 48928: 003ff206 br 488f4 <__alt_data_end+0xfffd68f4>
  9796. 4892c: 2007883a mov r3,r4
  9797. 48930: 003ff106 br 488f8 <__alt_data_end+0xfffd68f8>
  9798. 48934: 200d883a mov r6,r4
  9799. 48938: 003fee06 br 488f4 <__alt_data_end+0xfffd68f4>
  9800. 0004893c <memmove>:
  9801. 4893c: 2005883a mov r2,r4
  9802. 48940: 29000b2e bgeu r5,r4,48970 <memmove+0x34>
  9803. 48944: 298f883a add r7,r5,r6
  9804. 48948: 21c0092e bgeu r4,r7,48970 <memmove+0x34>
  9805. 4894c: 2187883a add r3,r4,r6
  9806. 48950: 198bc83a sub r5,r3,r6
  9807. 48954: 30004826 beq r6,zero,48a78 <memmove+0x13c>
  9808. 48958: 39ffffc4 addi r7,r7,-1
  9809. 4895c: 39000003 ldbu r4,0(r7)
  9810. 48960: 18ffffc4 addi r3,r3,-1
  9811. 48964: 19000005 stb r4,0(r3)
  9812. 48968: 28fffb1e bne r5,r3,48958 <__alt_data_end+0xfffd6958>
  9813. 4896c: f800283a ret
  9814. 48970: 00c003c4 movi r3,15
  9815. 48974: 1980412e bgeu r3,r6,48a7c <memmove+0x140>
  9816. 48978: 2886b03a or r3,r5,r2
  9817. 4897c: 18c000cc andi r3,r3,3
  9818. 48980: 1800401e bne r3,zero,48a84 <memmove+0x148>
  9819. 48984: 33fffc04 addi r15,r6,-16
  9820. 48988: 781ed13a srli r15,r15,4
  9821. 4898c: 28c00104 addi r3,r5,4
  9822. 48990: 13400104 addi r13,r2,4
  9823. 48994: 781c913a slli r14,r15,4
  9824. 48998: 2b000204 addi r12,r5,8
  9825. 4899c: 12c00204 addi r11,r2,8
  9826. 489a0: 73800504 addi r14,r14,20
  9827. 489a4: 2a800304 addi r10,r5,12
  9828. 489a8: 12400304 addi r9,r2,12
  9829. 489ac: 2b9d883a add r14,r5,r14
  9830. 489b0: 2811883a mov r8,r5
  9831. 489b4: 100f883a mov r7,r2
  9832. 489b8: 41000017 ldw r4,0(r8)
  9833. 489bc: 39c00404 addi r7,r7,16
  9834. 489c0: 18c00404 addi r3,r3,16
  9835. 489c4: 393ffc15 stw r4,-16(r7)
  9836. 489c8: 193ffc17 ldw r4,-16(r3)
  9837. 489cc: 6b400404 addi r13,r13,16
  9838. 489d0: 5ac00404 addi r11,r11,16
  9839. 489d4: 693ffc15 stw r4,-16(r13)
  9840. 489d8: 61000017 ldw r4,0(r12)
  9841. 489dc: 4a400404 addi r9,r9,16
  9842. 489e0: 42000404 addi r8,r8,16
  9843. 489e4: 593ffc15 stw r4,-16(r11)
  9844. 489e8: 51000017 ldw r4,0(r10)
  9845. 489ec: 63000404 addi r12,r12,16
  9846. 489f0: 52800404 addi r10,r10,16
  9847. 489f4: 493ffc15 stw r4,-16(r9)
  9848. 489f8: 1bbfef1e bne r3,r14,489b8 <__alt_data_end+0xfffd69b8>
  9849. 489fc: 79000044 addi r4,r15,1
  9850. 48a00: 2008913a slli r4,r4,4
  9851. 48a04: 328003cc andi r10,r6,15
  9852. 48a08: 02c000c4 movi r11,3
  9853. 48a0c: 1107883a add r3,r2,r4
  9854. 48a10: 290b883a add r5,r5,r4
  9855. 48a14: 5a801e2e bgeu r11,r10,48a90 <memmove+0x154>
  9856. 48a18: 1813883a mov r9,r3
  9857. 48a1c: 2811883a mov r8,r5
  9858. 48a20: 500f883a mov r7,r10
  9859. 48a24: 41000017 ldw r4,0(r8)
  9860. 48a28: 4a400104 addi r9,r9,4
  9861. 48a2c: 39ffff04 addi r7,r7,-4
  9862. 48a30: 493fff15 stw r4,-4(r9)
  9863. 48a34: 42000104 addi r8,r8,4
  9864. 48a38: 59fffa36 bltu r11,r7,48a24 <__alt_data_end+0xfffd6a24>
  9865. 48a3c: 513fff04 addi r4,r10,-4
  9866. 48a40: 2008d0ba srli r4,r4,2
  9867. 48a44: 318000cc andi r6,r6,3
  9868. 48a48: 21000044 addi r4,r4,1
  9869. 48a4c: 2109883a add r4,r4,r4
  9870. 48a50: 2109883a add r4,r4,r4
  9871. 48a54: 1907883a add r3,r3,r4
  9872. 48a58: 290b883a add r5,r5,r4
  9873. 48a5c: 30000b26 beq r6,zero,48a8c <memmove+0x150>
  9874. 48a60: 198d883a add r6,r3,r6
  9875. 48a64: 29c00003 ldbu r7,0(r5)
  9876. 48a68: 18c00044 addi r3,r3,1
  9877. 48a6c: 29400044 addi r5,r5,1
  9878. 48a70: 19ffffc5 stb r7,-1(r3)
  9879. 48a74: 19bffb1e bne r3,r6,48a64 <__alt_data_end+0xfffd6a64>
  9880. 48a78: f800283a ret
  9881. 48a7c: 1007883a mov r3,r2
  9882. 48a80: 003ff606 br 48a5c <__alt_data_end+0xfffd6a5c>
  9883. 48a84: 1007883a mov r3,r2
  9884. 48a88: 003ff506 br 48a60 <__alt_data_end+0xfffd6a60>
  9885. 48a8c: f800283a ret
  9886. 48a90: 500d883a mov r6,r10
  9887. 48a94: 003ff106 br 48a5c <__alt_data_end+0xfffd6a5c>
  9888. 00048a98 <memset>:
  9889. 48a98: 20c000cc andi r3,r4,3
  9890. 48a9c: 2005883a mov r2,r4
  9891. 48aa0: 18004426 beq r3,zero,48bb4 <memset+0x11c>
  9892. 48aa4: 31ffffc4 addi r7,r6,-1
  9893. 48aa8: 30004026 beq r6,zero,48bac <memset+0x114>
  9894. 48aac: 2813883a mov r9,r5
  9895. 48ab0: 200d883a mov r6,r4
  9896. 48ab4: 2007883a mov r3,r4
  9897. 48ab8: 00000406 br 48acc <memset+0x34>
  9898. 48abc: 3a3fffc4 addi r8,r7,-1
  9899. 48ac0: 31800044 addi r6,r6,1
  9900. 48ac4: 38003926 beq r7,zero,48bac <memset+0x114>
  9901. 48ac8: 400f883a mov r7,r8
  9902. 48acc: 18c00044 addi r3,r3,1
  9903. 48ad0: 32400005 stb r9,0(r6)
  9904. 48ad4: 1a0000cc andi r8,r3,3
  9905. 48ad8: 403ff81e bne r8,zero,48abc <__alt_data_end+0xfffd6abc>
  9906. 48adc: 010000c4 movi r4,3
  9907. 48ae0: 21c02d2e bgeu r4,r7,48b98 <memset+0x100>
  9908. 48ae4: 29003fcc andi r4,r5,255
  9909. 48ae8: 200c923a slli r6,r4,8
  9910. 48aec: 3108b03a or r4,r6,r4
  9911. 48af0: 200c943a slli r6,r4,16
  9912. 48af4: 218cb03a or r6,r4,r6
  9913. 48af8: 010003c4 movi r4,15
  9914. 48afc: 21c0182e bgeu r4,r7,48b60 <memset+0xc8>
  9915. 48b00: 3b3ffc04 addi r12,r7,-16
  9916. 48b04: 6018d13a srli r12,r12,4
  9917. 48b08: 1a000104 addi r8,r3,4
  9918. 48b0c: 1ac00204 addi r11,r3,8
  9919. 48b10: 6008913a slli r4,r12,4
  9920. 48b14: 1a800304 addi r10,r3,12
  9921. 48b18: 1813883a mov r9,r3
  9922. 48b1c: 21000504 addi r4,r4,20
  9923. 48b20: 1909883a add r4,r3,r4
  9924. 48b24: 49800015 stw r6,0(r9)
  9925. 48b28: 41800015 stw r6,0(r8)
  9926. 48b2c: 59800015 stw r6,0(r11)
  9927. 48b30: 51800015 stw r6,0(r10)
  9928. 48b34: 42000404 addi r8,r8,16
  9929. 48b38: 4a400404 addi r9,r9,16
  9930. 48b3c: 5ac00404 addi r11,r11,16
  9931. 48b40: 52800404 addi r10,r10,16
  9932. 48b44: 413ff71e bne r8,r4,48b24 <__alt_data_end+0xfffd6b24>
  9933. 48b48: 63000044 addi r12,r12,1
  9934. 48b4c: 6018913a slli r12,r12,4
  9935. 48b50: 39c003cc andi r7,r7,15
  9936. 48b54: 010000c4 movi r4,3
  9937. 48b58: 1b07883a add r3,r3,r12
  9938. 48b5c: 21c00e2e bgeu r4,r7,48b98 <memset+0x100>
  9939. 48b60: 1813883a mov r9,r3
  9940. 48b64: 3811883a mov r8,r7
  9941. 48b68: 010000c4 movi r4,3
  9942. 48b6c: 49800015 stw r6,0(r9)
  9943. 48b70: 423fff04 addi r8,r8,-4
  9944. 48b74: 4a400104 addi r9,r9,4
  9945. 48b78: 223ffc36 bltu r4,r8,48b6c <__alt_data_end+0xfffd6b6c>
  9946. 48b7c: 393fff04 addi r4,r7,-4
  9947. 48b80: 2008d0ba srli r4,r4,2
  9948. 48b84: 39c000cc andi r7,r7,3
  9949. 48b88: 21000044 addi r4,r4,1
  9950. 48b8c: 2109883a add r4,r4,r4
  9951. 48b90: 2109883a add r4,r4,r4
  9952. 48b94: 1907883a add r3,r3,r4
  9953. 48b98: 38000526 beq r7,zero,48bb0 <memset+0x118>
  9954. 48b9c: 19cf883a add r7,r3,r7
  9955. 48ba0: 19400005 stb r5,0(r3)
  9956. 48ba4: 18c00044 addi r3,r3,1
  9957. 48ba8: 38fffd1e bne r7,r3,48ba0 <__alt_data_end+0xfffd6ba0>
  9958. 48bac: f800283a ret
  9959. 48bb0: f800283a ret
  9960. 48bb4: 2007883a mov r3,r4
  9961. 48bb8: 300f883a mov r7,r6
  9962. 48bbc: 003fc706 br 48adc <__alt_data_end+0xfffd6adc>
  9963. 00048bc0 <_Balloc>:
  9964. 48bc0: 20801317 ldw r2,76(r4)
  9965. 48bc4: defffc04 addi sp,sp,-16
  9966. 48bc8: dc400115 stw r17,4(sp)
  9967. 48bcc: dc000015 stw r16,0(sp)
  9968. 48bd0: dfc00315 stw ra,12(sp)
  9969. 48bd4: dc800215 stw r18,8(sp)
  9970. 48bd8: 2023883a mov r17,r4
  9971. 48bdc: 2821883a mov r16,r5
  9972. 48be0: 10000f26 beq r2,zero,48c20 <_Balloc+0x60>
  9973. 48be4: 8407883a add r3,r16,r16
  9974. 48be8: 18c7883a add r3,r3,r3
  9975. 48bec: 10c7883a add r3,r2,r3
  9976. 48bf0: 18800017 ldw r2,0(r3)
  9977. 48bf4: 10001126 beq r2,zero,48c3c <_Balloc+0x7c>
  9978. 48bf8: 11000017 ldw r4,0(r2)
  9979. 48bfc: 19000015 stw r4,0(r3)
  9980. 48c00: 10000415 stw zero,16(r2)
  9981. 48c04: 10000315 stw zero,12(r2)
  9982. 48c08: dfc00317 ldw ra,12(sp)
  9983. 48c0c: dc800217 ldw r18,8(sp)
  9984. 48c10: dc400117 ldw r17,4(sp)
  9985. 48c14: dc000017 ldw r16,0(sp)
  9986. 48c18: dec00404 addi sp,sp,16
  9987. 48c1c: f800283a ret
  9988. 48c20: 01800844 movi r6,33
  9989. 48c24: 01400104 movi r5,4
  9990. 48c28: 004bf280 call 4bf28 <_calloc_r>
  9991. 48c2c: 88801315 stw r2,76(r17)
  9992. 48c30: 103fec1e bne r2,zero,48be4 <__alt_data_end+0xfffd6be4>
  9993. 48c34: 0005883a mov r2,zero
  9994. 48c38: 003ff306 br 48c08 <__alt_data_end+0xfffd6c08>
  9995. 48c3c: 01400044 movi r5,1
  9996. 48c40: 2c24983a sll r18,r5,r16
  9997. 48c44: 8809883a mov r4,r17
  9998. 48c48: 91800144 addi r6,r18,5
  9999. 48c4c: 318d883a add r6,r6,r6
  10000. 48c50: 318d883a add r6,r6,r6
  10001. 48c54: 004bf280 call 4bf28 <_calloc_r>
  10002. 48c58: 103ff626 beq r2,zero,48c34 <__alt_data_end+0xfffd6c34>
  10003. 48c5c: 14000115 stw r16,4(r2)
  10004. 48c60: 14800215 stw r18,8(r2)
  10005. 48c64: 003fe606 br 48c00 <__alt_data_end+0xfffd6c00>
  10006. 00048c68 <_Bfree>:
  10007. 48c68: 28000826 beq r5,zero,48c8c <_Bfree+0x24>
  10008. 48c6c: 28c00117 ldw r3,4(r5)
  10009. 48c70: 20801317 ldw r2,76(r4)
  10010. 48c74: 18c7883a add r3,r3,r3
  10011. 48c78: 18c7883a add r3,r3,r3
  10012. 48c7c: 10c5883a add r2,r2,r3
  10013. 48c80: 10c00017 ldw r3,0(r2)
  10014. 48c84: 28c00015 stw r3,0(r5)
  10015. 48c88: 11400015 stw r5,0(r2)
  10016. 48c8c: f800283a ret
  10017. 00048c90 <__multadd>:
  10018. 48c90: defff704 addi sp,sp,-36
  10019. 48c94: dc800215 stw r18,8(sp)
  10020. 48c98: 2c800417 ldw r18,16(r5)
  10021. 48c9c: dd800615 stw r22,24(sp)
  10022. 48ca0: dd400515 stw r21,20(sp)
  10023. 48ca4: dd000415 stw r20,16(sp)
  10024. 48ca8: dcc00315 stw r19,12(sp)
  10025. 48cac: dc400115 stw r17,4(sp)
  10026. 48cb0: dc000015 stw r16,0(sp)
  10027. 48cb4: dfc00815 stw ra,32(sp)
  10028. 48cb8: ddc00715 stw r23,28(sp)
  10029. 48cbc: 2827883a mov r19,r5
  10030. 48cc0: 2029883a mov r20,r4
  10031. 48cc4: 3023883a mov r17,r6
  10032. 48cc8: 3821883a mov r16,r7
  10033. 48ccc: 2d400504 addi r21,r5,20
  10034. 48cd0: 002d883a mov r22,zero
  10035. 48cd4: adc00017 ldw r23,0(r21)
  10036. 48cd8: 880b883a mov r5,r17
  10037. 48cdc: ad400104 addi r21,r21,4
  10038. 48ce0: b93fffcc andi r4,r23,65535
  10039. 48ce4: 004d3dc0 call 4d3dc <__mulsi3>
  10040. 48ce8: b808d43a srli r4,r23,16
  10041. 48cec: 880b883a mov r5,r17
  10042. 48cf0: 1421883a add r16,r2,r16
  10043. 48cf4: 004d3dc0 call 4d3dc <__mulsi3>
  10044. 48cf8: 800ed43a srli r7,r16,16
  10045. 48cfc: 80ffffcc andi r3,r16,65535
  10046. 48d00: b5800044 addi r22,r22,1
  10047. 48d04: 11c5883a add r2,r2,r7
  10048. 48d08: 100e943a slli r7,r2,16
  10049. 48d0c: 1020d43a srli r16,r2,16
  10050. 48d10: 38c7883a add r3,r7,r3
  10051. 48d14: a8ffff15 stw r3,-4(r21)
  10052. 48d18: b4bfee16 blt r22,r18,48cd4 <__alt_data_end+0xfffd6cd4>
  10053. 48d1c: 80000926 beq r16,zero,48d44 <__multadd+0xb4>
  10054. 48d20: 98800217 ldw r2,8(r19)
  10055. 48d24: 9080130e bge r18,r2,48d74 <__multadd+0xe4>
  10056. 48d28: 90800144 addi r2,r18,5
  10057. 48d2c: 1085883a add r2,r2,r2
  10058. 48d30: 1085883a add r2,r2,r2
  10059. 48d34: 9885883a add r2,r19,r2
  10060. 48d38: 14000015 stw r16,0(r2)
  10061. 48d3c: 94800044 addi r18,r18,1
  10062. 48d40: 9c800415 stw r18,16(r19)
  10063. 48d44: 9805883a mov r2,r19
  10064. 48d48: dfc00817 ldw ra,32(sp)
  10065. 48d4c: ddc00717 ldw r23,28(sp)
  10066. 48d50: dd800617 ldw r22,24(sp)
  10067. 48d54: dd400517 ldw r21,20(sp)
  10068. 48d58: dd000417 ldw r20,16(sp)
  10069. 48d5c: dcc00317 ldw r19,12(sp)
  10070. 48d60: dc800217 ldw r18,8(sp)
  10071. 48d64: dc400117 ldw r17,4(sp)
  10072. 48d68: dc000017 ldw r16,0(sp)
  10073. 48d6c: dec00904 addi sp,sp,36
  10074. 48d70: f800283a ret
  10075. 48d74: 99400117 ldw r5,4(r19)
  10076. 48d78: a009883a mov r4,r20
  10077. 48d7c: 29400044 addi r5,r5,1
  10078. 48d80: 0048bc00 call 48bc0 <_Balloc>
  10079. 48d84: 99800417 ldw r6,16(r19)
  10080. 48d88: 99400304 addi r5,r19,12
  10081. 48d8c: 11000304 addi r4,r2,12
  10082. 48d90: 31800084 addi r6,r6,2
  10083. 48d94: 318d883a add r6,r6,r6
  10084. 48d98: 318d883a add r6,r6,r6
  10085. 48d9c: 1023883a mov r17,r2
  10086. 48da0: 00487f40 call 487f4 <memcpy>
  10087. 48da4: 98000a26 beq r19,zero,48dd0 <__multadd+0x140>
  10088. 48da8: 98c00117 ldw r3,4(r19)
  10089. 48dac: a0801317 ldw r2,76(r20)
  10090. 48db0: 18c7883a add r3,r3,r3
  10091. 48db4: 18c7883a add r3,r3,r3
  10092. 48db8: 10c5883a add r2,r2,r3
  10093. 48dbc: 10c00017 ldw r3,0(r2)
  10094. 48dc0: 98c00015 stw r3,0(r19)
  10095. 48dc4: 14c00015 stw r19,0(r2)
  10096. 48dc8: 8827883a mov r19,r17
  10097. 48dcc: 003fd606 br 48d28 <__alt_data_end+0xfffd6d28>
  10098. 48dd0: 8827883a mov r19,r17
  10099. 48dd4: 003fd406 br 48d28 <__alt_data_end+0xfffd6d28>
  10100. 00048dd8 <__s2b>:
  10101. 48dd8: defff904 addi sp,sp,-28
  10102. 48ddc: dc400115 stw r17,4(sp)
  10103. 48de0: dc000015 stw r16,0(sp)
  10104. 48de4: 2023883a mov r17,r4
  10105. 48de8: 2821883a mov r16,r5
  10106. 48dec: 39000204 addi r4,r7,8
  10107. 48df0: 01400244 movi r5,9
  10108. 48df4: dcc00315 stw r19,12(sp)
  10109. 48df8: dc800215 stw r18,8(sp)
  10110. 48dfc: dfc00615 stw ra,24(sp)
  10111. 48e00: dd400515 stw r21,20(sp)
  10112. 48e04: dd000415 stw r20,16(sp)
  10113. 48e08: 3825883a mov r18,r7
  10114. 48e0c: 3027883a mov r19,r6
  10115. 48e10: 004d2280 call 4d228 <__divsi3>
  10116. 48e14: 00c00044 movi r3,1
  10117. 48e18: 000b883a mov r5,zero
  10118. 48e1c: 1880030e bge r3,r2,48e2c <__s2b+0x54>
  10119. 48e20: 18c7883a add r3,r3,r3
  10120. 48e24: 29400044 addi r5,r5,1
  10121. 48e28: 18bffd16 blt r3,r2,48e20 <__alt_data_end+0xfffd6e20>
  10122. 48e2c: 8809883a mov r4,r17
  10123. 48e30: 0048bc00 call 48bc0 <_Balloc>
  10124. 48e34: d8c00717 ldw r3,28(sp)
  10125. 48e38: 10c00515 stw r3,20(r2)
  10126. 48e3c: 00c00044 movi r3,1
  10127. 48e40: 10c00415 stw r3,16(r2)
  10128. 48e44: 00c00244 movi r3,9
  10129. 48e48: 1cc0210e bge r3,r19,48ed0 <__s2b+0xf8>
  10130. 48e4c: 80eb883a add r21,r16,r3
  10131. 48e50: a829883a mov r20,r21
  10132. 48e54: 84e1883a add r16,r16,r19
  10133. 48e58: a1c00007 ldb r7,0(r20)
  10134. 48e5c: 01800284 movi r6,10
  10135. 48e60: a5000044 addi r20,r20,1
  10136. 48e64: 100b883a mov r5,r2
  10137. 48e68: 39fff404 addi r7,r7,-48
  10138. 48e6c: 8809883a mov r4,r17
  10139. 48e70: 0048c900 call 48c90 <__multadd>
  10140. 48e74: a43ff81e bne r20,r16,48e58 <__alt_data_end+0xfffd6e58>
  10141. 48e78: ace1883a add r16,r21,r19
  10142. 48e7c: 843ffe04 addi r16,r16,-8
  10143. 48e80: 9c800a0e bge r19,r18,48eac <__s2b+0xd4>
  10144. 48e84: 94e5c83a sub r18,r18,r19
  10145. 48e88: 84a5883a add r18,r16,r18
  10146. 48e8c: 81c00007 ldb r7,0(r16)
  10147. 48e90: 01800284 movi r6,10
  10148. 48e94: 84000044 addi r16,r16,1
  10149. 48e98: 100b883a mov r5,r2
  10150. 48e9c: 39fff404 addi r7,r7,-48
  10151. 48ea0: 8809883a mov r4,r17
  10152. 48ea4: 0048c900 call 48c90 <__multadd>
  10153. 48ea8: 84bff81e bne r16,r18,48e8c <__alt_data_end+0xfffd6e8c>
  10154. 48eac: dfc00617 ldw ra,24(sp)
  10155. 48eb0: dd400517 ldw r21,20(sp)
  10156. 48eb4: dd000417 ldw r20,16(sp)
  10157. 48eb8: dcc00317 ldw r19,12(sp)
  10158. 48ebc: dc800217 ldw r18,8(sp)
  10159. 48ec0: dc400117 ldw r17,4(sp)
  10160. 48ec4: dc000017 ldw r16,0(sp)
  10161. 48ec8: dec00704 addi sp,sp,28
  10162. 48ecc: f800283a ret
  10163. 48ed0: 84000284 addi r16,r16,10
  10164. 48ed4: 1827883a mov r19,r3
  10165. 48ed8: 003fe906 br 48e80 <__alt_data_end+0xfffd6e80>
  10166. 00048edc <__hi0bits>:
  10167. 48edc: 20bfffec andhi r2,r4,65535
  10168. 48ee0: 1000141e bne r2,zero,48f34 <__hi0bits+0x58>
  10169. 48ee4: 2008943a slli r4,r4,16
  10170. 48ee8: 00800404 movi r2,16
  10171. 48eec: 20ffc02c andhi r3,r4,65280
  10172. 48ef0: 1800021e bne r3,zero,48efc <__hi0bits+0x20>
  10173. 48ef4: 2008923a slli r4,r4,8
  10174. 48ef8: 10800204 addi r2,r2,8
  10175. 48efc: 20fc002c andhi r3,r4,61440
  10176. 48f00: 1800021e bne r3,zero,48f0c <__hi0bits+0x30>
  10177. 48f04: 2008913a slli r4,r4,4
  10178. 48f08: 10800104 addi r2,r2,4
  10179. 48f0c: 20f0002c andhi r3,r4,49152
  10180. 48f10: 1800031e bne r3,zero,48f20 <__hi0bits+0x44>
  10181. 48f14: 2109883a add r4,r4,r4
  10182. 48f18: 10800084 addi r2,r2,2
  10183. 48f1c: 2109883a add r4,r4,r4
  10184. 48f20: 20000316 blt r4,zero,48f30 <__hi0bits+0x54>
  10185. 48f24: 2110002c andhi r4,r4,16384
  10186. 48f28: 2000041e bne r4,zero,48f3c <__hi0bits+0x60>
  10187. 48f2c: 00800804 movi r2,32
  10188. 48f30: f800283a ret
  10189. 48f34: 0005883a mov r2,zero
  10190. 48f38: 003fec06 br 48eec <__alt_data_end+0xfffd6eec>
  10191. 48f3c: 10800044 addi r2,r2,1
  10192. 48f40: f800283a ret
  10193. 00048f44 <__lo0bits>:
  10194. 48f44: 20c00017 ldw r3,0(r4)
  10195. 48f48: 188001cc andi r2,r3,7
  10196. 48f4c: 10000826 beq r2,zero,48f70 <__lo0bits+0x2c>
  10197. 48f50: 1880004c andi r2,r3,1
  10198. 48f54: 1000211e bne r2,zero,48fdc <__lo0bits+0x98>
  10199. 48f58: 1880008c andi r2,r3,2
  10200. 48f5c: 1000211e bne r2,zero,48fe4 <__lo0bits+0xa0>
  10201. 48f60: 1806d0ba srli r3,r3,2
  10202. 48f64: 00800084 movi r2,2
  10203. 48f68: 20c00015 stw r3,0(r4)
  10204. 48f6c: f800283a ret
  10205. 48f70: 18bfffcc andi r2,r3,65535
  10206. 48f74: 10001326 beq r2,zero,48fc4 <__lo0bits+0x80>
  10207. 48f78: 0005883a mov r2,zero
  10208. 48f7c: 19403fcc andi r5,r3,255
  10209. 48f80: 2800021e bne r5,zero,48f8c <__lo0bits+0x48>
  10210. 48f84: 1806d23a srli r3,r3,8
  10211. 48f88: 10800204 addi r2,r2,8
  10212. 48f8c: 194003cc andi r5,r3,15
  10213. 48f90: 2800021e bne r5,zero,48f9c <__lo0bits+0x58>
  10214. 48f94: 1806d13a srli r3,r3,4
  10215. 48f98: 10800104 addi r2,r2,4
  10216. 48f9c: 194000cc andi r5,r3,3
  10217. 48fa0: 2800021e bne r5,zero,48fac <__lo0bits+0x68>
  10218. 48fa4: 1806d0ba srli r3,r3,2
  10219. 48fa8: 10800084 addi r2,r2,2
  10220. 48fac: 1940004c andi r5,r3,1
  10221. 48fb0: 2800081e bne r5,zero,48fd4 <__lo0bits+0x90>
  10222. 48fb4: 1806d07a srli r3,r3,1
  10223. 48fb8: 1800051e bne r3,zero,48fd0 <__lo0bits+0x8c>
  10224. 48fbc: 00800804 movi r2,32
  10225. 48fc0: f800283a ret
  10226. 48fc4: 1806d43a srli r3,r3,16
  10227. 48fc8: 00800404 movi r2,16
  10228. 48fcc: 003feb06 br 48f7c <__alt_data_end+0xfffd6f7c>
  10229. 48fd0: 10800044 addi r2,r2,1
  10230. 48fd4: 20c00015 stw r3,0(r4)
  10231. 48fd8: f800283a ret
  10232. 48fdc: 0005883a mov r2,zero
  10233. 48fe0: f800283a ret
  10234. 48fe4: 1806d07a srli r3,r3,1
  10235. 48fe8: 00800044 movi r2,1
  10236. 48fec: 20c00015 stw r3,0(r4)
  10237. 48ff0: f800283a ret
  10238. 00048ff4 <__i2b>:
  10239. 48ff4: defffd04 addi sp,sp,-12
  10240. 48ff8: dc000015 stw r16,0(sp)
  10241. 48ffc: 04000044 movi r16,1
  10242. 49000: dc400115 stw r17,4(sp)
  10243. 49004: 2823883a mov r17,r5
  10244. 49008: 800b883a mov r5,r16
  10245. 4900c: dfc00215 stw ra,8(sp)
  10246. 49010: 0048bc00 call 48bc0 <_Balloc>
  10247. 49014: 14400515 stw r17,20(r2)
  10248. 49018: 14000415 stw r16,16(r2)
  10249. 4901c: dfc00217 ldw ra,8(sp)
  10250. 49020: dc400117 ldw r17,4(sp)
  10251. 49024: dc000017 ldw r16,0(sp)
  10252. 49028: dec00304 addi sp,sp,12
  10253. 4902c: f800283a ret
  10254. 00049030 <__multiply>:
  10255. 49030: deffef04 addi sp,sp,-68
  10256. 49034: dc400815 stw r17,32(sp)
  10257. 49038: dc000715 stw r16,28(sp)
  10258. 4903c: 34400417 ldw r17,16(r6)
  10259. 49040: 2c000417 ldw r16,16(r5)
  10260. 49044: dd800d15 stw r22,52(sp)
  10261. 49048: dc800915 stw r18,36(sp)
  10262. 4904c: dfc01015 stw ra,64(sp)
  10263. 49050: df000f15 stw fp,60(sp)
  10264. 49054: ddc00e15 stw r23,56(sp)
  10265. 49058: dd400c15 stw r21,48(sp)
  10266. 4905c: dd000b15 stw r20,44(sp)
  10267. 49060: dcc00a15 stw r19,40(sp)
  10268. 49064: 2825883a mov r18,r5
  10269. 49068: 302d883a mov r22,r6
  10270. 4906c: 8440050e bge r16,r17,49084 <__multiply+0x54>
  10271. 49070: 8007883a mov r3,r16
  10272. 49074: 3025883a mov r18,r6
  10273. 49078: 8821883a mov r16,r17
  10274. 4907c: 282d883a mov r22,r5
  10275. 49080: 1823883a mov r17,r3
  10276. 49084: 90800217 ldw r2,8(r18)
  10277. 49088: 8447883a add r3,r16,r17
  10278. 4908c: d8c00215 stw r3,8(sp)
  10279. 49090: 91400117 ldw r5,4(r18)
  10280. 49094: 10c0010e bge r2,r3,4909c <__multiply+0x6c>
  10281. 49098: 29400044 addi r5,r5,1
  10282. 4909c: 0048bc00 call 48bc0 <_Balloc>
  10283. 490a0: d8c00217 ldw r3,8(sp)
  10284. 490a4: d8800615 stw r2,24(sp)
  10285. 490a8: 18eb883a add r21,r3,r3
  10286. 490ac: ad6b883a add r21,r21,r21
  10287. 490b0: 10c00504 addi r3,r2,20
  10288. 490b4: 1d6b883a add r21,r3,r21
  10289. 490b8: d8c00115 stw r3,4(sp)
  10290. 490bc: dd400315 stw r21,12(sp)
  10291. 490c0: 1805883a mov r2,r3
  10292. 490c4: 1d40042e bgeu r3,r21,490d8 <__multiply+0xa8>
  10293. 490c8: d8c00317 ldw r3,12(sp)
  10294. 490cc: 10000015 stw zero,0(r2)
  10295. 490d0: 10800104 addi r2,r2,4
  10296. 490d4: 10fffc36 bltu r2,r3,490c8 <__alt_data_end+0xfffd70c8>
  10297. 490d8: 8c63883a add r17,r17,r17
  10298. 490dc: b5800504 addi r22,r22,20
  10299. 490e0: 8c63883a add r17,r17,r17
  10300. 490e4: 94800504 addi r18,r18,20
  10301. 490e8: 8421883a add r16,r16,r16
  10302. 490ec: b463883a add r17,r22,r17
  10303. 490f0: 8421883a add r16,r16,r16
  10304. 490f4: dd800015 stw r22,0(sp)
  10305. 490f8: dc800415 stw r18,16(sp)
  10306. 490fc: dc400515 stw r17,20(sp)
  10307. 49100: 9429883a add r20,r18,r16
  10308. 49104: b4404f2e bgeu r22,r17,49244 <__multiply+0x214>
  10309. 49108: d8c00017 ldw r3,0(sp)
  10310. 4910c: 1c800017 ldw r18,0(r3)
  10311. 49110: 947fffcc andi r17,r18,65535
  10312. 49114: 88001e26 beq r17,zero,49190 <__multiply+0x160>
  10313. 49118: dd800117 ldw r22,4(sp)
  10314. 4911c: dd400417 ldw r21,16(sp)
  10315. 49120: 0027883a mov r19,zero
  10316. 49124: ac800017 ldw r18,0(r21)
  10317. 49128: b4000017 ldw r16,0(r22)
  10318. 4912c: 880b883a mov r5,r17
  10319. 49130: 913fffcc andi r4,r18,65535
  10320. 49134: 004d3dc0 call 4d3dc <__mulsi3>
  10321. 49138: 9008d43a srli r4,r18,16
  10322. 4913c: 84bfffcc andi r18,r16,65535
  10323. 49140: 1485883a add r2,r2,r18
  10324. 49144: 14e5883a add r18,r2,r19
  10325. 49148: 8020d43a srli r16,r16,16
  10326. 4914c: 9026d43a srli r19,r18,16
  10327. 49150: 880b883a mov r5,r17
  10328. 49154: 004d3dc0 call 4d3dc <__mulsi3>
  10329. 49158: 1405883a add r2,r2,r16
  10330. 4915c: 14e1883a add r16,r2,r19
  10331. 49160: 90ffffcc andi r3,r18,65535
  10332. 49164: 8024943a slli r18,r16,16
  10333. 49168: ad400104 addi r21,r21,4
  10334. 4916c: b005883a mov r2,r22
  10335. 49170: 90c6b03a or r3,r18,r3
  10336. 49174: b0c00015 stw r3,0(r22)
  10337. 49178: 8026d43a srli r19,r16,16
  10338. 4917c: b5800104 addi r22,r22,4
  10339. 49180: ad3fe836 bltu r21,r20,49124 <__alt_data_end+0xfffd7124>
  10340. 49184: d8c00017 ldw r3,0(sp)
  10341. 49188: 14c00115 stw r19,4(r2)
  10342. 4918c: 1c800017 ldw r18,0(r3)
  10343. 49190: 9024d43a srli r18,r18,16
  10344. 49194: 90002226 beq r18,zero,49220 <__multiply+0x1f0>
  10345. 49198: d8c00117 ldw r3,4(sp)
  10346. 4919c: dd800417 ldw r22,16(sp)
  10347. 491a0: 002f883a mov r23,zero
  10348. 491a4: 1f000017 ldw fp,0(r3)
  10349. 491a8: 1823883a mov r17,r3
  10350. 491ac: 182b883a mov r21,r3
  10351. 491b0: e021883a mov r16,fp
  10352. 491b4: 00000106 br 491bc <__multiply+0x18c>
  10353. 491b8: 982b883a mov r21,r19
  10354. 491bc: b100000b ldhu r4,0(r22)
  10355. 491c0: 8020d43a srli r16,r16,16
  10356. 491c4: 900b883a mov r5,r18
  10357. 491c8: 004d3dc0 call 4d3dc <__mulsi3>
  10358. 491cc: 1405883a add r2,r2,r16
  10359. 491d0: 15ef883a add r23,r2,r23
  10360. 491d4: b804943a slli r2,r23,16
  10361. 491d8: e0ffffcc andi r3,fp,65535
  10362. 491dc: 8c400104 addi r17,r17,4
  10363. 491e0: 10c6b03a or r3,r2,r3
  10364. 491e4: 88ffff15 stw r3,-4(r17)
  10365. 491e8: b5800104 addi r22,r22,4
  10366. 491ec: b13fff17 ldw r4,-4(r22)
  10367. 491f0: acc00104 addi r19,r21,4
  10368. 491f4: 900b883a mov r5,r18
  10369. 491f8: 2008d43a srli r4,r4,16
  10370. 491fc: 9c000017 ldw r16,0(r19)
  10371. 49200: 004d3dc0 call 4d3dc <__mulsi3>
  10372. 49204: b806d43a srli r3,r23,16
  10373. 49208: 813fffcc andi r4,r16,65535
  10374. 4920c: 1105883a add r2,r2,r4
  10375. 49210: 10f9883a add fp,r2,r3
  10376. 49214: e02ed43a srli r23,fp,16
  10377. 49218: b53fe736 bltu r22,r20,491b8 <__alt_data_end+0xfffd71b8>
  10378. 4921c: af000115 stw fp,4(r21)
  10379. 49220: d8c00017 ldw r3,0(sp)
  10380. 49224: d9000517 ldw r4,20(sp)
  10381. 49228: 18c00104 addi r3,r3,4
  10382. 4922c: d8c00015 stw r3,0(sp)
  10383. 49230: d8c00117 ldw r3,4(sp)
  10384. 49234: 18c00104 addi r3,r3,4
  10385. 49238: d8c00115 stw r3,4(sp)
  10386. 4923c: d8c00017 ldw r3,0(sp)
  10387. 49240: 193fb136 bltu r3,r4,49108 <__alt_data_end+0xfffd7108>
  10388. 49244: d8c00217 ldw r3,8(sp)
  10389. 49248: 00c00c0e bge zero,r3,4927c <__multiply+0x24c>
  10390. 4924c: d8c00317 ldw r3,12(sp)
  10391. 49250: 18bfff17 ldw r2,-4(r3)
  10392. 49254: 1d7fff04 addi r21,r3,-4
  10393. 49258: 10000326 beq r2,zero,49268 <__multiply+0x238>
  10394. 4925c: 00000706 br 4927c <__multiply+0x24c>
  10395. 49260: a8800017 ldw r2,0(r21)
  10396. 49264: 1000051e bne r2,zero,4927c <__multiply+0x24c>
  10397. 49268: d8c00217 ldw r3,8(sp)
  10398. 4926c: ad7fff04 addi r21,r21,-4
  10399. 49270: 18ffffc4 addi r3,r3,-1
  10400. 49274: d8c00215 stw r3,8(sp)
  10401. 49278: 183ff91e bne r3,zero,49260 <__alt_data_end+0xfffd7260>
  10402. 4927c: d8c00617 ldw r3,24(sp)
  10403. 49280: d9000217 ldw r4,8(sp)
  10404. 49284: 1805883a mov r2,r3
  10405. 49288: 19000415 stw r4,16(r3)
  10406. 4928c: dfc01017 ldw ra,64(sp)
  10407. 49290: df000f17 ldw fp,60(sp)
  10408. 49294: ddc00e17 ldw r23,56(sp)
  10409. 49298: dd800d17 ldw r22,52(sp)
  10410. 4929c: dd400c17 ldw r21,48(sp)
  10411. 492a0: dd000b17 ldw r20,44(sp)
  10412. 492a4: dcc00a17 ldw r19,40(sp)
  10413. 492a8: dc800917 ldw r18,36(sp)
  10414. 492ac: dc400817 ldw r17,32(sp)
  10415. 492b0: dc000717 ldw r16,28(sp)
  10416. 492b4: dec01104 addi sp,sp,68
  10417. 492b8: f800283a ret
  10418. 000492bc <__pow5mult>:
  10419. 492bc: defffa04 addi sp,sp,-24
  10420. 492c0: dcc00315 stw r19,12(sp)
  10421. 492c4: dc000015 stw r16,0(sp)
  10422. 492c8: dfc00515 stw ra,20(sp)
  10423. 492cc: dd000415 stw r20,16(sp)
  10424. 492d0: dc800215 stw r18,8(sp)
  10425. 492d4: dc400115 stw r17,4(sp)
  10426. 492d8: 308000cc andi r2,r6,3
  10427. 492dc: 3021883a mov r16,r6
  10428. 492e0: 2027883a mov r19,r4
  10429. 492e4: 10002f1e bne r2,zero,493a4 <__pow5mult+0xe8>
  10430. 492e8: 2825883a mov r18,r5
  10431. 492ec: 8021d0ba srai r16,r16,2
  10432. 492f0: 80001a26 beq r16,zero,4935c <__pow5mult+0xa0>
  10433. 492f4: 9c401217 ldw r17,72(r19)
  10434. 492f8: 8800061e bne r17,zero,49314 <__pow5mult+0x58>
  10435. 492fc: 00003406 br 493d0 <__pow5mult+0x114>
  10436. 49300: 8021d07a srai r16,r16,1
  10437. 49304: 80001526 beq r16,zero,4935c <__pow5mult+0xa0>
  10438. 49308: 88800017 ldw r2,0(r17)
  10439. 4930c: 10001c26 beq r2,zero,49380 <__pow5mult+0xc4>
  10440. 49310: 1023883a mov r17,r2
  10441. 49314: 8080004c andi r2,r16,1
  10442. 49318: 103ff926 beq r2,zero,49300 <__alt_data_end+0xfffd7300>
  10443. 4931c: 880d883a mov r6,r17
  10444. 49320: 900b883a mov r5,r18
  10445. 49324: 9809883a mov r4,r19
  10446. 49328: 00490300 call 49030 <__multiply>
  10447. 4932c: 90001b26 beq r18,zero,4939c <__pow5mult+0xe0>
  10448. 49330: 91000117 ldw r4,4(r18)
  10449. 49334: 98c01317 ldw r3,76(r19)
  10450. 49338: 8021d07a srai r16,r16,1
  10451. 4933c: 2109883a add r4,r4,r4
  10452. 49340: 2109883a add r4,r4,r4
  10453. 49344: 1907883a add r3,r3,r4
  10454. 49348: 19000017 ldw r4,0(r3)
  10455. 4934c: 91000015 stw r4,0(r18)
  10456. 49350: 1c800015 stw r18,0(r3)
  10457. 49354: 1025883a mov r18,r2
  10458. 49358: 803feb1e bne r16,zero,49308 <__alt_data_end+0xfffd7308>
  10459. 4935c: 9005883a mov r2,r18
  10460. 49360: dfc00517 ldw ra,20(sp)
  10461. 49364: dd000417 ldw r20,16(sp)
  10462. 49368: dcc00317 ldw r19,12(sp)
  10463. 4936c: dc800217 ldw r18,8(sp)
  10464. 49370: dc400117 ldw r17,4(sp)
  10465. 49374: dc000017 ldw r16,0(sp)
  10466. 49378: dec00604 addi sp,sp,24
  10467. 4937c: f800283a ret
  10468. 49380: 880d883a mov r6,r17
  10469. 49384: 880b883a mov r5,r17
  10470. 49388: 9809883a mov r4,r19
  10471. 4938c: 00490300 call 49030 <__multiply>
  10472. 49390: 88800015 stw r2,0(r17)
  10473. 49394: 10000015 stw zero,0(r2)
  10474. 49398: 003fdd06 br 49310 <__alt_data_end+0xfffd7310>
  10475. 4939c: 1025883a mov r18,r2
  10476. 493a0: 003fd706 br 49300 <__alt_data_end+0xfffd7300>
  10477. 493a4: 10bfffc4 addi r2,r2,-1
  10478. 493a8: 1085883a add r2,r2,r2
  10479. 493ac: 00c00174 movhi r3,5
  10480. 493b0: 18c85f04 addi r3,r3,8572
  10481. 493b4: 1085883a add r2,r2,r2
  10482. 493b8: 1885883a add r2,r3,r2
  10483. 493bc: 11800017 ldw r6,0(r2)
  10484. 493c0: 000f883a mov r7,zero
  10485. 493c4: 0048c900 call 48c90 <__multadd>
  10486. 493c8: 1025883a mov r18,r2
  10487. 493cc: 003fc706 br 492ec <__alt_data_end+0xfffd72ec>
  10488. 493d0: 05000044 movi r20,1
  10489. 493d4: a00b883a mov r5,r20
  10490. 493d8: 9809883a mov r4,r19
  10491. 493dc: 0048bc00 call 48bc0 <_Balloc>
  10492. 493e0: 1023883a mov r17,r2
  10493. 493e4: 00809c44 movi r2,625
  10494. 493e8: 88800515 stw r2,20(r17)
  10495. 493ec: 8d000415 stw r20,16(r17)
  10496. 493f0: 9c401215 stw r17,72(r19)
  10497. 493f4: 88000015 stw zero,0(r17)
  10498. 493f8: 003fc606 br 49314 <__alt_data_end+0xfffd7314>
  10499. 000493fc <__lshift>:
  10500. 493fc: defff904 addi sp,sp,-28
  10501. 49400: dd400515 stw r21,20(sp)
  10502. 49404: dcc00315 stw r19,12(sp)
  10503. 49408: 302bd17a srai r21,r6,5
  10504. 4940c: 2cc00417 ldw r19,16(r5)
  10505. 49410: 28800217 ldw r2,8(r5)
  10506. 49414: dd000415 stw r20,16(sp)
  10507. 49418: ace7883a add r19,r21,r19
  10508. 4941c: dc800215 stw r18,8(sp)
  10509. 49420: dc400115 stw r17,4(sp)
  10510. 49424: dc000015 stw r16,0(sp)
  10511. 49428: dfc00615 stw ra,24(sp)
  10512. 4942c: 9c000044 addi r16,r19,1
  10513. 49430: 2823883a mov r17,r5
  10514. 49434: 3029883a mov r20,r6
  10515. 49438: 2025883a mov r18,r4
  10516. 4943c: 29400117 ldw r5,4(r5)
  10517. 49440: 1400030e bge r2,r16,49450 <__lshift+0x54>
  10518. 49444: 1085883a add r2,r2,r2
  10519. 49448: 29400044 addi r5,r5,1
  10520. 4944c: 143ffd16 blt r2,r16,49444 <__alt_data_end+0xfffd7444>
  10521. 49450: 9009883a mov r4,r18
  10522. 49454: 0048bc00 call 48bc0 <_Balloc>
  10523. 49458: 10c00504 addi r3,r2,20
  10524. 4945c: 0540070e bge zero,r21,4947c <__lshift+0x80>
  10525. 49460: ad6b883a add r21,r21,r21
  10526. 49464: ad6b883a add r21,r21,r21
  10527. 49468: 1809883a mov r4,r3
  10528. 4946c: 1d47883a add r3,r3,r21
  10529. 49470: 20000015 stw zero,0(r4)
  10530. 49474: 21000104 addi r4,r4,4
  10531. 49478: 193ffd1e bne r3,r4,49470 <__alt_data_end+0xfffd7470>
  10532. 4947c: 8a000417 ldw r8,16(r17)
  10533. 49480: 89000504 addi r4,r17,20
  10534. 49484: a18007cc andi r6,r20,31
  10535. 49488: 4211883a add r8,r8,r8
  10536. 4948c: 4211883a add r8,r8,r8
  10537. 49490: 2211883a add r8,r4,r8
  10538. 49494: 30002326 beq r6,zero,49524 <__lshift+0x128>
  10539. 49498: 02400804 movi r9,32
  10540. 4949c: 4993c83a sub r9,r9,r6
  10541. 494a0: 000b883a mov r5,zero
  10542. 494a4: 21c00017 ldw r7,0(r4)
  10543. 494a8: 1815883a mov r10,r3
  10544. 494ac: 18c00104 addi r3,r3,4
  10545. 494b0: 398e983a sll r7,r7,r6
  10546. 494b4: 21000104 addi r4,r4,4
  10547. 494b8: 394ab03a or r5,r7,r5
  10548. 494bc: 197fff15 stw r5,-4(r3)
  10549. 494c0: 217fff17 ldw r5,-4(r4)
  10550. 494c4: 2a4ad83a srl r5,r5,r9
  10551. 494c8: 223ff636 bltu r4,r8,494a4 <__alt_data_end+0xfffd74a4>
  10552. 494cc: 51400115 stw r5,4(r10)
  10553. 494d0: 28001a1e bne r5,zero,4953c <__lshift+0x140>
  10554. 494d4: 843fffc4 addi r16,r16,-1
  10555. 494d8: 14000415 stw r16,16(r2)
  10556. 494dc: 88000826 beq r17,zero,49500 <__lshift+0x104>
  10557. 494e0: 89000117 ldw r4,4(r17)
  10558. 494e4: 90c01317 ldw r3,76(r18)
  10559. 494e8: 2109883a add r4,r4,r4
  10560. 494ec: 2109883a add r4,r4,r4
  10561. 494f0: 1907883a add r3,r3,r4
  10562. 494f4: 19000017 ldw r4,0(r3)
  10563. 494f8: 89000015 stw r4,0(r17)
  10564. 494fc: 1c400015 stw r17,0(r3)
  10565. 49500: dfc00617 ldw ra,24(sp)
  10566. 49504: dd400517 ldw r21,20(sp)
  10567. 49508: dd000417 ldw r20,16(sp)
  10568. 4950c: dcc00317 ldw r19,12(sp)
  10569. 49510: dc800217 ldw r18,8(sp)
  10570. 49514: dc400117 ldw r17,4(sp)
  10571. 49518: dc000017 ldw r16,0(sp)
  10572. 4951c: dec00704 addi sp,sp,28
  10573. 49520: f800283a ret
  10574. 49524: 21400017 ldw r5,0(r4)
  10575. 49528: 18c00104 addi r3,r3,4
  10576. 4952c: 21000104 addi r4,r4,4
  10577. 49530: 197fff15 stw r5,-4(r3)
  10578. 49534: 223ffb36 bltu r4,r8,49524 <__alt_data_end+0xfffd7524>
  10579. 49538: 003fe606 br 494d4 <__alt_data_end+0xfffd74d4>
  10580. 4953c: 9c000084 addi r16,r19,2
  10581. 49540: 003fe406 br 494d4 <__alt_data_end+0xfffd74d4>
  10582. 00049544 <__mcmp>:
  10583. 49544: 20800417 ldw r2,16(r4)
  10584. 49548: 28c00417 ldw r3,16(r5)
  10585. 4954c: 10c5c83a sub r2,r2,r3
  10586. 49550: 1000111e bne r2,zero,49598 <__mcmp+0x54>
  10587. 49554: 18c7883a add r3,r3,r3
  10588. 49558: 18c7883a add r3,r3,r3
  10589. 4955c: 21000504 addi r4,r4,20
  10590. 49560: 29400504 addi r5,r5,20
  10591. 49564: 20c5883a add r2,r4,r3
  10592. 49568: 28cb883a add r5,r5,r3
  10593. 4956c: 00000106 br 49574 <__mcmp+0x30>
  10594. 49570: 20800a2e bgeu r4,r2,4959c <__mcmp+0x58>
  10595. 49574: 10bfff04 addi r2,r2,-4
  10596. 49578: 297fff04 addi r5,r5,-4
  10597. 4957c: 11800017 ldw r6,0(r2)
  10598. 49580: 28c00017 ldw r3,0(r5)
  10599. 49584: 30fffa26 beq r6,r3,49570 <__alt_data_end+0xfffd7570>
  10600. 49588: 30c00236 bltu r6,r3,49594 <__mcmp+0x50>
  10601. 4958c: 00800044 movi r2,1
  10602. 49590: f800283a ret
  10603. 49594: 00bfffc4 movi r2,-1
  10604. 49598: f800283a ret
  10605. 4959c: 0005883a mov r2,zero
  10606. 495a0: f800283a ret
  10607. 000495a4 <__mdiff>:
  10608. 495a4: 28c00417 ldw r3,16(r5)
  10609. 495a8: 30800417 ldw r2,16(r6)
  10610. 495ac: defffa04 addi sp,sp,-24
  10611. 495b0: dcc00315 stw r19,12(sp)
  10612. 495b4: dc800215 stw r18,8(sp)
  10613. 495b8: dfc00515 stw ra,20(sp)
  10614. 495bc: dd000415 stw r20,16(sp)
  10615. 495c0: dc400115 stw r17,4(sp)
  10616. 495c4: dc000015 stw r16,0(sp)
  10617. 495c8: 1887c83a sub r3,r3,r2
  10618. 495cc: 2825883a mov r18,r5
  10619. 495d0: 3027883a mov r19,r6
  10620. 495d4: 1800141e bne r3,zero,49628 <__mdiff+0x84>
  10621. 495d8: 1085883a add r2,r2,r2
  10622. 495dc: 1085883a add r2,r2,r2
  10623. 495e0: 2a000504 addi r8,r5,20
  10624. 495e4: 34000504 addi r16,r6,20
  10625. 495e8: 4087883a add r3,r8,r2
  10626. 495ec: 8085883a add r2,r16,r2
  10627. 495f0: 00000106 br 495f8 <__mdiff+0x54>
  10628. 495f4: 40c0592e bgeu r8,r3,4975c <__mdiff+0x1b8>
  10629. 495f8: 18ffff04 addi r3,r3,-4
  10630. 495fc: 10bfff04 addi r2,r2,-4
  10631. 49600: 19c00017 ldw r7,0(r3)
  10632. 49604: 11400017 ldw r5,0(r2)
  10633. 49608: 397ffa26 beq r7,r5,495f4 <__alt_data_end+0xfffd75f4>
  10634. 4960c: 3940592e bgeu r7,r5,49774 <__mdiff+0x1d0>
  10635. 49610: 9005883a mov r2,r18
  10636. 49614: 4023883a mov r17,r8
  10637. 49618: 9825883a mov r18,r19
  10638. 4961c: 05000044 movi r20,1
  10639. 49620: 1027883a mov r19,r2
  10640. 49624: 00000406 br 49638 <__mdiff+0x94>
  10641. 49628: 18005616 blt r3,zero,49784 <__mdiff+0x1e0>
  10642. 4962c: 34400504 addi r17,r6,20
  10643. 49630: 2c000504 addi r16,r5,20
  10644. 49634: 0029883a mov r20,zero
  10645. 49638: 91400117 ldw r5,4(r18)
  10646. 4963c: 0048bc00 call 48bc0 <_Balloc>
  10647. 49640: 92400417 ldw r9,16(r18)
  10648. 49644: 9b000417 ldw r12,16(r19)
  10649. 49648: 12c00504 addi r11,r2,20
  10650. 4964c: 4a51883a add r8,r9,r9
  10651. 49650: 6319883a add r12,r12,r12
  10652. 49654: 4211883a add r8,r8,r8
  10653. 49658: 6319883a add r12,r12,r12
  10654. 4965c: 15000315 stw r20,12(r2)
  10655. 49660: 8211883a add r8,r16,r8
  10656. 49664: 8b19883a add r12,r17,r12
  10657. 49668: 0007883a mov r3,zero
  10658. 4966c: 81400017 ldw r5,0(r16)
  10659. 49670: 89c00017 ldw r7,0(r17)
  10660. 49674: 59800104 addi r6,r11,4
  10661. 49678: 293fffcc andi r4,r5,65535
  10662. 4967c: 20c7883a add r3,r4,r3
  10663. 49680: 393fffcc andi r4,r7,65535
  10664. 49684: 1909c83a sub r4,r3,r4
  10665. 49688: 280ad43a srli r5,r5,16
  10666. 4968c: 380ed43a srli r7,r7,16
  10667. 49690: 2007d43a srai r3,r4,16
  10668. 49694: 213fffcc andi r4,r4,65535
  10669. 49698: 29cbc83a sub r5,r5,r7
  10670. 4969c: 28c7883a add r3,r5,r3
  10671. 496a0: 180a943a slli r5,r3,16
  10672. 496a4: 8c400104 addi r17,r17,4
  10673. 496a8: 84000104 addi r16,r16,4
  10674. 496ac: 2908b03a or r4,r5,r4
  10675. 496b0: 59000015 stw r4,0(r11)
  10676. 496b4: 1807d43a srai r3,r3,16
  10677. 496b8: 3015883a mov r10,r6
  10678. 496bc: 3017883a mov r11,r6
  10679. 496c0: 8b3fea36 bltu r17,r12,4966c <__alt_data_end+0xfffd766c>
  10680. 496c4: 8200162e bgeu r16,r8,49720 <__mdiff+0x17c>
  10681. 496c8: 8017883a mov r11,r16
  10682. 496cc: 59400017 ldw r5,0(r11)
  10683. 496d0: 31800104 addi r6,r6,4
  10684. 496d4: 5ac00104 addi r11,r11,4
  10685. 496d8: 293fffcc andi r4,r5,65535
  10686. 496dc: 20c7883a add r3,r4,r3
  10687. 496e0: 280ed43a srli r7,r5,16
  10688. 496e4: 180bd43a srai r5,r3,16
  10689. 496e8: 193fffcc andi r4,r3,65535
  10690. 496ec: 3947883a add r3,r7,r5
  10691. 496f0: 180a943a slli r5,r3,16
  10692. 496f4: 1807d43a srai r3,r3,16
  10693. 496f8: 2908b03a or r4,r5,r4
  10694. 496fc: 313fff15 stw r4,-4(r6)
  10695. 49700: 5a3ff236 bltu r11,r8,496cc <__alt_data_end+0xfffd76cc>
  10696. 49704: 0406303a nor r3,zero,r16
  10697. 49708: 1a07883a add r3,r3,r8
  10698. 4970c: 1806d0ba srli r3,r3,2
  10699. 49710: 18c00044 addi r3,r3,1
  10700. 49714: 18c7883a add r3,r3,r3
  10701. 49718: 18c7883a add r3,r3,r3
  10702. 4971c: 50d5883a add r10,r10,r3
  10703. 49720: 50ffff04 addi r3,r10,-4
  10704. 49724: 2000041e bne r4,zero,49738 <__mdiff+0x194>
  10705. 49728: 18ffff04 addi r3,r3,-4
  10706. 4972c: 19000017 ldw r4,0(r3)
  10707. 49730: 4a7fffc4 addi r9,r9,-1
  10708. 49734: 203ffc26 beq r4,zero,49728 <__alt_data_end+0xfffd7728>
  10709. 49738: 12400415 stw r9,16(r2)
  10710. 4973c: dfc00517 ldw ra,20(sp)
  10711. 49740: dd000417 ldw r20,16(sp)
  10712. 49744: dcc00317 ldw r19,12(sp)
  10713. 49748: dc800217 ldw r18,8(sp)
  10714. 4974c: dc400117 ldw r17,4(sp)
  10715. 49750: dc000017 ldw r16,0(sp)
  10716. 49754: dec00604 addi sp,sp,24
  10717. 49758: f800283a ret
  10718. 4975c: 000b883a mov r5,zero
  10719. 49760: 0048bc00 call 48bc0 <_Balloc>
  10720. 49764: 00c00044 movi r3,1
  10721. 49768: 10c00415 stw r3,16(r2)
  10722. 4976c: 10000515 stw zero,20(r2)
  10723. 49770: 003ff206 br 4973c <__alt_data_end+0xfffd773c>
  10724. 49774: 8023883a mov r17,r16
  10725. 49778: 0029883a mov r20,zero
  10726. 4977c: 4021883a mov r16,r8
  10727. 49780: 003fad06 br 49638 <__alt_data_end+0xfffd7638>
  10728. 49784: 9005883a mov r2,r18
  10729. 49788: 94400504 addi r17,r18,20
  10730. 4978c: 9c000504 addi r16,r19,20
  10731. 49790: 9825883a mov r18,r19
  10732. 49794: 05000044 movi r20,1
  10733. 49798: 1027883a mov r19,r2
  10734. 4979c: 003fa606 br 49638 <__alt_data_end+0xfffd7638>
  10735. 000497a0 <__ulp>:
  10736. 497a0: 295ffc2c andhi r5,r5,32752
  10737. 497a4: 00bf3034 movhi r2,64704
  10738. 497a8: 2887883a add r3,r5,r2
  10739. 497ac: 00c0020e bge zero,r3,497b8 <__ulp+0x18>
  10740. 497b0: 0005883a mov r2,zero
  10741. 497b4: f800283a ret
  10742. 497b8: 00c7c83a sub r3,zero,r3
  10743. 497bc: 1807d53a srai r3,r3,20
  10744. 497c0: 008004c4 movi r2,19
  10745. 497c4: 10c00b0e bge r2,r3,497f4 <__ulp+0x54>
  10746. 497c8: 18bffb04 addi r2,r3,-20
  10747. 497cc: 01000784 movi r4,30
  10748. 497d0: 0007883a mov r3,zero
  10749. 497d4: 20800516 blt r4,r2,497ec <__ulp+0x4c>
  10750. 497d8: 010007c4 movi r4,31
  10751. 497dc: 2089c83a sub r4,r4,r2
  10752. 497e0: 00800044 movi r2,1
  10753. 497e4: 1104983a sll r2,r2,r4
  10754. 497e8: f800283a ret
  10755. 497ec: 00800044 movi r2,1
  10756. 497f0: f800283a ret
  10757. 497f4: 01400234 movhi r5,8
  10758. 497f8: 28c7d83a sra r3,r5,r3
  10759. 497fc: 0005883a mov r2,zero
  10760. 49800: f800283a ret
  10761. 00049804 <__b2d>:
  10762. 49804: defffa04 addi sp,sp,-24
  10763. 49808: dc000015 stw r16,0(sp)
  10764. 4980c: 24000417 ldw r16,16(r4)
  10765. 49810: dc400115 stw r17,4(sp)
  10766. 49814: 24400504 addi r17,r4,20
  10767. 49818: 8421883a add r16,r16,r16
  10768. 4981c: 8421883a add r16,r16,r16
  10769. 49820: 8c21883a add r16,r17,r16
  10770. 49824: dc800215 stw r18,8(sp)
  10771. 49828: 84bfff17 ldw r18,-4(r16)
  10772. 4982c: dd000415 stw r20,16(sp)
  10773. 49830: dcc00315 stw r19,12(sp)
  10774. 49834: 9009883a mov r4,r18
  10775. 49838: 2829883a mov r20,r5
  10776. 4983c: dfc00515 stw ra,20(sp)
  10777. 49840: 0048edc0 call 48edc <__hi0bits>
  10778. 49844: 00c00804 movi r3,32
  10779. 49848: 1889c83a sub r4,r3,r2
  10780. 4984c: a1000015 stw r4,0(r20)
  10781. 49850: 01000284 movi r4,10
  10782. 49854: 84ffff04 addi r19,r16,-4
  10783. 49858: 20801216 blt r4,r2,498a4 <__b2d+0xa0>
  10784. 4985c: 018002c4 movi r6,11
  10785. 49860: 308dc83a sub r6,r6,r2
  10786. 49864: 9186d83a srl r3,r18,r6
  10787. 49868: 18cffc34 orhi r3,r3,16368
  10788. 4986c: 8cc0212e bgeu r17,r19,498f4 <__b2d+0xf0>
  10789. 49870: 813ffe17 ldw r4,-8(r16)
  10790. 49874: 218cd83a srl r6,r4,r6
  10791. 49878: 10800544 addi r2,r2,21
  10792. 4987c: 9084983a sll r2,r18,r2
  10793. 49880: 1184b03a or r2,r2,r6
  10794. 49884: dfc00517 ldw ra,20(sp)
  10795. 49888: dd000417 ldw r20,16(sp)
  10796. 4988c: dcc00317 ldw r19,12(sp)
  10797. 49890: dc800217 ldw r18,8(sp)
  10798. 49894: dc400117 ldw r17,4(sp)
  10799. 49898: dc000017 ldw r16,0(sp)
  10800. 4989c: dec00604 addi sp,sp,24
  10801. 498a0: f800283a ret
  10802. 498a4: 8cc00f2e bgeu r17,r19,498e4 <__b2d+0xe0>
  10803. 498a8: 117ffd44 addi r5,r2,-11
  10804. 498ac: 80bffe17 ldw r2,-8(r16)
  10805. 498b0: 28000e26 beq r5,zero,498ec <__b2d+0xe8>
  10806. 498b4: 1949c83a sub r4,r3,r5
  10807. 498b8: 9164983a sll r18,r18,r5
  10808. 498bc: 1106d83a srl r3,r2,r4
  10809. 498c0: 81bffe04 addi r6,r16,-8
  10810. 498c4: 948ffc34 orhi r18,r18,16368
  10811. 498c8: 90c6b03a or r3,r18,r3
  10812. 498cc: 89800e2e bgeu r17,r6,49908 <__b2d+0x104>
  10813. 498d0: 81bffd17 ldw r6,-12(r16)
  10814. 498d4: 1144983a sll r2,r2,r5
  10815. 498d8: 310ad83a srl r5,r6,r4
  10816. 498dc: 2884b03a or r2,r5,r2
  10817. 498e0: 003fe806 br 49884 <__alt_data_end+0xfffd7884>
  10818. 498e4: 10bffd44 addi r2,r2,-11
  10819. 498e8: 1000041e bne r2,zero,498fc <__b2d+0xf8>
  10820. 498ec: 90cffc34 orhi r3,r18,16368
  10821. 498f0: 003fe406 br 49884 <__alt_data_end+0xfffd7884>
  10822. 498f4: 000d883a mov r6,zero
  10823. 498f8: 003fdf06 br 49878 <__alt_data_end+0xfffd7878>
  10824. 498fc: 90a4983a sll r18,r18,r2
  10825. 49900: 0005883a mov r2,zero
  10826. 49904: 003ff906 br 498ec <__alt_data_end+0xfffd78ec>
  10827. 49908: 1144983a sll r2,r2,r5
  10828. 4990c: 003fdd06 br 49884 <__alt_data_end+0xfffd7884>
  10829. 00049910 <__d2b>:
  10830. 49910: defff804 addi sp,sp,-32
  10831. 49914: dc000215 stw r16,8(sp)
  10832. 49918: 3021883a mov r16,r6
  10833. 4991c: dc400315 stw r17,12(sp)
  10834. 49920: 8022907a slli r17,r16,1
  10835. 49924: dd000615 stw r20,24(sp)
  10836. 49928: 2829883a mov r20,r5
  10837. 4992c: 01400044 movi r5,1
  10838. 49930: dcc00515 stw r19,20(sp)
  10839. 49934: dc800415 stw r18,16(sp)
  10840. 49938: dfc00715 stw ra,28(sp)
  10841. 4993c: 3825883a mov r18,r7
  10842. 49940: 8822d57a srli r17,r17,21
  10843. 49944: 0048bc00 call 48bc0 <_Balloc>
  10844. 49948: 1027883a mov r19,r2
  10845. 4994c: 00800434 movhi r2,16
  10846. 49950: 10bfffc4 addi r2,r2,-1
  10847. 49954: 808c703a and r6,r16,r2
  10848. 49958: 88000126 beq r17,zero,49960 <__d2b+0x50>
  10849. 4995c: 31800434 orhi r6,r6,16
  10850. 49960: d9800015 stw r6,0(sp)
  10851. 49964: a0002426 beq r20,zero,499f8 <__d2b+0xe8>
  10852. 49968: d9000104 addi r4,sp,4
  10853. 4996c: dd000115 stw r20,4(sp)
  10854. 49970: 0048f440 call 48f44 <__lo0bits>
  10855. 49974: d8c00017 ldw r3,0(sp)
  10856. 49978: 10002f1e bne r2,zero,49a38 <__d2b+0x128>
  10857. 4997c: d9000117 ldw r4,4(sp)
  10858. 49980: 99000515 stw r4,20(r19)
  10859. 49984: 1821003a cmpeq r16,r3,zero
  10860. 49988: 01000084 movi r4,2
  10861. 4998c: 2421c83a sub r16,r4,r16
  10862. 49990: 98c00615 stw r3,24(r19)
  10863. 49994: 9c000415 stw r16,16(r19)
  10864. 49998: 88001f1e bne r17,zero,49a18 <__d2b+0x108>
  10865. 4999c: 10bef384 addi r2,r2,-1074
  10866. 499a0: 90800015 stw r2,0(r18)
  10867. 499a4: 00900034 movhi r2,16384
  10868. 499a8: 10bfffc4 addi r2,r2,-1
  10869. 499ac: 8085883a add r2,r16,r2
  10870. 499b0: 1085883a add r2,r2,r2
  10871. 499b4: 1085883a add r2,r2,r2
  10872. 499b8: 9885883a add r2,r19,r2
  10873. 499bc: 11000517 ldw r4,20(r2)
  10874. 499c0: 8020917a slli r16,r16,5
  10875. 499c4: 0048edc0 call 48edc <__hi0bits>
  10876. 499c8: d8c00817 ldw r3,32(sp)
  10877. 499cc: 8085c83a sub r2,r16,r2
  10878. 499d0: 18800015 stw r2,0(r3)
  10879. 499d4: 9805883a mov r2,r19
  10880. 499d8: dfc00717 ldw ra,28(sp)
  10881. 499dc: dd000617 ldw r20,24(sp)
  10882. 499e0: dcc00517 ldw r19,20(sp)
  10883. 499e4: dc800417 ldw r18,16(sp)
  10884. 499e8: dc400317 ldw r17,12(sp)
  10885. 499ec: dc000217 ldw r16,8(sp)
  10886. 499f0: dec00804 addi sp,sp,32
  10887. 499f4: f800283a ret
  10888. 499f8: d809883a mov r4,sp
  10889. 499fc: 0048f440 call 48f44 <__lo0bits>
  10890. 49a00: d8c00017 ldw r3,0(sp)
  10891. 49a04: 04000044 movi r16,1
  10892. 49a08: 9c000415 stw r16,16(r19)
  10893. 49a0c: 98c00515 stw r3,20(r19)
  10894. 49a10: 10800804 addi r2,r2,32
  10895. 49a14: 883fe126 beq r17,zero,4999c <__alt_data_end+0xfffd799c>
  10896. 49a18: 00c00d44 movi r3,53
  10897. 49a1c: 8c7ef344 addi r17,r17,-1075
  10898. 49a20: 88a3883a add r17,r17,r2
  10899. 49a24: 1885c83a sub r2,r3,r2
  10900. 49a28: d8c00817 ldw r3,32(sp)
  10901. 49a2c: 94400015 stw r17,0(r18)
  10902. 49a30: 18800015 stw r2,0(r3)
  10903. 49a34: 003fe706 br 499d4 <__alt_data_end+0xfffd79d4>
  10904. 49a38: 01000804 movi r4,32
  10905. 49a3c: 2089c83a sub r4,r4,r2
  10906. 49a40: 1908983a sll r4,r3,r4
  10907. 49a44: d9400117 ldw r5,4(sp)
  10908. 49a48: 1886d83a srl r3,r3,r2
  10909. 49a4c: 2148b03a or r4,r4,r5
  10910. 49a50: 99000515 stw r4,20(r19)
  10911. 49a54: d8c00015 stw r3,0(sp)
  10912. 49a58: 003fca06 br 49984 <__alt_data_end+0xfffd7984>
  10913. 00049a5c <__ratio>:
  10914. 49a5c: defff904 addi sp,sp,-28
  10915. 49a60: dc400315 stw r17,12(sp)
  10916. 49a64: 2823883a mov r17,r5
  10917. 49a68: d9400104 addi r5,sp,4
  10918. 49a6c: dfc00615 stw ra,24(sp)
  10919. 49a70: dcc00515 stw r19,20(sp)
  10920. 49a74: dc800415 stw r18,16(sp)
  10921. 49a78: 2027883a mov r19,r4
  10922. 49a7c: dc000215 stw r16,8(sp)
  10923. 49a80: 00498040 call 49804 <__b2d>
  10924. 49a84: d80b883a mov r5,sp
  10925. 49a88: 8809883a mov r4,r17
  10926. 49a8c: 1025883a mov r18,r2
  10927. 49a90: 1821883a mov r16,r3
  10928. 49a94: 00498040 call 49804 <__b2d>
  10929. 49a98: 8a000417 ldw r8,16(r17)
  10930. 49a9c: 99000417 ldw r4,16(r19)
  10931. 49aa0: d9400117 ldw r5,4(sp)
  10932. 49aa4: 2209c83a sub r4,r4,r8
  10933. 49aa8: 2010917a slli r8,r4,5
  10934. 49aac: d9000017 ldw r4,0(sp)
  10935. 49ab0: 2909c83a sub r4,r5,r4
  10936. 49ab4: 4109883a add r4,r8,r4
  10937. 49ab8: 01000e0e bge zero,r4,49af4 <__ratio+0x98>
  10938. 49abc: 2008953a slli r4,r4,20
  10939. 49ac0: 2421883a add r16,r4,r16
  10940. 49ac4: 100d883a mov r6,r2
  10941. 49ac8: 180f883a mov r7,r3
  10942. 49acc: 9009883a mov r4,r18
  10943. 49ad0: 800b883a mov r5,r16
  10944. 49ad4: 004d4040 call 4d404 <__divdf3>
  10945. 49ad8: dfc00617 ldw ra,24(sp)
  10946. 49adc: dcc00517 ldw r19,20(sp)
  10947. 49ae0: dc800417 ldw r18,16(sp)
  10948. 49ae4: dc400317 ldw r17,12(sp)
  10949. 49ae8: dc000217 ldw r16,8(sp)
  10950. 49aec: dec00704 addi sp,sp,28
  10951. 49af0: f800283a ret
  10952. 49af4: 2008953a slli r4,r4,20
  10953. 49af8: 1907c83a sub r3,r3,r4
  10954. 49afc: 003ff106 br 49ac4 <__alt_data_end+0xfffd7ac4>
  10955. 00049b00 <_mprec_log10>:
  10956. 49b00: defffe04 addi sp,sp,-8
  10957. 49b04: dc000015 stw r16,0(sp)
  10958. 49b08: dfc00115 stw ra,4(sp)
  10959. 49b0c: 008005c4 movi r2,23
  10960. 49b10: 2021883a mov r16,r4
  10961. 49b14: 11000d0e bge r2,r4,49b4c <_mprec_log10+0x4c>
  10962. 49b18: 0005883a mov r2,zero
  10963. 49b1c: 00cffc34 movhi r3,16368
  10964. 49b20: 843fffc4 addi r16,r16,-1
  10965. 49b24: 000d883a mov r6,zero
  10966. 49b28: 01d00934 movhi r7,16420
  10967. 49b2c: 1009883a mov r4,r2
  10968. 49b30: 180b883a mov r5,r3
  10969. 49b34: 004de5c0 call 4de5c <__muldf3>
  10970. 49b38: 803ff91e bne r16,zero,49b20 <__alt_data_end+0xfffd7b20>
  10971. 49b3c: dfc00117 ldw ra,4(sp)
  10972. 49b40: dc000017 ldw r16,0(sp)
  10973. 49b44: dec00204 addi sp,sp,8
  10974. 49b48: f800283a ret
  10975. 49b4c: 202090fa slli r16,r4,3
  10976. 49b50: 00800174 movhi r2,5
  10977. 49b54: 10887604 addi r2,r2,8664
  10978. 49b58: 1421883a add r16,r2,r16
  10979. 49b5c: 80800017 ldw r2,0(r16)
  10980. 49b60: 80c00117 ldw r3,4(r16)
  10981. 49b64: dfc00117 ldw ra,4(sp)
  10982. 49b68: dc000017 ldw r16,0(sp)
  10983. 49b6c: dec00204 addi sp,sp,8
  10984. 49b70: f800283a ret
  10985. 00049b74 <__copybits>:
  10986. 49b74: 297fffc4 addi r5,r5,-1
  10987. 49b78: 280fd17a srai r7,r5,5
  10988. 49b7c: 30c00417 ldw r3,16(r6)
  10989. 49b80: 30800504 addi r2,r6,20
  10990. 49b84: 39c00044 addi r7,r7,1
  10991. 49b88: 18c7883a add r3,r3,r3
  10992. 49b8c: 39cf883a add r7,r7,r7
  10993. 49b90: 18c7883a add r3,r3,r3
  10994. 49b94: 39cf883a add r7,r7,r7
  10995. 49b98: 10c7883a add r3,r2,r3
  10996. 49b9c: 21cf883a add r7,r4,r7
  10997. 49ba0: 10c00d2e bgeu r2,r3,49bd8 <__copybits+0x64>
  10998. 49ba4: 200b883a mov r5,r4
  10999. 49ba8: 12000017 ldw r8,0(r2)
  11000. 49bac: 29400104 addi r5,r5,4
  11001. 49bb0: 10800104 addi r2,r2,4
  11002. 49bb4: 2a3fff15 stw r8,-4(r5)
  11003. 49bb8: 10fffb36 bltu r2,r3,49ba8 <__alt_data_end+0xfffd7ba8>
  11004. 49bbc: 1985c83a sub r2,r3,r6
  11005. 49bc0: 10bffac4 addi r2,r2,-21
  11006. 49bc4: 1004d0ba srli r2,r2,2
  11007. 49bc8: 10800044 addi r2,r2,1
  11008. 49bcc: 1085883a add r2,r2,r2
  11009. 49bd0: 1085883a add r2,r2,r2
  11010. 49bd4: 2089883a add r4,r4,r2
  11011. 49bd8: 21c0032e bgeu r4,r7,49be8 <__copybits+0x74>
  11012. 49bdc: 20000015 stw zero,0(r4)
  11013. 49be0: 21000104 addi r4,r4,4
  11014. 49be4: 21fffd36 bltu r4,r7,49bdc <__alt_data_end+0xfffd7bdc>
  11015. 49be8: f800283a ret
  11016. 00049bec <__any_on>:
  11017. 49bec: 20c00417 ldw r3,16(r4)
  11018. 49bf0: 2805d17a srai r2,r5,5
  11019. 49bf4: 21000504 addi r4,r4,20
  11020. 49bf8: 18800d0e bge r3,r2,49c30 <__any_on+0x44>
  11021. 49bfc: 18c7883a add r3,r3,r3
  11022. 49c00: 18c7883a add r3,r3,r3
  11023. 49c04: 20c7883a add r3,r4,r3
  11024. 49c08: 20c0192e bgeu r4,r3,49c70 <__any_on+0x84>
  11025. 49c0c: 18bfff17 ldw r2,-4(r3)
  11026. 49c10: 18ffff04 addi r3,r3,-4
  11027. 49c14: 1000041e bne r2,zero,49c28 <__any_on+0x3c>
  11028. 49c18: 20c0142e bgeu r4,r3,49c6c <__any_on+0x80>
  11029. 49c1c: 18ffff04 addi r3,r3,-4
  11030. 49c20: 19400017 ldw r5,0(r3)
  11031. 49c24: 283ffc26 beq r5,zero,49c18 <__alt_data_end+0xfffd7c18>
  11032. 49c28: 00800044 movi r2,1
  11033. 49c2c: f800283a ret
  11034. 49c30: 10c00a0e bge r2,r3,49c5c <__any_on+0x70>
  11035. 49c34: 1085883a add r2,r2,r2
  11036. 49c38: 1085883a add r2,r2,r2
  11037. 49c3c: 294007cc andi r5,r5,31
  11038. 49c40: 2087883a add r3,r4,r2
  11039. 49c44: 283ff026 beq r5,zero,49c08 <__alt_data_end+0xfffd7c08>
  11040. 49c48: 19800017 ldw r6,0(r3)
  11041. 49c4c: 3144d83a srl r2,r6,r5
  11042. 49c50: 114a983a sll r5,r2,r5
  11043. 49c54: 317ff41e bne r6,r5,49c28 <__alt_data_end+0xfffd7c28>
  11044. 49c58: 003feb06 br 49c08 <__alt_data_end+0xfffd7c08>
  11045. 49c5c: 1085883a add r2,r2,r2
  11046. 49c60: 1085883a add r2,r2,r2
  11047. 49c64: 2087883a add r3,r4,r2
  11048. 49c68: 003fe706 br 49c08 <__alt_data_end+0xfffd7c08>
  11049. 49c6c: f800283a ret
  11050. 49c70: 0005883a mov r2,zero
  11051. 49c74: f800283a ret
  11052. 00049c78 <_putc_r>:
  11053. 49c78: defffc04 addi sp,sp,-16
  11054. 49c7c: dc000215 stw r16,8(sp)
  11055. 49c80: dfc00315 stw ra,12(sp)
  11056. 49c84: 2021883a mov r16,r4
  11057. 49c88: 20000226 beq r4,zero,49c94 <_putc_r+0x1c>
  11058. 49c8c: 20800e17 ldw r2,56(r4)
  11059. 49c90: 10001b26 beq r2,zero,49d00 <_putc_r+0x88>
  11060. 49c94: 30800217 ldw r2,8(r6)
  11061. 49c98: 10bfffc4 addi r2,r2,-1
  11062. 49c9c: 30800215 stw r2,8(r6)
  11063. 49ca0: 10000a16 blt r2,zero,49ccc <_putc_r+0x54>
  11064. 49ca4: 30800017 ldw r2,0(r6)
  11065. 49ca8: 11400005 stb r5,0(r2)
  11066. 49cac: 30800017 ldw r2,0(r6)
  11067. 49cb0: 10c00044 addi r3,r2,1
  11068. 49cb4: 30c00015 stw r3,0(r6)
  11069. 49cb8: 10800003 ldbu r2,0(r2)
  11070. 49cbc: dfc00317 ldw ra,12(sp)
  11071. 49cc0: dc000217 ldw r16,8(sp)
  11072. 49cc4: dec00404 addi sp,sp,16
  11073. 49cc8: f800283a ret
  11074. 49ccc: 30c00617 ldw r3,24(r6)
  11075. 49cd0: 10c00616 blt r2,r3,49cec <_putc_r+0x74>
  11076. 49cd4: 30800017 ldw r2,0(r6)
  11077. 49cd8: 00c00284 movi r3,10
  11078. 49cdc: 11400005 stb r5,0(r2)
  11079. 49ce0: 30800017 ldw r2,0(r6)
  11080. 49ce4: 11400003 ldbu r5,0(r2)
  11081. 49ce8: 28fff11e bne r5,r3,49cb0 <__alt_data_end+0xfffd7cb0>
  11082. 49cec: 8009883a mov r4,r16
  11083. 49cf0: dfc00317 ldw ra,12(sp)
  11084. 49cf4: dc000217 ldw r16,8(sp)
  11085. 49cf8: dec00404 addi sp,sp,16
  11086. 49cfc: 004bd1c1 jmpi 4bd1c <__swbuf_r>
  11087. 49d00: d9400015 stw r5,0(sp)
  11088. 49d04: d9800115 stw r6,4(sp)
  11089. 49d08: 00471980 call 47198 <__sinit>
  11090. 49d0c: d9800117 ldw r6,4(sp)
  11091. 49d10: d9400017 ldw r5,0(sp)
  11092. 49d14: 003fdf06 br 49c94 <__alt_data_end+0xfffd7c94>
  11093. 00049d18 <putc>:
  11094. 49d18: 00800174 movhi r2,5
  11095. 49d1c: defffc04 addi sp,sp,-16
  11096. 49d20: 10905304 addi r2,r2,16716
  11097. 49d24: dc000115 stw r16,4(sp)
  11098. 49d28: 14000017 ldw r16,0(r2)
  11099. 49d2c: dc400215 stw r17,8(sp)
  11100. 49d30: dfc00315 stw ra,12(sp)
  11101. 49d34: 2023883a mov r17,r4
  11102. 49d38: 80000226 beq r16,zero,49d44 <putc+0x2c>
  11103. 49d3c: 80800e17 ldw r2,56(r16)
  11104. 49d40: 10001a26 beq r2,zero,49dac <putc+0x94>
  11105. 49d44: 28800217 ldw r2,8(r5)
  11106. 49d48: 10bfffc4 addi r2,r2,-1
  11107. 49d4c: 28800215 stw r2,8(r5)
  11108. 49d50: 10000b16 blt r2,zero,49d80 <putc+0x68>
  11109. 49d54: 28800017 ldw r2,0(r5)
  11110. 49d58: 14400005 stb r17,0(r2)
  11111. 49d5c: 28800017 ldw r2,0(r5)
  11112. 49d60: 10c00044 addi r3,r2,1
  11113. 49d64: 28c00015 stw r3,0(r5)
  11114. 49d68: 10800003 ldbu r2,0(r2)
  11115. 49d6c: dfc00317 ldw ra,12(sp)
  11116. 49d70: dc400217 ldw r17,8(sp)
  11117. 49d74: dc000117 ldw r16,4(sp)
  11118. 49d78: dec00404 addi sp,sp,16
  11119. 49d7c: f800283a ret
  11120. 49d80: 28c00617 ldw r3,24(r5)
  11121. 49d84: 10c00e16 blt r2,r3,49dc0 <putc+0xa8>
  11122. 49d88: 28800017 ldw r2,0(r5)
  11123. 49d8c: 01000284 movi r4,10
  11124. 49d90: 14400005 stb r17,0(r2)
  11125. 49d94: 28800017 ldw r2,0(r5)
  11126. 49d98: 10c00003 ldbu r3,0(r2)
  11127. 49d9c: 193ff01e bne r3,r4,49d60 <__alt_data_end+0xfffd7d60>
  11128. 49da0: 280d883a mov r6,r5
  11129. 49da4: 180b883a mov r5,r3
  11130. 49da8: 00000706 br 49dc8 <putc+0xb0>
  11131. 49dac: 8009883a mov r4,r16
  11132. 49db0: d9400015 stw r5,0(sp)
  11133. 49db4: 00471980 call 47198 <__sinit>
  11134. 49db8: d9400017 ldw r5,0(sp)
  11135. 49dbc: 003fe106 br 49d44 <__alt_data_end+0xfffd7d44>
  11136. 49dc0: 280d883a mov r6,r5
  11137. 49dc4: 880b883a mov r5,r17
  11138. 49dc8: 8009883a mov r4,r16
  11139. 49dcc: dfc00317 ldw ra,12(sp)
  11140. 49dd0: dc400217 ldw r17,8(sp)
  11141. 49dd4: dc000117 ldw r16,4(sp)
  11142. 49dd8: dec00404 addi sp,sp,16
  11143. 49ddc: 004bd1c1 jmpi 4bd1c <__swbuf_r>
  11144. 00049de0 <_realloc_r>:
  11145. 49de0: defff604 addi sp,sp,-40
  11146. 49de4: dc800215 stw r18,8(sp)
  11147. 49de8: dfc00915 stw ra,36(sp)
  11148. 49dec: df000815 stw fp,32(sp)
  11149. 49df0: ddc00715 stw r23,28(sp)
  11150. 49df4: dd800615 stw r22,24(sp)
  11151. 49df8: dd400515 stw r21,20(sp)
  11152. 49dfc: dd000415 stw r20,16(sp)
  11153. 49e00: dcc00315 stw r19,12(sp)
  11154. 49e04: dc400115 stw r17,4(sp)
  11155. 49e08: dc000015 stw r16,0(sp)
  11156. 49e0c: 3025883a mov r18,r6
  11157. 49e10: 2800b726 beq r5,zero,4a0f0 <_realloc_r+0x310>
  11158. 49e14: 282b883a mov r21,r5
  11159. 49e18: 2029883a mov r20,r4
  11160. 49e1c: 004ed0c0 call 4ed0c <__malloc_lock>
  11161. 49e20: a8bfff17 ldw r2,-4(r21)
  11162. 49e24: 043fff04 movi r16,-4
  11163. 49e28: 90c002c4 addi r3,r18,11
  11164. 49e2c: 01000584 movi r4,22
  11165. 49e30: acfffe04 addi r19,r21,-8
  11166. 49e34: 1420703a and r16,r2,r16
  11167. 49e38: 20c0332e bgeu r4,r3,49f08 <_realloc_r+0x128>
  11168. 49e3c: 047ffe04 movi r17,-8
  11169. 49e40: 1c62703a and r17,r3,r17
  11170. 49e44: 8807883a mov r3,r17
  11171. 49e48: 88005816 blt r17,zero,49fac <_realloc_r+0x1cc>
  11172. 49e4c: 8c805736 bltu r17,r18,49fac <_realloc_r+0x1cc>
  11173. 49e50: 80c0300e bge r16,r3,49f14 <_realloc_r+0x134>
  11174. 49e54: 07000174 movhi fp,5
  11175. 49e58: e70a8604 addi fp,fp,10776
  11176. 49e5c: e1c00217 ldw r7,8(fp)
  11177. 49e60: 9c09883a add r4,r19,r16
  11178. 49e64: 22000117 ldw r8,4(r4)
  11179. 49e68: 21c06326 beq r4,r7,49ff8 <_realloc_r+0x218>
  11180. 49e6c: 017fff84 movi r5,-2
  11181. 49e70: 414a703a and r5,r8,r5
  11182. 49e74: 214b883a add r5,r4,r5
  11183. 49e78: 29800117 ldw r6,4(r5)
  11184. 49e7c: 3180004c andi r6,r6,1
  11185. 49e80: 30003f26 beq r6,zero,49f80 <_realloc_r+0x1a0>
  11186. 49e84: 1080004c andi r2,r2,1
  11187. 49e88: 10008326 beq r2,zero,4a098 <_realloc_r+0x2b8>
  11188. 49e8c: 900b883a mov r5,r18
  11189. 49e90: a009883a mov r4,r20
  11190. 49e94: 0047f040 call 47f04 <_malloc_r>
  11191. 49e98: 1025883a mov r18,r2
  11192. 49e9c: 10011e26 beq r2,zero,4a318 <_realloc_r+0x538>
  11193. 49ea0: a93fff17 ldw r4,-4(r21)
  11194. 49ea4: 10fffe04 addi r3,r2,-8
  11195. 49ea8: 00bfff84 movi r2,-2
  11196. 49eac: 2084703a and r2,r4,r2
  11197. 49eb0: 9885883a add r2,r19,r2
  11198. 49eb4: 1880ee26 beq r3,r2,4a270 <_realloc_r+0x490>
  11199. 49eb8: 81bfff04 addi r6,r16,-4
  11200. 49ebc: 00800904 movi r2,36
  11201. 49ec0: 1180b836 bltu r2,r6,4a1a4 <_realloc_r+0x3c4>
  11202. 49ec4: 00c004c4 movi r3,19
  11203. 49ec8: 19809636 bltu r3,r6,4a124 <_realloc_r+0x344>
  11204. 49ecc: 9005883a mov r2,r18
  11205. 49ed0: a807883a mov r3,r21
  11206. 49ed4: 19000017 ldw r4,0(r3)
  11207. 49ed8: 11000015 stw r4,0(r2)
  11208. 49edc: 19000117 ldw r4,4(r3)
  11209. 49ee0: 11000115 stw r4,4(r2)
  11210. 49ee4: 18c00217 ldw r3,8(r3)
  11211. 49ee8: 10c00215 stw r3,8(r2)
  11212. 49eec: a80b883a mov r5,r21
  11213. 49ef0: a009883a mov r4,r20
  11214. 49ef4: 004730c0 call 4730c <_free_r>
  11215. 49ef8: a009883a mov r4,r20
  11216. 49efc: 004ed300 call 4ed30 <__malloc_unlock>
  11217. 49f00: 9005883a mov r2,r18
  11218. 49f04: 00001206 br 49f50 <_realloc_r+0x170>
  11219. 49f08: 00c00404 movi r3,16
  11220. 49f0c: 1823883a mov r17,r3
  11221. 49f10: 003fce06 br 49e4c <__alt_data_end+0xfffd7e4c>
  11222. 49f14: a825883a mov r18,r21
  11223. 49f18: 8445c83a sub r2,r16,r17
  11224. 49f1c: 00c003c4 movi r3,15
  11225. 49f20: 18802636 bltu r3,r2,49fbc <_realloc_r+0x1dc>
  11226. 49f24: 99800117 ldw r6,4(r19)
  11227. 49f28: 9c07883a add r3,r19,r16
  11228. 49f2c: 3180004c andi r6,r6,1
  11229. 49f30: 3420b03a or r16,r6,r16
  11230. 49f34: 9c000115 stw r16,4(r19)
  11231. 49f38: 18800117 ldw r2,4(r3)
  11232. 49f3c: 10800054 ori r2,r2,1
  11233. 49f40: 18800115 stw r2,4(r3)
  11234. 49f44: a009883a mov r4,r20
  11235. 49f48: 004ed300 call 4ed30 <__malloc_unlock>
  11236. 49f4c: 9005883a mov r2,r18
  11237. 49f50: dfc00917 ldw ra,36(sp)
  11238. 49f54: df000817 ldw fp,32(sp)
  11239. 49f58: ddc00717 ldw r23,28(sp)
  11240. 49f5c: dd800617 ldw r22,24(sp)
  11241. 49f60: dd400517 ldw r21,20(sp)
  11242. 49f64: dd000417 ldw r20,16(sp)
  11243. 49f68: dcc00317 ldw r19,12(sp)
  11244. 49f6c: dc800217 ldw r18,8(sp)
  11245. 49f70: dc400117 ldw r17,4(sp)
  11246. 49f74: dc000017 ldw r16,0(sp)
  11247. 49f78: dec00a04 addi sp,sp,40
  11248. 49f7c: f800283a ret
  11249. 49f80: 017fff04 movi r5,-4
  11250. 49f84: 414a703a and r5,r8,r5
  11251. 49f88: 814d883a add r6,r16,r5
  11252. 49f8c: 30c01f16 blt r6,r3,4a00c <_realloc_r+0x22c>
  11253. 49f90: 20800317 ldw r2,12(r4)
  11254. 49f94: 20c00217 ldw r3,8(r4)
  11255. 49f98: a825883a mov r18,r21
  11256. 49f9c: 3021883a mov r16,r6
  11257. 49fa0: 18800315 stw r2,12(r3)
  11258. 49fa4: 10c00215 stw r3,8(r2)
  11259. 49fa8: 003fdb06 br 49f18 <__alt_data_end+0xfffd7f18>
  11260. 49fac: 00800304 movi r2,12
  11261. 49fb0: a0800015 stw r2,0(r20)
  11262. 49fb4: 0005883a mov r2,zero
  11263. 49fb8: 003fe506 br 49f50 <__alt_data_end+0xfffd7f50>
  11264. 49fbc: 98c00117 ldw r3,4(r19)
  11265. 49fc0: 9c4b883a add r5,r19,r17
  11266. 49fc4: 11000054 ori r4,r2,1
  11267. 49fc8: 18c0004c andi r3,r3,1
  11268. 49fcc: 1c62b03a or r17,r3,r17
  11269. 49fd0: 9c400115 stw r17,4(r19)
  11270. 49fd4: 29000115 stw r4,4(r5)
  11271. 49fd8: 2885883a add r2,r5,r2
  11272. 49fdc: 10c00117 ldw r3,4(r2)
  11273. 49fe0: 29400204 addi r5,r5,8
  11274. 49fe4: a009883a mov r4,r20
  11275. 49fe8: 18c00054 ori r3,r3,1
  11276. 49fec: 10c00115 stw r3,4(r2)
  11277. 49ff0: 004730c0 call 4730c <_free_r>
  11278. 49ff4: 003fd306 br 49f44 <__alt_data_end+0xfffd7f44>
  11279. 49ff8: 017fff04 movi r5,-4
  11280. 49ffc: 414a703a and r5,r8,r5
  11281. 4a000: 89800404 addi r6,r17,16
  11282. 4a004: 8151883a add r8,r16,r5
  11283. 4a008: 4180590e bge r8,r6,4a170 <_realloc_r+0x390>
  11284. 4a00c: 1080004c andi r2,r2,1
  11285. 4a010: 103f9e1e bne r2,zero,49e8c <__alt_data_end+0xfffd7e8c>
  11286. 4a014: adbffe17 ldw r22,-8(r21)
  11287. 4a018: 00bfff04 movi r2,-4
  11288. 4a01c: 9dadc83a sub r22,r19,r22
  11289. 4a020: b1800117 ldw r6,4(r22)
  11290. 4a024: 3084703a and r2,r6,r2
  11291. 4a028: 20002026 beq r4,zero,4a0ac <_realloc_r+0x2cc>
  11292. 4a02c: 80af883a add r23,r16,r2
  11293. 4a030: b96f883a add r23,r23,r5
  11294. 4a034: 21c05f26 beq r4,r7,4a1b4 <_realloc_r+0x3d4>
  11295. 4a038: b8c01c16 blt r23,r3,4a0ac <_realloc_r+0x2cc>
  11296. 4a03c: 20800317 ldw r2,12(r4)
  11297. 4a040: 20c00217 ldw r3,8(r4)
  11298. 4a044: 81bfff04 addi r6,r16,-4
  11299. 4a048: 01000904 movi r4,36
  11300. 4a04c: 18800315 stw r2,12(r3)
  11301. 4a050: 10c00215 stw r3,8(r2)
  11302. 4a054: b0c00217 ldw r3,8(r22)
  11303. 4a058: b0800317 ldw r2,12(r22)
  11304. 4a05c: b4800204 addi r18,r22,8
  11305. 4a060: 18800315 stw r2,12(r3)
  11306. 4a064: 10c00215 stw r3,8(r2)
  11307. 4a068: 21801b36 bltu r4,r6,4a0d8 <_realloc_r+0x2f8>
  11308. 4a06c: 008004c4 movi r2,19
  11309. 4a070: 1180352e bgeu r2,r6,4a148 <_realloc_r+0x368>
  11310. 4a074: a8800017 ldw r2,0(r21)
  11311. 4a078: b0800215 stw r2,8(r22)
  11312. 4a07c: a8800117 ldw r2,4(r21)
  11313. 4a080: b0800315 stw r2,12(r22)
  11314. 4a084: 008006c4 movi r2,27
  11315. 4a088: 11807f36 bltu r2,r6,4a288 <_realloc_r+0x4a8>
  11316. 4a08c: b0800404 addi r2,r22,16
  11317. 4a090: ad400204 addi r21,r21,8
  11318. 4a094: 00002d06 br 4a14c <_realloc_r+0x36c>
  11319. 4a098: adbffe17 ldw r22,-8(r21)
  11320. 4a09c: 00bfff04 movi r2,-4
  11321. 4a0a0: 9dadc83a sub r22,r19,r22
  11322. 4a0a4: b1000117 ldw r4,4(r22)
  11323. 4a0a8: 2084703a and r2,r4,r2
  11324. 4a0ac: b03f7726 beq r22,zero,49e8c <__alt_data_end+0xfffd7e8c>
  11325. 4a0b0: 80af883a add r23,r16,r2
  11326. 4a0b4: b8ff7516 blt r23,r3,49e8c <__alt_data_end+0xfffd7e8c>
  11327. 4a0b8: b0800317 ldw r2,12(r22)
  11328. 4a0bc: b0c00217 ldw r3,8(r22)
  11329. 4a0c0: 81bfff04 addi r6,r16,-4
  11330. 4a0c4: 01000904 movi r4,36
  11331. 4a0c8: 18800315 stw r2,12(r3)
  11332. 4a0cc: 10c00215 stw r3,8(r2)
  11333. 4a0d0: b4800204 addi r18,r22,8
  11334. 4a0d4: 21bfe52e bgeu r4,r6,4a06c <__alt_data_end+0xfffd806c>
  11335. 4a0d8: a80b883a mov r5,r21
  11336. 4a0dc: 9009883a mov r4,r18
  11337. 4a0e0: 004893c0 call 4893c <memmove>
  11338. 4a0e4: b821883a mov r16,r23
  11339. 4a0e8: b027883a mov r19,r22
  11340. 4a0ec: 003f8a06 br 49f18 <__alt_data_end+0xfffd7f18>
  11341. 4a0f0: 300b883a mov r5,r6
  11342. 4a0f4: dfc00917 ldw ra,36(sp)
  11343. 4a0f8: df000817 ldw fp,32(sp)
  11344. 4a0fc: ddc00717 ldw r23,28(sp)
  11345. 4a100: dd800617 ldw r22,24(sp)
  11346. 4a104: dd400517 ldw r21,20(sp)
  11347. 4a108: dd000417 ldw r20,16(sp)
  11348. 4a10c: dcc00317 ldw r19,12(sp)
  11349. 4a110: dc800217 ldw r18,8(sp)
  11350. 4a114: dc400117 ldw r17,4(sp)
  11351. 4a118: dc000017 ldw r16,0(sp)
  11352. 4a11c: dec00a04 addi sp,sp,40
  11353. 4a120: 0047f041 jmpi 47f04 <_malloc_r>
  11354. 4a124: a8c00017 ldw r3,0(r21)
  11355. 4a128: 90c00015 stw r3,0(r18)
  11356. 4a12c: a8c00117 ldw r3,4(r21)
  11357. 4a130: 90c00115 stw r3,4(r18)
  11358. 4a134: 00c006c4 movi r3,27
  11359. 4a138: 19804536 bltu r3,r6,4a250 <_realloc_r+0x470>
  11360. 4a13c: 90800204 addi r2,r18,8
  11361. 4a140: a8c00204 addi r3,r21,8
  11362. 4a144: 003f6306 br 49ed4 <__alt_data_end+0xfffd7ed4>
  11363. 4a148: 9005883a mov r2,r18
  11364. 4a14c: a8c00017 ldw r3,0(r21)
  11365. 4a150: b821883a mov r16,r23
  11366. 4a154: b027883a mov r19,r22
  11367. 4a158: 10c00015 stw r3,0(r2)
  11368. 4a15c: a8c00117 ldw r3,4(r21)
  11369. 4a160: 10c00115 stw r3,4(r2)
  11370. 4a164: a8c00217 ldw r3,8(r21)
  11371. 4a168: 10c00215 stw r3,8(r2)
  11372. 4a16c: 003f6a06 br 49f18 <__alt_data_end+0xfffd7f18>
  11373. 4a170: 9c67883a add r19,r19,r17
  11374. 4a174: 4445c83a sub r2,r8,r17
  11375. 4a178: e4c00215 stw r19,8(fp)
  11376. 4a17c: 10800054 ori r2,r2,1
  11377. 4a180: 98800115 stw r2,4(r19)
  11378. 4a184: a8bfff17 ldw r2,-4(r21)
  11379. 4a188: a009883a mov r4,r20
  11380. 4a18c: 1080004c andi r2,r2,1
  11381. 4a190: 1462b03a or r17,r2,r17
  11382. 4a194: ac7fff15 stw r17,-4(r21)
  11383. 4a198: 004ed300 call 4ed30 <__malloc_unlock>
  11384. 4a19c: a805883a mov r2,r21
  11385. 4a1a0: 003f6b06 br 49f50 <__alt_data_end+0xfffd7f50>
  11386. 4a1a4: a80b883a mov r5,r21
  11387. 4a1a8: 9009883a mov r4,r18
  11388. 4a1ac: 004893c0 call 4893c <memmove>
  11389. 4a1b0: 003f4e06 br 49eec <__alt_data_end+0xfffd7eec>
  11390. 4a1b4: 89000404 addi r4,r17,16
  11391. 4a1b8: b93fbc16 blt r23,r4,4a0ac <__alt_data_end+0xfffd80ac>
  11392. 4a1bc: b0800317 ldw r2,12(r22)
  11393. 4a1c0: b0c00217 ldw r3,8(r22)
  11394. 4a1c4: 81bfff04 addi r6,r16,-4
  11395. 4a1c8: 01000904 movi r4,36
  11396. 4a1cc: 18800315 stw r2,12(r3)
  11397. 4a1d0: 10c00215 stw r3,8(r2)
  11398. 4a1d4: b4800204 addi r18,r22,8
  11399. 4a1d8: 21804336 bltu r4,r6,4a2e8 <_realloc_r+0x508>
  11400. 4a1dc: 008004c4 movi r2,19
  11401. 4a1e0: 11803f2e bgeu r2,r6,4a2e0 <_realloc_r+0x500>
  11402. 4a1e4: a8800017 ldw r2,0(r21)
  11403. 4a1e8: b0800215 stw r2,8(r22)
  11404. 4a1ec: a8800117 ldw r2,4(r21)
  11405. 4a1f0: b0800315 stw r2,12(r22)
  11406. 4a1f4: 008006c4 movi r2,27
  11407. 4a1f8: 11803f36 bltu r2,r6,4a2f8 <_realloc_r+0x518>
  11408. 4a1fc: b0800404 addi r2,r22,16
  11409. 4a200: ad400204 addi r21,r21,8
  11410. 4a204: a8c00017 ldw r3,0(r21)
  11411. 4a208: 10c00015 stw r3,0(r2)
  11412. 4a20c: a8c00117 ldw r3,4(r21)
  11413. 4a210: 10c00115 stw r3,4(r2)
  11414. 4a214: a8c00217 ldw r3,8(r21)
  11415. 4a218: 10c00215 stw r3,8(r2)
  11416. 4a21c: b447883a add r3,r22,r17
  11417. 4a220: bc45c83a sub r2,r23,r17
  11418. 4a224: e0c00215 stw r3,8(fp)
  11419. 4a228: 10800054 ori r2,r2,1
  11420. 4a22c: 18800115 stw r2,4(r3)
  11421. 4a230: b0800117 ldw r2,4(r22)
  11422. 4a234: a009883a mov r4,r20
  11423. 4a238: 1080004c andi r2,r2,1
  11424. 4a23c: 1462b03a or r17,r2,r17
  11425. 4a240: b4400115 stw r17,4(r22)
  11426. 4a244: 004ed300 call 4ed30 <__malloc_unlock>
  11427. 4a248: 9005883a mov r2,r18
  11428. 4a24c: 003f4006 br 49f50 <__alt_data_end+0xfffd7f50>
  11429. 4a250: a8c00217 ldw r3,8(r21)
  11430. 4a254: 90c00215 stw r3,8(r18)
  11431. 4a258: a8c00317 ldw r3,12(r21)
  11432. 4a25c: 90c00315 stw r3,12(r18)
  11433. 4a260: 30801126 beq r6,r2,4a2a8 <_realloc_r+0x4c8>
  11434. 4a264: 90800404 addi r2,r18,16
  11435. 4a268: a8c00404 addi r3,r21,16
  11436. 4a26c: 003f1906 br 49ed4 <__alt_data_end+0xfffd7ed4>
  11437. 4a270: 90ffff17 ldw r3,-4(r18)
  11438. 4a274: 00bfff04 movi r2,-4
  11439. 4a278: a825883a mov r18,r21
  11440. 4a27c: 1884703a and r2,r3,r2
  11441. 4a280: 80a1883a add r16,r16,r2
  11442. 4a284: 003f2406 br 49f18 <__alt_data_end+0xfffd7f18>
  11443. 4a288: a8800217 ldw r2,8(r21)
  11444. 4a28c: b0800415 stw r2,16(r22)
  11445. 4a290: a8800317 ldw r2,12(r21)
  11446. 4a294: b0800515 stw r2,20(r22)
  11447. 4a298: 31000a26 beq r6,r4,4a2c4 <_realloc_r+0x4e4>
  11448. 4a29c: b0800604 addi r2,r22,24
  11449. 4a2a0: ad400404 addi r21,r21,16
  11450. 4a2a4: 003fa906 br 4a14c <__alt_data_end+0xfffd814c>
  11451. 4a2a8: a9000417 ldw r4,16(r21)
  11452. 4a2ac: 90800604 addi r2,r18,24
  11453. 4a2b0: a8c00604 addi r3,r21,24
  11454. 4a2b4: 91000415 stw r4,16(r18)
  11455. 4a2b8: a9000517 ldw r4,20(r21)
  11456. 4a2bc: 91000515 stw r4,20(r18)
  11457. 4a2c0: 003f0406 br 49ed4 <__alt_data_end+0xfffd7ed4>
  11458. 4a2c4: a8c00417 ldw r3,16(r21)
  11459. 4a2c8: ad400604 addi r21,r21,24
  11460. 4a2cc: b0800804 addi r2,r22,32
  11461. 4a2d0: b0c00615 stw r3,24(r22)
  11462. 4a2d4: a8ffff17 ldw r3,-4(r21)
  11463. 4a2d8: b0c00715 stw r3,28(r22)
  11464. 4a2dc: 003f9b06 br 4a14c <__alt_data_end+0xfffd814c>
  11465. 4a2e0: 9005883a mov r2,r18
  11466. 4a2e4: 003fc706 br 4a204 <__alt_data_end+0xfffd8204>
  11467. 4a2e8: a80b883a mov r5,r21
  11468. 4a2ec: 9009883a mov r4,r18
  11469. 4a2f0: 004893c0 call 4893c <memmove>
  11470. 4a2f4: 003fc906 br 4a21c <__alt_data_end+0xfffd821c>
  11471. 4a2f8: a8800217 ldw r2,8(r21)
  11472. 4a2fc: b0800415 stw r2,16(r22)
  11473. 4a300: a8800317 ldw r2,12(r21)
  11474. 4a304: b0800515 stw r2,20(r22)
  11475. 4a308: 31000726 beq r6,r4,4a328 <_realloc_r+0x548>
  11476. 4a30c: b0800604 addi r2,r22,24
  11477. 4a310: ad400404 addi r21,r21,16
  11478. 4a314: 003fbb06 br 4a204 <__alt_data_end+0xfffd8204>
  11479. 4a318: a009883a mov r4,r20
  11480. 4a31c: 004ed300 call 4ed30 <__malloc_unlock>
  11481. 4a320: 0005883a mov r2,zero
  11482. 4a324: 003f0a06 br 49f50 <__alt_data_end+0xfffd7f50>
  11483. 4a328: a8c00417 ldw r3,16(r21)
  11484. 4a32c: ad400604 addi r21,r21,24
  11485. 4a330: b0800804 addi r2,r22,32
  11486. 4a334: b0c00615 stw r3,24(r22)
  11487. 4a338: a8ffff17 ldw r3,-4(r21)
  11488. 4a33c: b0c00715 stw r3,28(r22)
  11489. 4a340: 003fb006 br 4a204 <__alt_data_end+0xfffd8204>
  11490. 0004a344 <__fpclassifyd>:
  11491. 4a344: 00a00034 movhi r2,32768
  11492. 4a348: 10bfffc4 addi r2,r2,-1
  11493. 4a34c: 2884703a and r2,r5,r2
  11494. 4a350: 10000726 beq r2,zero,4a370 <__fpclassifyd+0x2c>
  11495. 4a354: 00fffc34 movhi r3,65520
  11496. 4a358: 019ff834 movhi r6,32736
  11497. 4a35c: 28c7883a add r3,r5,r3
  11498. 4a360: 31bfffc4 addi r6,r6,-1
  11499. 4a364: 30c00536 bltu r6,r3,4a37c <__fpclassifyd+0x38>
  11500. 4a368: 00800104 movi r2,4
  11501. 4a36c: f800283a ret
  11502. 4a370: 2000021e bne r4,zero,4a37c <__fpclassifyd+0x38>
  11503. 4a374: 00800084 movi r2,2
  11504. 4a378: f800283a ret
  11505. 4a37c: 00dffc34 movhi r3,32752
  11506. 4a380: 019ff834 movhi r6,32736
  11507. 4a384: 28cb883a add r5,r5,r3
  11508. 4a388: 31bfffc4 addi r6,r6,-1
  11509. 4a38c: 317ff62e bgeu r6,r5,4a368 <__alt_data_end+0xfffd8368>
  11510. 4a390: 01400434 movhi r5,16
  11511. 4a394: 297fffc4 addi r5,r5,-1
  11512. 4a398: 28800236 bltu r5,r2,4a3a4 <__fpclassifyd+0x60>
  11513. 4a39c: 008000c4 movi r2,3
  11514. 4a3a0: f800283a ret
  11515. 4a3a4: 10c00226 beq r2,r3,4a3b0 <__fpclassifyd+0x6c>
  11516. 4a3a8: 0005883a mov r2,zero
  11517. 4a3ac: f800283a ret
  11518. 4a3b0: 2005003a cmpeq r2,r4,zero
  11519. 4a3b4: f800283a ret
  11520. 0004a3b8 <_sbrk_r>:
  11521. 4a3b8: defffd04 addi sp,sp,-12
  11522. 4a3bc: dc000015 stw r16,0(sp)
  11523. 4a3c0: 04000174 movhi r16,5
  11524. 4a3c4: dc400115 stw r17,4(sp)
  11525. 4a3c8: 84177304 addi r16,r16,24012
  11526. 4a3cc: 2023883a mov r17,r4
  11527. 4a3d0: 2809883a mov r4,r5
  11528. 4a3d4: dfc00215 stw ra,8(sp)
  11529. 4a3d8: 80000015 stw zero,0(r16)
  11530. 4a3dc: 004ef180 call 4ef18 <sbrk>
  11531. 4a3e0: 00ffffc4 movi r3,-1
  11532. 4a3e4: 10c00526 beq r2,r3,4a3fc <_sbrk_r+0x44>
  11533. 4a3e8: dfc00217 ldw ra,8(sp)
  11534. 4a3ec: dc400117 ldw r17,4(sp)
  11535. 4a3f0: dc000017 ldw r16,0(sp)
  11536. 4a3f4: dec00304 addi sp,sp,12
  11537. 4a3f8: f800283a ret
  11538. 4a3fc: 80c00017 ldw r3,0(r16)
  11539. 4a400: 183ff926 beq r3,zero,4a3e8 <__alt_data_end+0xfffd83e8>
  11540. 4a404: 88c00015 stw r3,0(r17)
  11541. 4a408: 003ff706 br 4a3e8 <__alt_data_end+0xfffd83e8>
  11542. 0004a40c <__sread>:
  11543. 4a40c: defffe04 addi sp,sp,-8
  11544. 4a410: dc000015 stw r16,0(sp)
  11545. 4a414: 2821883a mov r16,r5
  11546. 4a418: 2940038f ldh r5,14(r5)
  11547. 4a41c: dfc00115 stw ra,4(sp)
  11548. 4a420: 004c4200 call 4c420 <_read_r>
  11549. 4a424: 10000716 blt r2,zero,4a444 <__sread+0x38>
  11550. 4a428: 80c01417 ldw r3,80(r16)
  11551. 4a42c: 1887883a add r3,r3,r2
  11552. 4a430: 80c01415 stw r3,80(r16)
  11553. 4a434: dfc00117 ldw ra,4(sp)
  11554. 4a438: dc000017 ldw r16,0(sp)
  11555. 4a43c: dec00204 addi sp,sp,8
  11556. 4a440: f800283a ret
  11557. 4a444: 80c0030b ldhu r3,12(r16)
  11558. 4a448: 18fbffcc andi r3,r3,61439
  11559. 4a44c: 80c0030d sth r3,12(r16)
  11560. 4a450: dfc00117 ldw ra,4(sp)
  11561. 4a454: dc000017 ldw r16,0(sp)
  11562. 4a458: dec00204 addi sp,sp,8
  11563. 4a45c: f800283a ret
  11564. 0004a460 <__seofread>:
  11565. 4a460: 0005883a mov r2,zero
  11566. 4a464: f800283a ret
  11567. 0004a468 <__swrite>:
  11568. 4a468: 2880030b ldhu r2,12(r5)
  11569. 4a46c: defffb04 addi sp,sp,-20
  11570. 4a470: dcc00315 stw r19,12(sp)
  11571. 4a474: dc800215 stw r18,8(sp)
  11572. 4a478: dc400115 stw r17,4(sp)
  11573. 4a47c: dc000015 stw r16,0(sp)
  11574. 4a480: dfc00415 stw ra,16(sp)
  11575. 4a484: 10c0400c andi r3,r2,256
  11576. 4a488: 2821883a mov r16,r5
  11577. 4a48c: 2023883a mov r17,r4
  11578. 4a490: 3025883a mov r18,r6
  11579. 4a494: 3827883a mov r19,r7
  11580. 4a498: 18000526 beq r3,zero,4a4b0 <__swrite+0x48>
  11581. 4a49c: 2940038f ldh r5,14(r5)
  11582. 4a4a0: 01c00084 movi r7,2
  11583. 4a4a4: 000d883a mov r6,zero
  11584. 4a4a8: 004c3c00 call 4c3c0 <_lseek_r>
  11585. 4a4ac: 8080030b ldhu r2,12(r16)
  11586. 4a4b0: 8140038f ldh r5,14(r16)
  11587. 4a4b4: 10bbffcc andi r2,r2,61439
  11588. 4a4b8: 980f883a mov r7,r19
  11589. 4a4bc: 900d883a mov r6,r18
  11590. 4a4c0: 8809883a mov r4,r17
  11591. 4a4c4: 8080030d sth r2,12(r16)
  11592. 4a4c8: dfc00417 ldw ra,16(sp)
  11593. 4a4cc: dcc00317 ldw r19,12(sp)
  11594. 4a4d0: dc800217 ldw r18,8(sp)
  11595. 4a4d4: dc400117 ldw r17,4(sp)
  11596. 4a4d8: dc000017 ldw r16,0(sp)
  11597. 4a4dc: dec00504 addi sp,sp,20
  11598. 4a4e0: 004be741 jmpi 4be74 <_write_r>
  11599. 0004a4e4 <__sseek>:
  11600. 4a4e4: defffe04 addi sp,sp,-8
  11601. 4a4e8: dc000015 stw r16,0(sp)
  11602. 4a4ec: 2821883a mov r16,r5
  11603. 4a4f0: 2940038f ldh r5,14(r5)
  11604. 4a4f4: dfc00115 stw ra,4(sp)
  11605. 4a4f8: 004c3c00 call 4c3c0 <_lseek_r>
  11606. 4a4fc: 00ffffc4 movi r3,-1
  11607. 4a500: 10c00826 beq r2,r3,4a524 <__sseek+0x40>
  11608. 4a504: 80c0030b ldhu r3,12(r16)
  11609. 4a508: 80801415 stw r2,80(r16)
  11610. 4a50c: 18c40014 ori r3,r3,4096
  11611. 4a510: 80c0030d sth r3,12(r16)
  11612. 4a514: dfc00117 ldw ra,4(sp)
  11613. 4a518: dc000017 ldw r16,0(sp)
  11614. 4a51c: dec00204 addi sp,sp,8
  11615. 4a520: f800283a ret
  11616. 4a524: 80c0030b ldhu r3,12(r16)
  11617. 4a528: 18fbffcc andi r3,r3,61439
  11618. 4a52c: 80c0030d sth r3,12(r16)
  11619. 4a530: dfc00117 ldw ra,4(sp)
  11620. 4a534: dc000017 ldw r16,0(sp)
  11621. 4a538: dec00204 addi sp,sp,8
  11622. 4a53c: f800283a ret
  11623. 0004a540 <__sclose>:
  11624. 4a540: 2940038f ldh r5,14(r5)
  11625. 4a544: 004bed41 jmpi 4bed4 <_close_r>
  11626. 0004a548 <strcmp>:
  11627. 4a548: 2144b03a or r2,r4,r5
  11628. 4a54c: 108000cc andi r2,r2,3
  11629. 4a550: 1000171e bne r2,zero,4a5b0 <strcmp+0x68>
  11630. 4a554: 20800017 ldw r2,0(r4)
  11631. 4a558: 28c00017 ldw r3,0(r5)
  11632. 4a55c: 10c0141e bne r2,r3,4a5b0 <strcmp+0x68>
  11633. 4a560: 027fbff4 movhi r9,65279
  11634. 4a564: 4a7fbfc4 addi r9,r9,-257
  11635. 4a568: 0086303a nor r3,zero,r2
  11636. 4a56c: 02202074 movhi r8,32897
  11637. 4a570: 1245883a add r2,r2,r9
  11638. 4a574: 42202004 addi r8,r8,-32640
  11639. 4a578: 10c4703a and r2,r2,r3
  11640. 4a57c: 1204703a and r2,r2,r8
  11641. 4a580: 10000226 beq r2,zero,4a58c <strcmp+0x44>
  11642. 4a584: 00002306 br 4a614 <strcmp+0xcc>
  11643. 4a588: 1000221e bne r2,zero,4a614 <strcmp+0xcc>
  11644. 4a58c: 21000104 addi r4,r4,4
  11645. 4a590: 20c00017 ldw r3,0(r4)
  11646. 4a594: 29400104 addi r5,r5,4
  11647. 4a598: 29800017 ldw r6,0(r5)
  11648. 4a59c: 1a4f883a add r7,r3,r9
  11649. 4a5a0: 00c4303a nor r2,zero,r3
  11650. 4a5a4: 3884703a and r2,r7,r2
  11651. 4a5a8: 1204703a and r2,r2,r8
  11652. 4a5ac: 19bff626 beq r3,r6,4a588 <__alt_data_end+0xfffd8588>
  11653. 4a5b0: 20800003 ldbu r2,0(r4)
  11654. 4a5b4: 10c03fcc andi r3,r2,255
  11655. 4a5b8: 18c0201c xori r3,r3,128
  11656. 4a5bc: 18ffe004 addi r3,r3,-128
  11657. 4a5c0: 18000c26 beq r3,zero,4a5f4 <strcmp+0xac>
  11658. 4a5c4: 29800007 ldb r6,0(r5)
  11659. 4a5c8: 19800326 beq r3,r6,4a5d8 <strcmp+0x90>
  11660. 4a5cc: 00001306 br 4a61c <strcmp+0xd4>
  11661. 4a5d0: 29800007 ldb r6,0(r5)
  11662. 4a5d4: 11800b1e bne r2,r6,4a604 <strcmp+0xbc>
  11663. 4a5d8: 21000044 addi r4,r4,1
  11664. 4a5dc: 20c00003 ldbu r3,0(r4)
  11665. 4a5e0: 29400044 addi r5,r5,1
  11666. 4a5e4: 18803fcc andi r2,r3,255
  11667. 4a5e8: 1080201c xori r2,r2,128
  11668. 4a5ec: 10bfe004 addi r2,r2,-128
  11669. 4a5f0: 103ff71e bne r2,zero,4a5d0 <__alt_data_end+0xfffd85d0>
  11670. 4a5f4: 0007883a mov r3,zero
  11671. 4a5f8: 28800003 ldbu r2,0(r5)
  11672. 4a5fc: 1885c83a sub r2,r3,r2
  11673. 4a600: f800283a ret
  11674. 4a604: 28800003 ldbu r2,0(r5)
  11675. 4a608: 18c03fcc andi r3,r3,255
  11676. 4a60c: 1885c83a sub r2,r3,r2
  11677. 4a610: f800283a ret
  11678. 4a614: 0005883a mov r2,zero
  11679. 4a618: f800283a ret
  11680. 4a61c: 10c03fcc andi r3,r2,255
  11681. 4a620: 003ff506 br 4a5f8 <__alt_data_end+0xfffd85f8>
  11682. 0004a624 <__sprint_r.part.0>:
  11683. 4a624: 28801917 ldw r2,100(r5)
  11684. 4a628: defff604 addi sp,sp,-40
  11685. 4a62c: dd400515 stw r21,20(sp)
  11686. 4a630: dfc00915 stw ra,36(sp)
  11687. 4a634: df000815 stw fp,32(sp)
  11688. 4a638: ddc00715 stw r23,28(sp)
  11689. 4a63c: dd800615 stw r22,24(sp)
  11690. 4a640: dd000415 stw r20,16(sp)
  11691. 4a644: dcc00315 stw r19,12(sp)
  11692. 4a648: dc800215 stw r18,8(sp)
  11693. 4a64c: dc400115 stw r17,4(sp)
  11694. 4a650: dc000015 stw r16,0(sp)
  11695. 4a654: 1088000c andi r2,r2,8192
  11696. 4a658: 302b883a mov r21,r6
  11697. 4a65c: 10002e26 beq r2,zero,4a718 <__sprint_r.part.0+0xf4>
  11698. 4a660: 30800217 ldw r2,8(r6)
  11699. 4a664: 35800017 ldw r22,0(r6)
  11700. 4a668: 10002926 beq r2,zero,4a710 <__sprint_r.part.0+0xec>
  11701. 4a66c: 2827883a mov r19,r5
  11702. 4a670: 2029883a mov r20,r4
  11703. 4a674: b5c00104 addi r23,r22,4
  11704. 4a678: 04bfffc4 movi r18,-1
  11705. 4a67c: bc400017 ldw r17,0(r23)
  11706. 4a680: b4000017 ldw r16,0(r22)
  11707. 4a684: 0039883a mov fp,zero
  11708. 4a688: 8822d0ba srli r17,r17,2
  11709. 4a68c: 8800031e bne r17,zero,4a69c <__sprint_r.part.0+0x78>
  11710. 4a690: 00001806 br 4a6f4 <__sprint_r.part.0+0xd0>
  11711. 4a694: 84000104 addi r16,r16,4
  11712. 4a698: 8f001526 beq r17,fp,4a6f0 <__sprint_r.part.0+0xcc>
  11713. 4a69c: 81400017 ldw r5,0(r16)
  11714. 4a6a0: 980d883a mov r6,r19
  11715. 4a6a4: a009883a mov r4,r20
  11716. 4a6a8: 004c26c0 call 4c26c <_fputwc_r>
  11717. 4a6ac: e7000044 addi fp,fp,1
  11718. 4a6b0: 14bff81e bne r2,r18,4a694 <__alt_data_end+0xfffd8694>
  11719. 4a6b4: 9005883a mov r2,r18
  11720. 4a6b8: a8000215 stw zero,8(r21)
  11721. 4a6bc: a8000115 stw zero,4(r21)
  11722. 4a6c0: dfc00917 ldw ra,36(sp)
  11723. 4a6c4: df000817 ldw fp,32(sp)
  11724. 4a6c8: ddc00717 ldw r23,28(sp)
  11725. 4a6cc: dd800617 ldw r22,24(sp)
  11726. 4a6d0: dd400517 ldw r21,20(sp)
  11727. 4a6d4: dd000417 ldw r20,16(sp)
  11728. 4a6d8: dcc00317 ldw r19,12(sp)
  11729. 4a6dc: dc800217 ldw r18,8(sp)
  11730. 4a6e0: dc400117 ldw r17,4(sp)
  11731. 4a6e4: dc000017 ldw r16,0(sp)
  11732. 4a6e8: dec00a04 addi sp,sp,40
  11733. 4a6ec: f800283a ret
  11734. 4a6f0: a8800217 ldw r2,8(r21)
  11735. 4a6f4: 8c63883a add r17,r17,r17
  11736. 4a6f8: 8c63883a add r17,r17,r17
  11737. 4a6fc: 1445c83a sub r2,r2,r17
  11738. 4a700: a8800215 stw r2,8(r21)
  11739. 4a704: b5800204 addi r22,r22,8
  11740. 4a708: bdc00204 addi r23,r23,8
  11741. 4a70c: 103fdb1e bne r2,zero,4a67c <__alt_data_end+0xfffd867c>
  11742. 4a710: 0005883a mov r2,zero
  11743. 4a714: 003fe806 br 4a6b8 <__alt_data_end+0xfffd86b8>
  11744. 4a718: 004761c0 call 4761c <__sfvwrite_r>
  11745. 4a71c: 003fe606 br 4a6b8 <__alt_data_end+0xfffd86b8>
  11746. 0004a720 <__sprint_r>:
  11747. 4a720: 30c00217 ldw r3,8(r6)
  11748. 4a724: 18000126 beq r3,zero,4a72c <__sprint_r+0xc>
  11749. 4a728: 004a6241 jmpi 4a624 <__sprint_r.part.0>
  11750. 4a72c: 30000115 stw zero,4(r6)
  11751. 4a730: 0005883a mov r2,zero
  11752. 4a734: f800283a ret
  11753. 0004a738 <___vfiprintf_internal_r>:
  11754. 4a738: deffca04 addi sp,sp,-216
  11755. 4a73c: dd403115 stw r21,196(sp)
  11756. 4a740: dfc03515 stw ra,212(sp)
  11757. 4a744: df003415 stw fp,208(sp)
  11758. 4a748: ddc03315 stw r23,204(sp)
  11759. 4a74c: dd803215 stw r22,200(sp)
  11760. 4a750: dd003015 stw r20,192(sp)
  11761. 4a754: dcc02f15 stw r19,188(sp)
  11762. 4a758: dc802e15 stw r18,184(sp)
  11763. 4a75c: dc402d15 stw r17,180(sp)
  11764. 4a760: dc002c15 stw r16,176(sp)
  11765. 4a764: d9002115 stw r4,132(sp)
  11766. 4a768: d9402015 stw r5,128(sp)
  11767. 4a76c: d9c02215 stw r7,136(sp)
  11768. 4a770: 302b883a mov r21,r6
  11769. 4a774: 20000226 beq r4,zero,4a780 <___vfiprintf_internal_r+0x48>
  11770. 4a778: 20800e17 ldw r2,56(r4)
  11771. 4a77c: 1000cf26 beq r2,zero,4aabc <___vfiprintf_internal_r+0x384>
  11772. 4a780: d8c02017 ldw r3,128(sp)
  11773. 4a784: 1880030b ldhu r2,12(r3)
  11774. 4a788: 10c8000c andi r3,r2,8192
  11775. 4a78c: 1800071e bne r3,zero,4a7ac <___vfiprintf_internal_r+0x74>
  11776. 4a790: d9402017 ldw r5,128(sp)
  11777. 4a794: 00f7ffc4 movi r3,-8193
  11778. 4a798: 10880014 ori r2,r2,8192
  11779. 4a79c: 29001917 ldw r4,100(r5)
  11780. 4a7a0: 2880030d sth r2,12(r5)
  11781. 4a7a4: 20c6703a and r3,r4,r3
  11782. 4a7a8: 28c01915 stw r3,100(r5)
  11783. 4a7ac: 10c0020c andi r3,r2,8
  11784. 4a7b0: 1800a526 beq r3,zero,4aa48 <___vfiprintf_internal_r+0x310>
  11785. 4a7b4: d9002017 ldw r4,128(sp)
  11786. 4a7b8: 20c00417 ldw r3,16(r4)
  11787. 4a7bc: 1800a226 beq r3,zero,4aa48 <___vfiprintf_internal_r+0x310>
  11788. 4a7c0: 1080068c andi r2,r2,26
  11789. 4a7c4: 00c00284 movi r3,10
  11790. 4a7c8: 10c0a826 beq r2,r3,4aa6c <___vfiprintf_internal_r+0x334>
  11791. 4a7cc: d9001a04 addi r4,sp,104
  11792. 4a7d0: d94019c4 addi r5,sp,103
  11793. 4a7d4: 04800174 movhi r18,5
  11794. 4a7d8: 2145c83a sub r2,r4,r5
  11795. 4a7dc: 9488a804 addi r18,r18,8864
  11796. 4a7e0: d9001e15 stw r4,120(sp)
  11797. 4a7e4: d9401f15 stw r5,124(sp)
  11798. 4a7e8: dec01a15 stw sp,104(sp)
  11799. 4a7ec: d8001c15 stw zero,112(sp)
  11800. 4a7f0: d8001b15 stw zero,108(sp)
  11801. 4a7f4: d811883a mov r8,sp
  11802. 4a7f8: d8002615 stw zero,152(sp)
  11803. 4a7fc: d8002415 stw zero,144(sp)
  11804. 4a800: d8802815 stw r2,160(sp)
  11805. 4a804: a82d883a mov r22,r21
  11806. 4a808: b0800007 ldb r2,0(r22)
  11807. 4a80c: 10040d26 beq r2,zero,4b844 <___vfiprintf_internal_r+0x110c>
  11808. 4a810: 00c00944 movi r3,37
  11809. 4a814: b029883a mov r20,r22
  11810. 4a818: 10c0021e bne r2,r3,4a824 <___vfiprintf_internal_r+0xec>
  11811. 4a81c: 00001606 br 4a878 <___vfiprintf_internal_r+0x140>
  11812. 4a820: 10c00326 beq r2,r3,4a830 <___vfiprintf_internal_r+0xf8>
  11813. 4a824: a5000044 addi r20,r20,1
  11814. 4a828: a0800007 ldb r2,0(r20)
  11815. 4a82c: 103ffc1e bne r2,zero,4a820 <__alt_data_end+0xfffd8820>
  11816. 4a830: a5a1c83a sub r16,r20,r22
  11817. 4a834: 80001026 beq r16,zero,4a878 <___vfiprintf_internal_r+0x140>
  11818. 4a838: d8c01c17 ldw r3,112(sp)
  11819. 4a83c: d8801b17 ldw r2,108(sp)
  11820. 4a840: 45800015 stw r22,0(r8)
  11821. 4a844: 80c7883a add r3,r16,r3
  11822. 4a848: 10800044 addi r2,r2,1
  11823. 4a84c: 44000115 stw r16,4(r8)
  11824. 4a850: d8c01c15 stw r3,112(sp)
  11825. 4a854: d8801b15 stw r2,108(sp)
  11826. 4a858: 010001c4 movi r4,7
  11827. 4a85c: 2080750e bge r4,r2,4aa34 <___vfiprintf_internal_r+0x2fc>
  11828. 4a860: 1803951e bne r3,zero,4b6b8 <___vfiprintf_internal_r+0xf80>
  11829. 4a864: d8c02417 ldw r3,144(sp)
  11830. 4a868: d8001b15 stw zero,108(sp)
  11831. 4a86c: d811883a mov r8,sp
  11832. 4a870: 1c07883a add r3,r3,r16
  11833. 4a874: d8c02415 stw r3,144(sp)
  11834. 4a878: a0800007 ldb r2,0(r20)
  11835. 4a87c: 1002e026 beq r2,zero,4b400 <___vfiprintf_internal_r+0xcc8>
  11836. 4a880: a5800044 addi r22,r20,1
  11837. 4a884: a0c00047 ldb r3,1(r20)
  11838. 4a888: d8001d85 stb zero,118(sp)
  11839. 4a88c: 0027883a mov r19,zero
  11840. 4a890: d8002305 stb zero,140(sp)
  11841. 4a894: 043fffc4 movi r16,-1
  11842. 4a898: d8002515 stw zero,148(sp)
  11843. 4a89c: 0023883a mov r17,zero
  11844. 4a8a0: 05001604 movi r20,88
  11845. 4a8a4: 05400244 movi r21,9
  11846. 4a8a8: 402f883a mov r23,r8
  11847. 4a8ac: b5800044 addi r22,r22,1
  11848. 4a8b0: 18bff804 addi r2,r3,-32
  11849. 4a8b4: a0827736 bltu r20,r2,4b294 <___vfiprintf_internal_r+0xb5c>
  11850. 4a8b8: 100490ba slli r2,r2,2
  11851. 4a8bc: 01000174 movhi r4,5
  11852. 4a8c0: 212a3404 addi r4,r4,-22320
  11853. 4a8c4: 1105883a add r2,r2,r4
  11854. 4a8c8: 10800017 ldw r2,0(r2)
  11855. 4a8cc: 1000683a jmp r2
  11856. 4a8d0: 0004af94 movui zero,4798
  11857. 4a8d4: 0004b294 movui zero,4810
  11858. 4a8d8: 0004b294 movui zero,4810
  11859. 4a8dc: 0004afb0 cmpltui zero,zero,4798
  11860. 4a8e0: 0004b294 movui zero,4810
  11861. 4a8e4: 0004b294 movui zero,4810
  11862. 4a8e8: 0004b294 movui zero,4810
  11863. 4a8ec: 0004b294 movui zero,4810
  11864. 4a8f0: 0004b294 movui zero,4810
  11865. 4a8f4: 0004b294 movui zero,4810
  11866. 4a8f8: 0004b1b8 rdprs zero,zero,4806
  11867. 4a8fc: 0004b1dc xori zero,zero,4807
  11868. 4a900: 0004b294 movui zero,4810
  11869. 4a904: 0004aad4 movui zero,4779
  11870. 4a908: 0004b1f0 cmpltui zero,zero,4807
  11871. 4a90c: 0004b294 movui zero,4810
  11872. 4a910: 0004afbc xorhi zero,zero,4798
  11873. 4a914: 0004afc8 cmpgei zero,zero,4799
  11874. 4a918: 0004afc8 cmpgei zero,zero,4799
  11875. 4a91c: 0004afc8 cmpgei zero,zero,4799
  11876. 4a920: 0004afc8 cmpgei zero,zero,4799
  11877. 4a924: 0004afc8 cmpgei zero,zero,4799
  11878. 4a928: 0004afc8 cmpgei zero,zero,4799
  11879. 4a92c: 0004afc8 cmpgei zero,zero,4799
  11880. 4a930: 0004afc8 cmpgei zero,zero,4799
  11881. 4a934: 0004afc8 cmpgei zero,zero,4799
  11882. 4a938: 0004b294 movui zero,4810
  11883. 4a93c: 0004b294 movui zero,4810
  11884. 4a940: 0004b294 movui zero,4810
  11885. 4a944: 0004b294 movui zero,4810
  11886. 4a948: 0004b294 movui zero,4810
  11887. 4a94c: 0004b294 movui zero,4810
  11888. 4a950: 0004b294 movui zero,4810
  11889. 4a954: 0004b294 movui zero,4810
  11890. 4a958: 0004b294 movui zero,4810
  11891. 4a95c: 0004b294 movui zero,4810
  11892. 4a960: 0004b008 cmpgei zero,zero,4800
  11893. 4a964: 0004b294 movui zero,4810
  11894. 4a968: 0004b294 movui zero,4810
  11895. 4a96c: 0004b294 movui zero,4810
  11896. 4a970: 0004b294 movui zero,4810
  11897. 4a974: 0004b294 movui zero,4810
  11898. 4a978: 0004b294 movui zero,4810
  11899. 4a97c: 0004b294 movui zero,4810
  11900. 4a980: 0004b294 movui zero,4810
  11901. 4a984: 0004b294 movui zero,4810
  11902. 4a988: 0004b294 movui zero,4810
  11903. 4a98c: 0004b044 movi zero,4801
  11904. 4a990: 0004b294 movui zero,4810
  11905. 4a994: 0004b294 movui zero,4810
  11906. 4a998: 0004b294 movui zero,4810
  11907. 4a99c: 0004b294 movui zero,4810
  11908. 4a9a0: 0004b294 movui zero,4810
  11909. 4a9a4: 0004b0a0 cmpeqi zero,zero,4802
  11910. 4a9a8: 0004b294 movui zero,4810
  11911. 4a9ac: 0004b294 movui zero,4810
  11912. 4a9b0: 0004b114 movui zero,4804
  11913. 4a9b4: 0004b294 movui zero,4810
  11914. 4a9b8: 0004b294 movui zero,4810
  11915. 4a9bc: 0004b294 movui zero,4810
  11916. 4a9c0: 0004b294 movui zero,4810
  11917. 4a9c4: 0004b294 movui zero,4810
  11918. 4a9c8: 0004b294 movui zero,4810
  11919. 4a9cc: 0004b294 movui zero,4810
  11920. 4a9d0: 0004b294 movui zero,4810
  11921. 4a9d4: 0004b294 movui zero,4810
  11922. 4a9d8: 0004b294 movui zero,4810
  11923. 4a9dc: 0004aebc xorhi zero,zero,4794
  11924. 4a9e0: 0004aeec andhi zero,zero,4795
  11925. 4a9e4: 0004b294 movui zero,4810
  11926. 4a9e8: 0004b294 movui zero,4810
  11927. 4a9ec: 0004b294 movui zero,4810
  11928. 4a9f0: 0004b23c xorhi zero,zero,4808
  11929. 4a9f4: 0004aeec andhi zero,zero,4795
  11930. 4a9f8: 0004b294 movui zero,4810
  11931. 4a9fc: 0004b294 movui zero,4810
  11932. 4aa00: 0004ad94 movui zero,4790
  11933. 4aa04: 0004b294 movui zero,4810
  11934. 4aa08: 0004ada8 cmpgeui zero,zero,4790
  11935. 4aa0c: 0004ade0 cmpeqi zero,zero,4791
  11936. 4aa10: 0004aae0 cmpeqi zero,zero,4779
  11937. 4aa14: 0004ad88 cmpgei zero,zero,4790
  11938. 4aa18: 0004b294 movui zero,4810
  11939. 4aa1c: 0004b154 movui zero,4805
  11940. 4aa20: 0004b294 movui zero,4810
  11941. 4aa24: 0004b1a0 cmpeqi zero,zero,4806
  11942. 4aa28: 0004b294 movui zero,4810
  11943. 4aa2c: 0004b294 movui zero,4810
  11944. 4aa30: 0004ae64 muli zero,zero,4793
  11945. 4aa34: 42000204 addi r8,r8,8
  11946. 4aa38: d8c02417 ldw r3,144(sp)
  11947. 4aa3c: 1c07883a add r3,r3,r16
  11948. 4aa40: d8c02415 stw r3,144(sp)
  11949. 4aa44: 003f8c06 br 4a878 <__alt_data_end+0xfffd8878>
  11950. 4aa48: d9402017 ldw r5,128(sp)
  11951. 4aa4c: d9002117 ldw r4,132(sp)
  11952. 4aa50: 004518c0 call 4518c <__swsetup_r>
  11953. 4aa54: 1003c11e bne r2,zero,4b95c <___vfiprintf_internal_r+0x1224>
  11954. 4aa58: d9402017 ldw r5,128(sp)
  11955. 4aa5c: 00c00284 movi r3,10
  11956. 4aa60: 2880030b ldhu r2,12(r5)
  11957. 4aa64: 1080068c andi r2,r2,26
  11958. 4aa68: 10ff581e bne r2,r3,4a7cc <__alt_data_end+0xfffd87cc>
  11959. 4aa6c: d8c02017 ldw r3,128(sp)
  11960. 4aa70: 1880038f ldh r2,14(r3)
  11961. 4aa74: 103f5516 blt r2,zero,4a7cc <__alt_data_end+0xfffd87cc>
  11962. 4aa78: d9c02217 ldw r7,136(sp)
  11963. 4aa7c: d9002117 ldw r4,132(sp)
  11964. 4aa80: a80d883a mov r6,r21
  11965. 4aa84: 180b883a mov r5,r3
  11966. 4aa88: 004bc600 call 4bc60 <__sbprintf>
  11967. 4aa8c: dfc03517 ldw ra,212(sp)
  11968. 4aa90: df003417 ldw fp,208(sp)
  11969. 4aa94: ddc03317 ldw r23,204(sp)
  11970. 4aa98: dd803217 ldw r22,200(sp)
  11971. 4aa9c: dd403117 ldw r21,196(sp)
  11972. 4aaa0: dd003017 ldw r20,192(sp)
  11973. 4aaa4: dcc02f17 ldw r19,188(sp)
  11974. 4aaa8: dc802e17 ldw r18,184(sp)
  11975. 4aaac: dc402d17 ldw r17,180(sp)
  11976. 4aab0: dc002c17 ldw r16,176(sp)
  11977. 4aab4: dec03604 addi sp,sp,216
  11978. 4aab8: f800283a ret
  11979. 4aabc: 00471980 call 47198 <__sinit>
  11980. 4aac0: 003f2f06 br 4a780 <__alt_data_end+0xfffd8780>
  11981. 4aac4: d8c02517 ldw r3,148(sp)
  11982. 4aac8: d8802215 stw r2,136(sp)
  11983. 4aacc: 00c7c83a sub r3,zero,r3
  11984. 4aad0: d8c02515 stw r3,148(sp)
  11985. 4aad4: 8c400114 ori r17,r17,4
  11986. 4aad8: b0c00007 ldb r3,0(r22)
  11987. 4aadc: 003f7306 br 4a8ac <__alt_data_end+0xfffd88ac>
  11988. 4aae0: 00800c04 movi r2,48
  11989. 4aae4: d9402217 ldw r5,136(sp)
  11990. 4aae8: d8801d05 stb r2,116(sp)
  11991. 4aaec: 00801e04 movi r2,120
  11992. 4aaf0: d8801d45 stb r2,117(sp)
  11993. 4aaf4: d8001d85 stb zero,118(sp)
  11994. 4aaf8: b811883a mov r8,r23
  11995. 4aafc: 28c00104 addi r3,r5,4
  11996. 4ab00: 2cc00017 ldw r19,0(r5)
  11997. 4ab04: 0029883a mov r20,zero
  11998. 4ab08: 88800094 ori r2,r17,2
  11999. 4ab0c: 80032516 blt r16,zero,4b7a4 <___vfiprintf_internal_r+0x106c>
  12000. 4ab10: 00bfdfc4 movi r2,-129
  12001. 4ab14: 88a2703a and r17,r17,r2
  12002. 4ab18: d8c02215 stw r3,136(sp)
  12003. 4ab1c: 8c400094 ori r17,r17,2
  12004. 4ab20: 98032a1e bne r19,zero,4b7cc <___vfiprintf_internal_r+0x1094>
  12005. 4ab24: 00800174 movhi r2,5
  12006. 4ab28: 10884704 addi r2,r2,8476
  12007. 4ab2c: d8802615 stw r2,152(sp)
  12008. 4ab30: 002b883a mov r21,zero
  12009. 4ab34: 8001741e bne r16,zero,4b108 <___vfiprintf_internal_r+0x9d0>
  12010. 4ab38: 0021883a mov r16,zero
  12011. 4ab3c: 0029883a mov r20,zero
  12012. 4ab40: ddc01a04 addi r23,sp,104
  12013. 4ab44: 8027883a mov r19,r16
  12014. 4ab48: 8500010e bge r16,r20,4ab50 <___vfiprintf_internal_r+0x418>
  12015. 4ab4c: a027883a mov r19,r20
  12016. 4ab50: ad403fcc andi r21,r21,255
  12017. 4ab54: ad40201c xori r21,r21,128
  12018. 4ab58: ad7fe004 addi r21,r21,-128
  12019. 4ab5c: a8000126 beq r21,zero,4ab64 <___vfiprintf_internal_r+0x42c>
  12020. 4ab60: 9cc00044 addi r19,r19,1
  12021. 4ab64: 89c0008c andi r7,r17,2
  12022. 4ab68: 38000126 beq r7,zero,4ab70 <___vfiprintf_internal_r+0x438>
  12023. 4ab6c: 9cc00084 addi r19,r19,2
  12024. 4ab70: 88c0210c andi r3,r17,132
  12025. 4ab74: 1801dd1e bne r3,zero,4b2ec <___vfiprintf_internal_r+0xbb4>
  12026. 4ab78: d9402517 ldw r5,148(sp)
  12027. 4ab7c: 2cebc83a sub r21,r5,r19
  12028. 4ab80: 0541da0e bge zero,r21,4b2ec <___vfiprintf_internal_r+0xbb4>
  12029. 4ab84: 07000404 movi fp,16
  12030. 4ab88: d8801c17 ldw r2,112(sp)
  12031. 4ab8c: e543be0e bge fp,r21,4ba88 <___vfiprintf_internal_r+0x1350>
  12032. 4ab90: 01400174 movhi r5,5
  12033. 4ab94: 2948ac04 addi r5,r5,8880
  12034. 4ab98: dc002715 stw r16,156(sp)
  12035. 4ab9c: d9801b17 ldw r6,108(sp)
  12036. 4aba0: a821883a mov r16,r21
  12037. 4aba4: d9402315 stw r5,140(sp)
  12038. 4aba8: 028001c4 movi r10,7
  12039. 4abac: d9c02915 stw r7,164(sp)
  12040. 4abb0: 182b883a mov r21,r3
  12041. 4abb4: 00000506 br 4abcc <___vfiprintf_internal_r+0x494>
  12042. 4abb8: 31000084 addi r4,r6,2
  12043. 4abbc: 42000204 addi r8,r8,8
  12044. 4abc0: 180d883a mov r6,r3
  12045. 4abc4: 843ffc04 addi r16,r16,-16
  12046. 4abc8: e4000f0e bge fp,r16,4ac08 <___vfiprintf_internal_r+0x4d0>
  12047. 4abcc: 01000174 movhi r4,5
  12048. 4abd0: 10800404 addi r2,r2,16
  12049. 4abd4: 30c00044 addi r3,r6,1
  12050. 4abd8: 2108ac04 addi r4,r4,8880
  12051. 4abdc: 41000015 stw r4,0(r8)
  12052. 4abe0: 47000115 stw fp,4(r8)
  12053. 4abe4: d8801c15 stw r2,112(sp)
  12054. 4abe8: d8c01b15 stw r3,108(sp)
  12055. 4abec: 50fff20e bge r10,r3,4abb8 <__alt_data_end+0xfffd8bb8>
  12056. 4abf0: 1001b21e bne r2,zero,4b2bc <___vfiprintf_internal_r+0xb84>
  12057. 4abf4: 843ffc04 addi r16,r16,-16
  12058. 4abf8: 000d883a mov r6,zero
  12059. 4abfc: 01000044 movi r4,1
  12060. 4ac00: d811883a mov r8,sp
  12061. 4ac04: e43ff116 blt fp,r16,4abcc <__alt_data_end+0xfffd8bcc>
  12062. 4ac08: a807883a mov r3,r21
  12063. 4ac0c: d9c02917 ldw r7,164(sp)
  12064. 4ac10: 802b883a mov r21,r16
  12065. 4ac14: dc002717 ldw r16,156(sp)
  12066. 4ac18: d9402317 ldw r5,140(sp)
  12067. 4ac1c: a885883a add r2,r21,r2
  12068. 4ac20: 45400115 stw r21,4(r8)
  12069. 4ac24: 41400015 stw r5,0(r8)
  12070. 4ac28: d8801c15 stw r2,112(sp)
  12071. 4ac2c: d9001b15 stw r4,108(sp)
  12072. 4ac30: 014001c4 movi r5,7
  12073. 4ac34: 29026216 blt r5,r4,4b5c0 <___vfiprintf_internal_r+0xe88>
  12074. 4ac38: d9801d87 ldb r6,118(sp)
  12075. 4ac3c: 42000204 addi r8,r8,8
  12076. 4ac40: 21400044 addi r5,r4,1
  12077. 4ac44: 3001ae1e bne r6,zero,4b300 <___vfiprintf_internal_r+0xbc8>
  12078. 4ac48: 3801bb26 beq r7,zero,4b338 <___vfiprintf_internal_r+0xc00>
  12079. 4ac4c: d9001d04 addi r4,sp,116
  12080. 4ac50: 10800084 addi r2,r2,2
  12081. 4ac54: 41000015 stw r4,0(r8)
  12082. 4ac58: 01000084 movi r4,2
  12083. 4ac5c: 41000115 stw r4,4(r8)
  12084. 4ac60: d8801c15 stw r2,112(sp)
  12085. 4ac64: d9401b15 stw r5,108(sp)
  12086. 4ac68: 010001c4 movi r4,7
  12087. 4ac6c: 2142680e bge r4,r5,4b610 <___vfiprintf_internal_r+0xed8>
  12088. 4ac70: 1002b11e bne r2,zero,4b738 <___vfiprintf_internal_r+0x1000>
  12089. 4ac74: 01802004 movi r6,128
  12090. 4ac78: 01400044 movi r5,1
  12091. 4ac7c: 0009883a mov r4,zero
  12092. 4ac80: d811883a mov r8,sp
  12093. 4ac84: 1981ae1e bne r3,r6,4b340 <___vfiprintf_internal_r+0xc08>
  12094. 4ac88: d8c02517 ldw r3,148(sp)
  12095. 4ac8c: 1cf9c83a sub fp,r3,r19
  12096. 4ac90: 0701ab0e bge zero,fp,4b340 <___vfiprintf_internal_r+0xc08>
  12097. 4ac94: 05400404 movi r21,16
  12098. 4ac98: af03a90e bge r21,fp,4bb40 <___vfiprintf_internal_r+0x1408>
  12099. 4ac9c: 01400174 movhi r5,5
  12100. 4aca0: 2948a804 addi r5,r5,8864
  12101. 4aca4: d9402315 stw r5,140(sp)
  12102. 4aca8: 01c001c4 movi r7,7
  12103. 4acac: 00000506 br 4acc4 <___vfiprintf_internal_r+0x58c>
  12104. 4acb0: 21800084 addi r6,r4,2
  12105. 4acb4: 42000204 addi r8,r8,8
  12106. 4acb8: 1809883a mov r4,r3
  12107. 4acbc: e73ffc04 addi fp,fp,-16
  12108. 4acc0: af000d0e bge r21,fp,4acf8 <___vfiprintf_internal_r+0x5c0>
  12109. 4acc4: 10800404 addi r2,r2,16
  12110. 4acc8: 20c00044 addi r3,r4,1
  12111. 4accc: 44800015 stw r18,0(r8)
  12112. 4acd0: 45400115 stw r21,4(r8)
  12113. 4acd4: d8801c15 stw r2,112(sp)
  12114. 4acd8: d8c01b15 stw r3,108(sp)
  12115. 4acdc: 38fff40e bge r7,r3,4acb0 <__alt_data_end+0xfffd8cb0>
  12116. 4ace0: 10022b1e bne r2,zero,4b590 <___vfiprintf_internal_r+0xe58>
  12117. 4ace4: e73ffc04 addi fp,fp,-16
  12118. 4ace8: 01800044 movi r6,1
  12119. 4acec: 0009883a mov r4,zero
  12120. 4acf0: d811883a mov r8,sp
  12121. 4acf4: af3ff316 blt r21,fp,4acc4 <__alt_data_end+0xfffd8cc4>
  12122. 4acf8: d8c02317 ldw r3,140(sp)
  12123. 4acfc: 1705883a add r2,r2,fp
  12124. 4ad00: 47000115 stw fp,4(r8)
  12125. 4ad04: 40c00015 stw r3,0(r8)
  12126. 4ad08: d8801c15 stw r2,112(sp)
  12127. 4ad0c: d9801b15 stw r6,108(sp)
  12128. 4ad10: 00c001c4 movi r3,7
  12129. 4ad14: 19829416 blt r3,r6,4b768 <___vfiprintf_internal_r+0x1030>
  12130. 4ad18: 8521c83a sub r16,r16,r20
  12131. 4ad1c: 42000204 addi r8,r8,8
  12132. 4ad20: 31400044 addi r5,r6,1
  12133. 4ad24: 3009883a mov r4,r6
  12134. 4ad28: 04018716 blt zero,r16,4b348 <___vfiprintf_internal_r+0xc10>
  12135. 4ad2c: a085883a add r2,r20,r2
  12136. 4ad30: 45c00015 stw r23,0(r8)
  12137. 4ad34: 45000115 stw r20,4(r8)
  12138. 4ad38: d8801c15 stw r2,112(sp)
  12139. 4ad3c: d9401b15 stw r5,108(sp)
  12140. 4ad40: 00c001c4 movi r3,7
  12141. 4ad44: 1941c20e bge r3,r5,4b450 <___vfiprintf_internal_r+0xd18>
  12142. 4ad48: 1002531e bne r2,zero,4b698 <___vfiprintf_internal_r+0xf60>
  12143. 4ad4c: d8001b15 stw zero,108(sp)
  12144. 4ad50: 8c40010c andi r17,r17,4
  12145. 4ad54: 88023226 beq r17,zero,4b620 <___vfiprintf_internal_r+0xee8>
  12146. 4ad58: d9002517 ldw r4,148(sp)
  12147. 4ad5c: 24e3c83a sub r17,r4,r19
  12148. 4ad60: 04432916 blt zero,r17,4ba08 <___vfiprintf_internal_r+0x12d0>
  12149. 4ad64: d8802517 ldw r2,148(sp)
  12150. 4ad68: 14c0010e bge r2,r19,4ad70 <___vfiprintf_internal_r+0x638>
  12151. 4ad6c: 9805883a mov r2,r19
  12152. 4ad70: d8c02417 ldw r3,144(sp)
  12153. 4ad74: 1887883a add r3,r3,r2
  12154. 4ad78: d8c02415 stw r3,144(sp)
  12155. 4ad7c: d8001b15 stw zero,108(sp)
  12156. 4ad80: d811883a mov r8,sp
  12157. 4ad84: 003ea006 br 4a808 <__alt_data_end+0xfffd8808>
  12158. 4ad88: 8c400814 ori r17,r17,32
  12159. 4ad8c: b0c00007 ldb r3,0(r22)
  12160. 4ad90: 003ec606 br 4a8ac <__alt_data_end+0xfffd88ac>
  12161. 4ad94: b0c00007 ldb r3,0(r22)
  12162. 4ad98: 00801b04 movi r2,108
  12163. 4ad9c: 18832026 beq r3,r2,4ba20 <___vfiprintf_internal_r+0x12e8>
  12164. 4ada0: 8c400414 ori r17,r17,16
  12165. 4ada4: 003ec106 br 4a8ac <__alt_data_end+0xfffd88ac>
  12166. 4ada8: 9cc03fcc andi r19,r19,255
  12167. 4adac: b811883a mov r8,r23
  12168. 4adb0: 9803981e bne r19,zero,4bc14 <___vfiprintf_internal_r+0x14dc>
  12169. 4adb4: 8880080c andi r2,r17,32
  12170. 4adb8: 1002be26 beq r2,zero,4b8b4 <___vfiprintf_internal_r+0x117c>
  12171. 4adbc: d9002217 ldw r4,136(sp)
  12172. 4adc0: d9402417 ldw r5,144(sp)
  12173. 4adc4: 20800017 ldw r2,0(r4)
  12174. 4adc8: 2807d7fa srai r3,r5,31
  12175. 4adcc: 21000104 addi r4,r4,4
  12176. 4add0: d9002215 stw r4,136(sp)
  12177. 4add4: 11400015 stw r5,0(r2)
  12178. 4add8: 10c00115 stw r3,4(r2)
  12179. 4addc: 003e8a06 br 4a808 <__alt_data_end+0xfffd8808>
  12180. 4ade0: 9cc03fcc andi r19,r19,255
  12181. 4ade4: b811883a mov r8,r23
  12182. 4ade8: 9803871e bne r19,zero,4bc08 <___vfiprintf_internal_r+0x14d0>
  12183. 4adec: 8880080c andi r2,r17,32
  12184. 4adf0: 10009a26 beq r2,zero,4b05c <___vfiprintf_internal_r+0x924>
  12185. 4adf4: d9002217 ldw r4,136(sp)
  12186. 4adf8: d8001d85 stb zero,118(sp)
  12187. 4adfc: 20800204 addi r2,r4,8
  12188. 4ae00: 24c00017 ldw r19,0(r4)
  12189. 4ae04: 25000117 ldw r20,4(r4)
  12190. 4ae08: 8002a416 blt r16,zero,4b89c <___vfiprintf_internal_r+0x1164>
  12191. 4ae0c: 013fdfc4 movi r4,-129
  12192. 4ae10: 9d06b03a or r3,r19,r20
  12193. 4ae14: d8802215 stw r2,136(sp)
  12194. 4ae18: 8922703a and r17,r17,r4
  12195. 4ae1c: 18009b26 beq r3,zero,4b08c <___vfiprintf_internal_r+0x954>
  12196. 4ae20: 002b883a mov r21,zero
  12197. 4ae24: ddc01a04 addi r23,sp,104
  12198. 4ae28: 9806d0fa srli r3,r19,3
  12199. 4ae2c: a008977a slli r4,r20,29
  12200. 4ae30: a028d0fa srli r20,r20,3
  12201. 4ae34: 9cc001cc andi r19,r19,7
  12202. 4ae38: 98800c04 addi r2,r19,48
  12203. 4ae3c: bdffffc4 addi r23,r23,-1
  12204. 4ae40: 20e6b03a or r19,r4,r3
  12205. 4ae44: b8800005 stb r2,0(r23)
  12206. 4ae48: 9d06b03a or r3,r19,r20
  12207. 4ae4c: 183ff61e bne r3,zero,4ae28 <__alt_data_end+0xfffd8e28>
  12208. 4ae50: 88c0004c andi r3,r17,1
  12209. 4ae54: 18021f1e bne r3,zero,4b6d4 <___vfiprintf_internal_r+0xf9c>
  12210. 4ae58: d9401e17 ldw r5,120(sp)
  12211. 4ae5c: 2de9c83a sub r20,r5,r23
  12212. 4ae60: 003f3806 br 4ab44 <__alt_data_end+0xfffd8b44>
  12213. 4ae64: 9cc03fcc andi r19,r19,255
  12214. 4ae68: b811883a mov r8,r23
  12215. 4ae6c: 98034f1e bne r19,zero,4bbac <___vfiprintf_internal_r+0x1474>
  12216. 4ae70: 00800174 movhi r2,5
  12217. 4ae74: 10884704 addi r2,r2,8476
  12218. 4ae78: d8802615 stw r2,152(sp)
  12219. 4ae7c: 8880080c andi r2,r17,32
  12220. 4ae80: 1000ac26 beq r2,zero,4b134 <___vfiprintf_internal_r+0x9fc>
  12221. 4ae84: d9002217 ldw r4,136(sp)
  12222. 4ae88: 24c00017 ldw r19,0(r4)
  12223. 4ae8c: 25000117 ldw r20,4(r4)
  12224. 4ae90: 21000204 addi r4,r4,8
  12225. 4ae94: d9002215 stw r4,136(sp)
  12226. 4ae98: 8880004c andi r2,r17,1
  12227. 4ae9c: 1001e726 beq r2,zero,4b63c <___vfiprintf_internal_r+0xf04>
  12228. 4aea0: 9d04b03a or r2,r19,r20
  12229. 4aea4: 10025c1e bne r2,zero,4b818 <___vfiprintf_internal_r+0x10e0>
  12230. 4aea8: d8001d85 stb zero,118(sp)
  12231. 4aeac: 80024416 blt r16,zero,4b7c0 <___vfiprintf_internal_r+0x1088>
  12232. 4aeb0: 00bfdfc4 movi r2,-129
  12233. 4aeb4: 88a2703a and r17,r17,r2
  12234. 4aeb8: 003f1d06 br 4ab30 <__alt_data_end+0xfffd8b30>
  12235. 4aebc: d8c02217 ldw r3,136(sp)
  12236. 4aec0: 04c00044 movi r19,1
  12237. 4aec4: b811883a mov r8,r23
  12238. 4aec8: 18800017 ldw r2,0(r3)
  12239. 4aecc: 18c00104 addi r3,r3,4
  12240. 4aed0: d8001d85 stb zero,118(sp)
  12241. 4aed4: d8801005 stb r2,64(sp)
  12242. 4aed8: d8c02215 stw r3,136(sp)
  12243. 4aedc: 9829883a mov r20,r19
  12244. 4aee0: ddc01004 addi r23,sp,64
  12245. 4aee4: 0021883a mov r16,zero
  12246. 4aee8: 003f1e06 br 4ab64 <__alt_data_end+0xfffd8b64>
  12247. 4aeec: 9cc03fcc andi r19,r19,255
  12248. 4aef0: b811883a mov r8,r23
  12249. 4aef4: 9803331e bne r19,zero,4bbc4 <___vfiprintf_internal_r+0x148c>
  12250. 4aef8: 8880080c andi r2,r17,32
  12251. 4aefc: 10004826 beq r2,zero,4b020 <___vfiprintf_internal_r+0x8e8>
  12252. 4af00: d9002217 ldw r4,136(sp)
  12253. 4af04: 20800117 ldw r2,4(r4)
  12254. 4af08: 24c00017 ldw r19,0(r4)
  12255. 4af0c: 21000204 addi r4,r4,8
  12256. 4af10: d9002215 stw r4,136(sp)
  12257. 4af14: 1029883a mov r20,r2
  12258. 4af18: 10024c16 blt r2,zero,4b84c <___vfiprintf_internal_r+0x1114>
  12259. 4af1c: dd401d83 ldbu r21,118(sp)
  12260. 4af20: 80007116 blt r16,zero,4b0e8 <___vfiprintf_internal_r+0x9b0>
  12261. 4af24: 00ffdfc4 movi r3,-129
  12262. 4af28: 9d04b03a or r2,r19,r20
  12263. 4af2c: 88e2703a and r17,r17,r3
  12264. 4af30: 1000d126 beq r2,zero,4b278 <___vfiprintf_internal_r+0xb40>
  12265. 4af34: a0023526 beq r20,zero,4b80c <___vfiprintf_internal_r+0x10d4>
  12266. 4af38: ddc01a04 addi r23,sp,104
  12267. 4af3c: 4039883a mov fp,r8
  12268. 4af40: 9809883a mov r4,r19
  12269. 4af44: a00b883a mov r5,r20
  12270. 4af48: 01800284 movi r6,10
  12271. 4af4c: 000f883a mov r7,zero
  12272. 4af50: 004cc640 call 4cc64 <__umoddi3>
  12273. 4af54: 10800c04 addi r2,r2,48
  12274. 4af58: bdffffc4 addi r23,r23,-1
  12275. 4af5c: 9809883a mov r4,r19
  12276. 4af60: a00b883a mov r5,r20
  12277. 4af64: b8800005 stb r2,0(r23)
  12278. 4af68: 01800284 movi r6,10
  12279. 4af6c: 000f883a mov r7,zero
  12280. 4af70: 004c6680 call 4c668 <__udivdi3>
  12281. 4af74: 1027883a mov r19,r2
  12282. 4af78: 10c4b03a or r2,r2,r3
  12283. 4af7c: 1829883a mov r20,r3
  12284. 4af80: 103fef1e bne r2,zero,4af40 <__alt_data_end+0xfffd8f40>
  12285. 4af84: d9001e17 ldw r4,120(sp)
  12286. 4af88: e011883a mov r8,fp
  12287. 4af8c: 25e9c83a sub r20,r4,r23
  12288. 4af90: 003eec06 br 4ab44 <__alt_data_end+0xfffd8b44>
  12289. 4af94: d8802307 ldb r2,140(sp)
  12290. 4af98: 1002361e bne r2,zero,4b874 <___vfiprintf_internal_r+0x113c>
  12291. 4af9c: 00c00804 movi r3,32
  12292. 4afa0: d8c02305 stb r3,140(sp)
  12293. 4afa4: 04c00044 movi r19,1
  12294. 4afa8: b0c00007 ldb r3,0(r22)
  12295. 4afac: 003e3f06 br 4a8ac <__alt_data_end+0xfffd88ac>
  12296. 4afb0: 8c400054 ori r17,r17,1
  12297. 4afb4: b0c00007 ldb r3,0(r22)
  12298. 4afb8: 003e3c06 br 4a8ac <__alt_data_end+0xfffd88ac>
  12299. 4afbc: 8c402014 ori r17,r17,128
  12300. 4afc0: b0c00007 ldb r3,0(r22)
  12301. 4afc4: 003e3906 br 4a8ac <__alt_data_end+0xfffd88ac>
  12302. 4afc8: dc002715 stw r16,156(sp)
  12303. 4afcc: d8002515 stw zero,148(sp)
  12304. 4afd0: 1f3ff404 addi fp,r3,-48
  12305. 4afd4: 0009883a mov r4,zero
  12306. 4afd8: b021883a mov r16,r22
  12307. 4afdc: 01400284 movi r5,10
  12308. 4afe0: 004d3dc0 call 4d3dc <__mulsi3>
  12309. 4afe4: 80c00007 ldb r3,0(r16)
  12310. 4afe8: e089883a add r4,fp,r2
  12311. 4afec: b5800044 addi r22,r22,1
  12312. 4aff0: 1f3ff404 addi fp,r3,-48
  12313. 4aff4: b021883a mov r16,r22
  12314. 4aff8: af3ff82e bgeu r21,fp,4afdc <__alt_data_end+0xfffd8fdc>
  12315. 4affc: d9002515 stw r4,148(sp)
  12316. 4b000: dc002717 ldw r16,156(sp)
  12317. 4b004: 003e2a06 br 4a8b0 <__alt_data_end+0xfffd88b0>
  12318. 4b008: 9cc03fcc andi r19,r19,255
  12319. 4b00c: b811883a mov r8,r23
  12320. 4b010: 9802e91e bne r19,zero,4bbb8 <___vfiprintf_internal_r+0x1480>
  12321. 4b014: 8c400414 ori r17,r17,16
  12322. 4b018: 8880080c andi r2,r17,32
  12323. 4b01c: 103fb81e bne r2,zero,4af00 <__alt_data_end+0xfffd8f00>
  12324. 4b020: 8880040c andi r2,r17,16
  12325. 4b024: 10022e26 beq r2,zero,4b8e0 <___vfiprintf_internal_r+0x11a8>
  12326. 4b028: d9402217 ldw r5,136(sp)
  12327. 4b02c: 2cc00017 ldw r19,0(r5)
  12328. 4b030: 29400104 addi r5,r5,4
  12329. 4b034: d9402215 stw r5,136(sp)
  12330. 4b038: 9829d7fa srai r20,r19,31
  12331. 4b03c: a005883a mov r2,r20
  12332. 4b040: 003fb506 br 4af18 <__alt_data_end+0xfffd8f18>
  12333. 4b044: 9cc03fcc andi r19,r19,255
  12334. 4b048: b811883a mov r8,r23
  12335. 4b04c: 9802fa1e bne r19,zero,4bc38 <___vfiprintf_internal_r+0x1500>
  12336. 4b050: 8c400414 ori r17,r17,16
  12337. 4b054: 8880080c andi r2,r17,32
  12338. 4b058: 103f661e bne r2,zero,4adf4 <__alt_data_end+0xfffd8df4>
  12339. 4b05c: 8880040c andi r2,r17,16
  12340. 4b060: 10020626 beq r2,zero,4b87c <___vfiprintf_internal_r+0x1144>
  12341. 4b064: d9402217 ldw r5,136(sp)
  12342. 4b068: d8001d85 stb zero,118(sp)
  12343. 4b06c: 0029883a mov r20,zero
  12344. 4b070: 28800104 addi r2,r5,4
  12345. 4b074: 2cc00017 ldw r19,0(r5)
  12346. 4b078: 80020816 blt r16,zero,4b89c <___vfiprintf_internal_r+0x1164>
  12347. 4b07c: 00ffdfc4 movi r3,-129
  12348. 4b080: d8802215 stw r2,136(sp)
  12349. 4b084: 88e2703a and r17,r17,r3
  12350. 4b088: 983f651e bne r19,zero,4ae20 <__alt_data_end+0xfffd8e20>
  12351. 4b08c: 002b883a mov r21,zero
  12352. 4b090: 8002cf26 beq r16,zero,4bbd0 <___vfiprintf_internal_r+0x1498>
  12353. 4b094: 0027883a mov r19,zero
  12354. 4b098: 0029883a mov r20,zero
  12355. 4b09c: 003f6106 br 4ae24 <__alt_data_end+0xfffd8e24>
  12356. 4b0a0: 9cc03fcc andi r19,r19,255
  12357. 4b0a4: b811883a mov r8,r23
  12358. 4b0a8: 9802e01e bne r19,zero,4bc2c <___vfiprintf_internal_r+0x14f4>
  12359. 4b0ac: 8c400414 ori r17,r17,16
  12360. 4b0b0: 8880080c andi r2,r17,32
  12361. 4b0b4: 1000641e bne r2,zero,4b248 <___vfiprintf_internal_r+0xb10>
  12362. 4b0b8: 8880040c andi r2,r17,16
  12363. 4b0bc: 1001c81e bne r2,zero,4b7e0 <___vfiprintf_internal_r+0x10a8>
  12364. 4b0c0: 8880100c andi r2,r17,64
  12365. 4b0c4: d8001d85 stb zero,118(sp)
  12366. 4b0c8: 1002281e bne r2,zero,4b96c <___vfiprintf_internal_r+0x1234>
  12367. 4b0cc: d9002217 ldw r4,136(sp)
  12368. 4b0d0: 0029883a mov r20,zero
  12369. 4b0d4: 20800104 addi r2,r4,4
  12370. 4b0d8: 24c00017 ldw r19,0(r4)
  12371. 4b0dc: 8001c60e bge r16,zero,4b7f8 <___vfiprintf_internal_r+0x10c0>
  12372. 4b0e0: d8802215 stw r2,136(sp)
  12373. 4b0e4: 002b883a mov r21,zero
  12374. 4b0e8: 9d04b03a or r2,r19,r20
  12375. 4b0ec: 103f911e bne r2,zero,4af34 <__alt_data_end+0xfffd8f34>
  12376. 4b0f0: 00800044 movi r2,1
  12377. 4b0f4: 10803fcc andi r2,r2,255
  12378. 4b0f8: 00c00044 movi r3,1
  12379. 4b0fc: 10c05f26 beq r2,r3,4b27c <___vfiprintf_internal_r+0xb44>
  12380. 4b100: 00c00084 movi r3,2
  12381. 4b104: 10ffe31e bne r2,r3,4b094 <__alt_data_end+0xfffd9094>
  12382. 4b108: 0027883a mov r19,zero
  12383. 4b10c: 0029883a mov r20,zero
  12384. 4b110: 00015106 br 4b658 <___vfiprintf_internal_r+0xf20>
  12385. 4b114: 9cc03fcc andi r19,r19,255
  12386. 4b118: b811883a mov r8,r23
  12387. 4b11c: 9802c01e bne r19,zero,4bc20 <___vfiprintf_internal_r+0x14e8>
  12388. 4b120: 01400174 movhi r5,5
  12389. 4b124: 29484204 addi r5,r5,8456
  12390. 4b128: d9402615 stw r5,152(sp)
  12391. 4b12c: 8880080c andi r2,r17,32
  12392. 4b130: 103f541e bne r2,zero,4ae84 <__alt_data_end+0xfffd8e84>
  12393. 4b134: 8880040c andi r2,r17,16
  12394. 4b138: 1001f226 beq r2,zero,4b904 <___vfiprintf_internal_r+0x11cc>
  12395. 4b13c: d9402217 ldw r5,136(sp)
  12396. 4b140: 0029883a mov r20,zero
  12397. 4b144: 2cc00017 ldw r19,0(r5)
  12398. 4b148: 29400104 addi r5,r5,4
  12399. 4b14c: d9402215 stw r5,136(sp)
  12400. 4b150: 003f5106 br 4ae98 <__alt_data_end+0xfffd8e98>
  12401. 4b154: d8c02217 ldw r3,136(sp)
  12402. 4b158: b811883a mov r8,r23
  12403. 4b15c: d8001d85 stb zero,118(sp)
  12404. 4b160: 1dc00017 ldw r23,0(r3)
  12405. 4b164: 1f000104 addi fp,r3,4
  12406. 4b168: b8025926 beq r23,zero,4bad0 <___vfiprintf_internal_r+0x1398>
  12407. 4b16c: 80023316 blt r16,zero,4ba3c <___vfiprintf_internal_r+0x1304>
  12408. 4b170: 800d883a mov r6,r16
  12409. 4b174: 000b883a mov r5,zero
  12410. 4b178: b809883a mov r4,r23
  12411. 4b17c: da002a15 stw r8,168(sp)
  12412. 4b180: 00487100 call 48710 <memchr>
  12413. 4b184: da002a17 ldw r8,168(sp)
  12414. 4b188: 10026826 beq r2,zero,4bb2c <___vfiprintf_internal_r+0x13f4>
  12415. 4b18c: 15e9c83a sub r20,r2,r23
  12416. 4b190: dd401d83 ldbu r21,118(sp)
  12417. 4b194: df002215 stw fp,136(sp)
  12418. 4b198: 0021883a mov r16,zero
  12419. 4b19c: 003e6906 br 4ab44 <__alt_data_end+0xfffd8b44>
  12420. 4b1a0: 9cc03fcc andi r19,r19,255
  12421. 4b1a4: b811883a mov r8,r23
  12422. 4b1a8: 983fc126 beq r19,zero,4b0b0 <__alt_data_end+0xfffd90b0>
  12423. 4b1ac: d8c02303 ldbu r3,140(sp)
  12424. 4b1b0: d8c01d85 stb r3,118(sp)
  12425. 4b1b4: 003fbe06 br 4b0b0 <__alt_data_end+0xfffd90b0>
  12426. 4b1b8: d9002217 ldw r4,136(sp)
  12427. 4b1bc: d9402217 ldw r5,136(sp)
  12428. 4b1c0: 21000017 ldw r4,0(r4)
  12429. 4b1c4: 28800104 addi r2,r5,4
  12430. 4b1c8: d9002515 stw r4,148(sp)
  12431. 4b1cc: 203e3d16 blt r4,zero,4aac4 <__alt_data_end+0xfffd8ac4>
  12432. 4b1d0: d8802215 stw r2,136(sp)
  12433. 4b1d4: b0c00007 ldb r3,0(r22)
  12434. 4b1d8: 003db406 br 4a8ac <__alt_data_end+0xfffd88ac>
  12435. 4b1dc: 00c00ac4 movi r3,43
  12436. 4b1e0: d8c02305 stb r3,140(sp)
  12437. 4b1e4: 04c00044 movi r19,1
  12438. 4b1e8: b0c00007 ldb r3,0(r22)
  12439. 4b1ec: 003daf06 br 4a8ac <__alt_data_end+0xfffd88ac>
  12440. 4b1f0: b0c00007 ldb r3,0(r22)
  12441. 4b1f4: 01000a84 movi r4,42
  12442. 4b1f8: b4000044 addi r16,r22,1
  12443. 4b1fc: 19025e26 beq r3,r4,4bb78 <___vfiprintf_internal_r+0x1440>
  12444. 4b200: 1f3ff404 addi fp,r3,-48
  12445. 4b204: 0009883a mov r4,zero
  12446. 4b208: af025236 bltu r21,fp,4bb54 <___vfiprintf_internal_r+0x141c>
  12447. 4b20c: 01400284 movi r5,10
  12448. 4b210: 004d3dc0 call 4d3dc <__mulsi3>
  12449. 4b214: 80c00007 ldb r3,0(r16)
  12450. 4b218: 1709883a add r4,r2,fp
  12451. 4b21c: 85800044 addi r22,r16,1
  12452. 4b220: 1f3ff404 addi fp,r3,-48
  12453. 4b224: b021883a mov r16,r22
  12454. 4b228: af3ff82e bgeu r21,fp,4b20c <__alt_data_end+0xfffd920c>
  12455. 4b22c: 2021883a mov r16,r4
  12456. 4b230: 203d9f0e bge r4,zero,4a8b0 <__alt_data_end+0xfffd88b0>
  12457. 4b234: 043fffc4 movi r16,-1
  12458. 4b238: 003d9d06 br 4a8b0 <__alt_data_end+0xfffd88b0>
  12459. 4b23c: 8c401014 ori r17,r17,64
  12460. 4b240: b0c00007 ldb r3,0(r22)
  12461. 4b244: 003d9906 br 4a8ac <__alt_data_end+0xfffd88ac>
  12462. 4b248: d9002217 ldw r4,136(sp)
  12463. 4b24c: d8001d85 stb zero,118(sp)
  12464. 4b250: 20c00204 addi r3,r4,8
  12465. 4b254: 24c00017 ldw r19,0(r4)
  12466. 4b258: 25000117 ldw r20,4(r4)
  12467. 4b25c: 8001e716 blt r16,zero,4b9fc <___vfiprintf_internal_r+0x12c4>
  12468. 4b260: 013fdfc4 movi r4,-129
  12469. 4b264: 9d04b03a or r2,r19,r20
  12470. 4b268: d8c02215 stw r3,136(sp)
  12471. 4b26c: 8922703a and r17,r17,r4
  12472. 4b270: 002b883a mov r21,zero
  12473. 4b274: 103f2f1e bne r2,zero,4af34 <__alt_data_end+0xfffd8f34>
  12474. 4b278: 803e2f26 beq r16,zero,4ab38 <__alt_data_end+0xfffd8b38>
  12475. 4b27c: 0027883a mov r19,zero
  12476. 4b280: 9cc00c04 addi r19,r19,48
  12477. 4b284: dcc019c5 stb r19,103(sp)
  12478. 4b288: dd002817 ldw r20,160(sp)
  12479. 4b28c: ddc019c4 addi r23,sp,103
  12480. 4b290: 003e2c06 br 4ab44 <__alt_data_end+0xfffd8b44>
  12481. 4b294: 9cc03fcc andi r19,r19,255
  12482. 4b298: b811883a mov r8,r23
  12483. 4b29c: 9802571e bne r19,zero,4bbfc <___vfiprintf_internal_r+0x14c4>
  12484. 4b2a0: 18005726 beq r3,zero,4b400 <___vfiprintf_internal_r+0xcc8>
  12485. 4b2a4: 04c00044 movi r19,1
  12486. 4b2a8: d8c01005 stb r3,64(sp)
  12487. 4b2ac: d8001d85 stb zero,118(sp)
  12488. 4b2b0: 9829883a mov r20,r19
  12489. 4b2b4: ddc01004 addi r23,sp,64
  12490. 4b2b8: 003f0a06 br 4aee4 <__alt_data_end+0xfffd8ee4>
  12491. 4b2bc: d9402017 ldw r5,128(sp)
  12492. 4b2c0: d9002117 ldw r4,132(sp)
  12493. 4b2c4: d9801a04 addi r6,sp,104
  12494. 4b2c8: da802a15 stw r10,168(sp)
  12495. 4b2cc: 004a6240 call 4a624 <__sprint_r.part.0>
  12496. 4b2d0: da802a17 ldw r10,168(sp)
  12497. 4b2d4: 1000501e bne r2,zero,4b418 <___vfiprintf_internal_r+0xce0>
  12498. 4b2d8: d9801b17 ldw r6,108(sp)
  12499. 4b2dc: d8801c17 ldw r2,112(sp)
  12500. 4b2e0: d811883a mov r8,sp
  12501. 4b2e4: 31000044 addi r4,r6,1
  12502. 4b2e8: 003e3606 br 4abc4 <__alt_data_end+0xfffd8bc4>
  12503. 4b2ec: d9001b17 ldw r4,108(sp)
  12504. 4b2f0: d8801c17 ldw r2,112(sp)
  12505. 4b2f4: 21400044 addi r5,r4,1
  12506. 4b2f8: d9801d87 ldb r6,118(sp)
  12507. 4b2fc: 303e5226 beq r6,zero,4ac48 <__alt_data_end+0xfffd8c48>
  12508. 4b300: 01800044 movi r6,1
  12509. 4b304: d9001d84 addi r4,sp,118
  12510. 4b308: 1185883a add r2,r2,r6
  12511. 4b30c: 41000015 stw r4,0(r8)
  12512. 4b310: 41800115 stw r6,4(r8)
  12513. 4b314: d8801c15 stw r2,112(sp)
  12514. 4b318: d9401b15 stw r5,108(sp)
  12515. 4b31c: 010001c4 movi r4,7
  12516. 4b320: 2140b00e bge r4,r5,4b5e4 <___vfiprintf_internal_r+0xeac>
  12517. 4b324: 1000f61e bne r2,zero,4b700 <___vfiprintf_internal_r+0xfc8>
  12518. 4b328: 3800b31e bne r7,zero,4b5f8 <___vfiprintf_internal_r+0xec0>
  12519. 4b32c: 0009883a mov r4,zero
  12520. 4b330: 300b883a mov r5,r6
  12521. 4b334: d811883a mov r8,sp
  12522. 4b338: 01802004 movi r6,128
  12523. 4b33c: 19be5226 beq r3,r6,4ac88 <__alt_data_end+0xfffd8c88>
  12524. 4b340: 8521c83a sub r16,r16,r20
  12525. 4b344: 043e790e bge zero,r16,4ad2c <__alt_data_end+0xfffd8d2c>
  12526. 4b348: 05400404 movi r21,16
  12527. 4b34c: ac01b00e bge r21,r16,4ba10 <___vfiprintf_internal_r+0x12d8>
  12528. 4b350: 01400174 movhi r5,5
  12529. 4b354: 2948a804 addi r5,r5,8864
  12530. 4b358: d9402315 stw r5,140(sp)
  12531. 4b35c: 070001c4 movi fp,7
  12532. 4b360: 00000506 br 4b378 <___vfiprintf_internal_r+0xc40>
  12533. 4b364: 21400084 addi r5,r4,2
  12534. 4b368: 42000204 addi r8,r8,8
  12535. 4b36c: 1809883a mov r4,r3
  12536. 4b370: 843ffc04 addi r16,r16,-16
  12537. 4b374: ac000d0e bge r21,r16,4b3ac <___vfiprintf_internal_r+0xc74>
  12538. 4b378: 10800404 addi r2,r2,16
  12539. 4b37c: 20c00044 addi r3,r4,1
  12540. 4b380: 44800015 stw r18,0(r8)
  12541. 4b384: 45400115 stw r21,4(r8)
  12542. 4b388: d8801c15 stw r2,112(sp)
  12543. 4b38c: d8c01b15 stw r3,108(sp)
  12544. 4b390: e0fff40e bge fp,r3,4b364 <__alt_data_end+0xfffd9364>
  12545. 4b394: 1000101e bne r2,zero,4b3d8 <___vfiprintf_internal_r+0xca0>
  12546. 4b398: 843ffc04 addi r16,r16,-16
  12547. 4b39c: 01400044 movi r5,1
  12548. 4b3a0: 0009883a mov r4,zero
  12549. 4b3a4: d811883a mov r8,sp
  12550. 4b3a8: ac3ff316 blt r21,r16,4b378 <__alt_data_end+0xfffd9378>
  12551. 4b3ac: d8c02317 ldw r3,140(sp)
  12552. 4b3b0: 1405883a add r2,r2,r16
  12553. 4b3b4: 44000115 stw r16,4(r8)
  12554. 4b3b8: 40c00015 stw r3,0(r8)
  12555. 4b3bc: d8801c15 stw r2,112(sp)
  12556. 4b3c0: d9401b15 stw r5,108(sp)
  12557. 4b3c4: 00c001c4 movi r3,7
  12558. 4b3c8: 19401916 blt r3,r5,4b430 <___vfiprintf_internal_r+0xcf8>
  12559. 4b3cc: 42000204 addi r8,r8,8
  12560. 4b3d0: 29400044 addi r5,r5,1
  12561. 4b3d4: 003e5506 br 4ad2c <__alt_data_end+0xfffd8d2c>
  12562. 4b3d8: d9402017 ldw r5,128(sp)
  12563. 4b3dc: d9002117 ldw r4,132(sp)
  12564. 4b3e0: d9801a04 addi r6,sp,104
  12565. 4b3e4: 004a6240 call 4a624 <__sprint_r.part.0>
  12566. 4b3e8: 10000b1e bne r2,zero,4b418 <___vfiprintf_internal_r+0xce0>
  12567. 4b3ec: d9001b17 ldw r4,108(sp)
  12568. 4b3f0: d8801c17 ldw r2,112(sp)
  12569. 4b3f4: d811883a mov r8,sp
  12570. 4b3f8: 21400044 addi r5,r4,1
  12571. 4b3fc: 003fdc06 br 4b370 <__alt_data_end+0xfffd9370>
  12572. 4b400: d8801c17 ldw r2,112(sp)
  12573. 4b404: 10000426 beq r2,zero,4b418 <___vfiprintf_internal_r+0xce0>
  12574. 4b408: d9402017 ldw r5,128(sp)
  12575. 4b40c: d9002117 ldw r4,132(sp)
  12576. 4b410: d9801a04 addi r6,sp,104
  12577. 4b414: 004a6240 call 4a624 <__sprint_r.part.0>
  12578. 4b418: d9402017 ldw r5,128(sp)
  12579. 4b41c: 2880030b ldhu r2,12(r5)
  12580. 4b420: 1080100c andi r2,r2,64
  12581. 4b424: 10014d1e bne r2,zero,4b95c <___vfiprintf_internal_r+0x1224>
  12582. 4b428: d8802417 ldw r2,144(sp)
  12583. 4b42c: 003d9706 br 4aa8c <__alt_data_end+0xfffd8a8c>
  12584. 4b430: 1000d21e bne r2,zero,4b77c <___vfiprintf_internal_r+0x1044>
  12585. 4b434: 00c00044 movi r3,1
  12586. 4b438: a005883a mov r2,r20
  12587. 4b43c: ddc00015 stw r23,0(sp)
  12588. 4b440: dd000115 stw r20,4(sp)
  12589. 4b444: dd001c15 stw r20,112(sp)
  12590. 4b448: d8c01b15 stw r3,108(sp)
  12591. 4b44c: d811883a mov r8,sp
  12592. 4b450: 42000204 addi r8,r8,8
  12593. 4b454: 8c40010c andi r17,r17,4
  12594. 4b458: 88004026 beq r17,zero,4b55c <___vfiprintf_internal_r+0xe24>
  12595. 4b45c: d9002517 ldw r4,148(sp)
  12596. 4b460: 24e3c83a sub r17,r4,r19
  12597. 4b464: 04403d0e bge zero,r17,4b55c <___vfiprintf_internal_r+0xe24>
  12598. 4b468: 04000404 movi r16,16
  12599. 4b46c: 8441a90e bge r16,r17,4bb14 <___vfiprintf_internal_r+0x13dc>
  12600. 4b470: 00c00174 movhi r3,5
  12601. 4b474: 18c8ac04 addi r3,r3,8880
  12602. 4b478: d9001b17 ldw r4,108(sp)
  12603. 4b47c: d8c02315 stw r3,140(sp)
  12604. 4b480: 050001c4 movi r20,7
  12605. 4b484: dd402117 ldw r21,132(sp)
  12606. 4b488: ddc02017 ldw r23,128(sp)
  12607. 4b48c: 00000506 br 4b4a4 <___vfiprintf_internal_r+0xd6c>
  12608. 4b490: 21400084 addi r5,r4,2
  12609. 4b494: 42000204 addi r8,r8,8
  12610. 4b498: 1809883a mov r4,r3
  12611. 4b49c: 8c7ffc04 addi r17,r17,-16
  12612. 4b4a0: 84400f0e bge r16,r17,4b4e0 <___vfiprintf_internal_r+0xda8>
  12613. 4b4a4: 01400174 movhi r5,5
  12614. 4b4a8: 10800404 addi r2,r2,16
  12615. 4b4ac: 20c00044 addi r3,r4,1
  12616. 4b4b0: 2948ac04 addi r5,r5,8880
  12617. 4b4b4: 41400015 stw r5,0(r8)
  12618. 4b4b8: 44000115 stw r16,4(r8)
  12619. 4b4bc: d8801c15 stw r2,112(sp)
  12620. 4b4c0: d8c01b15 stw r3,108(sp)
  12621. 4b4c4: a0fff20e bge r20,r3,4b490 <__alt_data_end+0xfffd9490>
  12622. 4b4c8: 1000141e bne r2,zero,4b51c <___vfiprintf_internal_r+0xde4>
  12623. 4b4cc: 8c7ffc04 addi r17,r17,-16
  12624. 4b4d0: 01400044 movi r5,1
  12625. 4b4d4: 0009883a mov r4,zero
  12626. 4b4d8: d811883a mov r8,sp
  12627. 4b4dc: 847ff116 blt r16,r17,4b4a4 <__alt_data_end+0xfffd94a4>
  12628. 4b4e0: d8c02317 ldw r3,140(sp)
  12629. 4b4e4: 1445883a add r2,r2,r17
  12630. 4b4e8: 44400115 stw r17,4(r8)
  12631. 4b4ec: 40c00015 stw r3,0(r8)
  12632. 4b4f0: d8801c15 stw r2,112(sp)
  12633. 4b4f4: d9401b15 stw r5,108(sp)
  12634. 4b4f8: 00c001c4 movi r3,7
  12635. 4b4fc: 1940170e bge r3,r5,4b55c <___vfiprintf_internal_r+0xe24>
  12636. 4b500: 1000101e bne r2,zero,4b544 <___vfiprintf_internal_r+0xe0c>
  12637. 4b504: d8802517 ldw r2,148(sp)
  12638. 4b508: 14c11616 blt r2,r19,4b964 <___vfiprintf_internal_r+0x122c>
  12639. 4b50c: d9002417 ldw r4,144(sp)
  12640. 4b510: 2089883a add r4,r4,r2
  12641. 4b514: d9002415 stw r4,144(sp)
  12642. 4b518: 003e1806 br 4ad7c <__alt_data_end+0xfffd8d7c>
  12643. 4b51c: d9801a04 addi r6,sp,104
  12644. 4b520: b80b883a mov r5,r23
  12645. 4b524: a809883a mov r4,r21
  12646. 4b528: 004a6240 call 4a624 <__sprint_r.part.0>
  12647. 4b52c: 103fba1e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12648. 4b530: d9001b17 ldw r4,108(sp)
  12649. 4b534: d8801c17 ldw r2,112(sp)
  12650. 4b538: d811883a mov r8,sp
  12651. 4b53c: 21400044 addi r5,r4,1
  12652. 4b540: 003fd606 br 4b49c <__alt_data_end+0xfffd949c>
  12653. 4b544: d9402017 ldw r5,128(sp)
  12654. 4b548: d9002117 ldw r4,132(sp)
  12655. 4b54c: d9801a04 addi r6,sp,104
  12656. 4b550: 004a6240 call 4a624 <__sprint_r.part.0>
  12657. 4b554: 103fb01e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12658. 4b558: d8801c17 ldw r2,112(sp)
  12659. 4b55c: d8c02517 ldw r3,148(sp)
  12660. 4b560: 1cc0010e bge r3,r19,4b568 <___vfiprintf_internal_r+0xe30>
  12661. 4b564: 9807883a mov r3,r19
  12662. 4b568: d9002417 ldw r4,144(sp)
  12663. 4b56c: 20c9883a add r4,r4,r3
  12664. 4b570: d9002415 stw r4,144(sp)
  12665. 4b574: 103e0126 beq r2,zero,4ad7c <__alt_data_end+0xfffd8d7c>
  12666. 4b578: d9402017 ldw r5,128(sp)
  12667. 4b57c: d9002117 ldw r4,132(sp)
  12668. 4b580: d9801a04 addi r6,sp,104
  12669. 4b584: 004a6240 call 4a624 <__sprint_r.part.0>
  12670. 4b588: 103dfc26 beq r2,zero,4ad7c <__alt_data_end+0xfffd8d7c>
  12671. 4b58c: 003fa206 br 4b418 <__alt_data_end+0xfffd9418>
  12672. 4b590: d9402017 ldw r5,128(sp)
  12673. 4b594: d9002117 ldw r4,132(sp)
  12674. 4b598: d9801a04 addi r6,sp,104
  12675. 4b59c: d9c02b15 stw r7,172(sp)
  12676. 4b5a0: 004a6240 call 4a624 <__sprint_r.part.0>
  12677. 4b5a4: d9c02b17 ldw r7,172(sp)
  12678. 4b5a8: 103f9b1e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12679. 4b5ac: d9001b17 ldw r4,108(sp)
  12680. 4b5b0: d8801c17 ldw r2,112(sp)
  12681. 4b5b4: d811883a mov r8,sp
  12682. 4b5b8: 21800044 addi r6,r4,1
  12683. 4b5bc: 003dbf06 br 4acbc <__alt_data_end+0xfffd8cbc>
  12684. 4b5c0: 1000d81e bne r2,zero,4b924 <___vfiprintf_internal_r+0x11ec>
  12685. 4b5c4: d9001d87 ldb r4,118(sp)
  12686. 4b5c8: 20000a26 beq r4,zero,4b5f4 <___vfiprintf_internal_r+0xebc>
  12687. 4b5cc: 00800044 movi r2,1
  12688. 4b5d0: d9001d84 addi r4,sp,118
  12689. 4b5d4: 100b883a mov r5,r2
  12690. 4b5d8: d9000015 stw r4,0(sp)
  12691. 4b5dc: d8800115 stw r2,4(sp)
  12692. 4b5e0: d811883a mov r8,sp
  12693. 4b5e4: 2809883a mov r4,r5
  12694. 4b5e8: 42000204 addi r8,r8,8
  12695. 4b5ec: 29400044 addi r5,r5,1
  12696. 4b5f0: 003d9506 br 4ac48 <__alt_data_end+0xfffd8c48>
  12697. 4b5f4: 3800fd26 beq r7,zero,4b9ec <___vfiprintf_internal_r+0x12b4>
  12698. 4b5f8: 00800084 movi r2,2
  12699. 4b5fc: d9001d04 addi r4,sp,116
  12700. 4b600: d9000015 stw r4,0(sp)
  12701. 4b604: d8800115 stw r2,4(sp)
  12702. 4b608: 01400044 movi r5,1
  12703. 4b60c: d811883a mov r8,sp
  12704. 4b610: 2809883a mov r4,r5
  12705. 4b614: 42000204 addi r8,r8,8
  12706. 4b618: 29400044 addi r5,r5,1
  12707. 4b61c: 003f4606 br 4b338 <__alt_data_end+0xfffd9338>
  12708. 4b620: d8802517 ldw r2,148(sp)
  12709. 4b624: 14c0010e bge r2,r19,4b62c <___vfiprintf_internal_r+0xef4>
  12710. 4b628: 9805883a mov r2,r19
  12711. 4b62c: d9402417 ldw r5,144(sp)
  12712. 4b630: 288b883a add r5,r5,r2
  12713. 4b634: d9402415 stw r5,144(sp)
  12714. 4b638: 003dd006 br 4ad7c <__alt_data_end+0xfffd8d7c>
  12715. 4b63c: d8001d85 stb zero,118(sp)
  12716. 4b640: 80005d16 blt r16,zero,4b7b8 <___vfiprintf_internal_r+0x1080>
  12717. 4b644: 00ffdfc4 movi r3,-129
  12718. 4b648: 9d04b03a or r2,r19,r20
  12719. 4b64c: 88e2703a and r17,r17,r3
  12720. 4b650: 103d3726 beq r2,zero,4ab30 <__alt_data_end+0xfffd8b30>
  12721. 4b654: 002b883a mov r21,zero
  12722. 4b658: d9002617 ldw r4,152(sp)
  12723. 4b65c: ddc01a04 addi r23,sp,104
  12724. 4b660: 988003cc andi r2,r19,15
  12725. 4b664: a006973a slli r3,r20,28
  12726. 4b668: 2085883a add r2,r4,r2
  12727. 4b66c: 9826d13a srli r19,r19,4
  12728. 4b670: 10800003 ldbu r2,0(r2)
  12729. 4b674: a028d13a srli r20,r20,4
  12730. 4b678: bdffffc4 addi r23,r23,-1
  12731. 4b67c: 1ce6b03a or r19,r3,r19
  12732. 4b680: b8800005 stb r2,0(r23)
  12733. 4b684: 9d04b03a or r2,r19,r20
  12734. 4b688: 103ff51e bne r2,zero,4b660 <__alt_data_end+0xfffd9660>
  12735. 4b68c: d8801e17 ldw r2,120(sp)
  12736. 4b690: 15e9c83a sub r20,r2,r23
  12737. 4b694: 003d2b06 br 4ab44 <__alt_data_end+0xfffd8b44>
  12738. 4b698: d9402017 ldw r5,128(sp)
  12739. 4b69c: d9002117 ldw r4,132(sp)
  12740. 4b6a0: d9801a04 addi r6,sp,104
  12741. 4b6a4: 004a6240 call 4a624 <__sprint_r.part.0>
  12742. 4b6a8: 103f5b1e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12743. 4b6ac: d8801c17 ldw r2,112(sp)
  12744. 4b6b0: d811883a mov r8,sp
  12745. 4b6b4: 003f6706 br 4b454 <__alt_data_end+0xfffd9454>
  12746. 4b6b8: d9402017 ldw r5,128(sp)
  12747. 4b6bc: d9002117 ldw r4,132(sp)
  12748. 4b6c0: d9801a04 addi r6,sp,104
  12749. 4b6c4: 004a6240 call 4a624 <__sprint_r.part.0>
  12750. 4b6c8: 103f531e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12751. 4b6cc: d811883a mov r8,sp
  12752. 4b6d0: 003cd906 br 4aa38 <__alt_data_end+0xfffd8a38>
  12753. 4b6d4: 10803fcc andi r2,r2,255
  12754. 4b6d8: 1080201c xori r2,r2,128
  12755. 4b6dc: 10bfe004 addi r2,r2,-128
  12756. 4b6e0: 00c00c04 movi r3,48
  12757. 4b6e4: 10ffe926 beq r2,r3,4b68c <__alt_data_end+0xfffd968c>
  12758. 4b6e8: b8ffffc5 stb r3,-1(r23)
  12759. 4b6ec: d8c01e17 ldw r3,120(sp)
  12760. 4b6f0: b8bfffc4 addi r2,r23,-1
  12761. 4b6f4: 102f883a mov r23,r2
  12762. 4b6f8: 18a9c83a sub r20,r3,r2
  12763. 4b6fc: 003d1106 br 4ab44 <__alt_data_end+0xfffd8b44>
  12764. 4b700: d9402017 ldw r5,128(sp)
  12765. 4b704: d9002117 ldw r4,132(sp)
  12766. 4b708: d9801a04 addi r6,sp,104
  12767. 4b70c: d8c02a15 stw r3,168(sp)
  12768. 4b710: d9c02b15 stw r7,172(sp)
  12769. 4b714: 004a6240 call 4a624 <__sprint_r.part.0>
  12770. 4b718: d8c02a17 ldw r3,168(sp)
  12771. 4b71c: d9c02b17 ldw r7,172(sp)
  12772. 4b720: 103f3d1e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12773. 4b724: d9001b17 ldw r4,108(sp)
  12774. 4b728: d8801c17 ldw r2,112(sp)
  12775. 4b72c: d811883a mov r8,sp
  12776. 4b730: 21400044 addi r5,r4,1
  12777. 4b734: 003d4406 br 4ac48 <__alt_data_end+0xfffd8c48>
  12778. 4b738: d9402017 ldw r5,128(sp)
  12779. 4b73c: d9002117 ldw r4,132(sp)
  12780. 4b740: d9801a04 addi r6,sp,104
  12781. 4b744: d8c02a15 stw r3,168(sp)
  12782. 4b748: 004a6240 call 4a624 <__sprint_r.part.0>
  12783. 4b74c: d8c02a17 ldw r3,168(sp)
  12784. 4b750: 103f311e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12785. 4b754: d9001b17 ldw r4,108(sp)
  12786. 4b758: d8801c17 ldw r2,112(sp)
  12787. 4b75c: d811883a mov r8,sp
  12788. 4b760: 21400044 addi r5,r4,1
  12789. 4b764: 003ef406 br 4b338 <__alt_data_end+0xfffd9338>
  12790. 4b768: 1000bd1e bne r2,zero,4ba60 <___vfiprintf_internal_r+0x1328>
  12791. 4b76c: 01400044 movi r5,1
  12792. 4b770: 0009883a mov r4,zero
  12793. 4b774: d811883a mov r8,sp
  12794. 4b778: 003ef106 br 4b340 <__alt_data_end+0xfffd9340>
  12795. 4b77c: d9402017 ldw r5,128(sp)
  12796. 4b780: d9002117 ldw r4,132(sp)
  12797. 4b784: d9801a04 addi r6,sp,104
  12798. 4b788: 004a6240 call 4a624 <__sprint_r.part.0>
  12799. 4b78c: 103f221e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12800. 4b790: d9401b17 ldw r5,108(sp)
  12801. 4b794: d8801c17 ldw r2,112(sp)
  12802. 4b798: d811883a mov r8,sp
  12803. 4b79c: 29400044 addi r5,r5,1
  12804. 4b7a0: 003d6206 br 4ad2c <__alt_data_end+0xfffd8d2c>
  12805. 4b7a4: 01400174 movhi r5,5
  12806. 4b7a8: 29484704 addi r5,r5,8476
  12807. 4b7ac: d9402615 stw r5,152(sp)
  12808. 4b7b0: d8c02215 stw r3,136(sp)
  12809. 4b7b4: 1023883a mov r17,r2
  12810. 4b7b8: 9d04b03a or r2,r19,r20
  12811. 4b7bc: 103fa51e bne r2,zero,4b654 <__alt_data_end+0xfffd9654>
  12812. 4b7c0: 002b883a mov r21,zero
  12813. 4b7c4: 00800084 movi r2,2
  12814. 4b7c8: 003e4a06 br 4b0f4 <__alt_data_end+0xfffd90f4>
  12815. 4b7cc: 01400174 movhi r5,5
  12816. 4b7d0: 29484704 addi r5,r5,8476
  12817. 4b7d4: 002b883a mov r21,zero
  12818. 4b7d8: d9402615 stw r5,152(sp)
  12819. 4b7dc: 003f9e06 br 4b658 <__alt_data_end+0xfffd9658>
  12820. 4b7e0: d9402217 ldw r5,136(sp)
  12821. 4b7e4: d8001d85 stb zero,118(sp)
  12822. 4b7e8: 0029883a mov r20,zero
  12823. 4b7ec: 28800104 addi r2,r5,4
  12824. 4b7f0: 2cc00017 ldw r19,0(r5)
  12825. 4b7f4: 803e3a16 blt r16,zero,4b0e0 <__alt_data_end+0xfffd90e0>
  12826. 4b7f8: 00ffdfc4 movi r3,-129
  12827. 4b7fc: d8802215 stw r2,136(sp)
  12828. 4b800: 88e2703a and r17,r17,r3
  12829. 4b804: 002b883a mov r21,zero
  12830. 4b808: 983e9b26 beq r19,zero,4b278 <__alt_data_end+0xfffd9278>
  12831. 4b80c: 00800244 movi r2,9
  12832. 4b810: 14fdc936 bltu r2,r19,4af38 <__alt_data_end+0xfffd8f38>
  12833. 4b814: 003e9a06 br 4b280 <__alt_data_end+0xfffd9280>
  12834. 4b818: 00800c04 movi r2,48
  12835. 4b81c: d8c01d45 stb r3,117(sp)
  12836. 4b820: d8801d05 stb r2,116(sp)
  12837. 4b824: d8001d85 stb zero,118(sp)
  12838. 4b828: 88c00094 ori r3,r17,2
  12839. 4b82c: 80009c16 blt r16,zero,4baa0 <___vfiprintf_internal_r+0x1368>
  12840. 4b830: 00bfdfc4 movi r2,-129
  12841. 4b834: 88a2703a and r17,r17,r2
  12842. 4b838: 8c400094 ori r17,r17,2
  12843. 4b83c: 002b883a mov r21,zero
  12844. 4b840: 003f8506 br 4b658 <__alt_data_end+0xfffd9658>
  12845. 4b844: b029883a mov r20,r22
  12846. 4b848: 003c0b06 br 4a878 <__alt_data_end+0xfffd8878>
  12847. 4b84c: 04e7c83a sub r19,zero,r19
  12848. 4b850: 05400b44 movi r21,45
  12849. 4b854: 9804c03a cmpne r2,r19,zero
  12850. 4b858: 0529c83a sub r20,zero,r20
  12851. 4b85c: dd401d85 stb r21,118(sp)
  12852. 4b860: a0a9c83a sub r20,r20,r2
  12853. 4b864: 80009716 blt r16,zero,4bac4 <___vfiprintf_internal_r+0x138c>
  12854. 4b868: 00bfdfc4 movi r2,-129
  12855. 4b86c: 88a2703a and r17,r17,r2
  12856. 4b870: 003db006 br 4af34 <__alt_data_end+0xfffd8f34>
  12857. 4b874: b0c00007 ldb r3,0(r22)
  12858. 4b878: 003c0c06 br 4a8ac <__alt_data_end+0xfffd88ac>
  12859. 4b87c: 8880100c andi r2,r17,64
  12860. 4b880: d8001d85 stb zero,118(sp)
  12861. 4b884: 1000461e bne r2,zero,4b9a0 <___vfiprintf_internal_r+0x1268>
  12862. 4b888: d9002217 ldw r4,136(sp)
  12863. 4b88c: 0029883a mov r20,zero
  12864. 4b890: 20800104 addi r2,r4,4
  12865. 4b894: 24c00017 ldw r19,0(r4)
  12866. 4b898: 803df80e bge r16,zero,4b07c <__alt_data_end+0xfffd907c>
  12867. 4b89c: 9d06b03a or r3,r19,r20
  12868. 4b8a0: d8802215 stw r2,136(sp)
  12869. 4b8a4: 183d5e1e bne r3,zero,4ae20 <__alt_data_end+0xfffd8e20>
  12870. 4b8a8: 002b883a mov r21,zero
  12871. 4b8ac: 0005883a mov r2,zero
  12872. 4b8b0: 003e1006 br 4b0f4 <__alt_data_end+0xfffd90f4>
  12873. 4b8b4: 8880040c andi r2,r17,16
  12874. 4b8b8: 1000321e bne r2,zero,4b984 <___vfiprintf_internal_r+0x124c>
  12875. 4b8bc: 8c40100c andi r17,r17,64
  12876. 4b8c0: 88008d26 beq r17,zero,4baf8 <___vfiprintf_internal_r+0x13c0>
  12877. 4b8c4: d9402217 ldw r5,136(sp)
  12878. 4b8c8: d8c02417 ldw r3,144(sp)
  12879. 4b8cc: 28800017 ldw r2,0(r5)
  12880. 4b8d0: 29400104 addi r5,r5,4
  12881. 4b8d4: d9402215 stw r5,136(sp)
  12882. 4b8d8: 10c0000d sth r3,0(r2)
  12883. 4b8dc: 003bca06 br 4a808 <__alt_data_end+0xfffd8808>
  12884. 4b8e0: 8880100c andi r2,r17,64
  12885. 4b8e4: 10003a26 beq r2,zero,4b9d0 <___vfiprintf_internal_r+0x1298>
  12886. 4b8e8: d8802217 ldw r2,136(sp)
  12887. 4b8ec: 14c0000f ldh r19,0(r2)
  12888. 4b8f0: 10800104 addi r2,r2,4
  12889. 4b8f4: d8802215 stw r2,136(sp)
  12890. 4b8f8: 9829d7fa srai r20,r19,31
  12891. 4b8fc: a005883a mov r2,r20
  12892. 4b900: 003d8506 br 4af18 <__alt_data_end+0xfffd8f18>
  12893. 4b904: 8880100c andi r2,r17,64
  12894. 4b908: 10002b26 beq r2,zero,4b9b8 <___vfiprintf_internal_r+0x1280>
  12895. 4b90c: d8802217 ldw r2,136(sp)
  12896. 4b910: 0029883a mov r20,zero
  12897. 4b914: 14c0000b ldhu r19,0(r2)
  12898. 4b918: 10800104 addi r2,r2,4
  12899. 4b91c: d8802215 stw r2,136(sp)
  12900. 4b920: 003d5d06 br 4ae98 <__alt_data_end+0xfffd8e98>
  12901. 4b924: d9402017 ldw r5,128(sp)
  12902. 4b928: d9002117 ldw r4,132(sp)
  12903. 4b92c: d9801a04 addi r6,sp,104
  12904. 4b930: d8c02a15 stw r3,168(sp)
  12905. 4b934: d9c02b15 stw r7,172(sp)
  12906. 4b938: 004a6240 call 4a624 <__sprint_r.part.0>
  12907. 4b93c: d8c02a17 ldw r3,168(sp)
  12908. 4b940: d9c02b17 ldw r7,172(sp)
  12909. 4b944: 103eb41e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12910. 4b948: d9001b17 ldw r4,108(sp)
  12911. 4b94c: d8801c17 ldw r2,112(sp)
  12912. 4b950: d811883a mov r8,sp
  12913. 4b954: 21400044 addi r5,r4,1
  12914. 4b958: 003e6706 br 4b2f8 <__alt_data_end+0xfffd92f8>
  12915. 4b95c: 00bfffc4 movi r2,-1
  12916. 4b960: 003c4a06 br 4aa8c <__alt_data_end+0xfffd8a8c>
  12917. 4b964: 9805883a mov r2,r19
  12918. 4b968: 003ee806 br 4b50c <__alt_data_end+0xfffd950c>
  12919. 4b96c: d8c02217 ldw r3,136(sp)
  12920. 4b970: 0029883a mov r20,zero
  12921. 4b974: 18800104 addi r2,r3,4
  12922. 4b978: 1cc0000b ldhu r19,0(r3)
  12923. 4b97c: 803f9e0e bge r16,zero,4b7f8 <__alt_data_end+0xfffd97f8>
  12924. 4b980: 003dd706 br 4b0e0 <__alt_data_end+0xfffd90e0>
  12925. 4b984: d8c02217 ldw r3,136(sp)
  12926. 4b988: d9002417 ldw r4,144(sp)
  12927. 4b98c: 18800017 ldw r2,0(r3)
  12928. 4b990: 18c00104 addi r3,r3,4
  12929. 4b994: d8c02215 stw r3,136(sp)
  12930. 4b998: 11000015 stw r4,0(r2)
  12931. 4b99c: 003b9a06 br 4a808 <__alt_data_end+0xfffd8808>
  12932. 4b9a0: d8c02217 ldw r3,136(sp)
  12933. 4b9a4: 0029883a mov r20,zero
  12934. 4b9a8: 18800104 addi r2,r3,4
  12935. 4b9ac: 1cc0000b ldhu r19,0(r3)
  12936. 4b9b0: 803db20e bge r16,zero,4b07c <__alt_data_end+0xfffd907c>
  12937. 4b9b4: 003fb906 br 4b89c <__alt_data_end+0xfffd989c>
  12938. 4b9b8: d9002217 ldw r4,136(sp)
  12939. 4b9bc: 0029883a mov r20,zero
  12940. 4b9c0: 24c00017 ldw r19,0(r4)
  12941. 4b9c4: 21000104 addi r4,r4,4
  12942. 4b9c8: d9002215 stw r4,136(sp)
  12943. 4b9cc: 003d3206 br 4ae98 <__alt_data_end+0xfffd8e98>
  12944. 4b9d0: d8c02217 ldw r3,136(sp)
  12945. 4b9d4: 1cc00017 ldw r19,0(r3)
  12946. 4b9d8: 18c00104 addi r3,r3,4
  12947. 4b9dc: d8c02215 stw r3,136(sp)
  12948. 4b9e0: 9829d7fa srai r20,r19,31
  12949. 4b9e4: a005883a mov r2,r20
  12950. 4b9e8: 003d4b06 br 4af18 <__alt_data_end+0xfffd8f18>
  12951. 4b9ec: 0009883a mov r4,zero
  12952. 4b9f0: 01400044 movi r5,1
  12953. 4b9f4: d811883a mov r8,sp
  12954. 4b9f8: 003e4f06 br 4b338 <__alt_data_end+0xfffd9338>
  12955. 4b9fc: d8c02215 stw r3,136(sp)
  12956. 4ba00: 002b883a mov r21,zero
  12957. 4ba04: 003db806 br 4b0e8 <__alt_data_end+0xfffd90e8>
  12958. 4ba08: d811883a mov r8,sp
  12959. 4ba0c: 003e9606 br 4b468 <__alt_data_end+0xfffd9468>
  12960. 4ba10: 01000174 movhi r4,5
  12961. 4ba14: 2108a804 addi r4,r4,8864
  12962. 4ba18: d9002315 stw r4,140(sp)
  12963. 4ba1c: 003e6306 br 4b3ac <__alt_data_end+0xfffd93ac>
  12964. 4ba20: b0c00043 ldbu r3,1(r22)
  12965. 4ba24: 8c400814 ori r17,r17,32
  12966. 4ba28: b5800044 addi r22,r22,1
  12967. 4ba2c: 18c03fcc andi r3,r3,255
  12968. 4ba30: 18c0201c xori r3,r3,128
  12969. 4ba34: 18ffe004 addi r3,r3,-128
  12970. 4ba38: 003b9c06 br 4a8ac <__alt_data_end+0xfffd88ac>
  12971. 4ba3c: b809883a mov r4,r23
  12972. 4ba40: da002a15 stw r8,168(sp)
  12973. 4ba44: 0042d400 call 42d40 <strlen>
  12974. 4ba48: 1029883a mov r20,r2
  12975. 4ba4c: dd401d83 ldbu r21,118(sp)
  12976. 4ba50: df002215 stw fp,136(sp)
  12977. 4ba54: 0021883a mov r16,zero
  12978. 4ba58: da002a17 ldw r8,168(sp)
  12979. 4ba5c: 003c3906 br 4ab44 <__alt_data_end+0xfffd8b44>
  12980. 4ba60: d9402017 ldw r5,128(sp)
  12981. 4ba64: d9002117 ldw r4,132(sp)
  12982. 4ba68: d9801a04 addi r6,sp,104
  12983. 4ba6c: 004a6240 call 4a624 <__sprint_r.part.0>
  12984. 4ba70: 103e691e bne r2,zero,4b418 <__alt_data_end+0xfffd9418>
  12985. 4ba74: d9001b17 ldw r4,108(sp)
  12986. 4ba78: d8801c17 ldw r2,112(sp)
  12987. 4ba7c: d811883a mov r8,sp
  12988. 4ba80: 21400044 addi r5,r4,1
  12989. 4ba84: 003e2e06 br 4b340 <__alt_data_end+0xfffd9340>
  12990. 4ba88: 01000174 movhi r4,5
  12991. 4ba8c: 2108ac04 addi r4,r4,8880
  12992. 4ba90: d9002315 stw r4,140(sp)
  12993. 4ba94: d9001b17 ldw r4,108(sp)
  12994. 4ba98: 21000044 addi r4,r4,1
  12995. 4ba9c: 003c5e06 br 4ac18 <__alt_data_end+0xfffd8c18>
  12996. 4baa0: 002b883a mov r21,zero
  12997. 4baa4: 00800084 movi r2,2
  12998. 4baa8: 10803fcc andi r2,r2,255
  12999. 4baac: 01000044 movi r4,1
  13000. 4bab0: 11002b26 beq r2,r4,4bb60 <___vfiprintf_internal_r+0x1428>
  13001. 4bab4: 01000084 movi r4,2
  13002. 4bab8: 11002b1e bne r2,r4,4bb68 <___vfiprintf_internal_r+0x1430>
  13003. 4babc: 1823883a mov r17,r3
  13004. 4bac0: 003ee506 br 4b658 <__alt_data_end+0xfffd9658>
  13005. 4bac4: 8807883a mov r3,r17
  13006. 4bac8: 00800044 movi r2,1
  13007. 4bacc: 003ff606 br 4baa8 <__alt_data_end+0xfffd9aa8>
  13008. 4bad0: 00800184 movi r2,6
  13009. 4bad4: 1400012e bgeu r2,r16,4badc <___vfiprintf_internal_r+0x13a4>
  13010. 4bad8: 1021883a mov r16,r2
  13011. 4badc: 8029883a mov r20,r16
  13012. 4bae0: 8027883a mov r19,r16
  13013. 4bae4: 80002216 blt r16,zero,4bb70 <___vfiprintf_internal_r+0x1438>
  13014. 4bae8: 05c00174 movhi r23,5
  13015. 4baec: df002215 stw fp,136(sp)
  13016. 4baf0: bdc84c04 addi r23,r23,8496
  13017. 4baf4: 003cfb06 br 4aee4 <__alt_data_end+0xfffd8ee4>
  13018. 4baf8: d9002217 ldw r4,136(sp)
  13019. 4bafc: d9402417 ldw r5,144(sp)
  13020. 4bb00: 20800017 ldw r2,0(r4)
  13021. 4bb04: 21000104 addi r4,r4,4
  13022. 4bb08: d9002215 stw r4,136(sp)
  13023. 4bb0c: 11400015 stw r5,0(r2)
  13024. 4bb10: 003b3d06 br 4a808 <__alt_data_end+0xfffd8808>
  13025. 4bb14: 01400174 movhi r5,5
  13026. 4bb18: 2948ac04 addi r5,r5,8880
  13027. 4bb1c: d9402315 stw r5,140(sp)
  13028. 4bb20: d9401b17 ldw r5,108(sp)
  13029. 4bb24: 29400044 addi r5,r5,1
  13030. 4bb28: 003e6d06 br 4b4e0 <__alt_data_end+0xfffd94e0>
  13031. 4bb2c: 8029883a mov r20,r16
  13032. 4bb30: dd401d83 ldbu r21,118(sp)
  13033. 4bb34: df002215 stw fp,136(sp)
  13034. 4bb38: 0021883a mov r16,zero
  13035. 4bb3c: 003c0106 br 4ab44 <__alt_data_end+0xfffd8b44>
  13036. 4bb40: 00c00174 movhi r3,5
  13037. 4bb44: 18c8a804 addi r3,r3,8864
  13038. 4bb48: d8c02315 stw r3,140(sp)
  13039. 4bb4c: 280d883a mov r6,r5
  13040. 4bb50: 003c6906 br 4acf8 <__alt_data_end+0xfffd8cf8>
  13041. 4bb54: 802d883a mov r22,r16
  13042. 4bb58: 0021883a mov r16,zero
  13043. 4bb5c: 003b5406 br 4a8b0 <__alt_data_end+0xfffd88b0>
  13044. 4bb60: 1823883a mov r17,r3
  13045. 4bb64: 003cf306 br 4af34 <__alt_data_end+0xfffd8f34>
  13046. 4bb68: 1823883a mov r17,r3
  13047. 4bb6c: 003cad06 br 4ae24 <__alt_data_end+0xfffd8e24>
  13048. 4bb70: 0027883a mov r19,zero
  13049. 4bb74: 003fdc06 br 4bae8 <__alt_data_end+0xfffd9ae8>
  13050. 4bb78: d9402217 ldw r5,136(sp)
  13051. 4bb7c: 8005883a mov r2,r16
  13052. 4bb80: b0c00043 ldbu r3,1(r22)
  13053. 4bb84: 2c000017 ldw r16,0(r5)
  13054. 4bb88: 29000104 addi r4,r5,4
  13055. 4bb8c: d9002215 stw r4,136(sp)
  13056. 4bb90: 102d883a mov r22,r2
  13057. 4bb94: 803fa50e bge r16,zero,4ba2c <__alt_data_end+0xfffd9a2c>
  13058. 4bb98: 18c03fcc andi r3,r3,255
  13059. 4bb9c: 18c0201c xori r3,r3,128
  13060. 4bba0: 043fffc4 movi r16,-1
  13061. 4bba4: 18ffe004 addi r3,r3,-128
  13062. 4bba8: 003b4006 br 4a8ac <__alt_data_end+0xfffd88ac>
  13063. 4bbac: d9402303 ldbu r5,140(sp)
  13064. 4bbb0: d9401d85 stb r5,118(sp)
  13065. 4bbb4: 003cae06 br 4ae70 <__alt_data_end+0xfffd8e70>
  13066. 4bbb8: d8c02303 ldbu r3,140(sp)
  13067. 4bbbc: d8c01d85 stb r3,118(sp)
  13068. 4bbc0: 003d1406 br 4b014 <__alt_data_end+0xfffd9014>
  13069. 4bbc4: d8c02303 ldbu r3,140(sp)
  13070. 4bbc8: d8c01d85 stb r3,118(sp)
  13071. 4bbcc: 003cca06 br 4aef8 <__alt_data_end+0xfffd8ef8>
  13072. 4bbd0: 8880004c andi r2,r17,1
  13073. 4bbd4: 002b883a mov r21,zero
  13074. 4bbd8: 10000526 beq r2,zero,4bbf0 <___vfiprintf_internal_r+0x14b8>
  13075. 4bbdc: 00800c04 movi r2,48
  13076. 4bbe0: d88019c5 stb r2,103(sp)
  13077. 4bbe4: dd002817 ldw r20,160(sp)
  13078. 4bbe8: ddc019c4 addi r23,sp,103
  13079. 4bbec: 003bd506 br 4ab44 <__alt_data_end+0xfffd8b44>
  13080. 4bbf0: 0029883a mov r20,zero
  13081. 4bbf4: ddc01a04 addi r23,sp,104
  13082. 4bbf8: 003bd206 br 4ab44 <__alt_data_end+0xfffd8b44>
  13083. 4bbfc: d9002303 ldbu r4,140(sp)
  13084. 4bc00: d9001d85 stb r4,118(sp)
  13085. 4bc04: 003da606 br 4b2a0 <__alt_data_end+0xfffd92a0>
  13086. 4bc08: d8c02303 ldbu r3,140(sp)
  13087. 4bc0c: d8c01d85 stb r3,118(sp)
  13088. 4bc10: 003c7606 br 4adec <__alt_data_end+0xfffd8dec>
  13089. 4bc14: d8c02303 ldbu r3,140(sp)
  13090. 4bc18: d8c01d85 stb r3,118(sp)
  13091. 4bc1c: 003c6506 br 4adb4 <__alt_data_end+0xfffd8db4>
  13092. 4bc20: d9002303 ldbu r4,140(sp)
  13093. 4bc24: d9001d85 stb r4,118(sp)
  13094. 4bc28: 003d3d06 br 4b120 <__alt_data_end+0xfffd9120>
  13095. 4bc2c: d8c02303 ldbu r3,140(sp)
  13096. 4bc30: d8c01d85 stb r3,118(sp)
  13097. 4bc34: 003d1d06 br 4b0ac <__alt_data_end+0xfffd90ac>
  13098. 4bc38: d8c02303 ldbu r3,140(sp)
  13099. 4bc3c: d8c01d85 stb r3,118(sp)
  13100. 4bc40: 003d0306 br 4b050 <__alt_data_end+0xfffd9050>
  13101. 0004bc44 <__vfiprintf_internal>:
  13102. 4bc44: 00800174 movhi r2,5
  13103. 4bc48: 10905304 addi r2,r2,16716
  13104. 4bc4c: 300f883a mov r7,r6
  13105. 4bc50: 280d883a mov r6,r5
  13106. 4bc54: 200b883a mov r5,r4
  13107. 4bc58: 11000017 ldw r4,0(r2)
  13108. 4bc5c: 004a7381 jmpi 4a738 <___vfiprintf_internal_r>
  13109. 0004bc60 <__sbprintf>:
  13110. 4bc60: 2880030b ldhu r2,12(r5)
  13111. 4bc64: 2ac01917 ldw r11,100(r5)
  13112. 4bc68: 2a80038b ldhu r10,14(r5)
  13113. 4bc6c: 2a400717 ldw r9,28(r5)
  13114. 4bc70: 2a000917 ldw r8,36(r5)
  13115. 4bc74: defee204 addi sp,sp,-1144
  13116. 4bc78: 00c10004 movi r3,1024
  13117. 4bc7c: dc011a15 stw r16,1128(sp)
  13118. 4bc80: 10bfff4c andi r2,r2,65533
  13119. 4bc84: 2821883a mov r16,r5
  13120. 4bc88: d8cb883a add r5,sp,r3
  13121. 4bc8c: dc811c15 stw r18,1136(sp)
  13122. 4bc90: dc411b15 stw r17,1132(sp)
  13123. 4bc94: dfc11d15 stw ra,1140(sp)
  13124. 4bc98: 2025883a mov r18,r4
  13125. 4bc9c: d881030d sth r2,1036(sp)
  13126. 4bca0: dac11915 stw r11,1124(sp)
  13127. 4bca4: da81038d sth r10,1038(sp)
  13128. 4bca8: da410715 stw r9,1052(sp)
  13129. 4bcac: da010915 stw r8,1060(sp)
  13130. 4bcb0: dec10015 stw sp,1024(sp)
  13131. 4bcb4: dec10415 stw sp,1040(sp)
  13132. 4bcb8: d8c10215 stw r3,1032(sp)
  13133. 4bcbc: d8c10515 stw r3,1044(sp)
  13134. 4bcc0: d8010615 stw zero,1048(sp)
  13135. 4bcc4: 004a7380 call 4a738 <___vfiprintf_internal_r>
  13136. 4bcc8: 1023883a mov r17,r2
  13137. 4bccc: 10000416 blt r2,zero,4bce0 <__sbprintf+0x80>
  13138. 4bcd0: d9410004 addi r5,sp,1024
  13139. 4bcd4: 9009883a mov r4,r18
  13140. 4bcd8: 0046dac0 call 46dac <_fflush_r>
  13141. 4bcdc: 10000d1e bne r2,zero,4bd14 <__sbprintf+0xb4>
  13142. 4bce0: d881030b ldhu r2,1036(sp)
  13143. 4bce4: 1080100c andi r2,r2,64
  13144. 4bce8: 10000326 beq r2,zero,4bcf8 <__sbprintf+0x98>
  13145. 4bcec: 8080030b ldhu r2,12(r16)
  13146. 4bcf0: 10801014 ori r2,r2,64
  13147. 4bcf4: 8080030d sth r2,12(r16)
  13148. 4bcf8: 8805883a mov r2,r17
  13149. 4bcfc: dfc11d17 ldw ra,1140(sp)
  13150. 4bd00: dc811c17 ldw r18,1136(sp)
  13151. 4bd04: dc411b17 ldw r17,1132(sp)
  13152. 4bd08: dc011a17 ldw r16,1128(sp)
  13153. 4bd0c: dec11e04 addi sp,sp,1144
  13154. 4bd10: f800283a ret
  13155. 4bd14: 047fffc4 movi r17,-1
  13156. 4bd18: 003ff106 br 4bce0 <__alt_data_end+0xfffd9ce0>
  13157. 0004bd1c <__swbuf_r>:
  13158. 4bd1c: defffb04 addi sp,sp,-20
  13159. 4bd20: dcc00315 stw r19,12(sp)
  13160. 4bd24: dc800215 stw r18,8(sp)
  13161. 4bd28: dc000015 stw r16,0(sp)
  13162. 4bd2c: dfc00415 stw ra,16(sp)
  13163. 4bd30: dc400115 stw r17,4(sp)
  13164. 4bd34: 2025883a mov r18,r4
  13165. 4bd38: 2827883a mov r19,r5
  13166. 4bd3c: 3021883a mov r16,r6
  13167. 4bd40: 20000226 beq r4,zero,4bd4c <__swbuf_r+0x30>
  13168. 4bd44: 20800e17 ldw r2,56(r4)
  13169. 4bd48: 10004226 beq r2,zero,4be54 <__swbuf_r+0x138>
  13170. 4bd4c: 80800617 ldw r2,24(r16)
  13171. 4bd50: 8100030b ldhu r4,12(r16)
  13172. 4bd54: 80800215 stw r2,8(r16)
  13173. 4bd58: 2080020c andi r2,r4,8
  13174. 4bd5c: 10003626 beq r2,zero,4be38 <__swbuf_r+0x11c>
  13175. 4bd60: 80c00417 ldw r3,16(r16)
  13176. 4bd64: 18003426 beq r3,zero,4be38 <__swbuf_r+0x11c>
  13177. 4bd68: 2088000c andi r2,r4,8192
  13178. 4bd6c: 9c403fcc andi r17,r19,255
  13179. 4bd70: 10001a26 beq r2,zero,4bddc <__swbuf_r+0xc0>
  13180. 4bd74: 80800017 ldw r2,0(r16)
  13181. 4bd78: 81000517 ldw r4,20(r16)
  13182. 4bd7c: 10c7c83a sub r3,r2,r3
  13183. 4bd80: 1900200e bge r3,r4,4be04 <__swbuf_r+0xe8>
  13184. 4bd84: 18c00044 addi r3,r3,1
  13185. 4bd88: 81000217 ldw r4,8(r16)
  13186. 4bd8c: 11400044 addi r5,r2,1
  13187. 4bd90: 81400015 stw r5,0(r16)
  13188. 4bd94: 213fffc4 addi r4,r4,-1
  13189. 4bd98: 81000215 stw r4,8(r16)
  13190. 4bd9c: 14c00005 stb r19,0(r2)
  13191. 4bda0: 80800517 ldw r2,20(r16)
  13192. 4bda4: 10c01e26 beq r2,r3,4be20 <__swbuf_r+0x104>
  13193. 4bda8: 8080030b ldhu r2,12(r16)
  13194. 4bdac: 1080004c andi r2,r2,1
  13195. 4bdb0: 10000226 beq r2,zero,4bdbc <__swbuf_r+0xa0>
  13196. 4bdb4: 00800284 movi r2,10
  13197. 4bdb8: 88801926 beq r17,r2,4be20 <__swbuf_r+0x104>
  13198. 4bdbc: 8805883a mov r2,r17
  13199. 4bdc0: dfc00417 ldw ra,16(sp)
  13200. 4bdc4: dcc00317 ldw r19,12(sp)
  13201. 4bdc8: dc800217 ldw r18,8(sp)
  13202. 4bdcc: dc400117 ldw r17,4(sp)
  13203. 4bdd0: dc000017 ldw r16,0(sp)
  13204. 4bdd4: dec00504 addi sp,sp,20
  13205. 4bdd8: f800283a ret
  13206. 4bddc: 81401917 ldw r5,100(r16)
  13207. 4bde0: 00b7ffc4 movi r2,-8193
  13208. 4bde4: 21080014 ori r4,r4,8192
  13209. 4bde8: 2884703a and r2,r5,r2
  13210. 4bdec: 80801915 stw r2,100(r16)
  13211. 4bdf0: 80800017 ldw r2,0(r16)
  13212. 4bdf4: 8100030d sth r4,12(r16)
  13213. 4bdf8: 81000517 ldw r4,20(r16)
  13214. 4bdfc: 10c7c83a sub r3,r2,r3
  13215. 4be00: 193fe016 blt r3,r4,4bd84 <__alt_data_end+0xfffd9d84>
  13216. 4be04: 800b883a mov r5,r16
  13217. 4be08: 9009883a mov r4,r18
  13218. 4be0c: 0046dac0 call 46dac <_fflush_r>
  13219. 4be10: 1000071e bne r2,zero,4be30 <__swbuf_r+0x114>
  13220. 4be14: 80800017 ldw r2,0(r16)
  13221. 4be18: 00c00044 movi r3,1
  13222. 4be1c: 003fda06 br 4bd88 <__alt_data_end+0xfffd9d88>
  13223. 4be20: 800b883a mov r5,r16
  13224. 4be24: 9009883a mov r4,r18
  13225. 4be28: 0046dac0 call 46dac <_fflush_r>
  13226. 4be2c: 103fe326 beq r2,zero,4bdbc <__alt_data_end+0xfffd9dbc>
  13227. 4be30: 00bfffc4 movi r2,-1
  13228. 4be34: 003fe206 br 4bdc0 <__alt_data_end+0xfffd9dc0>
  13229. 4be38: 800b883a mov r5,r16
  13230. 4be3c: 9009883a mov r4,r18
  13231. 4be40: 004518c0 call 4518c <__swsetup_r>
  13232. 4be44: 103ffa1e bne r2,zero,4be30 <__alt_data_end+0xfffd9e30>
  13233. 4be48: 8100030b ldhu r4,12(r16)
  13234. 4be4c: 80c00417 ldw r3,16(r16)
  13235. 4be50: 003fc506 br 4bd68 <__alt_data_end+0xfffd9d68>
  13236. 4be54: 00471980 call 47198 <__sinit>
  13237. 4be58: 003fbc06 br 4bd4c <__alt_data_end+0xfffd9d4c>
  13238. 0004be5c <__swbuf>:
  13239. 4be5c: 00800174 movhi r2,5
  13240. 4be60: 10905304 addi r2,r2,16716
  13241. 4be64: 280d883a mov r6,r5
  13242. 4be68: 200b883a mov r5,r4
  13243. 4be6c: 11000017 ldw r4,0(r2)
  13244. 4be70: 004bd1c1 jmpi 4bd1c <__swbuf_r>
  13245. 0004be74 <_write_r>:
  13246. 4be74: defffd04 addi sp,sp,-12
  13247. 4be78: 2805883a mov r2,r5
  13248. 4be7c: dc000015 stw r16,0(sp)
  13249. 4be80: 04000174 movhi r16,5
  13250. 4be84: dc400115 stw r17,4(sp)
  13251. 4be88: 300b883a mov r5,r6
  13252. 4be8c: 84177304 addi r16,r16,24012
  13253. 4be90: 2023883a mov r17,r4
  13254. 4be94: 380d883a mov r6,r7
  13255. 4be98: 1009883a mov r4,r2
  13256. 4be9c: dfc00215 stw ra,8(sp)
  13257. 4bea0: 80000015 stw zero,0(r16)
  13258. 4bea4: 004f0040 call 4f004 <write>
  13259. 4bea8: 00ffffc4 movi r3,-1
  13260. 4beac: 10c00526 beq r2,r3,4bec4 <_write_r+0x50>
  13261. 4beb0: dfc00217 ldw ra,8(sp)
  13262. 4beb4: dc400117 ldw r17,4(sp)
  13263. 4beb8: dc000017 ldw r16,0(sp)
  13264. 4bebc: dec00304 addi sp,sp,12
  13265. 4bec0: f800283a ret
  13266. 4bec4: 80c00017 ldw r3,0(r16)
  13267. 4bec8: 183ff926 beq r3,zero,4beb0 <__alt_data_end+0xfffd9eb0>
  13268. 4becc: 88c00015 stw r3,0(r17)
  13269. 4bed0: 003ff706 br 4beb0 <__alt_data_end+0xfffd9eb0>
  13270. 0004bed4 <_close_r>:
  13271. 4bed4: defffd04 addi sp,sp,-12
  13272. 4bed8: dc000015 stw r16,0(sp)
  13273. 4bedc: 04000174 movhi r16,5
  13274. 4bee0: dc400115 stw r17,4(sp)
  13275. 4bee4: 84177304 addi r16,r16,24012
  13276. 4bee8: 2023883a mov r17,r4
  13277. 4beec: 2809883a mov r4,r5
  13278. 4bef0: dfc00215 stw ra,8(sp)
  13279. 4bef4: 80000015 stw zero,0(r16)
  13280. 4bef8: 004e7ac0 call 4e7ac <close>
  13281. 4befc: 00ffffc4 movi r3,-1
  13282. 4bf00: 10c00526 beq r2,r3,4bf18 <_close_r+0x44>
  13283. 4bf04: dfc00217 ldw ra,8(sp)
  13284. 4bf08: dc400117 ldw r17,4(sp)
  13285. 4bf0c: dc000017 ldw r16,0(sp)
  13286. 4bf10: dec00304 addi sp,sp,12
  13287. 4bf14: f800283a ret
  13288. 4bf18: 80c00017 ldw r3,0(r16)
  13289. 4bf1c: 183ff926 beq r3,zero,4bf04 <__alt_data_end+0xfffd9f04>
  13290. 4bf20: 88c00015 stw r3,0(r17)
  13291. 4bf24: 003ff706 br 4bf04 <__alt_data_end+0xfffd9f04>
  13292. 0004bf28 <_calloc_r>:
  13293. 4bf28: defffe04 addi sp,sp,-8
  13294. 4bf2c: 2805883a mov r2,r5
  13295. 4bf30: dc000015 stw r16,0(sp)
  13296. 4bf34: 300b883a mov r5,r6
  13297. 4bf38: 2021883a mov r16,r4
  13298. 4bf3c: 1009883a mov r4,r2
  13299. 4bf40: dfc00115 stw ra,4(sp)
  13300. 4bf44: 004d3dc0 call 4d3dc <__mulsi3>
  13301. 4bf48: 100b883a mov r5,r2
  13302. 4bf4c: 8009883a mov r4,r16
  13303. 4bf50: 0047f040 call 47f04 <_malloc_r>
  13304. 4bf54: 10002926 beq r2,zero,4bffc <_calloc_r+0xd4>
  13305. 4bf58: 11bfff17 ldw r6,-4(r2)
  13306. 4bf5c: 1021883a mov r16,r2
  13307. 4bf60: 00bfff04 movi r2,-4
  13308. 4bf64: 308c703a and r6,r6,r2
  13309. 4bf68: 00c00904 movi r3,36
  13310. 4bf6c: 308d883a add r6,r6,r2
  13311. 4bf70: 19801636 bltu r3,r6,4bfcc <_calloc_r+0xa4>
  13312. 4bf74: 008004c4 movi r2,19
  13313. 4bf78: 11800b2e bgeu r2,r6,4bfa8 <_calloc_r+0x80>
  13314. 4bf7c: 80000015 stw zero,0(r16)
  13315. 4bf80: 80000115 stw zero,4(r16)
  13316. 4bf84: 008006c4 movi r2,27
  13317. 4bf88: 11801a2e bgeu r2,r6,4bff4 <_calloc_r+0xcc>
  13318. 4bf8c: 80000215 stw zero,8(r16)
  13319. 4bf90: 80000315 stw zero,12(r16)
  13320. 4bf94: 30c0151e bne r6,r3,4bfec <_calloc_r+0xc4>
  13321. 4bf98: 80000415 stw zero,16(r16)
  13322. 4bf9c: 80800604 addi r2,r16,24
  13323. 4bfa0: 80000515 stw zero,20(r16)
  13324. 4bfa4: 00000106 br 4bfac <_calloc_r+0x84>
  13325. 4bfa8: 8005883a mov r2,r16
  13326. 4bfac: 10000015 stw zero,0(r2)
  13327. 4bfb0: 10000115 stw zero,4(r2)
  13328. 4bfb4: 10000215 stw zero,8(r2)
  13329. 4bfb8: 8005883a mov r2,r16
  13330. 4bfbc: dfc00117 ldw ra,4(sp)
  13331. 4bfc0: dc000017 ldw r16,0(sp)
  13332. 4bfc4: dec00204 addi sp,sp,8
  13333. 4bfc8: f800283a ret
  13334. 4bfcc: 000b883a mov r5,zero
  13335. 4bfd0: 8009883a mov r4,r16
  13336. 4bfd4: 0048a980 call 48a98 <memset>
  13337. 4bfd8: 8005883a mov r2,r16
  13338. 4bfdc: dfc00117 ldw ra,4(sp)
  13339. 4bfe0: dc000017 ldw r16,0(sp)
  13340. 4bfe4: dec00204 addi sp,sp,8
  13341. 4bfe8: f800283a ret
  13342. 4bfec: 80800404 addi r2,r16,16
  13343. 4bff0: 003fee06 br 4bfac <__alt_data_end+0xfffd9fac>
  13344. 4bff4: 80800204 addi r2,r16,8
  13345. 4bff8: 003fec06 br 4bfac <__alt_data_end+0xfffd9fac>
  13346. 4bffc: 0005883a mov r2,zero
  13347. 4c000: 003fee06 br 4bfbc <__alt_data_end+0xfffd9fbc>
  13348. 0004c004 <_fclose_r>:
  13349. 4c004: 28003926 beq r5,zero,4c0ec <_fclose_r+0xe8>
  13350. 4c008: defffc04 addi sp,sp,-16
  13351. 4c00c: dc400115 stw r17,4(sp)
  13352. 4c010: dc000015 stw r16,0(sp)
  13353. 4c014: dfc00315 stw ra,12(sp)
  13354. 4c018: dc800215 stw r18,8(sp)
  13355. 4c01c: 2023883a mov r17,r4
  13356. 4c020: 2821883a mov r16,r5
  13357. 4c024: 20000226 beq r4,zero,4c030 <_fclose_r+0x2c>
  13358. 4c028: 20800e17 ldw r2,56(r4)
  13359. 4c02c: 10002726 beq r2,zero,4c0cc <_fclose_r+0xc8>
  13360. 4c030: 8080030f ldh r2,12(r16)
  13361. 4c034: 1000071e bne r2,zero,4c054 <_fclose_r+0x50>
  13362. 4c038: 0005883a mov r2,zero
  13363. 4c03c: dfc00317 ldw ra,12(sp)
  13364. 4c040: dc800217 ldw r18,8(sp)
  13365. 4c044: dc400117 ldw r17,4(sp)
  13366. 4c048: dc000017 ldw r16,0(sp)
  13367. 4c04c: dec00404 addi sp,sp,16
  13368. 4c050: f800283a ret
  13369. 4c054: 800b883a mov r5,r16
  13370. 4c058: 8809883a mov r4,r17
  13371. 4c05c: 0046b900 call 46b90 <__sflush_r>
  13372. 4c060: 1025883a mov r18,r2
  13373. 4c064: 80800b17 ldw r2,44(r16)
  13374. 4c068: 10000426 beq r2,zero,4c07c <_fclose_r+0x78>
  13375. 4c06c: 81400717 ldw r5,28(r16)
  13376. 4c070: 8809883a mov r4,r17
  13377. 4c074: 103ee83a callr r2
  13378. 4c078: 10001616 blt r2,zero,4c0d4 <_fclose_r+0xd0>
  13379. 4c07c: 8080030b ldhu r2,12(r16)
  13380. 4c080: 1080200c andi r2,r2,128
  13381. 4c084: 1000151e bne r2,zero,4c0dc <_fclose_r+0xd8>
  13382. 4c088: 81400c17 ldw r5,48(r16)
  13383. 4c08c: 28000526 beq r5,zero,4c0a4 <_fclose_r+0xa0>
  13384. 4c090: 80801004 addi r2,r16,64
  13385. 4c094: 28800226 beq r5,r2,4c0a0 <_fclose_r+0x9c>
  13386. 4c098: 8809883a mov r4,r17
  13387. 4c09c: 004730c0 call 4730c <_free_r>
  13388. 4c0a0: 80000c15 stw zero,48(r16)
  13389. 4c0a4: 81401117 ldw r5,68(r16)
  13390. 4c0a8: 28000326 beq r5,zero,4c0b8 <_fclose_r+0xb4>
  13391. 4c0ac: 8809883a mov r4,r17
  13392. 4c0b0: 004730c0 call 4730c <_free_r>
  13393. 4c0b4: 80001115 stw zero,68(r16)
  13394. 4c0b8: 00471a80 call 471a8 <__sfp_lock_acquire>
  13395. 4c0bc: 8000030d sth zero,12(r16)
  13396. 4c0c0: 00471ac0 call 471ac <__sfp_lock_release>
  13397. 4c0c4: 9005883a mov r2,r18
  13398. 4c0c8: 003fdc06 br 4c03c <__alt_data_end+0xfffda03c>
  13399. 4c0cc: 00471980 call 47198 <__sinit>
  13400. 4c0d0: 003fd706 br 4c030 <__alt_data_end+0xfffda030>
  13401. 4c0d4: 04bfffc4 movi r18,-1
  13402. 4c0d8: 003fe806 br 4c07c <__alt_data_end+0xfffda07c>
  13403. 4c0dc: 81400417 ldw r5,16(r16)
  13404. 4c0e0: 8809883a mov r4,r17
  13405. 4c0e4: 004730c0 call 4730c <_free_r>
  13406. 4c0e8: 003fe706 br 4c088 <__alt_data_end+0xfffda088>
  13407. 4c0ec: 0005883a mov r2,zero
  13408. 4c0f0: f800283a ret
  13409. 0004c0f4 <fclose>:
  13410. 4c0f4: 00800174 movhi r2,5
  13411. 4c0f8: 10905304 addi r2,r2,16716
  13412. 4c0fc: 200b883a mov r5,r4
  13413. 4c100: 11000017 ldw r4,0(r2)
  13414. 4c104: 004c0041 jmpi 4c004 <_fclose_r>
  13415. 0004c108 <__fputwc>:
  13416. 4c108: defff804 addi sp,sp,-32
  13417. 4c10c: dcc00415 stw r19,16(sp)
  13418. 4c110: dc800315 stw r18,12(sp)
  13419. 4c114: dc000115 stw r16,4(sp)
  13420. 4c118: dfc00715 stw ra,28(sp)
  13421. 4c11c: dd400615 stw r21,24(sp)
  13422. 4c120: dd000515 stw r20,20(sp)
  13423. 4c124: dc400215 stw r17,8(sp)
  13424. 4c128: 2027883a mov r19,r4
  13425. 4c12c: 2825883a mov r18,r5
  13426. 4c130: 3021883a mov r16,r6
  13427. 4c134: 0047cf40 call 47cf4 <__locale_mb_cur_max>
  13428. 4c138: 00c00044 movi r3,1
  13429. 4c13c: 10c03e26 beq r2,r3,4c238 <__fputwc+0x130>
  13430. 4c140: 81c01704 addi r7,r16,92
  13431. 4c144: 900d883a mov r6,r18
  13432. 4c148: d80b883a mov r5,sp
  13433. 4c14c: 9809883a mov r4,r19
  13434. 4c150: 004c4800 call 4c480 <_wcrtomb_r>
  13435. 4c154: 1029883a mov r20,r2
  13436. 4c158: 00bfffc4 movi r2,-1
  13437. 4c15c: a0802026 beq r20,r2,4c1e0 <__fputwc+0xd8>
  13438. 4c160: d9400003 ldbu r5,0(sp)
  13439. 4c164: a0001c26 beq r20,zero,4c1d8 <__fputwc+0xd0>
  13440. 4c168: 0023883a mov r17,zero
  13441. 4c16c: 05400284 movi r21,10
  13442. 4c170: 00000906 br 4c198 <__fputwc+0x90>
  13443. 4c174: 80800017 ldw r2,0(r16)
  13444. 4c178: 11400005 stb r5,0(r2)
  13445. 4c17c: 80c00017 ldw r3,0(r16)
  13446. 4c180: 18c00044 addi r3,r3,1
  13447. 4c184: 80c00015 stw r3,0(r16)
  13448. 4c188: 8c400044 addi r17,r17,1
  13449. 4c18c: dc45883a add r2,sp,r17
  13450. 4c190: 8d00112e bgeu r17,r20,4c1d8 <__fputwc+0xd0>
  13451. 4c194: 11400003 ldbu r5,0(r2)
  13452. 4c198: 80c00217 ldw r3,8(r16)
  13453. 4c19c: 18ffffc4 addi r3,r3,-1
  13454. 4c1a0: 80c00215 stw r3,8(r16)
  13455. 4c1a4: 183ff30e bge r3,zero,4c174 <__alt_data_end+0xfffda174>
  13456. 4c1a8: 80800617 ldw r2,24(r16)
  13457. 4c1ac: 18801916 blt r3,r2,4c214 <__fputwc+0x10c>
  13458. 4c1b0: 80800017 ldw r2,0(r16)
  13459. 4c1b4: 11400005 stb r5,0(r2)
  13460. 4c1b8: 80800017 ldw r2,0(r16)
  13461. 4c1bc: 10c00003 ldbu r3,0(r2)
  13462. 4c1c0: 10800044 addi r2,r2,1
  13463. 4c1c4: 1d402326 beq r3,r21,4c254 <__fputwc+0x14c>
  13464. 4c1c8: 80800015 stw r2,0(r16)
  13465. 4c1cc: 8c400044 addi r17,r17,1
  13466. 4c1d0: dc45883a add r2,sp,r17
  13467. 4c1d4: 8d3fef36 bltu r17,r20,4c194 <__alt_data_end+0xfffda194>
  13468. 4c1d8: 9005883a mov r2,r18
  13469. 4c1dc: 00000406 br 4c1f0 <__fputwc+0xe8>
  13470. 4c1e0: 80c0030b ldhu r3,12(r16)
  13471. 4c1e4: a005883a mov r2,r20
  13472. 4c1e8: 18c01014 ori r3,r3,64
  13473. 4c1ec: 80c0030d sth r3,12(r16)
  13474. 4c1f0: dfc00717 ldw ra,28(sp)
  13475. 4c1f4: dd400617 ldw r21,24(sp)
  13476. 4c1f8: dd000517 ldw r20,20(sp)
  13477. 4c1fc: dcc00417 ldw r19,16(sp)
  13478. 4c200: dc800317 ldw r18,12(sp)
  13479. 4c204: dc400217 ldw r17,8(sp)
  13480. 4c208: dc000117 ldw r16,4(sp)
  13481. 4c20c: dec00804 addi sp,sp,32
  13482. 4c210: f800283a ret
  13483. 4c214: 800d883a mov r6,r16
  13484. 4c218: 29403fcc andi r5,r5,255
  13485. 4c21c: 9809883a mov r4,r19
  13486. 4c220: 004bd1c0 call 4bd1c <__swbuf_r>
  13487. 4c224: 10bfffe0 cmpeqi r2,r2,-1
  13488. 4c228: 10803fcc andi r2,r2,255
  13489. 4c22c: 103fd626 beq r2,zero,4c188 <__alt_data_end+0xfffda188>
  13490. 4c230: 00bfffc4 movi r2,-1
  13491. 4c234: 003fee06 br 4c1f0 <__alt_data_end+0xfffda1f0>
  13492. 4c238: 90ffffc4 addi r3,r18,-1
  13493. 4c23c: 01003f84 movi r4,254
  13494. 4c240: 20ffbf36 bltu r4,r3,4c140 <__alt_data_end+0xfffda140>
  13495. 4c244: 900b883a mov r5,r18
  13496. 4c248: dc800005 stb r18,0(sp)
  13497. 4c24c: 1029883a mov r20,r2
  13498. 4c250: 003fc506 br 4c168 <__alt_data_end+0xfffda168>
  13499. 4c254: 800d883a mov r6,r16
  13500. 4c258: a80b883a mov r5,r21
  13501. 4c25c: 9809883a mov r4,r19
  13502. 4c260: 004bd1c0 call 4bd1c <__swbuf_r>
  13503. 4c264: 10bfffe0 cmpeqi r2,r2,-1
  13504. 4c268: 003fef06 br 4c228 <__alt_data_end+0xfffda228>
  13505. 0004c26c <_fputwc_r>:
  13506. 4c26c: 3080030b ldhu r2,12(r6)
  13507. 4c270: 10c8000c andi r3,r2,8192
  13508. 4c274: 1800051e bne r3,zero,4c28c <_fputwc_r+0x20>
  13509. 4c278: 30c01917 ldw r3,100(r6)
  13510. 4c27c: 10880014 ori r2,r2,8192
  13511. 4c280: 3080030d sth r2,12(r6)
  13512. 4c284: 18880014 ori r2,r3,8192
  13513. 4c288: 30801915 stw r2,100(r6)
  13514. 4c28c: 004c1081 jmpi 4c108 <__fputwc>
  13515. 0004c290 <fputwc>:
  13516. 4c290: 00800174 movhi r2,5
  13517. 4c294: defffc04 addi sp,sp,-16
  13518. 4c298: 10905304 addi r2,r2,16716
  13519. 4c29c: dc000115 stw r16,4(sp)
  13520. 4c2a0: 14000017 ldw r16,0(r2)
  13521. 4c2a4: dc400215 stw r17,8(sp)
  13522. 4c2a8: dfc00315 stw ra,12(sp)
  13523. 4c2ac: 2023883a mov r17,r4
  13524. 4c2b0: 80000226 beq r16,zero,4c2bc <fputwc+0x2c>
  13525. 4c2b4: 80800e17 ldw r2,56(r16)
  13526. 4c2b8: 10001026 beq r2,zero,4c2fc <fputwc+0x6c>
  13527. 4c2bc: 2880030b ldhu r2,12(r5)
  13528. 4c2c0: 10c8000c andi r3,r2,8192
  13529. 4c2c4: 1800051e bne r3,zero,4c2dc <fputwc+0x4c>
  13530. 4c2c8: 28c01917 ldw r3,100(r5)
  13531. 4c2cc: 10880014 ori r2,r2,8192
  13532. 4c2d0: 2880030d sth r2,12(r5)
  13533. 4c2d4: 18880014 ori r2,r3,8192
  13534. 4c2d8: 28801915 stw r2,100(r5)
  13535. 4c2dc: 280d883a mov r6,r5
  13536. 4c2e0: 8009883a mov r4,r16
  13537. 4c2e4: 880b883a mov r5,r17
  13538. 4c2e8: dfc00317 ldw ra,12(sp)
  13539. 4c2ec: dc400217 ldw r17,8(sp)
  13540. 4c2f0: dc000117 ldw r16,4(sp)
  13541. 4c2f4: dec00404 addi sp,sp,16
  13542. 4c2f8: 004c1081 jmpi 4c108 <__fputwc>
  13543. 4c2fc: 8009883a mov r4,r16
  13544. 4c300: d9400015 stw r5,0(sp)
  13545. 4c304: 00471980 call 47198 <__sinit>
  13546. 4c308: d9400017 ldw r5,0(sp)
  13547. 4c30c: 003feb06 br 4c2bc <__alt_data_end+0xfffda2bc>
  13548. 0004c310 <_fstat_r>:
  13549. 4c310: defffd04 addi sp,sp,-12
  13550. 4c314: 2805883a mov r2,r5
  13551. 4c318: dc000015 stw r16,0(sp)
  13552. 4c31c: 04000174 movhi r16,5
  13553. 4c320: dc400115 stw r17,4(sp)
  13554. 4c324: 84177304 addi r16,r16,24012
  13555. 4c328: 2023883a mov r17,r4
  13556. 4c32c: 300b883a mov r5,r6
  13557. 4c330: 1009883a mov r4,r2
  13558. 4c334: dfc00215 stw ra,8(sp)
  13559. 4c338: 80000015 stw zero,0(r16)
  13560. 4c33c: 004e8ec0 call 4e8ec <fstat>
  13561. 4c340: 00ffffc4 movi r3,-1
  13562. 4c344: 10c00526 beq r2,r3,4c35c <_fstat_r+0x4c>
  13563. 4c348: dfc00217 ldw ra,8(sp)
  13564. 4c34c: dc400117 ldw r17,4(sp)
  13565. 4c350: dc000017 ldw r16,0(sp)
  13566. 4c354: dec00304 addi sp,sp,12
  13567. 4c358: f800283a ret
  13568. 4c35c: 80c00017 ldw r3,0(r16)
  13569. 4c360: 183ff926 beq r3,zero,4c348 <__alt_data_end+0xfffda348>
  13570. 4c364: 88c00015 stw r3,0(r17)
  13571. 4c368: 003ff706 br 4c348 <__alt_data_end+0xfffda348>
  13572. 0004c36c <_isatty_r>:
  13573. 4c36c: defffd04 addi sp,sp,-12
  13574. 4c370: dc000015 stw r16,0(sp)
  13575. 4c374: 04000174 movhi r16,5
  13576. 4c378: dc400115 stw r17,4(sp)
  13577. 4c37c: 84177304 addi r16,r16,24012
  13578. 4c380: 2023883a mov r17,r4
  13579. 4c384: 2809883a mov r4,r5
  13580. 4c388: dfc00215 stw ra,8(sp)
  13581. 4c38c: 80000015 stw zero,0(r16)
  13582. 4c390: 004e9e00 call 4e9e0 <isatty>
  13583. 4c394: 00ffffc4 movi r3,-1
  13584. 4c398: 10c00526 beq r2,r3,4c3b0 <_isatty_r+0x44>
  13585. 4c39c: dfc00217 ldw ra,8(sp)
  13586. 4c3a0: dc400117 ldw r17,4(sp)
  13587. 4c3a4: dc000017 ldw r16,0(sp)
  13588. 4c3a8: dec00304 addi sp,sp,12
  13589. 4c3ac: f800283a ret
  13590. 4c3b0: 80c00017 ldw r3,0(r16)
  13591. 4c3b4: 183ff926 beq r3,zero,4c39c <__alt_data_end+0xfffda39c>
  13592. 4c3b8: 88c00015 stw r3,0(r17)
  13593. 4c3bc: 003ff706 br 4c39c <__alt_data_end+0xfffda39c>
  13594. 0004c3c0 <_lseek_r>:
  13595. 4c3c0: defffd04 addi sp,sp,-12
  13596. 4c3c4: 2805883a mov r2,r5
  13597. 4c3c8: dc000015 stw r16,0(sp)
  13598. 4c3cc: 04000174 movhi r16,5
  13599. 4c3d0: dc400115 stw r17,4(sp)
  13600. 4c3d4: 300b883a mov r5,r6
  13601. 4c3d8: 84177304 addi r16,r16,24012
  13602. 4c3dc: 2023883a mov r17,r4
  13603. 4c3e0: 380d883a mov r6,r7
  13604. 4c3e4: 1009883a mov r4,r2
  13605. 4c3e8: dfc00215 stw ra,8(sp)
  13606. 4c3ec: 80000015 stw zero,0(r16)
  13607. 4c3f0: 004ebb40 call 4ebb4 <lseek>
  13608. 4c3f4: 00ffffc4 movi r3,-1
  13609. 4c3f8: 10c00526 beq r2,r3,4c410 <_lseek_r+0x50>
  13610. 4c3fc: dfc00217 ldw ra,8(sp)
  13611. 4c400: dc400117 ldw r17,4(sp)
  13612. 4c404: dc000017 ldw r16,0(sp)
  13613. 4c408: dec00304 addi sp,sp,12
  13614. 4c40c: f800283a ret
  13615. 4c410: 80c00017 ldw r3,0(r16)
  13616. 4c414: 183ff926 beq r3,zero,4c3fc <__alt_data_end+0xfffda3fc>
  13617. 4c418: 88c00015 stw r3,0(r17)
  13618. 4c41c: 003ff706 br 4c3fc <__alt_data_end+0xfffda3fc>
  13619. 0004c420 <_read_r>:
  13620. 4c420: defffd04 addi sp,sp,-12
  13621. 4c424: 2805883a mov r2,r5
  13622. 4c428: dc000015 stw r16,0(sp)
  13623. 4c42c: 04000174 movhi r16,5
  13624. 4c430: dc400115 stw r17,4(sp)
  13625. 4c434: 300b883a mov r5,r6
  13626. 4c438: 84177304 addi r16,r16,24012
  13627. 4c43c: 2023883a mov r17,r4
  13628. 4c440: 380d883a mov r6,r7
  13629. 4c444: 1009883a mov r4,r2
  13630. 4c448: dfc00215 stw ra,8(sp)
  13631. 4c44c: 80000015 stw zero,0(r16)
  13632. 4c450: 004ed900 call 4ed90 <read>
  13633. 4c454: 00ffffc4 movi r3,-1
  13634. 4c458: 10c00526 beq r2,r3,4c470 <_read_r+0x50>
  13635. 4c45c: dfc00217 ldw ra,8(sp)
  13636. 4c460: dc400117 ldw r17,4(sp)
  13637. 4c464: dc000017 ldw r16,0(sp)
  13638. 4c468: dec00304 addi sp,sp,12
  13639. 4c46c: f800283a ret
  13640. 4c470: 80c00017 ldw r3,0(r16)
  13641. 4c474: 183ff926 beq r3,zero,4c45c <__alt_data_end+0xfffda45c>
  13642. 4c478: 88c00015 stw r3,0(r17)
  13643. 4c47c: 003ff706 br 4c45c <__alt_data_end+0xfffda45c>
  13644. 0004c480 <_wcrtomb_r>:
  13645. 4c480: defff604 addi sp,sp,-40
  13646. 4c484: 00800174 movhi r2,5
  13647. 4c488: dc800815 stw r18,32(sp)
  13648. 4c48c: dc400715 stw r17,28(sp)
  13649. 4c490: dc000615 stw r16,24(sp)
  13650. 4c494: 10905704 addi r2,r2,16732
  13651. 4c498: dfc00915 stw ra,36(sp)
  13652. 4c49c: 2021883a mov r16,r4
  13653. 4c4a0: 3823883a mov r17,r7
  13654. 4c4a4: 14800017 ldw r18,0(r2)
  13655. 4c4a8: 28001426 beq r5,zero,4c4fc <_wcrtomb_r+0x7c>
  13656. 4c4ac: d9400415 stw r5,16(sp)
  13657. 4c4b0: d9800515 stw r6,20(sp)
  13658. 4c4b4: 0047ce80 call 47ce8 <__locale_charset>
  13659. 4c4b8: d9800517 ldw r6,20(sp)
  13660. 4c4bc: d9400417 ldw r5,16(sp)
  13661. 4c4c0: 100f883a mov r7,r2
  13662. 4c4c4: dc400015 stw r17,0(sp)
  13663. 4c4c8: 8009883a mov r4,r16
  13664. 4c4cc: 903ee83a callr r18
  13665. 4c4d0: 00ffffc4 movi r3,-1
  13666. 4c4d4: 10c0031e bne r2,r3,4c4e4 <_wcrtomb_r+0x64>
  13667. 4c4d8: 88000015 stw zero,0(r17)
  13668. 4c4dc: 00c02284 movi r3,138
  13669. 4c4e0: 80c00015 stw r3,0(r16)
  13670. 4c4e4: dfc00917 ldw ra,36(sp)
  13671. 4c4e8: dc800817 ldw r18,32(sp)
  13672. 4c4ec: dc400717 ldw r17,28(sp)
  13673. 4c4f0: dc000617 ldw r16,24(sp)
  13674. 4c4f4: dec00a04 addi sp,sp,40
  13675. 4c4f8: f800283a ret
  13676. 4c4fc: 0047ce80 call 47ce8 <__locale_charset>
  13677. 4c500: 100f883a mov r7,r2
  13678. 4c504: dc400015 stw r17,0(sp)
  13679. 4c508: 000d883a mov r6,zero
  13680. 4c50c: d9400104 addi r5,sp,4
  13681. 4c510: 8009883a mov r4,r16
  13682. 4c514: 903ee83a callr r18
  13683. 4c518: 003fed06 br 4c4d0 <__alt_data_end+0xfffda4d0>
  13684. 0004c51c <wcrtomb>:
  13685. 4c51c: defff604 addi sp,sp,-40
  13686. 4c520: 00800174 movhi r2,5
  13687. 4c524: dc800615 stw r18,24(sp)
  13688. 4c528: dc400515 stw r17,20(sp)
  13689. 4c52c: 10905304 addi r2,r2,16716
  13690. 4c530: dfc00915 stw ra,36(sp)
  13691. 4c534: dd000815 stw r20,32(sp)
  13692. 4c538: dcc00715 stw r19,28(sp)
  13693. 4c53c: dc000415 stw r16,16(sp)
  13694. 4c540: 3025883a mov r18,r6
  13695. 4c544: 14400017 ldw r17,0(r2)
  13696. 4c548: 20001926 beq r4,zero,4c5b0 <wcrtomb+0x94>
  13697. 4c54c: 00800174 movhi r2,5
  13698. 4c550: 10905704 addi r2,r2,16732
  13699. 4c554: 15000017 ldw r20,0(r2)
  13700. 4c558: 2021883a mov r16,r4
  13701. 4c55c: 2827883a mov r19,r5
  13702. 4c560: 0047ce80 call 47ce8 <__locale_charset>
  13703. 4c564: 100f883a mov r7,r2
  13704. 4c568: dc800015 stw r18,0(sp)
  13705. 4c56c: 980d883a mov r6,r19
  13706. 4c570: 800b883a mov r5,r16
  13707. 4c574: 8809883a mov r4,r17
  13708. 4c578: a03ee83a callr r20
  13709. 4c57c: 00ffffc4 movi r3,-1
  13710. 4c580: 10c0031e bne r2,r3,4c590 <wcrtomb+0x74>
  13711. 4c584: 90000015 stw zero,0(r18)
  13712. 4c588: 00c02284 movi r3,138
  13713. 4c58c: 88c00015 stw r3,0(r17)
  13714. 4c590: dfc00917 ldw ra,36(sp)
  13715. 4c594: dd000817 ldw r20,32(sp)
  13716. 4c598: dcc00717 ldw r19,28(sp)
  13717. 4c59c: dc800617 ldw r18,24(sp)
  13718. 4c5a0: dc400517 ldw r17,20(sp)
  13719. 4c5a4: dc000417 ldw r16,16(sp)
  13720. 4c5a8: dec00a04 addi sp,sp,40
  13721. 4c5ac: f800283a ret
  13722. 4c5b0: 00800174 movhi r2,5
  13723. 4c5b4: 10905704 addi r2,r2,16732
  13724. 4c5b8: 14000017 ldw r16,0(r2)
  13725. 4c5bc: 0047ce80 call 47ce8 <__locale_charset>
  13726. 4c5c0: 100f883a mov r7,r2
  13727. 4c5c4: dc800015 stw r18,0(sp)
  13728. 4c5c8: 000d883a mov r6,zero
  13729. 4c5cc: d9400104 addi r5,sp,4
  13730. 4c5d0: 8809883a mov r4,r17
  13731. 4c5d4: 803ee83a callr r16
  13732. 4c5d8: 003fe806 br 4c57c <__alt_data_end+0xfffda57c>
  13733. 0004c5dc <__ascii_wctomb>:
  13734. 4c5dc: 28000526 beq r5,zero,4c5f4 <__ascii_wctomb+0x18>
  13735. 4c5e0: 00803fc4 movi r2,255
  13736. 4c5e4: 11800536 bltu r2,r6,4c5fc <__ascii_wctomb+0x20>
  13737. 4c5e8: 29800005 stb r6,0(r5)
  13738. 4c5ec: 00800044 movi r2,1
  13739. 4c5f0: f800283a ret
  13740. 4c5f4: 0005883a mov r2,zero
  13741. 4c5f8: f800283a ret
  13742. 4c5fc: 00802284 movi r2,138
  13743. 4c600: 20800015 stw r2,0(r4)
  13744. 4c604: 00bfffc4 movi r2,-1
  13745. 4c608: f800283a ret
  13746. 0004c60c <_wctomb_r>:
  13747. 4c60c: 00800174 movhi r2,5
  13748. 4c610: defff904 addi sp,sp,-28
  13749. 4c614: 10905704 addi r2,r2,16732
  13750. 4c618: dfc00615 stw ra,24(sp)
  13751. 4c61c: dc400515 stw r17,20(sp)
  13752. 4c620: dc000415 stw r16,16(sp)
  13753. 4c624: 3823883a mov r17,r7
  13754. 4c628: 14000017 ldw r16,0(r2)
  13755. 4c62c: d9000115 stw r4,4(sp)
  13756. 4c630: d9400215 stw r5,8(sp)
  13757. 4c634: d9800315 stw r6,12(sp)
  13758. 4c638: 0047ce80 call 47ce8 <__locale_charset>
  13759. 4c63c: d9800317 ldw r6,12(sp)
  13760. 4c640: d9400217 ldw r5,8(sp)
  13761. 4c644: d9000117 ldw r4,4(sp)
  13762. 4c648: 100f883a mov r7,r2
  13763. 4c64c: dc400015 stw r17,0(sp)
  13764. 4c650: 803ee83a callr r16
  13765. 4c654: dfc00617 ldw ra,24(sp)
  13766. 4c658: dc400517 ldw r17,20(sp)
  13767. 4c65c: dc000417 ldw r16,16(sp)
  13768. 4c660: dec00704 addi sp,sp,28
  13769. 4c664: f800283a ret
  13770. 0004c668 <__udivdi3>:
  13771. 4c668: defff404 addi sp,sp,-48
  13772. 4c66c: dcc00515 stw r19,20(sp)
  13773. 4c670: dc000215 stw r16,8(sp)
  13774. 4c674: dfc00b15 stw ra,44(sp)
  13775. 4c678: df000a15 stw fp,40(sp)
  13776. 4c67c: ddc00915 stw r23,36(sp)
  13777. 4c680: dd800815 stw r22,32(sp)
  13778. 4c684: dd400715 stw r21,28(sp)
  13779. 4c688: dd000615 stw r20,24(sp)
  13780. 4c68c: dc800415 stw r18,16(sp)
  13781. 4c690: dc400315 stw r17,12(sp)
  13782. 4c694: 2027883a mov r19,r4
  13783. 4c698: 2821883a mov r16,r5
  13784. 4c69c: 3800461e bne r7,zero,4c7b8 <__udivdi3+0x150>
  13785. 4c6a0: 3023883a mov r17,r6
  13786. 4c6a4: 2025883a mov r18,r4
  13787. 4c6a8: 2980572e bgeu r5,r6,4c808 <__udivdi3+0x1a0>
  13788. 4c6ac: 00bfffd4 movui r2,65535
  13789. 4c6b0: 282d883a mov r22,r5
  13790. 4c6b4: 1180b236 bltu r2,r6,4c980 <__udivdi3+0x318>
  13791. 4c6b8: 00803fc4 movi r2,255
  13792. 4c6bc: 1185803a cmpltu r2,r2,r6
  13793. 4c6c0: 100490fa slli r2,r2,3
  13794. 4c6c4: 3086d83a srl r3,r6,r2
  13795. 4c6c8: 01000174 movhi r4,5
  13796. 4c6cc: 2107fc84 addi r4,r4,8178
  13797. 4c6d0: 20c7883a add r3,r4,r3
  13798. 4c6d4: 18c00003 ldbu r3,0(r3)
  13799. 4c6d8: 1885883a add r2,r3,r2
  13800. 4c6dc: 00c00804 movi r3,32
  13801. 4c6e0: 1887c83a sub r3,r3,r2
  13802. 4c6e4: 18000526 beq r3,zero,4c6fc <__udivdi3+0x94>
  13803. 4c6e8: 80e0983a sll r16,r16,r3
  13804. 4c6ec: 9884d83a srl r2,r19,r2
  13805. 4c6f0: 30e2983a sll r17,r6,r3
  13806. 4c6f4: 98e4983a sll r18,r19,r3
  13807. 4c6f8: 142cb03a or r22,r2,r16
  13808. 4c6fc: 882ad43a srli r21,r17,16
  13809. 4c700: b009883a mov r4,r22
  13810. 4c704: 8d3fffcc andi r20,r17,65535
  13811. 4c708: a80b883a mov r5,r21
  13812. 4c70c: 004d3840 call 4d384 <__umodsi3>
  13813. 4c710: b009883a mov r4,r22
  13814. 4c714: a80b883a mov r5,r21
  13815. 4c718: 1027883a mov r19,r2
  13816. 4c71c: 004d3200 call 4d320 <__udivsi3>
  13817. 4c720: 100b883a mov r5,r2
  13818. 4c724: a009883a mov r4,r20
  13819. 4c728: 102d883a mov r22,r2
  13820. 4c72c: 004d3dc0 call 4d3dc <__mulsi3>
  13821. 4c730: 9826943a slli r19,r19,16
  13822. 4c734: 9006d43a srli r3,r18,16
  13823. 4c738: 1cc6b03a or r3,r3,r19
  13824. 4c73c: 1880052e bgeu r3,r2,4c754 <__udivdi3+0xec>
  13825. 4c740: 1c47883a add r3,r3,r17
  13826. 4c744: b13fffc4 addi r4,r22,-1
  13827. 4c748: 1c400136 bltu r3,r17,4c750 <__udivdi3+0xe8>
  13828. 4c74c: 18814236 bltu r3,r2,4cc58 <__udivdi3+0x5f0>
  13829. 4c750: 202d883a mov r22,r4
  13830. 4c754: 18a1c83a sub r16,r3,r2
  13831. 4c758: 8009883a mov r4,r16
  13832. 4c75c: a80b883a mov r5,r21
  13833. 4c760: 004d3840 call 4d384 <__umodsi3>
  13834. 4c764: 1027883a mov r19,r2
  13835. 4c768: 8009883a mov r4,r16
  13836. 4c76c: a80b883a mov r5,r21
  13837. 4c770: 9826943a slli r19,r19,16
  13838. 4c774: 004d3200 call 4d320 <__udivsi3>
  13839. 4c778: 100b883a mov r5,r2
  13840. 4c77c: a009883a mov r4,r20
  13841. 4c780: 94bfffcc andi r18,r18,65535
  13842. 4c784: 1021883a mov r16,r2
  13843. 4c788: 94e4b03a or r18,r18,r19
  13844. 4c78c: 004d3dc0 call 4d3dc <__mulsi3>
  13845. 4c790: 9080052e bgeu r18,r2,4c7a8 <__udivdi3+0x140>
  13846. 4c794: 8ca5883a add r18,r17,r18
  13847. 4c798: 80ffffc4 addi r3,r16,-1
  13848. 4c79c: 94410c36 bltu r18,r17,4cbd0 <__udivdi3+0x568>
  13849. 4c7a0: 90810b2e bgeu r18,r2,4cbd0 <__udivdi3+0x568>
  13850. 4c7a4: 843fff84 addi r16,r16,-2
  13851. 4c7a8: b004943a slli r2,r22,16
  13852. 4c7ac: 0007883a mov r3,zero
  13853. 4c7b0: 1404b03a or r2,r2,r16
  13854. 4c7b4: 00005e06 br 4c930 <__udivdi3+0x2c8>
  13855. 4c7b8: 29c05b36 bltu r5,r7,4c928 <__udivdi3+0x2c0>
  13856. 4c7bc: 00bfffd4 movui r2,65535
  13857. 4c7c0: 11c0672e bgeu r2,r7,4c960 <__udivdi3+0x2f8>
  13858. 4c7c4: 00804034 movhi r2,256
  13859. 4c7c8: 10bfffc4 addi r2,r2,-1
  13860. 4c7cc: 11c10a36 bltu r2,r7,4cbf8 <__udivdi3+0x590>
  13861. 4c7d0: 00800404 movi r2,16
  13862. 4c7d4: 3886d83a srl r3,r7,r2
  13863. 4c7d8: 01000174 movhi r4,5
  13864. 4c7dc: 2107fc84 addi r4,r4,8178
  13865. 4c7e0: 20c7883a add r3,r4,r3
  13866. 4c7e4: 18c00003 ldbu r3,0(r3)
  13867. 4c7e8: 05c00804 movi r23,32
  13868. 4c7ec: 1885883a add r2,r3,r2
  13869. 4c7f0: b8afc83a sub r23,r23,r2
  13870. 4c7f4: b800671e bne r23,zero,4c994 <__udivdi3+0x32c>
  13871. 4c7f8: 3c010536 bltu r7,r16,4cc10 <__udivdi3+0x5a8>
  13872. 4c7fc: 9985403a cmpgeu r2,r19,r6
  13873. 4c800: 0007883a mov r3,zero
  13874. 4c804: 00004a06 br 4c930 <__udivdi3+0x2c8>
  13875. 4c808: 3000041e bne r6,zero,4c81c <__udivdi3+0x1b4>
  13876. 4c80c: 000b883a mov r5,zero
  13877. 4c810: 01000044 movi r4,1
  13878. 4c814: 004d3200 call 4d320 <__udivsi3>
  13879. 4c818: 1023883a mov r17,r2
  13880. 4c81c: 00bfffd4 movui r2,65535
  13881. 4c820: 1440532e bgeu r2,r17,4c970 <__udivdi3+0x308>
  13882. 4c824: 00804034 movhi r2,256
  13883. 4c828: 10bfffc4 addi r2,r2,-1
  13884. 4c82c: 1440f436 bltu r2,r17,4cc00 <__udivdi3+0x598>
  13885. 4c830: 00800404 movi r2,16
  13886. 4c834: 8886d83a srl r3,r17,r2
  13887. 4c838: 01000174 movhi r4,5
  13888. 4c83c: 2107fc84 addi r4,r4,8178
  13889. 4c840: 20c7883a add r3,r4,r3
  13890. 4c844: 18c00003 ldbu r3,0(r3)
  13891. 4c848: 1885883a add r2,r3,r2
  13892. 4c84c: 00c00804 movi r3,32
  13893. 4c850: 1887c83a sub r3,r3,r2
  13894. 4c854: 1800a51e bne r3,zero,4caec <__udivdi3+0x484>
  13895. 4c858: 882ad43a srli r21,r17,16
  13896. 4c85c: 8461c83a sub r16,r16,r17
  13897. 4c860: 8d3fffcc andi r20,r17,65535
  13898. 4c864: 00c00044 movi r3,1
  13899. 4c868: a80b883a mov r5,r21
  13900. 4c86c: 8009883a mov r4,r16
  13901. 4c870: d8c00115 stw r3,4(sp)
  13902. 4c874: 004d3840 call 4d384 <__umodsi3>
  13903. 4c878: a80b883a mov r5,r21
  13904. 4c87c: 8009883a mov r4,r16
  13905. 4c880: 1027883a mov r19,r2
  13906. 4c884: 004d3200 call 4d320 <__udivsi3>
  13907. 4c888: a00b883a mov r5,r20
  13908. 4c88c: 1009883a mov r4,r2
  13909. 4c890: 102d883a mov r22,r2
  13910. 4c894: 004d3dc0 call 4d3dc <__mulsi3>
  13911. 4c898: 9826943a slli r19,r19,16
  13912. 4c89c: 900ed43a srli r7,r18,16
  13913. 4c8a0: d8c00117 ldw r3,4(sp)
  13914. 4c8a4: 3cceb03a or r7,r7,r19
  13915. 4c8a8: 3880052e bgeu r7,r2,4c8c0 <__udivdi3+0x258>
  13916. 4c8ac: 3c4f883a add r7,r7,r17
  13917. 4c8b0: b13fffc4 addi r4,r22,-1
  13918. 4c8b4: 3c400136 bltu r7,r17,4c8bc <__udivdi3+0x254>
  13919. 4c8b8: 3880e436 bltu r7,r2,4cc4c <__udivdi3+0x5e4>
  13920. 4c8bc: 202d883a mov r22,r4
  13921. 4c8c0: 38a1c83a sub r16,r7,r2
  13922. 4c8c4: 8009883a mov r4,r16
  13923. 4c8c8: a80b883a mov r5,r21
  13924. 4c8cc: d8c00115 stw r3,4(sp)
  13925. 4c8d0: 004d3840 call 4d384 <__umodsi3>
  13926. 4c8d4: 1027883a mov r19,r2
  13927. 4c8d8: 8009883a mov r4,r16
  13928. 4c8dc: a80b883a mov r5,r21
  13929. 4c8e0: 9826943a slli r19,r19,16
  13930. 4c8e4: 004d3200 call 4d320 <__udivsi3>
  13931. 4c8e8: a00b883a mov r5,r20
  13932. 4c8ec: 1009883a mov r4,r2
  13933. 4c8f0: 94bfffcc andi r18,r18,65535
  13934. 4c8f4: 1021883a mov r16,r2
  13935. 4c8f8: 94e4b03a or r18,r18,r19
  13936. 4c8fc: 004d3dc0 call 4d3dc <__mulsi3>
  13937. 4c900: d8c00117 ldw r3,4(sp)
  13938. 4c904: 9080052e bgeu r18,r2,4c91c <__udivdi3+0x2b4>
  13939. 4c908: 8ca5883a add r18,r17,r18
  13940. 4c90c: 813fffc4 addi r4,r16,-1
  13941. 4c910: 9440ad36 bltu r18,r17,4cbc8 <__udivdi3+0x560>
  13942. 4c914: 9080ac2e bgeu r18,r2,4cbc8 <__udivdi3+0x560>
  13943. 4c918: 843fff84 addi r16,r16,-2
  13944. 4c91c: b004943a slli r2,r22,16
  13945. 4c920: 1404b03a or r2,r2,r16
  13946. 4c924: 00000206 br 4c930 <__udivdi3+0x2c8>
  13947. 4c928: 0007883a mov r3,zero
  13948. 4c92c: 0005883a mov r2,zero
  13949. 4c930: dfc00b17 ldw ra,44(sp)
  13950. 4c934: df000a17 ldw fp,40(sp)
  13951. 4c938: ddc00917 ldw r23,36(sp)
  13952. 4c93c: dd800817 ldw r22,32(sp)
  13953. 4c940: dd400717 ldw r21,28(sp)
  13954. 4c944: dd000617 ldw r20,24(sp)
  13955. 4c948: dcc00517 ldw r19,20(sp)
  13956. 4c94c: dc800417 ldw r18,16(sp)
  13957. 4c950: dc400317 ldw r17,12(sp)
  13958. 4c954: dc000217 ldw r16,8(sp)
  13959. 4c958: dec00c04 addi sp,sp,48
  13960. 4c95c: f800283a ret
  13961. 4c960: 00803fc4 movi r2,255
  13962. 4c964: 11c5803a cmpltu r2,r2,r7
  13963. 4c968: 100490fa slli r2,r2,3
  13964. 4c96c: 003f9906 br 4c7d4 <__alt_data_end+0xfffda7d4>
  13965. 4c970: 00803fc4 movi r2,255
  13966. 4c974: 1445803a cmpltu r2,r2,r17
  13967. 4c978: 100490fa slli r2,r2,3
  13968. 4c97c: 003fad06 br 4c834 <__alt_data_end+0xfffda834>
  13969. 4c980: 00804034 movhi r2,256
  13970. 4c984: 10bfffc4 addi r2,r2,-1
  13971. 4c988: 11809f36 bltu r2,r6,4cc08 <__udivdi3+0x5a0>
  13972. 4c98c: 00800404 movi r2,16
  13973. 4c990: 003f4c06 br 4c6c4 <__alt_data_end+0xfffda6c4>
  13974. 4c994: 3dce983a sll r7,r7,r23
  13975. 4c998: 30b8d83a srl fp,r6,r2
  13976. 4c99c: 80a2d83a srl r17,r16,r2
  13977. 4c9a0: 35cc983a sll r6,r6,r23
  13978. 4c9a4: 3f38b03a or fp,r7,fp
  13979. 4c9a8: e024d43a srli r18,fp,16
  13980. 4c9ac: 9884d83a srl r2,r19,r2
  13981. 4c9b0: 85e0983a sll r16,r16,r23
  13982. 4c9b4: 8809883a mov r4,r17
  13983. 4c9b8: 900b883a mov r5,r18
  13984. 4c9bc: d9800015 stw r6,0(sp)
  13985. 4c9c0: 1420b03a or r16,r2,r16
  13986. 4c9c4: 004d3840 call 4d384 <__umodsi3>
  13987. 4c9c8: 900b883a mov r5,r18
  13988. 4c9cc: 8809883a mov r4,r17
  13989. 4c9d0: 1029883a mov r20,r2
  13990. 4c9d4: e5bfffcc andi r22,fp,65535
  13991. 4c9d8: 004d3200 call 4d320 <__udivsi3>
  13992. 4c9dc: 100b883a mov r5,r2
  13993. 4c9e0: b009883a mov r4,r22
  13994. 4c9e4: 102b883a mov r21,r2
  13995. 4c9e8: 004d3dc0 call 4d3dc <__mulsi3>
  13996. 4c9ec: a028943a slli r20,r20,16
  13997. 4c9f0: 8006d43a srli r3,r16,16
  13998. 4c9f4: 1d06b03a or r3,r3,r20
  13999. 4c9f8: 1880042e bgeu r3,r2,4ca0c <__udivdi3+0x3a4>
  14000. 4c9fc: 1f07883a add r3,r3,fp
  14001. 4ca00: a93fffc4 addi r4,r21,-1
  14002. 4ca04: 1f00892e bgeu r3,fp,4cc2c <__udivdi3+0x5c4>
  14003. 4ca08: 202b883a mov r21,r4
  14004. 4ca0c: 18a3c83a sub r17,r3,r2
  14005. 4ca10: 8809883a mov r4,r17
  14006. 4ca14: 900b883a mov r5,r18
  14007. 4ca18: 004d3840 call 4d384 <__umodsi3>
  14008. 4ca1c: 1029883a mov r20,r2
  14009. 4ca20: 8809883a mov r4,r17
  14010. 4ca24: 900b883a mov r5,r18
  14011. 4ca28: a028943a slli r20,r20,16
  14012. 4ca2c: 004d3200 call 4d320 <__udivsi3>
  14013. 4ca30: 100b883a mov r5,r2
  14014. 4ca34: b009883a mov r4,r22
  14015. 4ca38: 843fffcc andi r16,r16,65535
  14016. 4ca3c: 1023883a mov r17,r2
  14017. 4ca40: 8520b03a or r16,r16,r20
  14018. 4ca44: 004d3dc0 call 4d3dc <__mulsi3>
  14019. 4ca48: 8080042e bgeu r16,r2,4ca5c <__udivdi3+0x3f4>
  14020. 4ca4c: 8721883a add r16,r16,fp
  14021. 4ca50: 88ffffc4 addi r3,r17,-1
  14022. 4ca54: 8700712e bgeu r16,fp,4cc1c <__udivdi3+0x5b4>
  14023. 4ca58: 1823883a mov r17,r3
  14024. 4ca5c: a80e943a slli r7,r21,16
  14025. 4ca60: d8c00017 ldw r3,0(sp)
  14026. 4ca64: 80a1c83a sub r16,r16,r2
  14027. 4ca68: 3c64b03a or r18,r7,r17
  14028. 4ca6c: 1d3fffcc andi r20,r3,65535
  14029. 4ca70: 9022d43a srli r17,r18,16
  14030. 4ca74: 95bfffcc andi r22,r18,65535
  14031. 4ca78: a00b883a mov r5,r20
  14032. 4ca7c: b009883a mov r4,r22
  14033. 4ca80: 182ad43a srli r21,r3,16
  14034. 4ca84: 004d3dc0 call 4d3dc <__mulsi3>
  14035. 4ca88: a00b883a mov r5,r20
  14036. 4ca8c: 8809883a mov r4,r17
  14037. 4ca90: 1039883a mov fp,r2
  14038. 4ca94: 004d3dc0 call 4d3dc <__mulsi3>
  14039. 4ca98: 8809883a mov r4,r17
  14040. 4ca9c: a80b883a mov r5,r21
  14041. 4caa0: 1029883a mov r20,r2
  14042. 4caa4: 004d3dc0 call 4d3dc <__mulsi3>
  14043. 4caa8: a80b883a mov r5,r21
  14044. 4caac: b009883a mov r4,r22
  14045. 4cab0: 1023883a mov r17,r2
  14046. 4cab4: 004d3dc0 call 4d3dc <__mulsi3>
  14047. 4cab8: e006d43a srli r3,fp,16
  14048. 4cabc: 1505883a add r2,r2,r20
  14049. 4cac0: 1887883a add r3,r3,r2
  14050. 4cac4: 1d00022e bgeu r3,r20,4cad0 <__udivdi3+0x468>
  14051. 4cac8: 00800074 movhi r2,1
  14052. 4cacc: 88a3883a add r17,r17,r2
  14053. 4cad0: 1804d43a srli r2,r3,16
  14054. 4cad4: 1463883a add r17,r2,r17
  14055. 4cad8: 84404436 bltu r16,r17,4cbec <__udivdi3+0x584>
  14056. 4cadc: 84403e26 beq r16,r17,4cbd8 <__udivdi3+0x570>
  14057. 4cae0: 9005883a mov r2,r18
  14058. 4cae4: 0007883a mov r3,zero
  14059. 4cae8: 003f9106 br 4c930 <__alt_data_end+0xfffda930>
  14060. 4caec: 88e2983a sll r17,r17,r3
  14061. 4caf0: 80aed83a srl r23,r16,r2
  14062. 4caf4: 80e0983a sll r16,r16,r3
  14063. 4caf8: 882ad43a srli r21,r17,16
  14064. 4cafc: 9884d83a srl r2,r19,r2
  14065. 4cb00: b809883a mov r4,r23
  14066. 4cb04: a80b883a mov r5,r21
  14067. 4cb08: 98e4983a sll r18,r19,r3
  14068. 4cb0c: 142cb03a or r22,r2,r16
  14069. 4cb10: 004d3840 call 4d384 <__umodsi3>
  14070. 4cb14: b809883a mov r4,r23
  14071. 4cb18: a80b883a mov r5,r21
  14072. 4cb1c: 1027883a mov r19,r2
  14073. 4cb20: 8d3fffcc andi r20,r17,65535
  14074. 4cb24: 004d3200 call 4d320 <__udivsi3>
  14075. 4cb28: a009883a mov r4,r20
  14076. 4cb2c: 100b883a mov r5,r2
  14077. 4cb30: 102f883a mov r23,r2
  14078. 4cb34: 004d3dc0 call 4d3dc <__mulsi3>
  14079. 4cb38: 9826943a slli r19,r19,16
  14080. 4cb3c: b008d43a srli r4,r22,16
  14081. 4cb40: 24c8b03a or r4,r4,r19
  14082. 4cb44: 2080062e bgeu r4,r2,4cb60 <__udivdi3+0x4f8>
  14083. 4cb48: 2449883a add r4,r4,r17
  14084. 4cb4c: b8ffffc4 addi r3,r23,-1
  14085. 4cb50: 24403c36 bltu r4,r17,4cc44 <__udivdi3+0x5dc>
  14086. 4cb54: 20803b2e bgeu r4,r2,4cc44 <__udivdi3+0x5dc>
  14087. 4cb58: bdffff84 addi r23,r23,-2
  14088. 4cb5c: 2449883a add r4,r4,r17
  14089. 4cb60: 20a1c83a sub r16,r4,r2
  14090. 4cb64: a80b883a mov r5,r21
  14091. 4cb68: 8009883a mov r4,r16
  14092. 4cb6c: 004d3840 call 4d384 <__umodsi3>
  14093. 4cb70: a80b883a mov r5,r21
  14094. 4cb74: 8009883a mov r4,r16
  14095. 4cb78: 1027883a mov r19,r2
  14096. 4cb7c: 004d3200 call 4d320 <__udivsi3>
  14097. 4cb80: a009883a mov r4,r20
  14098. 4cb84: 100b883a mov r5,r2
  14099. 4cb88: 9826943a slli r19,r19,16
  14100. 4cb8c: 1039883a mov fp,r2
  14101. 4cb90: 004d3dc0 call 4d3dc <__mulsi3>
  14102. 4cb94: b13fffcc andi r4,r22,65535
  14103. 4cb98: 24c8b03a or r4,r4,r19
  14104. 4cb9c: 2080062e bgeu r4,r2,4cbb8 <__udivdi3+0x550>
  14105. 4cba0: 2449883a add r4,r4,r17
  14106. 4cba4: e0ffffc4 addi r3,fp,-1
  14107. 4cba8: 24402436 bltu r4,r17,4cc3c <__udivdi3+0x5d4>
  14108. 4cbac: 2080232e bgeu r4,r2,4cc3c <__udivdi3+0x5d4>
  14109. 4cbb0: e73fff84 addi fp,fp,-2
  14110. 4cbb4: 2449883a add r4,r4,r17
  14111. 4cbb8: b82e943a slli r23,r23,16
  14112. 4cbbc: 20a1c83a sub r16,r4,r2
  14113. 4cbc0: bf06b03a or r3,r23,fp
  14114. 4cbc4: 003f2806 br 4c868 <__alt_data_end+0xfffda868>
  14115. 4cbc8: 2021883a mov r16,r4
  14116. 4cbcc: 003f5306 br 4c91c <__alt_data_end+0xfffda91c>
  14117. 4cbd0: 1821883a mov r16,r3
  14118. 4cbd4: 003ef406 br 4c7a8 <__alt_data_end+0xfffda7a8>
  14119. 4cbd8: 1806943a slli r3,r3,16
  14120. 4cbdc: 9de6983a sll r19,r19,r23
  14121. 4cbe0: e73fffcc andi fp,fp,65535
  14122. 4cbe4: 1f07883a add r3,r3,fp
  14123. 4cbe8: 98ffbd2e bgeu r19,r3,4cae0 <__alt_data_end+0xfffdaae0>
  14124. 4cbec: 90bfffc4 addi r2,r18,-1
  14125. 4cbf0: 0007883a mov r3,zero
  14126. 4cbf4: 003f4e06 br 4c930 <__alt_data_end+0xfffda930>
  14127. 4cbf8: 00800604 movi r2,24
  14128. 4cbfc: 003ef506 br 4c7d4 <__alt_data_end+0xfffda7d4>
  14129. 4cc00: 00800604 movi r2,24
  14130. 4cc04: 003f0b06 br 4c834 <__alt_data_end+0xfffda834>
  14131. 4cc08: 00800604 movi r2,24
  14132. 4cc0c: 003ead06 br 4c6c4 <__alt_data_end+0xfffda6c4>
  14133. 4cc10: 0007883a mov r3,zero
  14134. 4cc14: 00800044 movi r2,1
  14135. 4cc18: 003f4506 br 4c930 <__alt_data_end+0xfffda930>
  14136. 4cc1c: 80bf8e2e bgeu r16,r2,4ca58 <__alt_data_end+0xfffdaa58>
  14137. 4cc20: 8c7fff84 addi r17,r17,-2
  14138. 4cc24: 8721883a add r16,r16,fp
  14139. 4cc28: 003f8c06 br 4ca5c <__alt_data_end+0xfffdaa5c>
  14140. 4cc2c: 18bf762e bgeu r3,r2,4ca08 <__alt_data_end+0xfffdaa08>
  14141. 4cc30: ad7fff84 addi r21,r21,-2
  14142. 4cc34: 1f07883a add r3,r3,fp
  14143. 4cc38: 003f7406 br 4ca0c <__alt_data_end+0xfffdaa0c>
  14144. 4cc3c: 1839883a mov fp,r3
  14145. 4cc40: 003fdd06 br 4cbb8 <__alt_data_end+0xfffdabb8>
  14146. 4cc44: 182f883a mov r23,r3
  14147. 4cc48: 003fc506 br 4cb60 <__alt_data_end+0xfffdab60>
  14148. 4cc4c: b5bfff84 addi r22,r22,-2
  14149. 4cc50: 3c4f883a add r7,r7,r17
  14150. 4cc54: 003f1a06 br 4c8c0 <__alt_data_end+0xfffda8c0>
  14151. 4cc58: b5bfff84 addi r22,r22,-2
  14152. 4cc5c: 1c47883a add r3,r3,r17
  14153. 4cc60: 003ebc06 br 4c754 <__alt_data_end+0xfffda754>
  14154. 0004cc64 <__umoddi3>:
  14155. 4cc64: defff304 addi sp,sp,-52
  14156. 4cc68: df000b15 stw fp,44(sp)
  14157. 4cc6c: dc400415 stw r17,16(sp)
  14158. 4cc70: dc000315 stw r16,12(sp)
  14159. 4cc74: dfc00c15 stw ra,48(sp)
  14160. 4cc78: ddc00a15 stw r23,40(sp)
  14161. 4cc7c: dd800915 stw r22,36(sp)
  14162. 4cc80: dd400815 stw r21,32(sp)
  14163. 4cc84: dd000715 stw r20,28(sp)
  14164. 4cc88: dcc00615 stw r19,24(sp)
  14165. 4cc8c: dc800515 stw r18,20(sp)
  14166. 4cc90: 2021883a mov r16,r4
  14167. 4cc94: 2823883a mov r17,r5
  14168. 4cc98: 2839883a mov fp,r5
  14169. 4cc9c: 3800401e bne r7,zero,4cda0 <__umoddi3+0x13c>
  14170. 4cca0: 3027883a mov r19,r6
  14171. 4cca4: 2029883a mov r20,r4
  14172. 4cca8: 2980552e bgeu r5,r6,4ce00 <__umoddi3+0x19c>
  14173. 4ccac: 00bfffd4 movui r2,65535
  14174. 4ccb0: 1180a236 bltu r2,r6,4cf3c <__umoddi3+0x2d8>
  14175. 4ccb4: 01003fc4 movi r4,255
  14176. 4ccb8: 2189803a cmpltu r4,r4,r6
  14177. 4ccbc: 200890fa slli r4,r4,3
  14178. 4ccc0: 3104d83a srl r2,r6,r4
  14179. 4ccc4: 00c00174 movhi r3,5
  14180. 4ccc8: 18c7fc84 addi r3,r3,8178
  14181. 4cccc: 1885883a add r2,r3,r2
  14182. 4ccd0: 10c00003 ldbu r3,0(r2)
  14183. 4ccd4: 00800804 movi r2,32
  14184. 4ccd8: 1909883a add r4,r3,r4
  14185. 4ccdc: 1125c83a sub r18,r2,r4
  14186. 4cce0: 90000526 beq r18,zero,4ccf8 <__umoddi3+0x94>
  14187. 4cce4: 8ca2983a sll r17,r17,r18
  14188. 4cce8: 8108d83a srl r4,r16,r4
  14189. 4ccec: 34a6983a sll r19,r6,r18
  14190. 4ccf0: 84a8983a sll r20,r16,r18
  14191. 4ccf4: 2478b03a or fp,r4,r17
  14192. 4ccf8: 982cd43a srli r22,r19,16
  14193. 4ccfc: e009883a mov r4,fp
  14194. 4cd00: 9dffffcc andi r23,r19,65535
  14195. 4cd04: b00b883a mov r5,r22
  14196. 4cd08: 004d3840 call 4d384 <__umodsi3>
  14197. 4cd0c: b00b883a mov r5,r22
  14198. 4cd10: e009883a mov r4,fp
  14199. 4cd14: 102b883a mov r21,r2
  14200. 4cd18: 004d3200 call 4d320 <__udivsi3>
  14201. 4cd1c: 100b883a mov r5,r2
  14202. 4cd20: b809883a mov r4,r23
  14203. 4cd24: 004d3dc0 call 4d3dc <__mulsi3>
  14204. 4cd28: a82a943a slli r21,r21,16
  14205. 4cd2c: a006d43a srli r3,r20,16
  14206. 4cd30: 1d46b03a or r3,r3,r21
  14207. 4cd34: 1880032e bgeu r3,r2,4cd44 <__umoddi3+0xe0>
  14208. 4cd38: 1cc7883a add r3,r3,r19
  14209. 4cd3c: 1cc00136 bltu r3,r19,4cd44 <__umoddi3+0xe0>
  14210. 4cd40: 18813136 bltu r3,r2,4d208 <__umoddi3+0x5a4>
  14211. 4cd44: 18a1c83a sub r16,r3,r2
  14212. 4cd48: b00b883a mov r5,r22
  14213. 4cd4c: 8009883a mov r4,r16
  14214. 4cd50: 004d3840 call 4d384 <__umodsi3>
  14215. 4cd54: b00b883a mov r5,r22
  14216. 4cd58: 8009883a mov r4,r16
  14217. 4cd5c: 1023883a mov r17,r2
  14218. 4cd60: 004d3200 call 4d320 <__udivsi3>
  14219. 4cd64: 100b883a mov r5,r2
  14220. 4cd68: b809883a mov r4,r23
  14221. 4cd6c: 8822943a slli r17,r17,16
  14222. 4cd70: 004d3dc0 call 4d3dc <__mulsi3>
  14223. 4cd74: a0ffffcc andi r3,r20,65535
  14224. 4cd78: 1c46b03a or r3,r3,r17
  14225. 4cd7c: 1880042e bgeu r3,r2,4cd90 <__umoddi3+0x12c>
  14226. 4cd80: 1cc7883a add r3,r3,r19
  14227. 4cd84: 1cc00236 bltu r3,r19,4cd90 <__umoddi3+0x12c>
  14228. 4cd88: 1880012e bgeu r3,r2,4cd90 <__umoddi3+0x12c>
  14229. 4cd8c: 1cc7883a add r3,r3,r19
  14230. 4cd90: 1885c83a sub r2,r3,r2
  14231. 4cd94: 1484d83a srl r2,r2,r18
  14232. 4cd98: 0007883a mov r3,zero
  14233. 4cd9c: 00005306 br 4ceec <__umoddi3+0x288>
  14234. 4cda0: 29c05036 bltu r5,r7,4cee4 <__umoddi3+0x280>
  14235. 4cda4: 00bfffd4 movui r2,65535
  14236. 4cda8: 11c05c2e bgeu r2,r7,4cf1c <__umoddi3+0x2b8>
  14237. 4cdac: 00804034 movhi r2,256
  14238. 4cdb0: 10bfffc4 addi r2,r2,-1
  14239. 4cdb4: 11c10636 bltu r2,r7,4d1d0 <__umoddi3+0x56c>
  14240. 4cdb8: 01000404 movi r4,16
  14241. 4cdbc: 3904d83a srl r2,r7,r4
  14242. 4cdc0: 00c00174 movhi r3,5
  14243. 4cdc4: 18c7fc84 addi r3,r3,8178
  14244. 4cdc8: 1885883a add r2,r3,r2
  14245. 4cdcc: 14c00003 ldbu r19,0(r2)
  14246. 4cdd0: 00c00804 movi r3,32
  14247. 4cdd4: 9927883a add r19,r19,r4
  14248. 4cdd8: 1ce9c83a sub r20,r3,r19
  14249. 4cddc: a0005c1e bne r20,zero,4cf50 <__umoddi3+0x2ec>
  14250. 4cde0: 3c400136 bltu r7,r17,4cde8 <__umoddi3+0x184>
  14251. 4cde4: 81810a36 bltu r16,r6,4d210 <__umoddi3+0x5ac>
  14252. 4cde8: 8185c83a sub r2,r16,r6
  14253. 4cdec: 89e3c83a sub r17,r17,r7
  14254. 4cdf0: 8089803a cmpltu r4,r16,r2
  14255. 4cdf4: 8939c83a sub fp,r17,r4
  14256. 4cdf8: e007883a mov r3,fp
  14257. 4cdfc: 00003b06 br 4ceec <__umoddi3+0x288>
  14258. 4ce00: 3000041e bne r6,zero,4ce14 <__umoddi3+0x1b0>
  14259. 4ce04: 000b883a mov r5,zero
  14260. 4ce08: 01000044 movi r4,1
  14261. 4ce0c: 004d3200 call 4d320 <__udivsi3>
  14262. 4ce10: 1027883a mov r19,r2
  14263. 4ce14: 00bfffd4 movui r2,65535
  14264. 4ce18: 14c0442e bgeu r2,r19,4cf2c <__umoddi3+0x2c8>
  14265. 4ce1c: 00804034 movhi r2,256
  14266. 4ce20: 10bfffc4 addi r2,r2,-1
  14267. 4ce24: 14c0ec36 bltu r2,r19,4d1d8 <__umoddi3+0x574>
  14268. 4ce28: 00800404 movi r2,16
  14269. 4ce2c: 9886d83a srl r3,r19,r2
  14270. 4ce30: 01000174 movhi r4,5
  14271. 4ce34: 2107fc84 addi r4,r4,8178
  14272. 4ce38: 20c7883a add r3,r4,r3
  14273. 4ce3c: 18c00003 ldbu r3,0(r3)
  14274. 4ce40: 1887883a add r3,r3,r2
  14275. 4ce44: 00800804 movi r2,32
  14276. 4ce48: 10e5c83a sub r18,r2,r3
  14277. 4ce4c: 9000ab1e bne r18,zero,4d0fc <__umoddi3+0x498>
  14278. 4ce50: 982cd43a srli r22,r19,16
  14279. 4ce54: 8ce3c83a sub r17,r17,r19
  14280. 4ce58: 9dffffcc andi r23,r19,65535
  14281. 4ce5c: b00b883a mov r5,r22
  14282. 4ce60: 8809883a mov r4,r17
  14283. 4ce64: 004d3840 call 4d384 <__umodsi3>
  14284. 4ce68: b00b883a mov r5,r22
  14285. 4ce6c: 8809883a mov r4,r17
  14286. 4ce70: 102b883a mov r21,r2
  14287. 4ce74: 004d3200 call 4d320 <__udivsi3>
  14288. 4ce78: b80b883a mov r5,r23
  14289. 4ce7c: 1009883a mov r4,r2
  14290. 4ce80: 004d3dc0 call 4d3dc <__mulsi3>
  14291. 4ce84: a82a943a slli r21,r21,16
  14292. 4ce88: a006d43a srli r3,r20,16
  14293. 4ce8c: 1d46b03a or r3,r3,r21
  14294. 4ce90: 1880042e bgeu r3,r2,4cea4 <__umoddi3+0x240>
  14295. 4ce94: 1cc7883a add r3,r3,r19
  14296. 4ce98: 1cc00236 bltu r3,r19,4cea4 <__umoddi3+0x240>
  14297. 4ce9c: 1880012e bgeu r3,r2,4cea4 <__umoddi3+0x240>
  14298. 4cea0: 1cc7883a add r3,r3,r19
  14299. 4cea4: 18a1c83a sub r16,r3,r2
  14300. 4cea8: b00b883a mov r5,r22
  14301. 4ceac: 8009883a mov r4,r16
  14302. 4ceb0: 004d3840 call 4d384 <__umodsi3>
  14303. 4ceb4: 1023883a mov r17,r2
  14304. 4ceb8: b00b883a mov r5,r22
  14305. 4cebc: 8009883a mov r4,r16
  14306. 4cec0: 004d3200 call 4d320 <__udivsi3>
  14307. 4cec4: 8822943a slli r17,r17,16
  14308. 4cec8: b80b883a mov r5,r23
  14309. 4cecc: 1009883a mov r4,r2
  14310. 4ced0: 004d3dc0 call 4d3dc <__mulsi3>
  14311. 4ced4: a53fffcc andi r20,r20,65535
  14312. 4ced8: a446b03a or r3,r20,r17
  14313. 4cedc: 18bfac2e bgeu r3,r2,4cd90 <__alt_data_end+0xfffdad90>
  14314. 4cee0: 003fa706 br 4cd80 <__alt_data_end+0xfffdad80>
  14315. 4cee4: 2005883a mov r2,r4
  14316. 4cee8: 2807883a mov r3,r5
  14317. 4ceec: dfc00c17 ldw ra,48(sp)
  14318. 4cef0: df000b17 ldw fp,44(sp)
  14319. 4cef4: ddc00a17 ldw r23,40(sp)
  14320. 4cef8: dd800917 ldw r22,36(sp)
  14321. 4cefc: dd400817 ldw r21,32(sp)
  14322. 4cf00: dd000717 ldw r20,28(sp)
  14323. 4cf04: dcc00617 ldw r19,24(sp)
  14324. 4cf08: dc800517 ldw r18,20(sp)
  14325. 4cf0c: dc400417 ldw r17,16(sp)
  14326. 4cf10: dc000317 ldw r16,12(sp)
  14327. 4cf14: dec00d04 addi sp,sp,52
  14328. 4cf18: f800283a ret
  14329. 4cf1c: 04c03fc4 movi r19,255
  14330. 4cf20: 99c9803a cmpltu r4,r19,r7
  14331. 4cf24: 200890fa slli r4,r4,3
  14332. 4cf28: 003fa406 br 4cdbc <__alt_data_end+0xfffdadbc>
  14333. 4cf2c: 00803fc4 movi r2,255
  14334. 4cf30: 14c5803a cmpltu r2,r2,r19
  14335. 4cf34: 100490fa slli r2,r2,3
  14336. 4cf38: 003fbc06 br 4ce2c <__alt_data_end+0xfffdae2c>
  14337. 4cf3c: 00804034 movhi r2,256
  14338. 4cf40: 10bfffc4 addi r2,r2,-1
  14339. 4cf44: 1180a636 bltu r2,r6,4d1e0 <__umoddi3+0x57c>
  14340. 4cf48: 01000404 movi r4,16
  14341. 4cf4c: 003f5c06 br 4ccc0 <__alt_data_end+0xfffdacc0>
  14342. 4cf50: 3d0e983a sll r7,r7,r20
  14343. 4cf54: 34ead83a srl r21,r6,r19
  14344. 4cf58: 8cc6d83a srl r3,r17,r19
  14345. 4cf5c: 8d10983a sll r8,r17,r20
  14346. 4cf60: 3d6ab03a or r21,r7,r21
  14347. 4cf64: a82cd43a srli r22,r21,16
  14348. 4cf68: 84e2d83a srl r17,r16,r19
  14349. 4cf6c: 1809883a mov r4,r3
  14350. 4cf70: b00b883a mov r5,r22
  14351. 4cf74: 8a22b03a or r17,r17,r8
  14352. 4cf78: 3524983a sll r18,r6,r20
  14353. 4cf7c: dc400015 stw r17,0(sp)
  14354. 4cf80: d8c00115 stw r3,4(sp)
  14355. 4cf84: 004d3840 call 4d384 <__umodsi3>
  14356. 4cf88: d8c00117 ldw r3,4(sp)
  14357. 4cf8c: b00b883a mov r5,r22
  14358. 4cf90: 1039883a mov fp,r2
  14359. 4cf94: 1809883a mov r4,r3
  14360. 4cf98: 004d3200 call 4d320 <__udivsi3>
  14361. 4cf9c: adffffcc andi r23,r21,65535
  14362. 4cfa0: 100b883a mov r5,r2
  14363. 4cfa4: b809883a mov r4,r23
  14364. 4cfa8: 1023883a mov r17,r2
  14365. 4cfac: 004d3dc0 call 4d3dc <__mulsi3>
  14366. 4cfb0: d9400017 ldw r5,0(sp)
  14367. 4cfb4: e008943a slli r4,fp,16
  14368. 4cfb8: 8520983a sll r16,r16,r20
  14369. 4cfbc: 2806d43a srli r3,r5,16
  14370. 4cfc0: 1906b03a or r3,r3,r4
  14371. 4cfc4: 1880042e bgeu r3,r2,4cfd8 <__umoddi3+0x374>
  14372. 4cfc8: 1d47883a add r3,r3,r21
  14373. 4cfcc: 893fffc4 addi r4,r17,-1
  14374. 4cfd0: 1d40892e bgeu r3,r21,4d1f8 <__umoddi3+0x594>
  14375. 4cfd4: 2023883a mov r17,r4
  14376. 4cfd8: 18b9c83a sub fp,r3,r2
  14377. 4cfdc: b00b883a mov r5,r22
  14378. 4cfe0: e009883a mov r4,fp
  14379. 4cfe4: 004d3840 call 4d384 <__umodsi3>
  14380. 4cfe8: b00b883a mov r5,r22
  14381. 4cfec: e009883a mov r4,fp
  14382. 4cff0: d8800215 stw r2,8(sp)
  14383. 4cff4: 004d3200 call 4d320 <__udivsi3>
  14384. 4cff8: 100b883a mov r5,r2
  14385. 4cffc: b809883a mov r4,r23
  14386. 4d000: 102d883a mov r22,r2
  14387. 4d004: 004d3dc0 call 4d3dc <__mulsi3>
  14388. 4d008: d9800217 ldw r6,8(sp)
  14389. 4d00c: d8c00017 ldw r3,0(sp)
  14390. 4d010: 300c943a slli r6,r6,16
  14391. 4d014: 1a3fffcc andi r8,r3,65535
  14392. 4d018: 4190b03a or r8,r8,r6
  14393. 4d01c: 4080042e bgeu r8,r2,4d030 <__umoddi3+0x3cc>
  14394. 4d020: 4551883a add r8,r8,r21
  14395. 4d024: b0ffffc4 addi r3,r22,-1
  14396. 4d028: 45406f2e bgeu r8,r21,4d1e8 <__umoddi3+0x584>
  14397. 4d02c: 182d883a mov r22,r3
  14398. 4d030: 880e943a slli r7,r17,16
  14399. 4d034: 9006d43a srli r3,r18,16
  14400. 4d038: 91bfffcc andi r6,r18,65535
  14401. 4d03c: 3dacb03a or r22,r7,r22
  14402. 4d040: b02ed43a srli r23,r22,16
  14403. 4d044: b5bfffcc andi r22,r22,65535
  14404. 4d048: 300b883a mov r5,r6
  14405. 4d04c: b009883a mov r4,r22
  14406. 4d050: 40a3c83a sub r17,r8,r2
  14407. 4d054: d8c00115 stw r3,4(sp)
  14408. 4d058: d9800215 stw r6,8(sp)
  14409. 4d05c: 004d3dc0 call 4d3dc <__mulsi3>
  14410. 4d060: d9800217 ldw r6,8(sp)
  14411. 4d064: b809883a mov r4,r23
  14412. 4d068: 1039883a mov fp,r2
  14413. 4d06c: 300b883a mov r5,r6
  14414. 4d070: 004d3dc0 call 4d3dc <__mulsi3>
  14415. 4d074: d8c00117 ldw r3,4(sp)
  14416. 4d078: b809883a mov r4,r23
  14417. 4d07c: d8800215 stw r2,8(sp)
  14418. 4d080: 180b883a mov r5,r3
  14419. 4d084: 004d3dc0 call 4d3dc <__mulsi3>
  14420. 4d088: d8c00117 ldw r3,4(sp)
  14421. 4d08c: b009883a mov r4,r22
  14422. 4d090: 102f883a mov r23,r2
  14423. 4d094: 180b883a mov r5,r3
  14424. 4d098: 004d3dc0 call 4d3dc <__mulsi3>
  14425. 4d09c: d9800217 ldw r6,8(sp)
  14426. 4d0a0: e006d43a srli r3,fp,16
  14427. 4d0a4: 1185883a add r2,r2,r6
  14428. 4d0a8: 1885883a add r2,r3,r2
  14429. 4d0ac: 1180022e bgeu r2,r6,4d0b8 <__umoddi3+0x454>
  14430. 4d0b0: 00c00074 movhi r3,1
  14431. 4d0b4: b8ef883a add r23,r23,r3
  14432. 4d0b8: 1006d43a srli r3,r2,16
  14433. 4d0bc: 1004943a slli r2,r2,16
  14434. 4d0c0: e73fffcc andi fp,fp,65535
  14435. 4d0c4: 1dc7883a add r3,r3,r23
  14436. 4d0c8: 1739883a add fp,r2,fp
  14437. 4d0cc: 88c03a36 bltu r17,r3,4d1b8 <__umoddi3+0x554>
  14438. 4d0d0: 88c05126 beq r17,r3,4d218 <__umoddi3+0x5b4>
  14439. 4d0d4: 88c9c83a sub r4,r17,r3
  14440. 4d0d8: e00f883a mov r7,fp
  14441. 4d0dc: 81cfc83a sub r7,r16,r7
  14442. 4d0e0: 81c7803a cmpltu r3,r16,r7
  14443. 4d0e4: 20c7c83a sub r3,r4,r3
  14444. 4d0e8: 1cc4983a sll r2,r3,r19
  14445. 4d0ec: 3d0ed83a srl r7,r7,r20
  14446. 4d0f0: 1d06d83a srl r3,r3,r20
  14447. 4d0f4: 11c4b03a or r2,r2,r7
  14448. 4d0f8: 003f7c06 br 4ceec <__alt_data_end+0xfffdaeec>
  14449. 4d0fc: 9ca6983a sll r19,r19,r18
  14450. 4d100: 88f8d83a srl fp,r17,r3
  14451. 4d104: 80c4d83a srl r2,r16,r3
  14452. 4d108: 982cd43a srli r22,r19,16
  14453. 4d10c: 8ca2983a sll r17,r17,r18
  14454. 4d110: e009883a mov r4,fp
  14455. 4d114: b00b883a mov r5,r22
  14456. 4d118: 146ab03a or r21,r2,r17
  14457. 4d11c: 004d3840 call 4d384 <__umodsi3>
  14458. 4d120: b00b883a mov r5,r22
  14459. 4d124: e009883a mov r4,fp
  14460. 4d128: 1029883a mov r20,r2
  14461. 4d12c: 9dffffcc andi r23,r19,65535
  14462. 4d130: 004d3200 call 4d320 <__udivsi3>
  14463. 4d134: b809883a mov r4,r23
  14464. 4d138: 100b883a mov r5,r2
  14465. 4d13c: 004d3dc0 call 4d3dc <__mulsi3>
  14466. 4d140: a008943a slli r4,r20,16
  14467. 4d144: a806d43a srli r3,r21,16
  14468. 4d148: 84a8983a sll r20,r16,r18
  14469. 4d14c: 1906b03a or r3,r3,r4
  14470. 4d150: 1880042e bgeu r3,r2,4d164 <__umoddi3+0x500>
  14471. 4d154: 1cc7883a add r3,r3,r19
  14472. 4d158: 1cc00236 bltu r3,r19,4d164 <__umoddi3+0x500>
  14473. 4d15c: 1880012e bgeu r3,r2,4d164 <__umoddi3+0x500>
  14474. 4d160: 1cc7883a add r3,r3,r19
  14475. 4d164: 18a3c83a sub r17,r3,r2
  14476. 4d168: b00b883a mov r5,r22
  14477. 4d16c: 8809883a mov r4,r17
  14478. 4d170: 004d3840 call 4d384 <__umodsi3>
  14479. 4d174: b00b883a mov r5,r22
  14480. 4d178: 8809883a mov r4,r17
  14481. 4d17c: 1021883a mov r16,r2
  14482. 4d180: 004d3200 call 4d320 <__udivsi3>
  14483. 4d184: 100b883a mov r5,r2
  14484. 4d188: b809883a mov r4,r23
  14485. 4d18c: 8020943a slli r16,r16,16
  14486. 4d190: 004d3dc0 call 4d3dc <__mulsi3>
  14487. 4d194: a8ffffcc andi r3,r21,65535
  14488. 4d198: 1c06b03a or r3,r3,r16
  14489. 4d19c: 1880042e bgeu r3,r2,4d1b0 <__umoddi3+0x54c>
  14490. 4d1a0: 1cc7883a add r3,r3,r19
  14491. 4d1a4: 1cc00236 bltu r3,r19,4d1b0 <__umoddi3+0x54c>
  14492. 4d1a8: 1880012e bgeu r3,r2,4d1b0 <__umoddi3+0x54c>
  14493. 4d1ac: 1cc7883a add r3,r3,r19
  14494. 4d1b0: 18a3c83a sub r17,r3,r2
  14495. 4d1b4: 003f2906 br 4ce5c <__alt_data_end+0xfffdae5c>
  14496. 4d1b8: e48fc83a sub r7,fp,r18
  14497. 4d1bc: 1d49c83a sub r4,r3,r21
  14498. 4d1c0: e1f9803a cmpltu fp,fp,r7
  14499. 4d1c4: 2739c83a sub fp,r4,fp
  14500. 4d1c8: 8f09c83a sub r4,r17,fp
  14501. 4d1cc: 003fc306 br 4d0dc <__alt_data_end+0xfffdb0dc>
  14502. 4d1d0: 01000604 movi r4,24
  14503. 4d1d4: 003ef906 br 4cdbc <__alt_data_end+0xfffdadbc>
  14504. 4d1d8: 00800604 movi r2,24
  14505. 4d1dc: 003f1306 br 4ce2c <__alt_data_end+0xfffdae2c>
  14506. 4d1e0: 01000604 movi r4,24
  14507. 4d1e4: 003eb606 br 4ccc0 <__alt_data_end+0xfffdacc0>
  14508. 4d1e8: 40bf902e bgeu r8,r2,4d02c <__alt_data_end+0xfffdb02c>
  14509. 4d1ec: b5bfff84 addi r22,r22,-2
  14510. 4d1f0: 4551883a add r8,r8,r21
  14511. 4d1f4: 003f8e06 br 4d030 <__alt_data_end+0xfffdb030>
  14512. 4d1f8: 18bf762e bgeu r3,r2,4cfd4 <__alt_data_end+0xfffdafd4>
  14513. 4d1fc: 8c7fff84 addi r17,r17,-2
  14514. 4d200: 1d47883a add r3,r3,r21
  14515. 4d204: 003f7406 br 4cfd8 <__alt_data_end+0xfffdafd8>
  14516. 4d208: 1cc7883a add r3,r3,r19
  14517. 4d20c: 003ecd06 br 4cd44 <__alt_data_end+0xfffdad44>
  14518. 4d210: 8005883a mov r2,r16
  14519. 4d214: 003ef806 br 4cdf8 <__alt_data_end+0xfffdadf8>
  14520. 4d218: 873fe736 bltu r16,fp,4d1b8 <__alt_data_end+0xfffdb1b8>
  14521. 4d21c: e00f883a mov r7,fp
  14522. 4d220: 0009883a mov r4,zero
  14523. 4d224: 003fad06 br 4d0dc <__alt_data_end+0xfffdb0dc>
  14524. 0004d228 <__divsi3>:
  14525. 4d228: 20001b16 blt r4,zero,4d298 <__divsi3+0x70>
  14526. 4d22c: 000f883a mov r7,zero
  14527. 4d230: 28001616 blt r5,zero,4d28c <__divsi3+0x64>
  14528. 4d234: 200d883a mov r6,r4
  14529. 4d238: 29001a2e bgeu r5,r4,4d2a4 <__divsi3+0x7c>
  14530. 4d23c: 00800804 movi r2,32
  14531. 4d240: 00c00044 movi r3,1
  14532. 4d244: 00000106 br 4d24c <__divsi3+0x24>
  14533. 4d248: 10000d26 beq r2,zero,4d280 <__divsi3+0x58>
  14534. 4d24c: 294b883a add r5,r5,r5
  14535. 4d250: 10bfffc4 addi r2,r2,-1
  14536. 4d254: 18c7883a add r3,r3,r3
  14537. 4d258: 293ffb36 bltu r5,r4,4d248 <__alt_data_end+0xfffdb248>
  14538. 4d25c: 0005883a mov r2,zero
  14539. 4d260: 18000726 beq r3,zero,4d280 <__divsi3+0x58>
  14540. 4d264: 0005883a mov r2,zero
  14541. 4d268: 31400236 bltu r6,r5,4d274 <__divsi3+0x4c>
  14542. 4d26c: 314dc83a sub r6,r6,r5
  14543. 4d270: 10c4b03a or r2,r2,r3
  14544. 4d274: 1806d07a srli r3,r3,1
  14545. 4d278: 280ad07a srli r5,r5,1
  14546. 4d27c: 183ffa1e bne r3,zero,4d268 <__alt_data_end+0xfffdb268>
  14547. 4d280: 38000126 beq r7,zero,4d288 <__divsi3+0x60>
  14548. 4d284: 0085c83a sub r2,zero,r2
  14549. 4d288: f800283a ret
  14550. 4d28c: 014bc83a sub r5,zero,r5
  14551. 4d290: 39c0005c xori r7,r7,1
  14552. 4d294: 003fe706 br 4d234 <__alt_data_end+0xfffdb234>
  14553. 4d298: 0109c83a sub r4,zero,r4
  14554. 4d29c: 01c00044 movi r7,1
  14555. 4d2a0: 003fe306 br 4d230 <__alt_data_end+0xfffdb230>
  14556. 4d2a4: 00c00044 movi r3,1
  14557. 4d2a8: 003fee06 br 4d264 <__alt_data_end+0xfffdb264>
  14558. 0004d2ac <__modsi3>:
  14559. 4d2ac: 20001716 blt r4,zero,4d30c <__modsi3+0x60>
  14560. 4d2b0: 000f883a mov r7,zero
  14561. 4d2b4: 2005883a mov r2,r4
  14562. 4d2b8: 28001216 blt r5,zero,4d304 <__modsi3+0x58>
  14563. 4d2bc: 2900162e bgeu r5,r4,4d318 <__modsi3+0x6c>
  14564. 4d2c0: 01800804 movi r6,32
  14565. 4d2c4: 00c00044 movi r3,1
  14566. 4d2c8: 00000106 br 4d2d0 <__modsi3+0x24>
  14567. 4d2cc: 30000a26 beq r6,zero,4d2f8 <__modsi3+0x4c>
  14568. 4d2d0: 294b883a add r5,r5,r5
  14569. 4d2d4: 31bfffc4 addi r6,r6,-1
  14570. 4d2d8: 18c7883a add r3,r3,r3
  14571. 4d2dc: 293ffb36 bltu r5,r4,4d2cc <__alt_data_end+0xfffdb2cc>
  14572. 4d2e0: 18000526 beq r3,zero,4d2f8 <__modsi3+0x4c>
  14573. 4d2e4: 1806d07a srli r3,r3,1
  14574. 4d2e8: 11400136 bltu r2,r5,4d2f0 <__modsi3+0x44>
  14575. 4d2ec: 1145c83a sub r2,r2,r5
  14576. 4d2f0: 280ad07a srli r5,r5,1
  14577. 4d2f4: 183ffb1e bne r3,zero,4d2e4 <__alt_data_end+0xfffdb2e4>
  14578. 4d2f8: 38000126 beq r7,zero,4d300 <__modsi3+0x54>
  14579. 4d2fc: 0085c83a sub r2,zero,r2
  14580. 4d300: f800283a ret
  14581. 4d304: 014bc83a sub r5,zero,r5
  14582. 4d308: 003fec06 br 4d2bc <__alt_data_end+0xfffdb2bc>
  14583. 4d30c: 0109c83a sub r4,zero,r4
  14584. 4d310: 01c00044 movi r7,1
  14585. 4d314: 003fe706 br 4d2b4 <__alt_data_end+0xfffdb2b4>
  14586. 4d318: 00c00044 movi r3,1
  14587. 4d31c: 003ff106 br 4d2e4 <__alt_data_end+0xfffdb2e4>
  14588. 0004d320 <__udivsi3>:
  14589. 4d320: 200d883a mov r6,r4
  14590. 4d324: 2900152e bgeu r5,r4,4d37c <__udivsi3+0x5c>
  14591. 4d328: 28001416 blt r5,zero,4d37c <__udivsi3+0x5c>
  14592. 4d32c: 00800804 movi r2,32
  14593. 4d330: 00c00044 movi r3,1
  14594. 4d334: 00000206 br 4d340 <__udivsi3+0x20>
  14595. 4d338: 10000e26 beq r2,zero,4d374 <__udivsi3+0x54>
  14596. 4d33c: 28000516 blt r5,zero,4d354 <__udivsi3+0x34>
  14597. 4d340: 294b883a add r5,r5,r5
  14598. 4d344: 10bfffc4 addi r2,r2,-1
  14599. 4d348: 18c7883a add r3,r3,r3
  14600. 4d34c: 293ffa36 bltu r5,r4,4d338 <__alt_data_end+0xfffdb338>
  14601. 4d350: 18000826 beq r3,zero,4d374 <__udivsi3+0x54>
  14602. 4d354: 0005883a mov r2,zero
  14603. 4d358: 31400236 bltu r6,r5,4d364 <__udivsi3+0x44>
  14604. 4d35c: 314dc83a sub r6,r6,r5
  14605. 4d360: 10c4b03a or r2,r2,r3
  14606. 4d364: 1806d07a srli r3,r3,1
  14607. 4d368: 280ad07a srli r5,r5,1
  14608. 4d36c: 183ffa1e bne r3,zero,4d358 <__alt_data_end+0xfffdb358>
  14609. 4d370: f800283a ret
  14610. 4d374: 0005883a mov r2,zero
  14611. 4d378: f800283a ret
  14612. 4d37c: 00c00044 movi r3,1
  14613. 4d380: 003ff406 br 4d354 <__alt_data_end+0xfffdb354>
  14614. 0004d384 <__umodsi3>:
  14615. 4d384: 2005883a mov r2,r4
  14616. 4d388: 2900122e bgeu r5,r4,4d3d4 <__umodsi3+0x50>
  14617. 4d38c: 28001116 blt r5,zero,4d3d4 <__umodsi3+0x50>
  14618. 4d390: 01800804 movi r6,32
  14619. 4d394: 00c00044 movi r3,1
  14620. 4d398: 00000206 br 4d3a4 <__umodsi3+0x20>
  14621. 4d39c: 30000c26 beq r6,zero,4d3d0 <__umodsi3+0x4c>
  14622. 4d3a0: 28000516 blt r5,zero,4d3b8 <__umodsi3+0x34>
  14623. 4d3a4: 294b883a add r5,r5,r5
  14624. 4d3a8: 31bfffc4 addi r6,r6,-1
  14625. 4d3ac: 18c7883a add r3,r3,r3
  14626. 4d3b0: 293ffa36 bltu r5,r4,4d39c <__alt_data_end+0xfffdb39c>
  14627. 4d3b4: 18000626 beq r3,zero,4d3d0 <__umodsi3+0x4c>
  14628. 4d3b8: 1806d07a srli r3,r3,1
  14629. 4d3bc: 11400136 bltu r2,r5,4d3c4 <__umodsi3+0x40>
  14630. 4d3c0: 1145c83a sub r2,r2,r5
  14631. 4d3c4: 280ad07a srli r5,r5,1
  14632. 4d3c8: 183ffb1e bne r3,zero,4d3b8 <__alt_data_end+0xfffdb3b8>
  14633. 4d3cc: f800283a ret
  14634. 4d3d0: f800283a ret
  14635. 4d3d4: 00c00044 movi r3,1
  14636. 4d3d8: 003ff706 br 4d3b8 <__alt_data_end+0xfffdb3b8>
  14637. 0004d3dc <__mulsi3>:
  14638. 4d3dc: 0005883a mov r2,zero
  14639. 4d3e0: 20000726 beq r4,zero,4d400 <__mulsi3+0x24>
  14640. 4d3e4: 20c0004c andi r3,r4,1
  14641. 4d3e8: 2008d07a srli r4,r4,1
  14642. 4d3ec: 18000126 beq r3,zero,4d3f4 <__mulsi3+0x18>
  14643. 4d3f0: 1145883a add r2,r2,r5
  14644. 4d3f4: 294b883a add r5,r5,r5
  14645. 4d3f8: 203ffa1e bne r4,zero,4d3e4 <__alt_data_end+0xfffdb3e4>
  14646. 4d3fc: f800283a ret
  14647. 4d400: f800283a ret
  14648. 0004d404 <__divdf3>:
  14649. 4d404: defff004 addi sp,sp,-64
  14650. 4d408: dc800815 stw r18,32(sp)
  14651. 4d40c: 2824d53a srli r18,r5,20
  14652. 4d410: dd800c15 stw r22,48(sp)
  14653. 4d414: 282cd7fa srli r22,r5,31
  14654. 4d418: dc000615 stw r16,24(sp)
  14655. 4d41c: 04000434 movhi r16,16
  14656. 4d420: 843fffc4 addi r16,r16,-1
  14657. 4d424: dfc00f15 stw ra,60(sp)
  14658. 4d428: df000e15 stw fp,56(sp)
  14659. 4d42c: ddc00d15 stw r23,52(sp)
  14660. 4d430: dd400b15 stw r21,44(sp)
  14661. 4d434: dd000a15 stw r20,40(sp)
  14662. 4d438: dcc00915 stw r19,36(sp)
  14663. 4d43c: dc400715 stw r17,28(sp)
  14664. 4d440: 9481ffcc andi r18,r18,2047
  14665. 4d444: 2c20703a and r16,r5,r16
  14666. 4d448: b2003fcc andi r8,r22,255
  14667. 4d44c: 90006126 beq r18,zero,4d5d4 <__divdf3+0x1d0>
  14668. 4d450: 0081ffc4 movi r2,2047
  14669. 4d454: 202b883a mov r21,r4
  14670. 4d458: 90803726 beq r18,r2,4d538 <__divdf3+0x134>
  14671. 4d45c: 80800434 orhi r2,r16,16
  14672. 4d460: 100490fa slli r2,r2,3
  14673. 4d464: 2020d77a srli r16,r4,29
  14674. 4d468: 202a90fa slli r21,r4,3
  14675. 4d46c: 94bf0044 addi r18,r18,-1023
  14676. 4d470: 80a0b03a or r16,r16,r2
  14677. 4d474: 0013883a mov r9,zero
  14678. 4d478: 000b883a mov r5,zero
  14679. 4d47c: 3806d53a srli r3,r7,20
  14680. 4d480: 382ed7fa srli r23,r7,31
  14681. 4d484: 04400434 movhi r17,16
  14682. 4d488: 8c7fffc4 addi r17,r17,-1
  14683. 4d48c: 18c1ffcc andi r3,r3,2047
  14684. 4d490: 3029883a mov r20,r6
  14685. 4d494: 3c62703a and r17,r7,r17
  14686. 4d498: bf003fcc andi fp,r23,255
  14687. 4d49c: 18006e26 beq r3,zero,4d658 <__divdf3+0x254>
  14688. 4d4a0: 0081ffc4 movi r2,2047
  14689. 4d4a4: 18806626 beq r3,r2,4d640 <__divdf3+0x23c>
  14690. 4d4a8: 88800434 orhi r2,r17,16
  14691. 4d4ac: 100490fa slli r2,r2,3
  14692. 4d4b0: 3022d77a srli r17,r6,29
  14693. 4d4b4: 302890fa slli r20,r6,3
  14694. 4d4b8: 18ff0044 addi r3,r3,-1023
  14695. 4d4bc: 88a2b03a or r17,r17,r2
  14696. 4d4c0: 000f883a mov r7,zero
  14697. 4d4c4: b5e6f03a xor r19,r22,r23
  14698. 4d4c8: 3a4cb03a or r6,r7,r9
  14699. 4d4cc: 008003c4 movi r2,15
  14700. 4d4d0: 9809883a mov r4,r19
  14701. 4d4d4: 90c7c83a sub r3,r18,r3
  14702. 4d4d8: 9cc03fcc andi r19,r19,255
  14703. 4d4dc: 11809636 bltu r2,r6,4d738 <__divdf3+0x334>
  14704. 4d4e0: 300c90ba slli r6,r6,2
  14705. 4d4e4: 00800174 movhi r2,5
  14706. 4d4e8: 10b53e04 addi r2,r2,-11016
  14707. 4d4ec: 308d883a add r6,r6,r2
  14708. 4d4f0: 30800017 ldw r2,0(r6)
  14709. 4d4f4: 1000683a jmp r2
  14710. 4d4f8: 0004d738 rdprs zero,zero,4956
  14711. 4d4fc: 0004d570 cmpltui zero,zero,4949
  14712. 4d500: 0004d728 cmpgeui zero,zero,4956
  14713. 4d504: 0004d564 muli zero,zero,4949
  14714. 4d508: 0004d728 cmpgeui zero,zero,4956
  14715. 4d50c: 0004d6fc xorhi zero,zero,4955
  14716. 4d510: 0004d728 cmpgeui zero,zero,4956
  14717. 4d514: 0004d564 muli zero,zero,4949
  14718. 4d518: 0004d570 cmpltui zero,zero,4949
  14719. 4d51c: 0004d570 cmpltui zero,zero,4949
  14720. 4d520: 0004d6fc xorhi zero,zero,4955
  14721. 4d524: 0004d564 muli zero,zero,4949
  14722. 4d528: 0004d554 movui zero,4949
  14723. 4d52c: 0004d554 movui zero,4949
  14724. 4d530: 0004d554 movui zero,4949
  14725. 4d534: 0004dac0 call 4dac <__alt_mem_onchip_memory2-0x3b254>
  14726. 4d538: 2404b03a or r2,r4,r16
  14727. 4d53c: 10006c1e bne r2,zero,4d6f0 <__divdf3+0x2ec>
  14728. 4d540: 02400204 movi r9,8
  14729. 4d544: 0021883a mov r16,zero
  14730. 4d548: 002b883a mov r21,zero
  14731. 4d54c: 01400084 movi r5,2
  14732. 4d550: 003fca06 br 4d47c <__alt_data_end+0xfffdb47c>
  14733. 4d554: 8023883a mov r17,r16
  14734. 4d558: a829883a mov r20,r21
  14735. 4d55c: 4039883a mov fp,r8
  14736. 4d560: 280f883a mov r7,r5
  14737. 4d564: 00800084 movi r2,2
  14738. 4d568: 3881601e bne r7,r2,4daec <__divdf3+0x6e8>
  14739. 4d56c: e027883a mov r19,fp
  14740. 4d570: 9900004c andi r4,r19,1
  14741. 4d574: 0081ffc4 movi r2,2047
  14742. 4d578: 0021883a mov r16,zero
  14743. 4d57c: 002b883a mov r21,zero
  14744. 4d580: 1004953a slli r2,r2,20
  14745. 4d584: 20c03fcc andi r3,r4,255
  14746. 4d588: 01400434 movhi r5,16
  14747. 4d58c: 297fffc4 addi r5,r5,-1
  14748. 4d590: 180697fa slli r3,r3,31
  14749. 4d594: 8160703a and r16,r16,r5
  14750. 4d598: 80a0b03a or r16,r16,r2
  14751. 4d59c: 80c6b03a or r3,r16,r3
  14752. 4d5a0: a805883a mov r2,r21
  14753. 4d5a4: dfc00f17 ldw ra,60(sp)
  14754. 4d5a8: df000e17 ldw fp,56(sp)
  14755. 4d5ac: ddc00d17 ldw r23,52(sp)
  14756. 4d5b0: dd800c17 ldw r22,48(sp)
  14757. 4d5b4: dd400b17 ldw r21,44(sp)
  14758. 4d5b8: dd000a17 ldw r20,40(sp)
  14759. 4d5bc: dcc00917 ldw r19,36(sp)
  14760. 4d5c0: dc800817 ldw r18,32(sp)
  14761. 4d5c4: dc400717 ldw r17,28(sp)
  14762. 4d5c8: dc000617 ldw r16,24(sp)
  14763. 4d5cc: dec01004 addi sp,sp,64
  14764. 4d5d0: f800283a ret
  14765. 4d5d4: 2404b03a or r2,r4,r16
  14766. 4d5d8: 2023883a mov r17,r4
  14767. 4d5dc: 10003f26 beq r2,zero,4d6dc <__divdf3+0x2d8>
  14768. 4d5e0: 80015e26 beq r16,zero,4db5c <__divdf3+0x758>
  14769. 4d5e4: 8009883a mov r4,r16
  14770. 4d5e8: d9800215 stw r6,8(sp)
  14771. 4d5ec: d9c00515 stw r7,20(sp)
  14772. 4d5f0: da000415 stw r8,16(sp)
  14773. 4d5f4: 0042b7c0 call 42b7c <__clzsi2>
  14774. 4d5f8: d9800217 ldw r6,8(sp)
  14775. 4d5fc: d9c00517 ldw r7,20(sp)
  14776. 4d600: da000417 ldw r8,16(sp)
  14777. 4d604: 113ffd44 addi r4,r2,-11
  14778. 4d608: 00c00704 movi r3,28
  14779. 4d60c: 19014f16 blt r3,r4,4db4c <__divdf3+0x748>
  14780. 4d610: 00c00744 movi r3,29
  14781. 4d614: 157ffe04 addi r21,r2,-8
  14782. 4d618: 1907c83a sub r3,r3,r4
  14783. 4d61c: 8560983a sll r16,r16,r21
  14784. 4d620: 88c6d83a srl r3,r17,r3
  14785. 4d624: 8d6a983a sll r21,r17,r21
  14786. 4d628: 1c20b03a or r16,r3,r16
  14787. 4d62c: 1080fcc4 addi r2,r2,1011
  14788. 4d630: 00a5c83a sub r18,zero,r2
  14789. 4d634: 0013883a mov r9,zero
  14790. 4d638: 000b883a mov r5,zero
  14791. 4d63c: 003f8f06 br 4d47c <__alt_data_end+0xfffdb47c>
  14792. 4d640: 3444b03a or r2,r6,r17
  14793. 4d644: 1000231e bne r2,zero,4d6d4 <__divdf3+0x2d0>
  14794. 4d648: 0023883a mov r17,zero
  14795. 4d64c: 0029883a mov r20,zero
  14796. 4d650: 01c00084 movi r7,2
  14797. 4d654: 003f9b06 br 4d4c4 <__alt_data_end+0xfffdb4c4>
  14798. 4d658: 3444b03a or r2,r6,r17
  14799. 4d65c: 10001926 beq r2,zero,4d6c4 <__divdf3+0x2c0>
  14800. 4d660: 88014b26 beq r17,zero,4db90 <__divdf3+0x78c>
  14801. 4d664: 8809883a mov r4,r17
  14802. 4d668: d9400115 stw r5,4(sp)
  14803. 4d66c: d9800215 stw r6,8(sp)
  14804. 4d670: da000415 stw r8,16(sp)
  14805. 4d674: da400315 stw r9,12(sp)
  14806. 4d678: 0042b7c0 call 42b7c <__clzsi2>
  14807. 4d67c: d9400117 ldw r5,4(sp)
  14808. 4d680: d9800217 ldw r6,8(sp)
  14809. 4d684: da000417 ldw r8,16(sp)
  14810. 4d688: da400317 ldw r9,12(sp)
  14811. 4d68c: 113ffd44 addi r4,r2,-11
  14812. 4d690: 00c00704 movi r3,28
  14813. 4d694: 19013a16 blt r3,r4,4db80 <__divdf3+0x77c>
  14814. 4d698: 00c00744 movi r3,29
  14815. 4d69c: 153ffe04 addi r20,r2,-8
  14816. 4d6a0: 1907c83a sub r3,r3,r4
  14817. 4d6a4: 8d22983a sll r17,r17,r20
  14818. 4d6a8: 30c6d83a srl r3,r6,r3
  14819. 4d6ac: 3528983a sll r20,r6,r20
  14820. 4d6b0: 1c62b03a or r17,r3,r17
  14821. 4d6b4: 1080fcc4 addi r2,r2,1011
  14822. 4d6b8: 0087c83a sub r3,zero,r2
  14823. 4d6bc: 000f883a mov r7,zero
  14824. 4d6c0: 003f8006 br 4d4c4 <__alt_data_end+0xfffdb4c4>
  14825. 4d6c4: 0023883a mov r17,zero
  14826. 4d6c8: 0029883a mov r20,zero
  14827. 4d6cc: 01c00044 movi r7,1
  14828. 4d6d0: 003f7c06 br 4d4c4 <__alt_data_end+0xfffdb4c4>
  14829. 4d6d4: 01c000c4 movi r7,3
  14830. 4d6d8: 003f7a06 br 4d4c4 <__alt_data_end+0xfffdb4c4>
  14831. 4d6dc: 02400104 movi r9,4
  14832. 4d6e0: 0021883a mov r16,zero
  14833. 4d6e4: 002b883a mov r21,zero
  14834. 4d6e8: 01400044 movi r5,1
  14835. 4d6ec: 003f6306 br 4d47c <__alt_data_end+0xfffdb47c>
  14836. 4d6f0: 02400304 movi r9,12
  14837. 4d6f4: 014000c4 movi r5,3
  14838. 4d6f8: 003f6006 br 4d47c <__alt_data_end+0xfffdb47c>
  14839. 4d6fc: 04000434 movhi r16,16
  14840. 4d700: 0009883a mov r4,zero
  14841. 4d704: 843fffc4 addi r16,r16,-1
  14842. 4d708: 057fffc4 movi r21,-1
  14843. 4d70c: 0081ffc4 movi r2,2047
  14844. 4d710: 003f9b06 br 4d580 <__alt_data_end+0xfffdb580>
  14845. 4d714: 00c00044 movi r3,1
  14846. 4d718: 1887c83a sub r3,r3,r2
  14847. 4d71c: 01000e04 movi r4,56
  14848. 4d720: 20c1530e bge r4,r3,4dc70 <__divdf3+0x86c>
  14849. 4d724: 9900004c andi r4,r19,1
  14850. 4d728: 0005883a mov r2,zero
  14851. 4d72c: 0021883a mov r16,zero
  14852. 4d730: 002b883a mov r21,zero
  14853. 4d734: 003f9206 br 4d580 <__alt_data_end+0xfffdb580>
  14854. 4d738: 8c012e36 bltu r17,r16,4dbf4 <__divdf3+0x7f0>
  14855. 4d73c: 84412c26 beq r16,r17,4dbf0 <__divdf3+0x7ec>
  14856. 4d740: a82f883a mov r23,r21
  14857. 4d744: 18ffffc4 addi r3,r3,-1
  14858. 4d748: 002b883a mov r21,zero
  14859. 4d74c: a004d63a srli r2,r20,24
  14860. 4d750: 8822923a slli r17,r17,8
  14861. 4d754: a028923a slli r20,r20,8
  14862. 4d758: 8009883a mov r4,r16
  14863. 4d75c: 88acb03a or r22,r17,r2
  14864. 4d760: dd000015 stw r20,0(sp)
  14865. 4d764: b028d43a srli r20,r22,16
  14866. 4d768: d8c00215 stw r3,8(sp)
  14867. 4d76c: b4bfffcc andi r18,r22,65535
  14868. 4d770: a00b883a mov r5,r20
  14869. 4d774: 004d3200 call 4d320 <__udivsi3>
  14870. 4d778: 100b883a mov r5,r2
  14871. 4d77c: 9009883a mov r4,r18
  14872. 4d780: 1023883a mov r17,r2
  14873. 4d784: 004d3dc0 call 4d3dc <__mulsi3>
  14874. 4d788: 8009883a mov r4,r16
  14875. 4d78c: a00b883a mov r5,r20
  14876. 4d790: 1039883a mov fp,r2
  14877. 4d794: 004d3840 call 4d384 <__umodsi3>
  14878. 4d798: 1004943a slli r2,r2,16
  14879. 4d79c: b808d43a srli r4,r23,16
  14880. 4d7a0: d8c00217 ldw r3,8(sp)
  14881. 4d7a4: 2084b03a or r2,r4,r2
  14882. 4d7a8: 1700062e bgeu r2,fp,4d7c4 <__divdf3+0x3c0>
  14883. 4d7ac: 1585883a add r2,r2,r22
  14884. 4d7b0: 893fffc4 addi r4,r17,-1
  14885. 4d7b4: 15811d36 bltu r2,r22,4dc2c <__divdf3+0x828>
  14886. 4d7b8: 17011c2e bgeu r2,fp,4dc2c <__divdf3+0x828>
  14887. 4d7bc: 8c7fff84 addi r17,r17,-2
  14888. 4d7c0: 1585883a add r2,r2,r22
  14889. 4d7c4: 1739c83a sub fp,r2,fp
  14890. 4d7c8: a00b883a mov r5,r20
  14891. 4d7cc: e009883a mov r4,fp
  14892. 4d7d0: d8c00215 stw r3,8(sp)
  14893. 4d7d4: 004d3200 call 4d320 <__udivsi3>
  14894. 4d7d8: 100b883a mov r5,r2
  14895. 4d7dc: 9009883a mov r4,r18
  14896. 4d7e0: 1021883a mov r16,r2
  14897. 4d7e4: 004d3dc0 call 4d3dc <__mulsi3>
  14898. 4d7e8: a00b883a mov r5,r20
  14899. 4d7ec: e009883a mov r4,fp
  14900. 4d7f0: d8800415 stw r2,16(sp)
  14901. 4d7f4: 004d3840 call 4d384 <__umodsi3>
  14902. 4d7f8: 1004943a slli r2,r2,16
  14903. 4d7fc: da000417 ldw r8,16(sp)
  14904. 4d800: bdffffcc andi r23,r23,65535
  14905. 4d804: b884b03a or r2,r23,r2
  14906. 4d808: d8c00217 ldw r3,8(sp)
  14907. 4d80c: 1200062e bgeu r2,r8,4d828 <__divdf3+0x424>
  14908. 4d810: 1585883a add r2,r2,r22
  14909. 4d814: 813fffc4 addi r4,r16,-1
  14910. 4d818: 15810236 bltu r2,r22,4dc24 <__divdf3+0x820>
  14911. 4d81c: 1201012e bgeu r2,r8,4dc24 <__divdf3+0x820>
  14912. 4d820: 843fff84 addi r16,r16,-2
  14913. 4d824: 1585883a add r2,r2,r22
  14914. 4d828: 8822943a slli r17,r17,16
  14915. 4d82c: d9800017 ldw r6,0(sp)
  14916. 4d830: 1211c83a sub r8,r2,r8
  14917. 4d834: 8c22b03a or r17,r17,r16
  14918. 4d838: 373fffcc andi fp,r6,65535
  14919. 4d83c: 8abfffcc andi r10,r17,65535
  14920. 4d840: 8820d43a srli r16,r17,16
  14921. 4d844: 5009883a mov r4,r10
  14922. 4d848: e00b883a mov r5,fp
  14923. 4d84c: 302ed43a srli r23,r6,16
  14924. 4d850: d8c00215 stw r3,8(sp)
  14925. 4d854: da000415 stw r8,16(sp)
  14926. 4d858: da800115 stw r10,4(sp)
  14927. 4d85c: 004d3dc0 call 4d3dc <__mulsi3>
  14928. 4d860: 800b883a mov r5,r16
  14929. 4d864: e009883a mov r4,fp
  14930. 4d868: d8800515 stw r2,20(sp)
  14931. 4d86c: 004d3dc0 call 4d3dc <__mulsi3>
  14932. 4d870: 8009883a mov r4,r16
  14933. 4d874: b80b883a mov r5,r23
  14934. 4d878: d8800315 stw r2,12(sp)
  14935. 4d87c: 004d3dc0 call 4d3dc <__mulsi3>
  14936. 4d880: da800117 ldw r10,4(sp)
  14937. 4d884: b80b883a mov r5,r23
  14938. 4d888: 1021883a mov r16,r2
  14939. 4d88c: 5009883a mov r4,r10
  14940. 4d890: 004d3dc0 call 4d3dc <__mulsi3>
  14941. 4d894: d9c00517 ldw r7,20(sp)
  14942. 4d898: da400317 ldw r9,12(sp)
  14943. 4d89c: d8c00217 ldw r3,8(sp)
  14944. 4d8a0: 3808d43a srli r4,r7,16
  14945. 4d8a4: 1245883a add r2,r2,r9
  14946. 4d8a8: da000417 ldw r8,16(sp)
  14947. 4d8ac: 2085883a add r2,r4,r2
  14948. 4d8b0: 1240022e bgeu r2,r9,4d8bc <__divdf3+0x4b8>
  14949. 4d8b4: 01000074 movhi r4,1
  14950. 4d8b8: 8121883a add r16,r16,r4
  14951. 4d8bc: 1008d43a srli r4,r2,16
  14952. 4d8c0: 1004943a slli r2,r2,16
  14953. 4d8c4: 39ffffcc andi r7,r7,65535
  14954. 4d8c8: 2409883a add r4,r4,r16
  14955. 4d8cc: 11c5883a add r2,r2,r7
  14956. 4d8d0: 4100bb36 bltu r8,r4,4dbc0 <__divdf3+0x7bc>
  14957. 4d8d4: 4100d726 beq r8,r4,4dc34 <__divdf3+0x830>
  14958. 4d8d8: 4109c83a sub r4,r8,r4
  14959. 4d8dc: a8a1c83a sub r16,r21,r2
  14960. 4d8e0: ac2b803a cmpltu r21,r21,r16
  14961. 4d8e4: 256bc83a sub r21,r4,r21
  14962. 4d8e8: b540d926 beq r22,r21,4dc50 <__divdf3+0x84c>
  14963. 4d8ec: a00b883a mov r5,r20
  14964. 4d8f0: a809883a mov r4,r21
  14965. 4d8f4: d8c00215 stw r3,8(sp)
  14966. 4d8f8: 004d3200 call 4d320 <__udivsi3>
  14967. 4d8fc: 100b883a mov r5,r2
  14968. 4d900: 9009883a mov r4,r18
  14969. 4d904: d8800515 stw r2,20(sp)
  14970. 4d908: 004d3dc0 call 4d3dc <__mulsi3>
  14971. 4d90c: a809883a mov r4,r21
  14972. 4d910: a00b883a mov r5,r20
  14973. 4d914: d8800415 stw r2,16(sp)
  14974. 4d918: 004d3840 call 4d384 <__umodsi3>
  14975. 4d91c: 1004943a slli r2,r2,16
  14976. 4d920: 8008d43a srli r4,r16,16
  14977. 4d924: da000417 ldw r8,16(sp)
  14978. 4d928: d8c00217 ldw r3,8(sp)
  14979. 4d92c: 2084b03a or r2,r4,r2
  14980. 4d930: d9c00517 ldw r7,20(sp)
  14981. 4d934: 1200062e bgeu r2,r8,4d950 <__divdf3+0x54c>
  14982. 4d938: 1585883a add r2,r2,r22
  14983. 4d93c: 393fffc4 addi r4,r7,-1
  14984. 4d940: 1580c536 bltu r2,r22,4dc58 <__divdf3+0x854>
  14985. 4d944: 1200c42e bgeu r2,r8,4dc58 <__divdf3+0x854>
  14986. 4d948: 39ffff84 addi r7,r7,-2
  14987. 4d94c: 1585883a add r2,r2,r22
  14988. 4d950: 122bc83a sub r21,r2,r8
  14989. 4d954: a00b883a mov r5,r20
  14990. 4d958: a809883a mov r4,r21
  14991. 4d95c: d8c00215 stw r3,8(sp)
  14992. 4d960: d9c00515 stw r7,20(sp)
  14993. 4d964: 004d3200 call 4d320 <__udivsi3>
  14994. 4d968: 9009883a mov r4,r18
  14995. 4d96c: 100b883a mov r5,r2
  14996. 4d970: d8800415 stw r2,16(sp)
  14997. 4d974: 004d3dc0 call 4d3dc <__mulsi3>
  14998. 4d978: a809883a mov r4,r21
  14999. 4d97c: a00b883a mov r5,r20
  15000. 4d980: 1025883a mov r18,r2
  15001. 4d984: 004d3840 call 4d384 <__umodsi3>
  15002. 4d988: 1004943a slli r2,r2,16
  15003. 4d98c: 813fffcc andi r4,r16,65535
  15004. 4d990: d8c00217 ldw r3,8(sp)
  15005. 4d994: 20a0b03a or r16,r4,r2
  15006. 4d998: d9c00517 ldw r7,20(sp)
  15007. 4d99c: da000417 ldw r8,16(sp)
  15008. 4d9a0: 8480062e bgeu r16,r18,4d9bc <__divdf3+0x5b8>
  15009. 4d9a4: 85a1883a add r16,r16,r22
  15010. 4d9a8: 40bfffc4 addi r2,r8,-1
  15011. 4d9ac: 8580ac36 bltu r16,r22,4dc60 <__divdf3+0x85c>
  15012. 4d9b0: 8480ab2e bgeu r16,r18,4dc60 <__divdf3+0x85c>
  15013. 4d9b4: 423fff84 addi r8,r8,-2
  15014. 4d9b8: 85a1883a add r16,r16,r22
  15015. 4d9bc: 3804943a slli r2,r7,16
  15016. 4d9c0: 84a1c83a sub r16,r16,r18
  15017. 4d9c4: e009883a mov r4,fp
  15018. 4d9c8: 1228b03a or r20,r2,r8
  15019. 4d9cc: a1ffffcc andi r7,r20,65535
  15020. 4d9d0: a024d43a srli r18,r20,16
  15021. 4d9d4: 380b883a mov r5,r7
  15022. 4d9d8: d8c00215 stw r3,8(sp)
  15023. 4d9dc: d9c00515 stw r7,20(sp)
  15024. 4d9e0: 004d3dc0 call 4d3dc <__mulsi3>
  15025. 4d9e4: 900b883a mov r5,r18
  15026. 4d9e8: e009883a mov r4,fp
  15027. 4d9ec: 102b883a mov r21,r2
  15028. 4d9f0: 004d3dc0 call 4d3dc <__mulsi3>
  15029. 4d9f4: 900b883a mov r5,r18
  15030. 4d9f8: b809883a mov r4,r23
  15031. 4d9fc: 1039883a mov fp,r2
  15032. 4da00: 004d3dc0 call 4d3dc <__mulsi3>
  15033. 4da04: d9c00517 ldw r7,20(sp)
  15034. 4da08: b80b883a mov r5,r23
  15035. 4da0c: 1025883a mov r18,r2
  15036. 4da10: 3809883a mov r4,r7
  15037. 4da14: 004d3dc0 call 4d3dc <__mulsi3>
  15038. 4da18: a808d43a srli r4,r21,16
  15039. 4da1c: 1705883a add r2,r2,fp
  15040. 4da20: d8c00217 ldw r3,8(sp)
  15041. 4da24: 2085883a add r2,r4,r2
  15042. 4da28: 1700022e bgeu r2,fp,4da34 <__divdf3+0x630>
  15043. 4da2c: 01000074 movhi r4,1
  15044. 4da30: 9125883a add r18,r18,r4
  15045. 4da34: 1008d43a srli r4,r2,16
  15046. 4da38: 1004943a slli r2,r2,16
  15047. 4da3c: ad7fffcc andi r21,r21,65535
  15048. 4da40: 2489883a add r4,r4,r18
  15049. 4da44: 1545883a add r2,r2,r21
  15050. 4da48: 81003836 bltu r16,r4,4db2c <__divdf3+0x728>
  15051. 4da4c: 81003626 beq r16,r4,4db28 <__divdf3+0x724>
  15052. 4da50: a5000054 ori r20,r20,1
  15053. 4da54: 1880ffc4 addi r2,r3,1023
  15054. 4da58: 00bf2e0e bge zero,r2,4d714 <__alt_data_end+0xfffdb714>
  15055. 4da5c: a10001cc andi r4,r20,7
  15056. 4da60: 20000726 beq r4,zero,4da80 <__divdf3+0x67c>
  15057. 4da64: a10003cc andi r4,r20,15
  15058. 4da68: 01400104 movi r5,4
  15059. 4da6c: 21400426 beq r4,r5,4da80 <__divdf3+0x67c>
  15060. 4da70: a149883a add r4,r20,r5
  15061. 4da74: 2529803a cmpltu r20,r4,r20
  15062. 4da78: 8d23883a add r17,r17,r20
  15063. 4da7c: 2029883a mov r20,r4
  15064. 4da80: 8900402c andhi r4,r17,256
  15065. 4da84: 20000426 beq r4,zero,4da98 <__divdf3+0x694>
  15066. 4da88: 18810004 addi r2,r3,1024
  15067. 4da8c: 00ffc034 movhi r3,65280
  15068. 4da90: 18ffffc4 addi r3,r3,-1
  15069. 4da94: 88e2703a and r17,r17,r3
  15070. 4da98: 00c1ff84 movi r3,2046
  15071. 4da9c: 18beb416 blt r3,r2,4d570 <__alt_data_end+0xfffdb570>
  15072. 4daa0: a028d0fa srli r20,r20,3
  15073. 4daa4: 882a977a slli r21,r17,29
  15074. 4daa8: 8820927a slli r16,r17,9
  15075. 4daac: 1081ffcc andi r2,r2,2047
  15076. 4dab0: ad2ab03a or r21,r21,r20
  15077. 4dab4: 8020d33a srli r16,r16,12
  15078. 4dab8: 9900004c andi r4,r19,1
  15079. 4dabc: 003eb006 br 4d580 <__alt_data_end+0xfffdb580>
  15080. 4dac0: 8080022c andhi r2,r16,8
  15081. 4dac4: 10001226 beq r2,zero,4db10 <__divdf3+0x70c>
  15082. 4dac8: 8880022c andhi r2,r17,8
  15083. 4dacc: 1000101e bne r2,zero,4db10 <__divdf3+0x70c>
  15084. 4dad0: 00800434 movhi r2,16
  15085. 4dad4: 8c000234 orhi r16,r17,8
  15086. 4dad8: 10bfffc4 addi r2,r2,-1
  15087. 4dadc: b809883a mov r4,r23
  15088. 4dae0: 80a0703a and r16,r16,r2
  15089. 4dae4: a02b883a mov r21,r20
  15090. 4dae8: 003f0806 br 4d70c <__alt_data_end+0xfffdb70c>
  15091. 4daec: 008000c4 movi r2,3
  15092. 4daf0: 3880b126 beq r7,r2,4ddb8 <__divdf3+0x9b4>
  15093. 4daf4: 00800044 movi r2,1
  15094. 4daf8: 38805b1e bne r7,r2,4dc68 <__divdf3+0x864>
  15095. 4dafc: e009883a mov r4,fp
  15096. 4db00: 0005883a mov r2,zero
  15097. 4db04: 0021883a mov r16,zero
  15098. 4db08: 002b883a mov r21,zero
  15099. 4db0c: 003e9c06 br 4d580 <__alt_data_end+0xfffdb580>
  15100. 4db10: 00800434 movhi r2,16
  15101. 4db14: 84000234 orhi r16,r16,8
  15102. 4db18: 10bfffc4 addi r2,r2,-1
  15103. 4db1c: b009883a mov r4,r22
  15104. 4db20: 80a0703a and r16,r16,r2
  15105. 4db24: 003ef906 br 4d70c <__alt_data_end+0xfffdb70c>
  15106. 4db28: 103fca26 beq r2,zero,4da54 <__alt_data_end+0xfffdba54>
  15107. 4db2c: b421883a add r16,r22,r16
  15108. 4db30: a17fffc4 addi r5,r20,-1
  15109. 4db34: 8580422e bgeu r16,r22,4dc40 <__divdf3+0x83c>
  15110. 4db38: 2829883a mov r20,r5
  15111. 4db3c: 813fc41e bne r16,r4,4da50 <__alt_data_end+0xfffdba50>
  15112. 4db40: d9800017 ldw r6,0(sp)
  15113. 4db44: 30bfc21e bne r6,r2,4da50 <__alt_data_end+0xfffdba50>
  15114. 4db48: 003fc206 br 4da54 <__alt_data_end+0xfffdba54>
  15115. 4db4c: 143ff604 addi r16,r2,-40
  15116. 4db50: 8c20983a sll r16,r17,r16
  15117. 4db54: 002b883a mov r21,zero
  15118. 4db58: 003eb406 br 4d62c <__alt_data_end+0xfffdb62c>
  15119. 4db5c: d9800215 stw r6,8(sp)
  15120. 4db60: d9c00515 stw r7,20(sp)
  15121. 4db64: da000415 stw r8,16(sp)
  15122. 4db68: 0042b7c0 call 42b7c <__clzsi2>
  15123. 4db6c: 10800804 addi r2,r2,32
  15124. 4db70: da000417 ldw r8,16(sp)
  15125. 4db74: d9c00517 ldw r7,20(sp)
  15126. 4db78: d9800217 ldw r6,8(sp)
  15127. 4db7c: 003ea106 br 4d604 <__alt_data_end+0xfffdb604>
  15128. 4db80: 147ff604 addi r17,r2,-40
  15129. 4db84: 3462983a sll r17,r6,r17
  15130. 4db88: 0029883a mov r20,zero
  15131. 4db8c: 003ec906 br 4d6b4 <__alt_data_end+0xfffdb6b4>
  15132. 4db90: 3009883a mov r4,r6
  15133. 4db94: d9400115 stw r5,4(sp)
  15134. 4db98: d9800215 stw r6,8(sp)
  15135. 4db9c: da000415 stw r8,16(sp)
  15136. 4dba0: da400315 stw r9,12(sp)
  15137. 4dba4: 0042b7c0 call 42b7c <__clzsi2>
  15138. 4dba8: 10800804 addi r2,r2,32
  15139. 4dbac: da400317 ldw r9,12(sp)
  15140. 4dbb0: da000417 ldw r8,16(sp)
  15141. 4dbb4: d9800217 ldw r6,8(sp)
  15142. 4dbb8: d9400117 ldw r5,4(sp)
  15143. 4dbbc: 003eb306 br 4d68c <__alt_data_end+0xfffdb68c>
  15144. 4dbc0: d9800017 ldw r6,0(sp)
  15145. 4dbc4: a9ab883a add r21,r21,r6
  15146. 4dbc8: a98b803a cmpltu r5,r21,r6
  15147. 4dbcc: 2d8b883a add r5,r5,r22
  15148. 4dbd0: 2a11883a add r8,r5,r8
  15149. 4dbd4: 897fffc4 addi r5,r17,-1
  15150. 4dbd8: b2000c2e bgeu r22,r8,4dc0c <__divdf3+0x808>
  15151. 4dbdc: 41003f36 bltu r8,r4,4dcdc <__divdf3+0x8d8>
  15152. 4dbe0: 22006c26 beq r4,r8,4dd94 <__divdf3+0x990>
  15153. 4dbe4: 4109c83a sub r4,r8,r4
  15154. 4dbe8: 2823883a mov r17,r5
  15155. 4dbec: 003f3b06 br 4d8dc <__alt_data_end+0xfffdb8dc>
  15156. 4dbf0: ad3ed336 bltu r21,r20,4d740 <__alt_data_end+0xfffdb740>
  15157. 4dbf4: a804d07a srli r2,r21,1
  15158. 4dbf8: 802e97fa slli r23,r16,31
  15159. 4dbfc: a82a97fa slli r21,r21,31
  15160. 4dc00: 8020d07a srli r16,r16,1
  15161. 4dc04: b8aeb03a or r23,r23,r2
  15162. 4dc08: 003ed006 br 4d74c <__alt_data_end+0xfffdb74c>
  15163. 4dc0c: b23ff51e bne r22,r8,4dbe4 <__alt_data_end+0xfffdbbe4>
  15164. 4dc10: d9800017 ldw r6,0(sp)
  15165. 4dc14: a9bff12e bgeu r21,r6,4dbdc <__alt_data_end+0xfffdbbdc>
  15166. 4dc18: b109c83a sub r4,r22,r4
  15167. 4dc1c: 2823883a mov r17,r5
  15168. 4dc20: 003f2e06 br 4d8dc <__alt_data_end+0xfffdb8dc>
  15169. 4dc24: 2021883a mov r16,r4
  15170. 4dc28: 003eff06 br 4d828 <__alt_data_end+0xfffdb828>
  15171. 4dc2c: 2023883a mov r17,r4
  15172. 4dc30: 003ee406 br 4d7c4 <__alt_data_end+0xfffdb7c4>
  15173. 4dc34: a8bfe236 bltu r21,r2,4dbc0 <__alt_data_end+0xfffdbbc0>
  15174. 4dc38: 0009883a mov r4,zero
  15175. 4dc3c: 003f2706 br 4d8dc <__alt_data_end+0xfffdb8dc>
  15176. 4dc40: 81002d36 bltu r16,r4,4dcf8 <__divdf3+0x8f4>
  15177. 4dc44: 24005626 beq r4,r16,4dda0 <__divdf3+0x99c>
  15178. 4dc48: 2829883a mov r20,r5
  15179. 4dc4c: 003f8006 br 4da50 <__alt_data_end+0xfffdba50>
  15180. 4dc50: 053fffc4 movi r20,-1
  15181. 4dc54: 003f7f06 br 4da54 <__alt_data_end+0xfffdba54>
  15182. 4dc58: 200f883a mov r7,r4
  15183. 4dc5c: 003f3c06 br 4d950 <__alt_data_end+0xfffdb950>
  15184. 4dc60: 1011883a mov r8,r2
  15185. 4dc64: 003f5506 br 4d9bc <__alt_data_end+0xfffdb9bc>
  15186. 4dc68: e027883a mov r19,fp
  15187. 4dc6c: 003f7906 br 4da54 <__alt_data_end+0xfffdba54>
  15188. 4dc70: 010007c4 movi r4,31
  15189. 4dc74: 20c02816 blt r4,r3,4dd18 <__divdf3+0x914>
  15190. 4dc78: 00800804 movi r2,32
  15191. 4dc7c: 10c5c83a sub r2,r2,r3
  15192. 4dc80: 888a983a sll r5,r17,r2
  15193. 4dc84: a0c8d83a srl r4,r20,r3
  15194. 4dc88: a084983a sll r2,r20,r2
  15195. 4dc8c: 88e2d83a srl r17,r17,r3
  15196. 4dc90: 2906b03a or r3,r5,r4
  15197. 4dc94: 1004c03a cmpne r2,r2,zero
  15198. 4dc98: 1886b03a or r3,r3,r2
  15199. 4dc9c: 188001cc andi r2,r3,7
  15200. 4dca0: 10000726 beq r2,zero,4dcc0 <__divdf3+0x8bc>
  15201. 4dca4: 188003cc andi r2,r3,15
  15202. 4dca8: 01000104 movi r4,4
  15203. 4dcac: 11000426 beq r2,r4,4dcc0 <__divdf3+0x8bc>
  15204. 4dcb0: 1805883a mov r2,r3
  15205. 4dcb4: 10c00104 addi r3,r2,4
  15206. 4dcb8: 1885803a cmpltu r2,r3,r2
  15207. 4dcbc: 88a3883a add r17,r17,r2
  15208. 4dcc0: 8880202c andhi r2,r17,128
  15209. 4dcc4: 10002926 beq r2,zero,4dd6c <__divdf3+0x968>
  15210. 4dcc8: 9900004c andi r4,r19,1
  15211. 4dccc: 00800044 movi r2,1
  15212. 4dcd0: 0021883a mov r16,zero
  15213. 4dcd4: 002b883a mov r21,zero
  15214. 4dcd8: 003e2906 br 4d580 <__alt_data_end+0xfffdb580>
  15215. 4dcdc: d9800017 ldw r6,0(sp)
  15216. 4dce0: 8c7fff84 addi r17,r17,-2
  15217. 4dce4: a9ab883a add r21,r21,r6
  15218. 4dce8: a98b803a cmpltu r5,r21,r6
  15219. 4dcec: 2d8b883a add r5,r5,r22
  15220. 4dcf0: 2a11883a add r8,r5,r8
  15221. 4dcf4: 003ef806 br 4d8d8 <__alt_data_end+0xfffdb8d8>
  15222. 4dcf8: d9800017 ldw r6,0(sp)
  15223. 4dcfc: 318f883a add r7,r6,r6
  15224. 4dd00: 398b803a cmpltu r5,r7,r6
  15225. 4dd04: 2d8d883a add r6,r5,r22
  15226. 4dd08: 81a1883a add r16,r16,r6
  15227. 4dd0c: a17fff84 addi r5,r20,-2
  15228. 4dd10: d9c00015 stw r7,0(sp)
  15229. 4dd14: 003f8806 br 4db38 <__alt_data_end+0xfffdbb38>
  15230. 4dd18: 013ff844 movi r4,-31
  15231. 4dd1c: 2085c83a sub r2,r4,r2
  15232. 4dd20: 8888d83a srl r4,r17,r2
  15233. 4dd24: 00800804 movi r2,32
  15234. 4dd28: 18802126 beq r3,r2,4ddb0 <__divdf3+0x9ac>
  15235. 4dd2c: 04001004 movi r16,64
  15236. 4dd30: 80c7c83a sub r3,r16,r3
  15237. 4dd34: 88e0983a sll r16,r17,r3
  15238. 4dd38: 8504b03a or r2,r16,r20
  15239. 4dd3c: 1004c03a cmpne r2,r2,zero
  15240. 4dd40: 2084b03a or r2,r4,r2
  15241. 4dd44: 144001cc andi r17,r2,7
  15242. 4dd48: 88000d1e bne r17,zero,4dd80 <__divdf3+0x97c>
  15243. 4dd4c: 0021883a mov r16,zero
  15244. 4dd50: 102ad0fa srli r21,r2,3
  15245. 4dd54: 9900004c andi r4,r19,1
  15246. 4dd58: 0005883a mov r2,zero
  15247. 4dd5c: ac6ab03a or r21,r21,r17
  15248. 4dd60: 003e0706 br 4d580 <__alt_data_end+0xfffdb580>
  15249. 4dd64: 1007883a mov r3,r2
  15250. 4dd68: 0023883a mov r17,zero
  15251. 4dd6c: 8820927a slli r16,r17,9
  15252. 4dd70: 1805883a mov r2,r3
  15253. 4dd74: 8822977a slli r17,r17,29
  15254. 4dd78: 8020d33a srli r16,r16,12
  15255. 4dd7c: 003ff406 br 4dd50 <__alt_data_end+0xfffdbd50>
  15256. 4dd80: 10c003cc andi r3,r2,15
  15257. 4dd84: 01000104 movi r4,4
  15258. 4dd88: 193ff626 beq r3,r4,4dd64 <__alt_data_end+0xfffdbd64>
  15259. 4dd8c: 0023883a mov r17,zero
  15260. 4dd90: 003fc806 br 4dcb4 <__alt_data_end+0xfffdbcb4>
  15261. 4dd94: a8bfd136 bltu r21,r2,4dcdc <__alt_data_end+0xfffdbcdc>
  15262. 4dd98: 2823883a mov r17,r5
  15263. 4dd9c: 003fa606 br 4dc38 <__alt_data_end+0xfffdbc38>
  15264. 4dda0: d9800017 ldw r6,0(sp)
  15265. 4dda4: 30bfd436 bltu r6,r2,4dcf8 <__alt_data_end+0xfffdbcf8>
  15266. 4dda8: 2829883a mov r20,r5
  15267. 4ddac: 003f6406 br 4db40 <__alt_data_end+0xfffdbb40>
  15268. 4ddb0: 0021883a mov r16,zero
  15269. 4ddb4: 003fe006 br 4dd38 <__alt_data_end+0xfffdbd38>
  15270. 4ddb8: 00800434 movhi r2,16
  15271. 4ddbc: 8c000234 orhi r16,r17,8
  15272. 4ddc0: 10bfffc4 addi r2,r2,-1
  15273. 4ddc4: e009883a mov r4,fp
  15274. 4ddc8: 80a0703a and r16,r16,r2
  15275. 4ddcc: a02b883a mov r21,r20
  15276. 4ddd0: 003e4e06 br 4d70c <__alt_data_end+0xfffdb70c>
  15277. 0004ddd4 <__eqdf2>:
  15278. 4ddd4: 2804d53a srli r2,r5,20
  15279. 4ddd8: 3806d53a srli r3,r7,20
  15280. 4dddc: 02000434 movhi r8,16
  15281. 4dde0: 423fffc4 addi r8,r8,-1
  15282. 4dde4: 1081ffcc andi r2,r2,2047
  15283. 4dde8: 0281ffc4 movi r10,2047
  15284. 4ddec: 2a12703a and r9,r5,r8
  15285. 4ddf0: 18c1ffcc andi r3,r3,2047
  15286. 4ddf4: 3a10703a and r8,r7,r8
  15287. 4ddf8: 280ad7fa srli r5,r5,31
  15288. 4ddfc: 380ed7fa srli r7,r7,31
  15289. 4de00: 12801026 beq r2,r10,4de44 <__eqdf2+0x70>
  15290. 4de04: 0281ffc4 movi r10,2047
  15291. 4de08: 1a800a26 beq r3,r10,4de34 <__eqdf2+0x60>
  15292. 4de0c: 10c00226 beq r2,r3,4de18 <__eqdf2+0x44>
  15293. 4de10: 00800044 movi r2,1
  15294. 4de14: f800283a ret
  15295. 4de18: 4a3ffd1e bne r9,r8,4de10 <__alt_data_end+0xfffdbe10>
  15296. 4de1c: 21bffc1e bne r4,r6,4de10 <__alt_data_end+0xfffdbe10>
  15297. 4de20: 29c00c26 beq r5,r7,4de54 <__eqdf2+0x80>
  15298. 4de24: 103ffa1e bne r2,zero,4de10 <__alt_data_end+0xfffdbe10>
  15299. 4de28: 2244b03a or r2,r4,r9
  15300. 4de2c: 1004c03a cmpne r2,r2,zero
  15301. 4de30: f800283a ret
  15302. 4de34: 3214b03a or r10,r6,r8
  15303. 4de38: 503ff426 beq r10,zero,4de0c <__alt_data_end+0xfffdbe0c>
  15304. 4de3c: 00800044 movi r2,1
  15305. 4de40: f800283a ret
  15306. 4de44: 2254b03a or r10,r4,r9
  15307. 4de48: 503fee26 beq r10,zero,4de04 <__alt_data_end+0xfffdbe04>
  15308. 4de4c: 00800044 movi r2,1
  15309. 4de50: f800283a ret
  15310. 4de54: 0005883a mov r2,zero
  15311. 4de58: f800283a ret
  15312. 0004de5c <__muldf3>:
  15313. 4de5c: deffee04 addi sp,sp,-72
  15314. 4de60: dd000c15 stw r20,48(sp)
  15315. 4de64: 2828d53a srli r20,r5,20
  15316. 4de68: ddc00f15 stw r23,60(sp)
  15317. 4de6c: 282ed7fa srli r23,r5,31
  15318. 4de70: dc000815 stw r16,32(sp)
  15319. 4de74: 04000434 movhi r16,16
  15320. 4de78: dcc00b15 stw r19,44(sp)
  15321. 4de7c: 843fffc4 addi r16,r16,-1
  15322. 4de80: dfc01115 stw ra,68(sp)
  15323. 4de84: df001015 stw fp,64(sp)
  15324. 4de88: dd800e15 stw r22,56(sp)
  15325. 4de8c: dd400d15 stw r21,52(sp)
  15326. 4de90: dc800a15 stw r18,40(sp)
  15327. 4de94: dc400915 stw r17,36(sp)
  15328. 4de98: a501ffcc andi r20,r20,2047
  15329. 4de9c: 2c20703a and r16,r5,r16
  15330. 4dea0: b827883a mov r19,r23
  15331. 4dea4: ba403fcc andi r9,r23,255
  15332. 4dea8: a0006026 beq r20,zero,4e02c <__muldf3+0x1d0>
  15333. 4deac: 0081ffc4 movi r2,2047
  15334. 4deb0: 202d883a mov r22,r4
  15335. 4deb4: a0803626 beq r20,r2,4df90 <__muldf3+0x134>
  15336. 4deb8: 84000434 orhi r16,r16,16
  15337. 4debc: 200ad77a srli r5,r4,29
  15338. 4dec0: 800490fa slli r2,r16,3
  15339. 4dec4: 202c90fa slli r22,r4,3
  15340. 4dec8: a53f0044 addi r20,r20,-1023
  15341. 4decc: 28a0b03a or r16,r5,r2
  15342. 4ded0: 002b883a mov r21,zero
  15343. 4ded4: 000b883a mov r5,zero
  15344. 4ded8: 3804d53a srli r2,r7,20
  15345. 4dedc: 3838d7fa srli fp,r7,31
  15346. 4dee0: 04400434 movhi r17,16
  15347. 4dee4: 8c7fffc4 addi r17,r17,-1
  15348. 4dee8: 1081ffcc andi r2,r2,2047
  15349. 4deec: 3025883a mov r18,r6
  15350. 4def0: 3c62703a and r17,r7,r17
  15351. 4def4: e2803fcc andi r10,fp,255
  15352. 4def8: 10006d26 beq r2,zero,4e0b0 <__muldf3+0x254>
  15353. 4defc: 00c1ffc4 movi r3,2047
  15354. 4df00: 10c06526 beq r2,r3,4e098 <__muldf3+0x23c>
  15355. 4df04: 8c400434 orhi r17,r17,16
  15356. 4df08: 300ed77a srli r7,r6,29
  15357. 4df0c: 880690fa slli r3,r17,3
  15358. 4df10: 302490fa slli r18,r6,3
  15359. 4df14: 10bf0044 addi r2,r2,-1023
  15360. 4df18: 38e2b03a or r17,r7,r3
  15361. 4df1c: 000f883a mov r7,zero
  15362. 4df20: a087883a add r3,r20,r2
  15363. 4df24: 010003c4 movi r4,15
  15364. 4df28: 3d44b03a or r2,r7,r21
  15365. 4df2c: e5ccf03a xor r6,fp,r23
  15366. 4df30: 1a000044 addi r8,r3,1
  15367. 4df34: 20809b36 bltu r4,r2,4e1a4 <__muldf3+0x348>
  15368. 4df38: 100490ba slli r2,r2,2
  15369. 4df3c: 01000174 movhi r4,5
  15370. 4df40: 2137d404 addi r4,r4,-8368
  15371. 4df44: 1105883a add r2,r2,r4
  15372. 4df48: 10800017 ldw r2,0(r2)
  15373. 4df4c: 1000683a jmp r2
  15374. 4df50: 0004e1a4 muli zero,zero,4998
  15375. 4df54: 0004dfb0 cmpltui zero,zero,4990
  15376. 4df58: 0004dfb0 cmpltui zero,zero,4990
  15377. 4df5c: 0004dfac andhi zero,zero,4990
  15378. 4df60: 0004e180 call 4e18 <__alt_mem_onchip_memory2-0x3b1e8>
  15379. 4df64: 0004e180 call 4e18 <__alt_mem_onchip_memory2-0x3b1e8>
  15380. 4df68: 0004e168 cmpgeui zero,zero,4997
  15381. 4df6c: 0004dfac andhi zero,zero,4990
  15382. 4df70: 0004e180 call 4e18 <__alt_mem_onchip_memory2-0x3b1e8>
  15383. 4df74: 0004e168 cmpgeui zero,zero,4997
  15384. 4df78: 0004e180 call 4e18 <__alt_mem_onchip_memory2-0x3b1e8>
  15385. 4df7c: 0004dfac andhi zero,zero,4990
  15386. 4df80: 0004e190 cmplti zero,zero,4998
  15387. 4df84: 0004e190 cmplti zero,zero,4998
  15388. 4df88: 0004e190 cmplti zero,zero,4998
  15389. 4df8c: 0004e4f0 cmpltui zero,zero,5011
  15390. 4df90: 2404b03a or r2,r4,r16
  15391. 4df94: 1000711e bne r2,zero,4e15c <__muldf3+0x300>
  15392. 4df98: 05400204 movi r21,8
  15393. 4df9c: 0021883a mov r16,zero
  15394. 4dfa0: 002d883a mov r22,zero
  15395. 4dfa4: 01400084 movi r5,2
  15396. 4dfa8: 003fcb06 br 4ded8 <__alt_data_end+0xfffdbed8>
  15397. 4dfac: 500d883a mov r6,r10
  15398. 4dfb0: 00800084 movi r2,2
  15399. 4dfb4: 38805926 beq r7,r2,4e11c <__muldf3+0x2c0>
  15400. 4dfb8: 008000c4 movi r2,3
  15401. 4dfbc: 3881bb26 beq r7,r2,4e6ac <__muldf3+0x850>
  15402. 4dfc0: 00800044 movi r2,1
  15403. 4dfc4: 3881961e bne r7,r2,4e620 <__muldf3+0x7c4>
  15404. 4dfc8: 3027883a mov r19,r6
  15405. 4dfcc: 0005883a mov r2,zero
  15406. 4dfd0: 0021883a mov r16,zero
  15407. 4dfd4: 002d883a mov r22,zero
  15408. 4dfd8: 1004953a slli r2,r2,20
  15409. 4dfdc: 98c03fcc andi r3,r19,255
  15410. 4dfe0: 04400434 movhi r17,16
  15411. 4dfe4: 8c7fffc4 addi r17,r17,-1
  15412. 4dfe8: 180697fa slli r3,r3,31
  15413. 4dfec: 8460703a and r16,r16,r17
  15414. 4dff0: 80a0b03a or r16,r16,r2
  15415. 4dff4: 80c6b03a or r3,r16,r3
  15416. 4dff8: b005883a mov r2,r22
  15417. 4dffc: dfc01117 ldw ra,68(sp)
  15418. 4e000: df001017 ldw fp,64(sp)
  15419. 4e004: ddc00f17 ldw r23,60(sp)
  15420. 4e008: dd800e17 ldw r22,56(sp)
  15421. 4e00c: dd400d17 ldw r21,52(sp)
  15422. 4e010: dd000c17 ldw r20,48(sp)
  15423. 4e014: dcc00b17 ldw r19,44(sp)
  15424. 4e018: dc800a17 ldw r18,40(sp)
  15425. 4e01c: dc400917 ldw r17,36(sp)
  15426. 4e020: dc000817 ldw r16,32(sp)
  15427. 4e024: dec01204 addi sp,sp,72
  15428. 4e028: f800283a ret
  15429. 4e02c: 2404b03a or r2,r4,r16
  15430. 4e030: 202b883a mov r21,r4
  15431. 4e034: 10004426 beq r2,zero,4e148 <__muldf3+0x2ec>
  15432. 4e038: 80015126 beq r16,zero,4e580 <__muldf3+0x724>
  15433. 4e03c: 8009883a mov r4,r16
  15434. 4e040: d9800715 stw r6,28(sp)
  15435. 4e044: d9c00215 stw r7,8(sp)
  15436. 4e048: da400415 stw r9,16(sp)
  15437. 4e04c: 0042b7c0 call 42b7c <__clzsi2>
  15438. 4e050: d9800717 ldw r6,28(sp)
  15439. 4e054: d9c00217 ldw r7,8(sp)
  15440. 4e058: da400417 ldw r9,16(sp)
  15441. 4e05c: 113ffd44 addi r4,r2,-11
  15442. 4e060: 00c00704 movi r3,28
  15443. 4e064: 19014216 blt r3,r4,4e570 <__muldf3+0x714>
  15444. 4e068: 00c00744 movi r3,29
  15445. 4e06c: 15bffe04 addi r22,r2,-8
  15446. 4e070: 1907c83a sub r3,r3,r4
  15447. 4e074: 85a0983a sll r16,r16,r22
  15448. 4e078: a8c6d83a srl r3,r21,r3
  15449. 4e07c: adac983a sll r22,r21,r22
  15450. 4e080: 1c20b03a or r16,r3,r16
  15451. 4e084: 1080fcc4 addi r2,r2,1011
  15452. 4e088: 00a9c83a sub r20,zero,r2
  15453. 4e08c: 002b883a mov r21,zero
  15454. 4e090: 000b883a mov r5,zero
  15455. 4e094: 003f9006 br 4ded8 <__alt_data_end+0xfffdbed8>
  15456. 4e098: 3446b03a or r3,r6,r17
  15457. 4e09c: 1800281e bne r3,zero,4e140 <__muldf3+0x2e4>
  15458. 4e0a0: 0023883a mov r17,zero
  15459. 4e0a4: 0025883a mov r18,zero
  15460. 4e0a8: 01c00084 movi r7,2
  15461. 4e0ac: 003f9c06 br 4df20 <__alt_data_end+0xfffdbf20>
  15462. 4e0b0: 3446b03a or r3,r6,r17
  15463. 4e0b4: 18001e26 beq r3,zero,4e130 <__muldf3+0x2d4>
  15464. 4e0b8: 88012126 beq r17,zero,4e540 <__muldf3+0x6e4>
  15465. 4e0bc: 8809883a mov r4,r17
  15466. 4e0c0: d9400215 stw r5,8(sp)
  15467. 4e0c4: d9800715 stw r6,28(sp)
  15468. 4e0c8: da400415 stw r9,16(sp)
  15469. 4e0cc: da800315 stw r10,12(sp)
  15470. 4e0d0: 0042b7c0 call 42b7c <__clzsi2>
  15471. 4e0d4: d9400217 ldw r5,8(sp)
  15472. 4e0d8: d9800717 ldw r6,28(sp)
  15473. 4e0dc: da400417 ldw r9,16(sp)
  15474. 4e0e0: da800317 ldw r10,12(sp)
  15475. 4e0e4: 113ffd44 addi r4,r2,-11
  15476. 4e0e8: 00c00704 movi r3,28
  15477. 4e0ec: 19011016 blt r3,r4,4e530 <__muldf3+0x6d4>
  15478. 4e0f0: 00c00744 movi r3,29
  15479. 4e0f4: 14bffe04 addi r18,r2,-8
  15480. 4e0f8: 1907c83a sub r3,r3,r4
  15481. 4e0fc: 8ca2983a sll r17,r17,r18
  15482. 4e100: 30c6d83a srl r3,r6,r3
  15483. 4e104: 34a4983a sll r18,r6,r18
  15484. 4e108: 1c62b03a or r17,r3,r17
  15485. 4e10c: 1080fcc4 addi r2,r2,1011
  15486. 4e110: 0085c83a sub r2,zero,r2
  15487. 4e114: 000f883a mov r7,zero
  15488. 4e118: 003f8106 br 4df20 <__alt_data_end+0xfffdbf20>
  15489. 4e11c: 3027883a mov r19,r6
  15490. 4e120: 0081ffc4 movi r2,2047
  15491. 4e124: 0021883a mov r16,zero
  15492. 4e128: 002d883a mov r22,zero
  15493. 4e12c: 003faa06 br 4dfd8 <__alt_data_end+0xfffdbfd8>
  15494. 4e130: 0023883a mov r17,zero
  15495. 4e134: 0025883a mov r18,zero
  15496. 4e138: 01c00044 movi r7,1
  15497. 4e13c: 003f7806 br 4df20 <__alt_data_end+0xfffdbf20>
  15498. 4e140: 01c000c4 movi r7,3
  15499. 4e144: 003f7606 br 4df20 <__alt_data_end+0xfffdbf20>
  15500. 4e148: 05400104 movi r21,4
  15501. 4e14c: 0021883a mov r16,zero
  15502. 4e150: 002d883a mov r22,zero
  15503. 4e154: 01400044 movi r5,1
  15504. 4e158: 003f5f06 br 4ded8 <__alt_data_end+0xfffdbed8>
  15505. 4e15c: 05400304 movi r21,12
  15506. 4e160: 014000c4 movi r5,3
  15507. 4e164: 003f5c06 br 4ded8 <__alt_data_end+0xfffdbed8>
  15508. 4e168: 04000434 movhi r16,16
  15509. 4e16c: 0027883a mov r19,zero
  15510. 4e170: 843fffc4 addi r16,r16,-1
  15511. 4e174: 05bfffc4 movi r22,-1
  15512. 4e178: 0081ffc4 movi r2,2047
  15513. 4e17c: 003f9606 br 4dfd8 <__alt_data_end+0xfffdbfd8>
  15514. 4e180: 8023883a mov r17,r16
  15515. 4e184: b025883a mov r18,r22
  15516. 4e188: 280f883a mov r7,r5
  15517. 4e18c: 003f8806 br 4dfb0 <__alt_data_end+0xfffdbfb0>
  15518. 4e190: 8023883a mov r17,r16
  15519. 4e194: b025883a mov r18,r22
  15520. 4e198: 480d883a mov r6,r9
  15521. 4e19c: 280f883a mov r7,r5
  15522. 4e1a0: 003f8306 br 4dfb0 <__alt_data_end+0xfffdbfb0>
  15523. 4e1a4: b026d43a srli r19,r22,16
  15524. 4e1a8: 902ed43a srli r23,r18,16
  15525. 4e1ac: b5bfffcc andi r22,r22,65535
  15526. 4e1b0: 94bfffcc andi r18,r18,65535
  15527. 4e1b4: b00b883a mov r5,r22
  15528. 4e1b8: 9009883a mov r4,r18
  15529. 4e1bc: d8c00515 stw r3,20(sp)
  15530. 4e1c0: d9800715 stw r6,28(sp)
  15531. 4e1c4: da000615 stw r8,24(sp)
  15532. 4e1c8: 004d3dc0 call 4d3dc <__mulsi3>
  15533. 4e1cc: 980b883a mov r5,r19
  15534. 4e1d0: 9009883a mov r4,r18
  15535. 4e1d4: 1029883a mov r20,r2
  15536. 4e1d8: 004d3dc0 call 4d3dc <__mulsi3>
  15537. 4e1dc: b80b883a mov r5,r23
  15538. 4e1e0: 9809883a mov r4,r19
  15539. 4e1e4: 102b883a mov r21,r2
  15540. 4e1e8: 004d3dc0 call 4d3dc <__mulsi3>
  15541. 4e1ec: b809883a mov r4,r23
  15542. 4e1f0: b00b883a mov r5,r22
  15543. 4e1f4: 1039883a mov fp,r2
  15544. 4e1f8: 004d3dc0 call 4d3dc <__mulsi3>
  15545. 4e1fc: a008d43a srli r4,r20,16
  15546. 4e200: 1545883a add r2,r2,r21
  15547. 4e204: d8c00517 ldw r3,20(sp)
  15548. 4e208: 2085883a add r2,r4,r2
  15549. 4e20c: d9800717 ldw r6,28(sp)
  15550. 4e210: da000617 ldw r8,24(sp)
  15551. 4e214: 1540022e bgeu r2,r21,4e220 <__muldf3+0x3c4>
  15552. 4e218: 01000074 movhi r4,1
  15553. 4e21c: e139883a add fp,fp,r4
  15554. 4e220: 100e943a slli r7,r2,16
  15555. 4e224: 1004d43a srli r2,r2,16
  15556. 4e228: 882ad43a srli r21,r17,16
  15557. 4e22c: a53fffcc andi r20,r20,65535
  15558. 4e230: 8c7fffcc andi r17,r17,65535
  15559. 4e234: 3d29883a add r20,r7,r20
  15560. 4e238: b00b883a mov r5,r22
  15561. 4e23c: 8809883a mov r4,r17
  15562. 4e240: d8c00515 stw r3,20(sp)
  15563. 4e244: d9800715 stw r6,28(sp)
  15564. 4e248: da000615 stw r8,24(sp)
  15565. 4e24c: dd000115 stw r20,4(sp)
  15566. 4e250: d8800015 stw r2,0(sp)
  15567. 4e254: 004d3dc0 call 4d3dc <__mulsi3>
  15568. 4e258: 980b883a mov r5,r19
  15569. 4e25c: 8809883a mov r4,r17
  15570. 4e260: d8800215 stw r2,8(sp)
  15571. 4e264: 004d3dc0 call 4d3dc <__mulsi3>
  15572. 4e268: 9809883a mov r4,r19
  15573. 4e26c: a80b883a mov r5,r21
  15574. 4e270: 1029883a mov r20,r2
  15575. 4e274: 004d3dc0 call 4d3dc <__mulsi3>
  15576. 4e278: b00b883a mov r5,r22
  15577. 4e27c: a809883a mov r4,r21
  15578. 4e280: d8800415 stw r2,16(sp)
  15579. 4e284: 004d3dc0 call 4d3dc <__mulsi3>
  15580. 4e288: d9c00217 ldw r7,8(sp)
  15581. 4e28c: 1505883a add r2,r2,r20
  15582. 4e290: d8c00517 ldw r3,20(sp)
  15583. 4e294: 3826d43a srli r19,r7,16
  15584. 4e298: d9800717 ldw r6,28(sp)
  15585. 4e29c: da000617 ldw r8,24(sp)
  15586. 4e2a0: 9885883a add r2,r19,r2
  15587. 4e2a4: da400417 ldw r9,16(sp)
  15588. 4e2a8: 1500022e bgeu r2,r20,4e2b4 <__muldf3+0x458>
  15589. 4e2ac: 01000074 movhi r4,1
  15590. 4e2b0: 4913883a add r9,r9,r4
  15591. 4e2b4: 1028d43a srli r20,r2,16
  15592. 4e2b8: 1004943a slli r2,r2,16
  15593. 4e2bc: 802cd43a srli r22,r16,16
  15594. 4e2c0: 843fffcc andi r16,r16,65535
  15595. 4e2c4: 3cffffcc andi r19,r7,65535
  15596. 4e2c8: 9009883a mov r4,r18
  15597. 4e2cc: 800b883a mov r5,r16
  15598. 4e2d0: a269883a add r20,r20,r9
  15599. 4e2d4: d8c00515 stw r3,20(sp)
  15600. 4e2d8: d9800715 stw r6,28(sp)
  15601. 4e2dc: da000615 stw r8,24(sp)
  15602. 4e2e0: 14e7883a add r19,r2,r19
  15603. 4e2e4: 004d3dc0 call 4d3dc <__mulsi3>
  15604. 4e2e8: 9009883a mov r4,r18
  15605. 4e2ec: b00b883a mov r5,r22
  15606. 4e2f0: d8800315 stw r2,12(sp)
  15607. 4e2f4: 004d3dc0 call 4d3dc <__mulsi3>
  15608. 4e2f8: b809883a mov r4,r23
  15609. 4e2fc: b00b883a mov r5,r22
  15610. 4e300: d8800215 stw r2,8(sp)
  15611. 4e304: 004d3dc0 call 4d3dc <__mulsi3>
  15612. 4e308: b80b883a mov r5,r23
  15613. 4e30c: 8009883a mov r4,r16
  15614. 4e310: d8800415 stw r2,16(sp)
  15615. 4e314: 004d3dc0 call 4d3dc <__mulsi3>
  15616. 4e318: da800317 ldw r10,12(sp)
  15617. 4e31c: d9c00217 ldw r7,8(sp)
  15618. 4e320: d9000017 ldw r4,0(sp)
  15619. 4e324: 502ed43a srli r23,r10,16
  15620. 4e328: 11c5883a add r2,r2,r7
  15621. 4e32c: 24e5883a add r18,r4,r19
  15622. 4e330: b885883a add r2,r23,r2
  15623. 4e334: d8c00517 ldw r3,20(sp)
  15624. 4e338: d9800717 ldw r6,28(sp)
  15625. 4e33c: da000617 ldw r8,24(sp)
  15626. 4e340: da400417 ldw r9,16(sp)
  15627. 4e344: 11c0022e bgeu r2,r7,4e350 <__muldf3+0x4f4>
  15628. 4e348: 01000074 movhi r4,1
  15629. 4e34c: 4913883a add r9,r9,r4
  15630. 4e350: 100ed43a srli r7,r2,16
  15631. 4e354: 1004943a slli r2,r2,16
  15632. 4e358: 55ffffcc andi r23,r10,65535
  15633. 4e35c: 3a53883a add r9,r7,r9
  15634. 4e360: 8809883a mov r4,r17
  15635. 4e364: 800b883a mov r5,r16
  15636. 4e368: d8c00515 stw r3,20(sp)
  15637. 4e36c: d9800715 stw r6,28(sp)
  15638. 4e370: da000615 stw r8,24(sp)
  15639. 4e374: da400415 stw r9,16(sp)
  15640. 4e378: 15ef883a add r23,r2,r23
  15641. 4e37c: 004d3dc0 call 4d3dc <__mulsi3>
  15642. 4e380: 8809883a mov r4,r17
  15643. 4e384: b00b883a mov r5,r22
  15644. 4e388: d8800215 stw r2,8(sp)
  15645. 4e38c: 004d3dc0 call 4d3dc <__mulsi3>
  15646. 4e390: b00b883a mov r5,r22
  15647. 4e394: a809883a mov r4,r21
  15648. 4e398: d8800315 stw r2,12(sp)
  15649. 4e39c: 004d3dc0 call 4d3dc <__mulsi3>
  15650. 4e3a0: 8009883a mov r4,r16
  15651. 4e3a4: a80b883a mov r5,r21
  15652. 4e3a8: 1023883a mov r17,r2
  15653. 4e3ac: 004d3dc0 call 4d3dc <__mulsi3>
  15654. 4e3b0: d9c00217 ldw r7,8(sp)
  15655. 4e3b4: da800317 ldw r10,12(sp)
  15656. 4e3b8: d8c00517 ldw r3,20(sp)
  15657. 4e3bc: 3808d43a srli r4,r7,16
  15658. 4e3c0: 1285883a add r2,r2,r10
  15659. 4e3c4: d9800717 ldw r6,28(sp)
  15660. 4e3c8: 2085883a add r2,r4,r2
  15661. 4e3cc: da000617 ldw r8,24(sp)
  15662. 4e3d0: da400417 ldw r9,16(sp)
  15663. 4e3d4: 1280022e bgeu r2,r10,4e3e0 <__muldf3+0x584>
  15664. 4e3d8: 01000074 movhi r4,1
  15665. 4e3dc: 8923883a add r17,r17,r4
  15666. 4e3e0: 1008943a slli r4,r2,16
  15667. 4e3e4: 39ffffcc andi r7,r7,65535
  15668. 4e3e8: e4b9883a add fp,fp,r18
  15669. 4e3ec: 21cf883a add r7,r4,r7
  15670. 4e3f0: e4e7803a cmpltu r19,fp,r19
  15671. 4e3f4: 3d0f883a add r7,r7,r20
  15672. 4e3f8: bf39883a add fp,r23,fp
  15673. 4e3fc: 99c9883a add r4,r19,r7
  15674. 4e400: e5ef803a cmpltu r23,fp,r23
  15675. 4e404: 490b883a add r5,r9,r4
  15676. 4e408: 1004d43a srli r2,r2,16
  15677. 4e40c: b965883a add r18,r23,r5
  15678. 4e410: 24c9803a cmpltu r4,r4,r19
  15679. 4e414: 3d29803a cmpltu r20,r7,r20
  15680. 4e418: a128b03a or r20,r20,r4
  15681. 4e41c: 95ef803a cmpltu r23,r18,r23
  15682. 4e420: 2a53803a cmpltu r9,r5,r9
  15683. 4e424: a0a9883a add r20,r20,r2
  15684. 4e428: 4deeb03a or r23,r9,r23
  15685. 4e42c: a5ef883a add r23,r20,r23
  15686. 4e430: bc63883a add r17,r23,r17
  15687. 4e434: e004927a slli r2,fp,9
  15688. 4e438: d9000117 ldw r4,4(sp)
  15689. 4e43c: 882e927a slli r23,r17,9
  15690. 4e440: 9022d5fa srli r17,r18,23
  15691. 4e444: e038d5fa srli fp,fp,23
  15692. 4e448: 1104b03a or r2,r2,r4
  15693. 4e44c: 9024927a slli r18,r18,9
  15694. 4e450: 1004c03a cmpne r2,r2,zero
  15695. 4e454: bc62b03a or r17,r23,r17
  15696. 4e458: 1738b03a or fp,r2,fp
  15697. 4e45c: 8880402c andhi r2,r17,256
  15698. 4e460: e4a4b03a or r18,fp,r18
  15699. 4e464: 10000726 beq r2,zero,4e484 <__muldf3+0x628>
  15700. 4e468: 9006d07a srli r3,r18,1
  15701. 4e46c: 880497fa slli r2,r17,31
  15702. 4e470: 9480004c andi r18,r18,1
  15703. 4e474: 8822d07a srli r17,r17,1
  15704. 4e478: 1ca4b03a or r18,r3,r18
  15705. 4e47c: 14a4b03a or r18,r2,r18
  15706. 4e480: 4007883a mov r3,r8
  15707. 4e484: 1880ffc4 addi r2,r3,1023
  15708. 4e488: 0080460e bge zero,r2,4e5a4 <__muldf3+0x748>
  15709. 4e48c: 910001cc andi r4,r18,7
  15710. 4e490: 20000726 beq r4,zero,4e4b0 <__muldf3+0x654>
  15711. 4e494: 910003cc andi r4,r18,15
  15712. 4e498: 01400104 movi r5,4
  15713. 4e49c: 21400426 beq r4,r5,4e4b0 <__muldf3+0x654>
  15714. 4e4a0: 9149883a add r4,r18,r5
  15715. 4e4a4: 24a5803a cmpltu r18,r4,r18
  15716. 4e4a8: 8ca3883a add r17,r17,r18
  15717. 4e4ac: 2025883a mov r18,r4
  15718. 4e4b0: 8900402c andhi r4,r17,256
  15719. 4e4b4: 20000426 beq r4,zero,4e4c8 <__muldf3+0x66c>
  15720. 4e4b8: 18810004 addi r2,r3,1024
  15721. 4e4bc: 00ffc034 movhi r3,65280
  15722. 4e4c0: 18ffffc4 addi r3,r3,-1
  15723. 4e4c4: 88e2703a and r17,r17,r3
  15724. 4e4c8: 00c1ff84 movi r3,2046
  15725. 4e4cc: 18bf1316 blt r3,r2,4e11c <__alt_data_end+0xfffdc11c>
  15726. 4e4d0: 882c977a slli r22,r17,29
  15727. 4e4d4: 9024d0fa srli r18,r18,3
  15728. 4e4d8: 8822927a slli r17,r17,9
  15729. 4e4dc: 1081ffcc andi r2,r2,2047
  15730. 4e4e0: b4acb03a or r22,r22,r18
  15731. 4e4e4: 8820d33a srli r16,r17,12
  15732. 4e4e8: 3027883a mov r19,r6
  15733. 4e4ec: 003eba06 br 4dfd8 <__alt_data_end+0xfffdbfd8>
  15734. 4e4f0: 8080022c andhi r2,r16,8
  15735. 4e4f4: 10000926 beq r2,zero,4e51c <__muldf3+0x6c0>
  15736. 4e4f8: 8880022c andhi r2,r17,8
  15737. 4e4fc: 1000071e bne r2,zero,4e51c <__muldf3+0x6c0>
  15738. 4e500: 00800434 movhi r2,16
  15739. 4e504: 8c000234 orhi r16,r17,8
  15740. 4e508: 10bfffc4 addi r2,r2,-1
  15741. 4e50c: e027883a mov r19,fp
  15742. 4e510: 80a0703a and r16,r16,r2
  15743. 4e514: 902d883a mov r22,r18
  15744. 4e518: 003f1706 br 4e178 <__alt_data_end+0xfffdc178>
  15745. 4e51c: 00800434 movhi r2,16
  15746. 4e520: 84000234 orhi r16,r16,8
  15747. 4e524: 10bfffc4 addi r2,r2,-1
  15748. 4e528: 80a0703a and r16,r16,r2
  15749. 4e52c: 003f1206 br 4e178 <__alt_data_end+0xfffdc178>
  15750. 4e530: 147ff604 addi r17,r2,-40
  15751. 4e534: 3462983a sll r17,r6,r17
  15752. 4e538: 0025883a mov r18,zero
  15753. 4e53c: 003ef306 br 4e10c <__alt_data_end+0xfffdc10c>
  15754. 4e540: 3009883a mov r4,r6
  15755. 4e544: d9400215 stw r5,8(sp)
  15756. 4e548: d9800715 stw r6,28(sp)
  15757. 4e54c: da400415 stw r9,16(sp)
  15758. 4e550: da800315 stw r10,12(sp)
  15759. 4e554: 0042b7c0 call 42b7c <__clzsi2>
  15760. 4e558: 10800804 addi r2,r2,32
  15761. 4e55c: da800317 ldw r10,12(sp)
  15762. 4e560: da400417 ldw r9,16(sp)
  15763. 4e564: d9800717 ldw r6,28(sp)
  15764. 4e568: d9400217 ldw r5,8(sp)
  15765. 4e56c: 003edd06 br 4e0e4 <__alt_data_end+0xfffdc0e4>
  15766. 4e570: 143ff604 addi r16,r2,-40
  15767. 4e574: ac20983a sll r16,r21,r16
  15768. 4e578: 002d883a mov r22,zero
  15769. 4e57c: 003ec106 br 4e084 <__alt_data_end+0xfffdc084>
  15770. 4e580: d9800715 stw r6,28(sp)
  15771. 4e584: d9c00215 stw r7,8(sp)
  15772. 4e588: da400415 stw r9,16(sp)
  15773. 4e58c: 0042b7c0 call 42b7c <__clzsi2>
  15774. 4e590: 10800804 addi r2,r2,32
  15775. 4e594: da400417 ldw r9,16(sp)
  15776. 4e598: d9c00217 ldw r7,8(sp)
  15777. 4e59c: d9800717 ldw r6,28(sp)
  15778. 4e5a0: 003eae06 br 4e05c <__alt_data_end+0xfffdc05c>
  15779. 4e5a4: 00c00044 movi r3,1
  15780. 4e5a8: 1887c83a sub r3,r3,r2
  15781. 4e5ac: 01000e04 movi r4,56
  15782. 4e5b0: 20fe8516 blt r4,r3,4dfc8 <__alt_data_end+0xfffdbfc8>
  15783. 4e5b4: 010007c4 movi r4,31
  15784. 4e5b8: 20c01b16 blt r4,r3,4e628 <__muldf3+0x7cc>
  15785. 4e5bc: 00800804 movi r2,32
  15786. 4e5c0: 10c5c83a sub r2,r2,r3
  15787. 4e5c4: 888a983a sll r5,r17,r2
  15788. 4e5c8: 90c8d83a srl r4,r18,r3
  15789. 4e5cc: 9084983a sll r2,r18,r2
  15790. 4e5d0: 88e2d83a srl r17,r17,r3
  15791. 4e5d4: 2906b03a or r3,r5,r4
  15792. 4e5d8: 1004c03a cmpne r2,r2,zero
  15793. 4e5dc: 1886b03a or r3,r3,r2
  15794. 4e5e0: 188001cc andi r2,r3,7
  15795. 4e5e4: 10000726 beq r2,zero,4e604 <__muldf3+0x7a8>
  15796. 4e5e8: 188003cc andi r2,r3,15
  15797. 4e5ec: 01000104 movi r4,4
  15798. 4e5f0: 11000426 beq r2,r4,4e604 <__muldf3+0x7a8>
  15799. 4e5f4: 1805883a mov r2,r3
  15800. 4e5f8: 10c00104 addi r3,r2,4
  15801. 4e5fc: 1885803a cmpltu r2,r3,r2
  15802. 4e600: 88a3883a add r17,r17,r2
  15803. 4e604: 8880202c andhi r2,r17,128
  15804. 4e608: 10001c26 beq r2,zero,4e67c <__muldf3+0x820>
  15805. 4e60c: 3027883a mov r19,r6
  15806. 4e610: 00800044 movi r2,1
  15807. 4e614: 0021883a mov r16,zero
  15808. 4e618: 002d883a mov r22,zero
  15809. 4e61c: 003e6e06 br 4dfd8 <__alt_data_end+0xfffdbfd8>
  15810. 4e620: 4007883a mov r3,r8
  15811. 4e624: 003f9706 br 4e484 <__alt_data_end+0xfffdc484>
  15812. 4e628: 017ff844 movi r5,-31
  15813. 4e62c: 2885c83a sub r2,r5,r2
  15814. 4e630: 888ad83a srl r5,r17,r2
  15815. 4e634: 00800804 movi r2,32
  15816. 4e638: 18801a26 beq r3,r2,4e6a4 <__muldf3+0x848>
  15817. 4e63c: 01001004 movi r4,64
  15818. 4e640: 20c7c83a sub r3,r4,r3
  15819. 4e644: 88e2983a sll r17,r17,r3
  15820. 4e648: 8ca4b03a or r18,r17,r18
  15821. 4e64c: 9004c03a cmpne r2,r18,zero
  15822. 4e650: 2884b03a or r2,r5,r2
  15823. 4e654: 144001cc andi r17,r2,7
  15824. 4e658: 88000d1e bne r17,zero,4e690 <__muldf3+0x834>
  15825. 4e65c: 0021883a mov r16,zero
  15826. 4e660: 102cd0fa srli r22,r2,3
  15827. 4e664: 3027883a mov r19,r6
  15828. 4e668: 0005883a mov r2,zero
  15829. 4e66c: b46cb03a or r22,r22,r17
  15830. 4e670: 003e5906 br 4dfd8 <__alt_data_end+0xfffdbfd8>
  15831. 4e674: 1007883a mov r3,r2
  15832. 4e678: 0023883a mov r17,zero
  15833. 4e67c: 8820927a slli r16,r17,9
  15834. 4e680: 1805883a mov r2,r3
  15835. 4e684: 8822977a slli r17,r17,29
  15836. 4e688: 8020d33a srli r16,r16,12
  15837. 4e68c: 003ff406 br 4e660 <__alt_data_end+0xfffdc660>
  15838. 4e690: 10c003cc andi r3,r2,15
  15839. 4e694: 01000104 movi r4,4
  15840. 4e698: 193ff626 beq r3,r4,4e674 <__alt_data_end+0xfffdc674>
  15841. 4e69c: 0023883a mov r17,zero
  15842. 4e6a0: 003fd506 br 4e5f8 <__alt_data_end+0xfffdc5f8>
  15843. 4e6a4: 0023883a mov r17,zero
  15844. 4e6a8: 003fe706 br 4e648 <__alt_data_end+0xfffdc648>
  15845. 4e6ac: 00800434 movhi r2,16
  15846. 4e6b0: 8c000234 orhi r16,r17,8
  15847. 4e6b4: 10bfffc4 addi r2,r2,-1
  15848. 4e6b8: 3027883a mov r19,r6
  15849. 4e6bc: 80a0703a and r16,r16,r2
  15850. 4e6c0: 902d883a mov r22,r18
  15851. 4e6c4: 003eac06 br 4e178 <__alt_data_end+0xfffdc178>
  15852. 0004e6c8 <__floatunsidf>:
  15853. 4e6c8: defffe04 addi sp,sp,-8
  15854. 4e6cc: dc000015 stw r16,0(sp)
  15855. 4e6d0: dfc00115 stw ra,4(sp)
  15856. 4e6d4: 2021883a mov r16,r4
  15857. 4e6d8: 20002226 beq r4,zero,4e764 <__floatunsidf+0x9c>
  15858. 4e6dc: 0042b7c0 call 42b7c <__clzsi2>
  15859. 4e6e0: 01010784 movi r4,1054
  15860. 4e6e4: 2089c83a sub r4,r4,r2
  15861. 4e6e8: 01810cc4 movi r6,1075
  15862. 4e6ec: 310dc83a sub r6,r6,r4
  15863. 4e6f0: 00c007c4 movi r3,31
  15864. 4e6f4: 1980120e bge r3,r6,4e740 <__floatunsidf+0x78>
  15865. 4e6f8: 00c104c4 movi r3,1043
  15866. 4e6fc: 1907c83a sub r3,r3,r4
  15867. 4e700: 80ca983a sll r5,r16,r3
  15868. 4e704: 00800434 movhi r2,16
  15869. 4e708: 10bfffc4 addi r2,r2,-1
  15870. 4e70c: 2101ffcc andi r4,r4,2047
  15871. 4e710: 0021883a mov r16,zero
  15872. 4e714: 288a703a and r5,r5,r2
  15873. 4e718: 2008953a slli r4,r4,20
  15874. 4e71c: 00c00434 movhi r3,16
  15875. 4e720: 18ffffc4 addi r3,r3,-1
  15876. 4e724: 28c6703a and r3,r5,r3
  15877. 4e728: 8005883a mov r2,r16
  15878. 4e72c: 1906b03a or r3,r3,r4
  15879. 4e730: dfc00117 ldw ra,4(sp)
  15880. 4e734: dc000017 ldw r16,0(sp)
  15881. 4e738: dec00204 addi sp,sp,8
  15882. 4e73c: f800283a ret
  15883. 4e740: 00c002c4 movi r3,11
  15884. 4e744: 188bc83a sub r5,r3,r2
  15885. 4e748: 814ad83a srl r5,r16,r5
  15886. 4e74c: 00c00434 movhi r3,16
  15887. 4e750: 18ffffc4 addi r3,r3,-1
  15888. 4e754: 81a0983a sll r16,r16,r6
  15889. 4e758: 2101ffcc andi r4,r4,2047
  15890. 4e75c: 28ca703a and r5,r5,r3
  15891. 4e760: 003fed06 br 4e718 <__alt_data_end+0xfffdc718>
  15892. 4e764: 0009883a mov r4,zero
  15893. 4e768: 000b883a mov r5,zero
  15894. 4e76c: 003fea06 br 4e718 <__alt_data_end+0xfffdc718>
  15895. 0004e770 <alt_get_errno>:
  15896. #undef errno
  15897. extern int errno;
  15898. static ALT_INLINE int* alt_get_errno(void)
  15899. {
  15900. 4e770: defffe04 addi sp,sp,-8
  15901. 4e774: dfc00115 stw ra,4(sp)
  15902. 4e778: df000015 stw fp,0(sp)
  15903. 4e77c: d839883a mov fp,sp
  15904. return ((alt_errno) ? alt_errno() : &errno);
  15905. 4e780: d0a00b17 ldw r2,-32724(gp)
  15906. 4e784: 10000326 beq r2,zero,4e794 <alt_get_errno+0x24>
  15907. 4e788: d0a00b17 ldw r2,-32724(gp)
  15908. 4e78c: 103ee83a callr r2
  15909. 4e790: 00000106 br 4e798 <alt_get_errno+0x28>
  15910. 4e794: d0a72104 addi r2,gp,-25468
  15911. }
  15912. 4e798: e037883a mov sp,fp
  15913. 4e79c: dfc00117 ldw ra,4(sp)
  15914. 4e7a0: df000017 ldw fp,0(sp)
  15915. 4e7a4: dec00204 addi sp,sp,8
  15916. 4e7a8: f800283a ret
  15917. 0004e7ac <close>:
  15918. *
  15919. * ALT_CLOSE is mapped onto the close() system call in alt_syscall.h
  15920. */
  15921. int ALT_CLOSE (int fildes)
  15922. {
  15923. 4e7ac: defffb04 addi sp,sp,-20
  15924. 4e7b0: dfc00415 stw ra,16(sp)
  15925. 4e7b4: df000315 stw fp,12(sp)
  15926. 4e7b8: df000304 addi fp,sp,12
  15927. 4e7bc: e13fff15 stw r4,-4(fp)
  15928. * A common error case is that when the file descriptor was created, the call
  15929. * to open() failed resulting in a negative file descriptor. This is trapped
  15930. * below so that we don't try and process an invalid file descriptor.
  15931. */
  15932. fd = (fildes < 0) ? NULL : &alt_fd_list[fildes];
  15933. 4e7c0: e0bfff17 ldw r2,-4(fp)
  15934. 4e7c4: 10000816 blt r2,zero,4e7e8 <close+0x3c>
  15935. 4e7c8: 01400304 movi r5,12
  15936. 4e7cc: e13fff17 ldw r4,-4(fp)
  15937. 4e7d0: 004d3dc0 call 4d3dc <__mulsi3>
  15938. 4e7d4: 1007883a mov r3,r2
  15939. 4e7d8: 00800174 movhi r2,5
  15940. 4e7dc: 108b9204 addi r2,r2,11848
  15941. 4e7e0: 1885883a add r2,r3,r2
  15942. 4e7e4: 00000106 br 4e7ec <close+0x40>
  15943. 4e7e8: 0005883a mov r2,zero
  15944. 4e7ec: e0bffd15 stw r2,-12(fp)
  15945. if (fd)
  15946. 4e7f0: e0bffd17 ldw r2,-12(fp)
  15947. 4e7f4: 10001926 beq r2,zero,4e85c <close+0xb0>
  15948. /*
  15949. * If the associated file system/device has a close function, call it so
  15950. * that any necessary cleanup code can run.
  15951. */
  15952. rval = (fd->dev->close) ? fd->dev->close(fd) : 0;
  15953. 4e7f8: e0bffd17 ldw r2,-12(fp)
  15954. 4e7fc: 10800017 ldw r2,0(r2)
  15955. 4e800: 10800417 ldw r2,16(r2)
  15956. 4e804: 10000626 beq r2,zero,4e820 <close+0x74>
  15957. 4e808: e0bffd17 ldw r2,-12(fp)
  15958. 4e80c: 10800017 ldw r2,0(r2)
  15959. 4e810: 10800417 ldw r2,16(r2)
  15960. 4e814: e13ffd17 ldw r4,-12(fp)
  15961. 4e818: 103ee83a callr r2
  15962. 4e81c: 00000106 br 4e824 <close+0x78>
  15963. 4e820: 0005883a mov r2,zero
  15964. 4e824: e0bffe15 stw r2,-8(fp)
  15965. /* Free the file descriptor structure and return. */
  15966. alt_release_fd (fildes);
  15967. 4e828: e13fff17 ldw r4,-4(fp)
  15968. 4e82c: 004ee940 call 4ee94 <alt_release_fd>
  15969. if (rval < 0)
  15970. 4e830: e0bffe17 ldw r2,-8(fp)
  15971. 4e834: 1000070e bge r2,zero,4e854 <close+0xa8>
  15972. {
  15973. ALT_ERRNO = -rval;
  15974. 4e838: 004e7700 call 4e770 <alt_get_errno>
  15975. 4e83c: 1007883a mov r3,r2
  15976. 4e840: e0bffe17 ldw r2,-8(fp)
  15977. 4e844: 0085c83a sub r2,zero,r2
  15978. 4e848: 18800015 stw r2,0(r3)
  15979. return -1;
  15980. 4e84c: 00bfffc4 movi r2,-1
  15981. 4e850: 00000706 br 4e870 <close+0xc4>
  15982. }
  15983. return 0;
  15984. 4e854: 0005883a mov r2,zero
  15985. 4e858: 00000506 br 4e870 <close+0xc4>
  15986. }
  15987. else
  15988. {
  15989. ALT_ERRNO = EBADFD;
  15990. 4e85c: 004e7700 call 4e770 <alt_get_errno>
  15991. 4e860: 1007883a mov r3,r2
  15992. 4e864: 00801444 movi r2,81
  15993. 4e868: 18800015 stw r2,0(r3)
  15994. return -1;
  15995. 4e86c: 00bfffc4 movi r2,-1
  15996. }
  15997. }
  15998. 4e870: e037883a mov sp,fp
  15999. 4e874: dfc00117 ldw ra,4(sp)
  16000. 4e878: df000017 ldw fp,0(sp)
  16001. 4e87c: dec00204 addi sp,sp,8
  16002. 4e880: f800283a ret
  16003. 0004e884 <alt_dev_null_write>:
  16004. * by the alt_dev_null device. It simple discards all data passed to it, and
  16005. * indicates that the data has been successfully transmitted.
  16006. */
  16007. static int alt_dev_null_write (alt_fd* fd, const char* ptr, int len)
  16008. {
  16009. 4e884: defffc04 addi sp,sp,-16
  16010. 4e888: df000315 stw fp,12(sp)
  16011. 4e88c: df000304 addi fp,sp,12
  16012. 4e890: e13ffd15 stw r4,-12(fp)
  16013. 4e894: e17ffe15 stw r5,-8(fp)
  16014. 4e898: e1bfff15 stw r6,-4(fp)
  16015. return len;
  16016. 4e89c: e0bfff17 ldw r2,-4(fp)
  16017. }
  16018. 4e8a0: e037883a mov sp,fp
  16019. 4e8a4: df000017 ldw fp,0(sp)
  16020. 4e8a8: dec00104 addi sp,sp,4
  16021. 4e8ac: f800283a ret
  16022. 0004e8b0 <alt_get_errno>:
  16023. #undef errno
  16024. extern int errno;
  16025. static ALT_INLINE int* alt_get_errno(void)
  16026. {
  16027. 4e8b0: defffe04 addi sp,sp,-8
  16028. 4e8b4: dfc00115 stw ra,4(sp)
  16029. 4e8b8: df000015 stw fp,0(sp)
  16030. 4e8bc: d839883a mov fp,sp
  16031. return ((alt_errno) ? alt_errno() : &errno);
  16032. 4e8c0: d0a00b17 ldw r2,-32724(gp)
  16033. 4e8c4: 10000326 beq r2,zero,4e8d4 <alt_get_errno+0x24>
  16034. 4e8c8: d0a00b17 ldw r2,-32724(gp)
  16035. 4e8cc: 103ee83a callr r2
  16036. 4e8d0: 00000106 br 4e8d8 <alt_get_errno+0x28>
  16037. 4e8d4: d0a72104 addi r2,gp,-25468
  16038. }
  16039. 4e8d8: e037883a mov sp,fp
  16040. 4e8dc: dfc00117 ldw ra,4(sp)
  16041. 4e8e0: df000017 ldw fp,0(sp)
  16042. 4e8e4: dec00204 addi sp,sp,8
  16043. 4e8e8: f800283a ret
  16044. 0004e8ec <fstat>:
  16045. }
  16046. #else /* !ALT_USE_DIRECT_DRIVERS */
  16047. int ALT_FSTAT (int file, struct stat *st)
  16048. {
  16049. 4e8ec: defffb04 addi sp,sp,-20
  16050. 4e8f0: dfc00415 stw ra,16(sp)
  16051. 4e8f4: df000315 stw fp,12(sp)
  16052. 4e8f8: df000304 addi fp,sp,12
  16053. 4e8fc: e13ffe15 stw r4,-8(fp)
  16054. 4e900: e17fff15 stw r5,-4(fp)
  16055. * A common error case is that when the file descriptor was created, the call
  16056. * to open() failed resulting in a negative file descriptor. This is trapped
  16057. * below so that we don't try and process an invalid file descriptor.
  16058. */
  16059. fd = (file < 0) ? NULL : &alt_fd_list[file];
  16060. 4e904: e0bffe17 ldw r2,-8(fp)
  16061. 4e908: 10000816 blt r2,zero,4e92c <fstat+0x40>
  16062. 4e90c: 01400304 movi r5,12
  16063. 4e910: e13ffe17 ldw r4,-8(fp)
  16064. 4e914: 004d3dc0 call 4d3dc <__mulsi3>
  16065. 4e918: 1007883a mov r3,r2
  16066. 4e91c: 00800174 movhi r2,5
  16067. 4e920: 108b9204 addi r2,r2,11848
  16068. 4e924: 1885883a add r2,r3,r2
  16069. 4e928: 00000106 br 4e930 <fstat+0x44>
  16070. 4e92c: 0005883a mov r2,zero
  16071. 4e930: e0bffd15 stw r2,-12(fp)
  16072. if (fd)
  16073. 4e934: e0bffd17 ldw r2,-12(fp)
  16074. 4e938: 10001026 beq r2,zero,4e97c <fstat+0x90>
  16075. {
  16076. /* Call the drivers fstat() function to fill out the "st" structure. */
  16077. if (fd->dev->fstat)
  16078. 4e93c: e0bffd17 ldw r2,-12(fp)
  16079. 4e940: 10800017 ldw r2,0(r2)
  16080. 4e944: 10800817 ldw r2,32(r2)
  16081. 4e948: 10000726 beq r2,zero,4e968 <fstat+0x7c>
  16082. {
  16083. return fd->dev->fstat(fd, st);
  16084. 4e94c: e0bffd17 ldw r2,-12(fp)
  16085. 4e950: 10800017 ldw r2,0(r2)
  16086. 4e954: 10800817 ldw r2,32(r2)
  16087. 4e958: e17fff17 ldw r5,-4(fp)
  16088. 4e95c: e13ffd17 ldw r4,-12(fp)
  16089. 4e960: 103ee83a callr r2
  16090. 4e964: 00000a06 br 4e990 <fstat+0xa4>
  16091. * device.
  16092. */
  16093. else
  16094. {
  16095. st->st_mode = _IFCHR;
  16096. 4e968: e0bfff17 ldw r2,-4(fp)
  16097. 4e96c: 00c80004 movi r3,8192
  16098. 4e970: 10c00115 stw r3,4(r2)
  16099. return 0;
  16100. 4e974: 0005883a mov r2,zero
  16101. 4e978: 00000506 br 4e990 <fstat+0xa4>
  16102. }
  16103. }
  16104. else
  16105. {
  16106. ALT_ERRNO = EBADFD;
  16107. 4e97c: 004e8b00 call 4e8b0 <alt_get_errno>
  16108. 4e980: 1007883a mov r3,r2
  16109. 4e984: 00801444 movi r2,81
  16110. 4e988: 18800015 stw r2,0(r3)
  16111. return -1;
  16112. 4e98c: 00bfffc4 movi r2,-1
  16113. }
  16114. }
  16115. 4e990: e037883a mov sp,fp
  16116. 4e994: dfc00117 ldw ra,4(sp)
  16117. 4e998: df000017 ldw fp,0(sp)
  16118. 4e99c: dec00204 addi sp,sp,8
  16119. 4e9a0: f800283a ret
  16120. 0004e9a4 <alt_get_errno>:
  16121. #undef errno
  16122. extern int errno;
  16123. static ALT_INLINE int* alt_get_errno(void)
  16124. {
  16125. 4e9a4: defffe04 addi sp,sp,-8
  16126. 4e9a8: dfc00115 stw ra,4(sp)
  16127. 4e9ac: df000015 stw fp,0(sp)
  16128. 4e9b0: d839883a mov fp,sp
  16129. return ((alt_errno) ? alt_errno() : &errno);
  16130. 4e9b4: d0a00b17 ldw r2,-32724(gp)
  16131. 4e9b8: 10000326 beq r2,zero,4e9c8 <alt_get_errno+0x24>
  16132. 4e9bc: d0a00b17 ldw r2,-32724(gp)
  16133. 4e9c0: 103ee83a callr r2
  16134. 4e9c4: 00000106 br 4e9cc <alt_get_errno+0x28>
  16135. 4e9c8: d0a72104 addi r2,gp,-25468
  16136. }
  16137. 4e9cc: e037883a mov sp,fp
  16138. 4e9d0: dfc00117 ldw ra,4(sp)
  16139. 4e9d4: df000017 ldw fp,0(sp)
  16140. 4e9d8: dec00204 addi sp,sp,8
  16141. 4e9dc: f800283a ret
  16142. 0004e9e0 <isatty>:
  16143. *
  16144. * ALT_ISATTY is mapped onto the isatty() system call in alt_syscall.h
  16145. */
  16146. int ALT_ISATTY (int file)
  16147. {
  16148. 4e9e0: deffed04 addi sp,sp,-76
  16149. 4e9e4: dfc01215 stw ra,72(sp)
  16150. 4e9e8: df001115 stw fp,68(sp)
  16151. 4e9ec: df001104 addi fp,sp,68
  16152. 4e9f0: e13fff15 stw r4,-4(fp)
  16153. * A common error case is that when the file descriptor was created, the call
  16154. * to open() failed resulting in a negative file descriptor. This is trapped
  16155. * below so that we don't try and process an invalid file descriptor.
  16156. */
  16157. fd = (file < 0) ? NULL : &alt_fd_list[file];
  16158. 4e9f4: e0bfff17 ldw r2,-4(fp)
  16159. 4e9f8: 10000816 blt r2,zero,4ea1c <isatty+0x3c>
  16160. 4e9fc: 01400304 movi r5,12
  16161. 4ea00: e13fff17 ldw r4,-4(fp)
  16162. 4ea04: 004d3dc0 call 4d3dc <__mulsi3>
  16163. 4ea08: 1007883a mov r3,r2
  16164. 4ea0c: 00800174 movhi r2,5
  16165. 4ea10: 108b9204 addi r2,r2,11848
  16166. 4ea14: 1885883a add r2,r3,r2
  16167. 4ea18: 00000106 br 4ea20 <isatty+0x40>
  16168. 4ea1c: 0005883a mov r2,zero
  16169. 4ea20: e0bfef15 stw r2,-68(fp)
  16170. if (fd)
  16171. 4ea24: e0bfef17 ldw r2,-68(fp)
  16172. 4ea28: 10000e26 beq r2,zero,4ea64 <isatty+0x84>
  16173. /*
  16174. * If a device driver does not provide an fstat() function, then it is
  16175. * treated as a terminal device by default.
  16176. */
  16177. if (!fd->dev->fstat)
  16178. 4ea2c: e0bfef17 ldw r2,-68(fp)
  16179. 4ea30: 10800017 ldw r2,0(r2)
  16180. 4ea34: 10800817 ldw r2,32(r2)
  16181. 4ea38: 1000021e bne r2,zero,4ea44 <isatty+0x64>
  16182. {
  16183. return 1;
  16184. 4ea3c: 00800044 movi r2,1
  16185. 4ea40: 00000d06 br 4ea78 <isatty+0x98>
  16186. * this is called so that the device can identify itself.
  16187. */
  16188. else
  16189. {
  16190. fstat (file, &stat);
  16191. 4ea44: e0bff004 addi r2,fp,-64
  16192. 4ea48: 100b883a mov r5,r2
  16193. 4ea4c: e13fff17 ldw r4,-4(fp)
  16194. 4ea50: 004e8ec0 call 4e8ec <fstat>
  16195. return (stat.st_mode == _IFCHR) ? 1 : 0;
  16196. 4ea54: e0bff117 ldw r2,-60(fp)
  16197. 4ea58: 10880020 cmpeqi r2,r2,8192
  16198. 4ea5c: 10803fcc andi r2,r2,255
  16199. 4ea60: 00000506 br 4ea78 <isatty+0x98>
  16200. }
  16201. }
  16202. else
  16203. {
  16204. ALT_ERRNO = EBADFD;
  16205. 4ea64: 004e9a40 call 4e9a4 <alt_get_errno>
  16206. 4ea68: 1007883a mov r3,r2
  16207. 4ea6c: 00801444 movi r2,81
  16208. 4ea70: 18800015 stw r2,0(r3)
  16209. return 0;
  16210. 4ea74: 0005883a mov r2,zero
  16211. }
  16212. }
  16213. 4ea78: e037883a mov sp,fp
  16214. 4ea7c: dfc00117 ldw ra,4(sp)
  16215. 4ea80: df000017 ldw fp,0(sp)
  16216. 4ea84: dec00204 addi sp,sp,8
  16217. 4ea88: f800283a ret
  16218. 0004ea8c <alt_load_section>:
  16219. */
  16220. static void ALT_INLINE alt_load_section (alt_u32* from,
  16221. alt_u32* to,
  16222. alt_u32* end)
  16223. {
  16224. 4ea8c: defffc04 addi sp,sp,-16
  16225. 4ea90: df000315 stw fp,12(sp)
  16226. 4ea94: df000304 addi fp,sp,12
  16227. 4ea98: e13ffd15 stw r4,-12(fp)
  16228. 4ea9c: e17ffe15 stw r5,-8(fp)
  16229. 4eaa0: e1bfff15 stw r6,-4(fp)
  16230. if (to != from)
  16231. 4eaa4: e0fffe17 ldw r3,-8(fp)
  16232. 4eaa8: e0bffd17 ldw r2,-12(fp)
  16233. 4eaac: 18800c26 beq r3,r2,4eae0 <alt_load_section+0x54>
  16234. {
  16235. while( to != end )
  16236. 4eab0: 00000806 br 4ead4 <alt_load_section+0x48>
  16237. {
  16238. *to++ = *from++;
  16239. 4eab4: e0bffe17 ldw r2,-8(fp)
  16240. 4eab8: 10c00104 addi r3,r2,4
  16241. 4eabc: e0fffe15 stw r3,-8(fp)
  16242. 4eac0: e0fffd17 ldw r3,-12(fp)
  16243. 4eac4: 19000104 addi r4,r3,4
  16244. 4eac8: e13ffd15 stw r4,-12(fp)
  16245. 4eacc: 18c00017 ldw r3,0(r3)
  16246. 4ead0: 10c00015 stw r3,0(r2)
  16247. alt_u32* to,
  16248. alt_u32* end)
  16249. {
  16250. if (to != from)
  16251. {
  16252. while( to != end )
  16253. 4ead4: e0fffe17 ldw r3,-8(fp)
  16254. 4ead8: e0bfff17 ldw r2,-4(fp)
  16255. 4eadc: 18bff51e bne r3,r2,4eab4 <__alt_data_end+0xfffdcab4>
  16256. {
  16257. *to++ = *from++;
  16258. }
  16259. }
  16260. }
  16261. 4eae0: 0001883a nop
  16262. 4eae4: e037883a mov sp,fp
  16263. 4eae8: df000017 ldw fp,0(sp)
  16264. 4eaec: dec00104 addi sp,sp,4
  16265. 4eaf0: f800283a ret
  16266. 0004eaf4 <alt_load>:
  16267. * there is no bootloader, so this application is responsible for loading to
  16268. * RAM any sections that are required.
  16269. */
  16270. void alt_load (void)
  16271. {
  16272. 4eaf4: defffe04 addi sp,sp,-8
  16273. 4eaf8: dfc00115 stw ra,4(sp)
  16274. 4eafc: df000015 stw fp,0(sp)
  16275. 4eb00: d839883a mov fp,sp
  16276. /*
  16277. * Copy the .rwdata section.
  16278. */
  16279. alt_load_section (&__flash_rwdata_start,
  16280. 4eb04: 01800174 movhi r6,5
  16281. 4eb08: 31906404 addi r6,r6,16784
  16282. 4eb0c: 01400174 movhi r5,5
  16283. 4eb10: 29495f04 addi r5,r5,9596
  16284. 4eb14: 01000174 movhi r4,5
  16285. 4eb18: 21106404 addi r4,r4,16784
  16286. 4eb1c: 004ea8c0 call 4ea8c <alt_load_section>
  16287. /*
  16288. * Copy the exception handler.
  16289. */
  16290. alt_load_section (&__flash_exceptions_start,
  16291. 4eb20: 01800134 movhi r6,4
  16292. 4eb24: 31808c04 addi r6,r6,560
  16293. 4eb28: 01400134 movhi r5,4
  16294. 4eb2c: 29400804 addi r5,r5,32
  16295. 4eb30: 01000134 movhi r4,4
  16296. 4eb34: 21000804 addi r4,r4,32
  16297. 4eb38: 004ea8c0 call 4ea8c <alt_load_section>
  16298. /*
  16299. * Copy the .rodata section.
  16300. */
  16301. alt_load_section (&__flash_rodata_start,
  16302. 4eb3c: 01800174 movhi r6,5
  16303. 4eb40: 31895f04 addi r6,r6,9596
  16304. 4eb44: 01400174 movhi r5,5
  16305. 4eb48: 2947d404 addi r5,r5,8016
  16306. 4eb4c: 01000174 movhi r4,5
  16307. 4eb50: 2107d404 addi r4,r4,8016
  16308. 4eb54: 004ea8c0 call 4ea8c <alt_load_section>
  16309. /*
  16310. * Now ensure that the caches are in synch.
  16311. */
  16312. alt_dcache_flush_all();
  16313. 4eb58: 0050d100 call 50d10 <alt_dcache_flush_all>
  16314. alt_icache_flush_all();
  16315. 4eb5c: 0050ed00 call 50ed0 <alt_icache_flush_all>
  16316. }
  16317. 4eb60: 0001883a nop
  16318. 4eb64: e037883a mov sp,fp
  16319. 4eb68: dfc00117 ldw ra,4(sp)
  16320. 4eb6c: df000017 ldw fp,0(sp)
  16321. 4eb70: dec00204 addi sp,sp,8
  16322. 4eb74: f800283a ret
  16323. 0004eb78 <alt_get_errno>:
  16324. #undef errno
  16325. extern int errno;
  16326. static ALT_INLINE int* alt_get_errno(void)
  16327. {
  16328. 4eb78: defffe04 addi sp,sp,-8
  16329. 4eb7c: dfc00115 stw ra,4(sp)
  16330. 4eb80: df000015 stw fp,0(sp)
  16331. 4eb84: d839883a mov fp,sp
  16332. return ((alt_errno) ? alt_errno() : &errno);
  16333. 4eb88: d0a00b17 ldw r2,-32724(gp)
  16334. 4eb8c: 10000326 beq r2,zero,4eb9c <alt_get_errno+0x24>
  16335. 4eb90: d0a00b17 ldw r2,-32724(gp)
  16336. 4eb94: 103ee83a callr r2
  16337. 4eb98: 00000106 br 4eba0 <alt_get_errno+0x28>
  16338. 4eb9c: d0a72104 addi r2,gp,-25468
  16339. }
  16340. 4eba0: e037883a mov sp,fp
  16341. 4eba4: dfc00117 ldw ra,4(sp)
  16342. 4eba8: df000017 ldw fp,0(sp)
  16343. 4ebac: dec00204 addi sp,sp,8
  16344. 4ebb0: f800283a ret
  16345. 0004ebb4 <lseek>:
  16346. * ALT_LSEEK is mapped onto the lseek() system call in alt_syscall.h
  16347. *
  16348. */
  16349. off_t ALT_LSEEK (int file, off_t ptr, int dir)
  16350. {
  16351. 4ebb4: defff904 addi sp,sp,-28
  16352. 4ebb8: dfc00615 stw ra,24(sp)
  16353. 4ebbc: df000515 stw fp,20(sp)
  16354. 4ebc0: df000504 addi fp,sp,20
  16355. 4ebc4: e13ffd15 stw r4,-12(fp)
  16356. 4ebc8: e17ffe15 stw r5,-8(fp)
  16357. 4ebcc: e1bfff15 stw r6,-4(fp)
  16358. alt_fd* fd;
  16359. off_t rc = 0;
  16360. 4ebd0: e03ffb15 stw zero,-20(fp)
  16361. * A common error case is that when the file descriptor was created, the call
  16362. * to open() failed resulting in a negative file descriptor. This is trapped
  16363. * below so that we don't try and process an invalid file descriptor.
  16364. */
  16365. fd = (file < 0) ? NULL : &alt_fd_list[file];
  16366. 4ebd4: e0bffd17 ldw r2,-12(fp)
  16367. 4ebd8: 10000816 blt r2,zero,4ebfc <lseek+0x48>
  16368. 4ebdc: 01400304 movi r5,12
  16369. 4ebe0: e13ffd17 ldw r4,-12(fp)
  16370. 4ebe4: 004d3dc0 call 4d3dc <__mulsi3>
  16371. 4ebe8: 1007883a mov r3,r2
  16372. 4ebec: 00800174 movhi r2,5
  16373. 4ebf0: 108b9204 addi r2,r2,11848
  16374. 4ebf4: 1885883a add r2,r3,r2
  16375. 4ebf8: 00000106 br 4ec00 <lseek+0x4c>
  16376. 4ebfc: 0005883a mov r2,zero
  16377. 4ec00: e0bffc15 stw r2,-16(fp)
  16378. if (fd)
  16379. 4ec04: e0bffc17 ldw r2,-16(fp)
  16380. 4ec08: 10001026 beq r2,zero,4ec4c <lseek+0x98>
  16381. /*
  16382. * If the device driver provides an implementation of the lseek() function,
  16383. * then call that to process the request.
  16384. */
  16385. if (fd->dev->lseek)
  16386. 4ec0c: e0bffc17 ldw r2,-16(fp)
  16387. 4ec10: 10800017 ldw r2,0(r2)
  16388. 4ec14: 10800717 ldw r2,28(r2)
  16389. 4ec18: 10000926 beq r2,zero,4ec40 <lseek+0x8c>
  16390. {
  16391. rc = fd->dev->lseek(fd, ptr, dir);
  16392. 4ec1c: e0bffc17 ldw r2,-16(fp)
  16393. 4ec20: 10800017 ldw r2,0(r2)
  16394. 4ec24: 10800717 ldw r2,28(r2)
  16395. 4ec28: e1bfff17 ldw r6,-4(fp)
  16396. 4ec2c: e17ffe17 ldw r5,-8(fp)
  16397. 4ec30: e13ffc17 ldw r4,-16(fp)
  16398. 4ec34: 103ee83a callr r2
  16399. 4ec38: e0bffb15 stw r2,-20(fp)
  16400. 4ec3c: 00000506 br 4ec54 <lseek+0xa0>
  16401. * Otherwise return an error.
  16402. */
  16403. else
  16404. {
  16405. rc = -ENOTSUP;
  16406. 4ec40: 00bfde84 movi r2,-134
  16407. 4ec44: e0bffb15 stw r2,-20(fp)
  16408. 4ec48: 00000206 br 4ec54 <lseek+0xa0>
  16409. }
  16410. }
  16411. else
  16412. {
  16413. rc = -EBADFD;
  16414. 4ec4c: 00bfebc4 movi r2,-81
  16415. 4ec50: e0bffb15 stw r2,-20(fp)
  16416. }
  16417. if (rc < 0)
  16418. 4ec54: e0bffb17 ldw r2,-20(fp)
  16419. 4ec58: 1000070e bge r2,zero,4ec78 <lseek+0xc4>
  16420. {
  16421. ALT_ERRNO = -rc;
  16422. 4ec5c: 004eb780 call 4eb78 <alt_get_errno>
  16423. 4ec60: 1007883a mov r3,r2
  16424. 4ec64: e0bffb17 ldw r2,-20(fp)
  16425. 4ec68: 0085c83a sub r2,zero,r2
  16426. 4ec6c: 18800015 stw r2,0(r3)
  16427. rc = -1;
  16428. 4ec70: 00bfffc4 movi r2,-1
  16429. 4ec74: e0bffb15 stw r2,-20(fp)
  16430. }
  16431. return rc;
  16432. 4ec78: e0bffb17 ldw r2,-20(fp)
  16433. }
  16434. 4ec7c: e037883a mov sp,fp
  16435. 4ec80: dfc00117 ldw ra,4(sp)
  16436. 4ec84: df000017 ldw fp,0(sp)
  16437. 4ec88: dec00204 addi sp,sp,8
  16438. 4ec8c: f800283a ret
  16439. 0004ec90 <alt_main>:
  16440. * devices/filesystems/components in the system; and call the entry point for
  16441. * the users application, i.e. main().
  16442. */
  16443. void alt_main (void)
  16444. {
  16445. 4ec90: defffd04 addi sp,sp,-12
  16446. 4ec94: dfc00215 stw ra,8(sp)
  16447. 4ec98: df000115 stw fp,4(sp)
  16448. 4ec9c: df000104 addi fp,sp,4
  16449. #endif
  16450. /* ALT LOG - please see HAL/sys/alt_log_printf.h for details */
  16451. ALT_LOG_PRINT_BOOT("[alt_main.c] Entering alt_main, calling alt_irq_init.\r\n");
  16452. /* Initialize the interrupt controller. */
  16453. alt_irq_init (NULL);
  16454. 4eca0: 0009883a mov r4,zero
  16455. 4eca4: 004f1380 call 4f138 <alt_irq_init>
  16456. /* Initialize the operating system */
  16457. ALT_LOG_PRINT_BOOT("[alt_main.c] Done alt_irq_init, calling alt_os_init.\r\n");
  16458. ALT_OS_INIT();
  16459. 4eca8: 0001883a nop
  16460. ALT_LOG_PRINT_BOOT("[alt_main.c] Done OS Init, calling alt_sem_create.\r\n");
  16461. ALT_SEM_CREATE (&alt_fd_list_lock, 1);
  16462. /* Initialize the device drivers/software components. */
  16463. ALT_LOG_PRINT_BOOT("[alt_main.c] Calling alt_sys_init.\r\n");
  16464. alt_sys_init();
  16465. 4ecac: 004f1700 call 4f170 <alt_sys_init>
  16466. * devices be present (not equal to /dev/null) and if direct drivers
  16467. * aren't being used.
  16468. */
  16469. ALT_LOG_PRINT_BOOT("[alt_main.c] Redirecting IO.\r\n");
  16470. alt_io_redirect(ALT_STDOUT, ALT_STDIN, ALT_STDERR);
  16471. 4ecb0: 01800174 movhi r6,5
  16472. 4ecb4: 3188b304 addi r6,r6,8908
  16473. 4ecb8: 01400174 movhi r5,5
  16474. 4ecbc: 2948b304 addi r5,r5,8908
  16475. 4ecc0: 01000174 movhi r4,5
  16476. 4ecc4: 2108b304 addi r4,r4,8908
  16477. 4ecc8: 00512740 call 51274 <alt_io_redirect>
  16478. /*
  16479. * Call the C++ constructors
  16480. */
  16481. ALT_LOG_PRINT_BOOT("[alt_main.c] Calling C++ constructors.\r\n");
  16482. _do_ctors ();
  16483. 4eccc: 0050e100 call 50e10 <_do_ctors>
  16484. * redefined as _exit()). This is in the interest of reducing code footprint,
  16485. * in that the atexit() overhead is removed when it's not needed.
  16486. */
  16487. ALT_LOG_PRINT_BOOT("[alt_main.c] Calling atexit.\r\n");
  16488. atexit (_do_dtors);
  16489. 4ecd0: 01000174 movhi r4,5
  16490. 4ecd4: 21039c04 addi r4,r4,3696
  16491. 4ecd8: 0051bbc0 call 51bbc <atexit>
  16492. ALT_LOG_PRINT_BOOT("[alt_main.c] Calling main.\r\n");
  16493. #ifdef ALT_NO_EXIT
  16494. main (alt_argc, alt_argv, alt_envp);
  16495. #else
  16496. result = main (alt_argc, alt_argv, alt_envp);
  16497. 4ecdc: d0a72217 ldw r2,-25464(gp)
  16498. 4ece0: d0e72317 ldw r3,-25460(gp)
  16499. 4ece4: d1272417 ldw r4,-25456(gp)
  16500. 4ece8: 200d883a mov r6,r4
  16501. 4ecec: 180b883a mov r5,r3
  16502. 4ecf0: 1009883a mov r4,r2
  16503. 4ecf4: 004114c0 call 4114c <main>
  16504. 4ecf8: e0bfff15 stw r2,-4(fp)
  16505. close(STDOUT_FILENO);
  16506. 4ecfc: 01000044 movi r4,1
  16507. 4ed00: 004e7ac0 call 4e7ac <close>
  16508. exit (result);
  16509. 4ed04: e13fff17 ldw r4,-4(fp)
  16510. 4ed08: 0051bd00 call 51bd0 <exit>
  16511. 0004ed0c <__malloc_lock>:
  16512. * configuration is single threaded, so there is nothing to do here. Note that
  16513. * this requires that malloc is never called by an interrupt service routine.
  16514. */
  16515. void __malloc_lock ( struct _reent *_r )
  16516. {
  16517. 4ed0c: defffe04 addi sp,sp,-8
  16518. 4ed10: df000115 stw fp,4(sp)
  16519. 4ed14: df000104 addi fp,sp,4
  16520. 4ed18: e13fff15 stw r4,-4(fp)
  16521. }
  16522. 4ed1c: 0001883a nop
  16523. 4ed20: e037883a mov sp,fp
  16524. 4ed24: df000017 ldw fp,0(sp)
  16525. 4ed28: dec00104 addi sp,sp,4
  16526. 4ed2c: f800283a ret
  16527. 0004ed30 <__malloc_unlock>:
  16528. /*
  16529. *
  16530. */
  16531. void __malloc_unlock ( struct _reent *_r )
  16532. {
  16533. 4ed30: defffe04 addi sp,sp,-8
  16534. 4ed34: df000115 stw fp,4(sp)
  16535. 4ed38: df000104 addi fp,sp,4
  16536. 4ed3c: e13fff15 stw r4,-4(fp)
  16537. }
  16538. 4ed40: 0001883a nop
  16539. 4ed44: e037883a mov sp,fp
  16540. 4ed48: df000017 ldw fp,0(sp)
  16541. 4ed4c: dec00104 addi sp,sp,4
  16542. 4ed50: f800283a ret
  16543. 0004ed54 <alt_get_errno>:
  16544. #undef errno
  16545. extern int errno;
  16546. static ALT_INLINE int* alt_get_errno(void)
  16547. {
  16548. 4ed54: defffe04 addi sp,sp,-8
  16549. 4ed58: dfc00115 stw ra,4(sp)
  16550. 4ed5c: df000015 stw fp,0(sp)
  16551. 4ed60: d839883a mov fp,sp
  16552. return ((alt_errno) ? alt_errno() : &errno);
  16553. 4ed64: d0a00b17 ldw r2,-32724(gp)
  16554. 4ed68: 10000326 beq r2,zero,4ed78 <alt_get_errno+0x24>
  16555. 4ed6c: d0a00b17 ldw r2,-32724(gp)
  16556. 4ed70: 103ee83a callr r2
  16557. 4ed74: 00000106 br 4ed7c <alt_get_errno+0x28>
  16558. 4ed78: d0a72104 addi r2,gp,-25468
  16559. }
  16560. 4ed7c: e037883a mov sp,fp
  16561. 4ed80: dfc00117 ldw ra,4(sp)
  16562. 4ed84: df000017 ldw fp,0(sp)
  16563. 4ed88: dec00204 addi sp,sp,8
  16564. 4ed8c: f800283a ret
  16565. 0004ed90 <read>:
  16566. }
  16567. #else /* !ALT_USE_DIRECT_DRIVERS */
  16568. int ALT_READ (int file, void *ptr, size_t len)
  16569. {
  16570. 4ed90: defff904 addi sp,sp,-28
  16571. 4ed94: dfc00615 stw ra,24(sp)
  16572. 4ed98: df000515 stw fp,20(sp)
  16573. 4ed9c: df000504 addi fp,sp,20
  16574. 4eda0: e13ffd15 stw r4,-12(fp)
  16575. 4eda4: e17ffe15 stw r5,-8(fp)
  16576. 4eda8: e1bfff15 stw r6,-4(fp)
  16577. * A common error case is that when the file descriptor was created, the call
  16578. * to open() failed resulting in a negative file descriptor. This is trapped
  16579. * below so that we don't try and process an invalid file descriptor.
  16580. */
  16581. fd = (file < 0) ? NULL : &alt_fd_list[file];
  16582. 4edac: e0bffd17 ldw r2,-12(fp)
  16583. 4edb0: 10000816 blt r2,zero,4edd4 <read+0x44>
  16584. 4edb4: 01400304 movi r5,12
  16585. 4edb8: e13ffd17 ldw r4,-12(fp)
  16586. 4edbc: 004d3dc0 call 4d3dc <__mulsi3>
  16587. 4edc0: 1007883a mov r3,r2
  16588. 4edc4: 00800174 movhi r2,5
  16589. 4edc8: 108b9204 addi r2,r2,11848
  16590. 4edcc: 1885883a add r2,r3,r2
  16591. 4edd0: 00000106 br 4edd8 <read+0x48>
  16592. 4edd4: 0005883a mov r2,zero
  16593. 4edd8: e0bffb15 stw r2,-20(fp)
  16594. if (fd)
  16595. 4eddc: e0bffb17 ldw r2,-20(fp)
  16596. 4ede0: 10002226 beq r2,zero,4ee6c <read+0xdc>
  16597. * If the file has not been opened with read access, or if the driver does
  16598. * not provide an implementation of read(), generate an error. Otherwise
  16599. * call the drivers read() function to process the request.
  16600. */
  16601. if (((fd->fd_flags & O_ACCMODE) != O_WRONLY) &&
  16602. 4ede4: e0bffb17 ldw r2,-20(fp)
  16603. 4ede8: 10800217 ldw r2,8(r2)
  16604. 4edec: 108000cc andi r2,r2,3
  16605. 4edf0: 10800060 cmpeqi r2,r2,1
  16606. 4edf4: 1000181e bne r2,zero,4ee58 <read+0xc8>
  16607. (fd->dev->read))
  16608. 4edf8: e0bffb17 ldw r2,-20(fp)
  16609. 4edfc: 10800017 ldw r2,0(r2)
  16610. 4ee00: 10800517 ldw r2,20(r2)
  16611. * If the file has not been opened with read access, or if the driver does
  16612. * not provide an implementation of read(), generate an error. Otherwise
  16613. * call the drivers read() function to process the request.
  16614. */
  16615. if (((fd->fd_flags & O_ACCMODE) != O_WRONLY) &&
  16616. 4ee04: 10001426 beq r2,zero,4ee58 <read+0xc8>
  16617. (fd->dev->read))
  16618. {
  16619. if ((rval = fd->dev->read(fd, ptr, len)) < 0)
  16620. 4ee08: e0bffb17 ldw r2,-20(fp)
  16621. 4ee0c: 10800017 ldw r2,0(r2)
  16622. 4ee10: 10800517 ldw r2,20(r2)
  16623. 4ee14: e0ffff17 ldw r3,-4(fp)
  16624. 4ee18: 180d883a mov r6,r3
  16625. 4ee1c: e17ffe17 ldw r5,-8(fp)
  16626. 4ee20: e13ffb17 ldw r4,-20(fp)
  16627. 4ee24: 103ee83a callr r2
  16628. 4ee28: e0bffc15 stw r2,-16(fp)
  16629. 4ee2c: e0bffc17 ldw r2,-16(fp)
  16630. 4ee30: 1000070e bge r2,zero,4ee50 <read+0xc0>
  16631. {
  16632. ALT_ERRNO = -rval;
  16633. 4ee34: 004ed540 call 4ed54 <alt_get_errno>
  16634. 4ee38: 1007883a mov r3,r2
  16635. 4ee3c: e0bffc17 ldw r2,-16(fp)
  16636. 4ee40: 0085c83a sub r2,zero,r2
  16637. 4ee44: 18800015 stw r2,0(r3)
  16638. return -1;
  16639. 4ee48: 00bfffc4 movi r2,-1
  16640. 4ee4c: 00000c06 br 4ee80 <read+0xf0>
  16641. }
  16642. return rval;
  16643. 4ee50: e0bffc17 ldw r2,-16(fp)
  16644. 4ee54: 00000a06 br 4ee80 <read+0xf0>
  16645. }
  16646. else
  16647. {
  16648. ALT_ERRNO = EACCES;
  16649. 4ee58: 004ed540 call 4ed54 <alt_get_errno>
  16650. 4ee5c: 1007883a mov r3,r2
  16651. 4ee60: 00800344 movi r2,13
  16652. 4ee64: 18800015 stw r2,0(r3)
  16653. 4ee68: 00000406 br 4ee7c <read+0xec>
  16654. }
  16655. }
  16656. else
  16657. {
  16658. ALT_ERRNO = EBADFD;
  16659. 4ee6c: 004ed540 call 4ed54 <alt_get_errno>
  16660. 4ee70: 1007883a mov r3,r2
  16661. 4ee74: 00801444 movi r2,81
  16662. 4ee78: 18800015 stw r2,0(r3)
  16663. }
  16664. return -1;
  16665. 4ee7c: 00bfffc4 movi r2,-1
  16666. }
  16667. 4ee80: e037883a mov sp,fp
  16668. 4ee84: dfc00117 ldw ra,4(sp)
  16669. 4ee88: df000017 ldw fp,0(sp)
  16670. 4ee8c: dec00204 addi sp,sp,8
  16671. 4ee90: f800283a ret
  16672. 0004ee94 <alt_release_fd>:
  16673. * File descriptors correcponding to standard in, standard out and standard
  16674. * error cannont be released backed to the pool. They are always reserved.
  16675. */
  16676. void alt_release_fd (int fd)
  16677. {
  16678. 4ee94: defffc04 addi sp,sp,-16
  16679. 4ee98: dfc00315 stw ra,12(sp)
  16680. 4ee9c: df000215 stw fp,8(sp)
  16681. 4eea0: dc000115 stw r16,4(sp)
  16682. 4eea4: df000204 addi fp,sp,8
  16683. 4eea8: e13ffe15 stw r4,-8(fp)
  16684. if (fd > 2)
  16685. 4eeac: e0bffe17 ldw r2,-8(fp)
  16686. 4eeb0: 108000d0 cmplti r2,r2,3
  16687. 4eeb4: 1000111e bne r2,zero,4eefc <alt_release_fd+0x68>
  16688. {
  16689. alt_fd_list[fd].fd_flags = 0;
  16690. 4eeb8: 04000174 movhi r16,5
  16691. 4eebc: 840b9204 addi r16,r16,11848
  16692. 4eec0: e0bffe17 ldw r2,-8(fp)
  16693. 4eec4: 01400304 movi r5,12
  16694. 4eec8: 1009883a mov r4,r2
  16695. 4eecc: 004d3dc0 call 4d3dc <__mulsi3>
  16696. 4eed0: 8085883a add r2,r16,r2
  16697. 4eed4: 10800204 addi r2,r2,8
  16698. 4eed8: 10000015 stw zero,0(r2)
  16699. alt_fd_list[fd].dev = 0;
  16700. 4eedc: 04000174 movhi r16,5
  16701. 4eee0: 840b9204 addi r16,r16,11848
  16702. 4eee4: e0bffe17 ldw r2,-8(fp)
  16703. 4eee8: 01400304 movi r5,12
  16704. 4eeec: 1009883a mov r4,r2
  16705. 4eef0: 004d3dc0 call 4d3dc <__mulsi3>
  16706. 4eef4: 8085883a add r2,r16,r2
  16707. 4eef8: 10000015 stw zero,0(r2)
  16708. }
  16709. }
  16710. 4eefc: 0001883a nop
  16711. 4ef00: e6ffff04 addi sp,fp,-4
  16712. 4ef04: dfc00217 ldw ra,8(sp)
  16713. 4ef08: df000117 ldw fp,4(sp)
  16714. 4ef0c: dc000017 ldw r16,0(sp)
  16715. 4ef10: dec00304 addi sp,sp,12
  16716. 4ef14: f800283a ret
  16717. 0004ef18 <sbrk>:
  16718. #endif
  16719. caddr_t ALT_SBRK (int incr) __attribute__ ((no_instrument_function ));
  16720. caddr_t ALT_SBRK (int incr)
  16721. {
  16722. 4ef18: defff904 addi sp,sp,-28
  16723. 4ef1c: df000615 stw fp,24(sp)
  16724. 4ef20: df000604 addi fp,sp,24
  16725. 4ef24: e13fff15 stw r4,-4(fp)
  16726. static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
  16727. alt_irq_disable_all (void)
  16728. {
  16729. alt_irq_context context;
  16730. NIOS2_READ_STATUS (context);
  16731. 4ef28: 0005303a rdctl r2,status
  16732. 4ef2c: e0bffe15 stw r2,-8(fp)
  16733. NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
  16734. 4ef30: e0fffe17 ldw r3,-8(fp)
  16735. 4ef34: 00bfff84 movi r2,-2
  16736. 4ef38: 1884703a and r2,r3,r2
  16737. 4ef3c: 1001703a wrctl status,r2
  16738. return context;
  16739. 4ef40: e0bffe17 ldw r2,-8(fp)
  16740. alt_irq_context context;
  16741. char *prev_heap_end;
  16742. context = alt_irq_disable_all();
  16743. 4ef44: e0bffb15 stw r2,-20(fp)
  16744. /* Always return data aligned on a word boundary */
  16745. heap_end = (char *)(((unsigned int)heap_end + 3) & ~3);
  16746. 4ef48: d0a00c17 ldw r2,-32720(gp)
  16747. 4ef4c: 10c000c4 addi r3,r2,3
  16748. 4ef50: 00bfff04 movi r2,-4
  16749. 4ef54: 1884703a and r2,r3,r2
  16750. 4ef58: d0a00c15 stw r2,-32720(gp)
  16751. if (((heap_end + incr) - __alt_heap_start) > ALT_MAX_HEAP_BYTES) {
  16752. alt_irq_enable_all(context);
  16753. return (caddr_t)-1;
  16754. }
  16755. #else
  16756. if ((heap_end + incr) > __alt_heap_limit) {
  16757. 4ef5c: d0e00c17 ldw r3,-32720(gp)
  16758. 4ef60: e0bfff17 ldw r2,-4(fp)
  16759. 4ef64: 1887883a add r3,r3,r2
  16760. 4ef68: 008001f4 movhi r2,7
  16761. 4ef6c: 10880004 addi r2,r2,8192
  16762. 4ef70: 10c0062e bgeu r2,r3,4ef8c <sbrk+0x74>
  16763. 4ef74: e0bffb17 ldw r2,-20(fp)
  16764. 4ef78: e0bffa15 stw r2,-24(fp)
  16765. status &= ~NIOS2_STATUS_PIE_MSK;
  16766. status |= (context & NIOS2_STATUS_PIE_MSK);
  16767. NIOS2_WRITE_STATUS (status);
  16768. #else
  16769. NIOS2_WRITE_STATUS (context);
  16770. 4ef7c: e0bffa17 ldw r2,-24(fp)
  16771. 4ef80: 1001703a wrctl status,r2
  16772. alt_irq_enable_all(context);
  16773. return (caddr_t)-1;
  16774. 4ef84: 00bfffc4 movi r2,-1
  16775. 4ef88: 00000b06 br 4efb8 <sbrk+0xa0>
  16776. }
  16777. #endif
  16778. prev_heap_end = heap_end;
  16779. 4ef8c: d0a00c17 ldw r2,-32720(gp)
  16780. 4ef90: e0bffd15 stw r2,-12(fp)
  16781. heap_end += incr;
  16782. 4ef94: d0e00c17 ldw r3,-32720(gp)
  16783. 4ef98: e0bfff17 ldw r2,-4(fp)
  16784. 4ef9c: 1885883a add r2,r3,r2
  16785. 4efa0: d0a00c15 stw r2,-32720(gp)
  16786. 4efa4: e0bffb17 ldw r2,-20(fp)
  16787. 4efa8: e0bffc15 stw r2,-16(fp)
  16788. 4efac: e0bffc17 ldw r2,-16(fp)
  16789. 4efb0: 1001703a wrctl status,r2
  16790. #endif
  16791. alt_irq_enable_all(context);
  16792. return (caddr_t) prev_heap_end;
  16793. 4efb4: e0bffd17 ldw r2,-12(fp)
  16794. }
  16795. 4efb8: e037883a mov sp,fp
  16796. 4efbc: df000017 ldw fp,0(sp)
  16797. 4efc0: dec00104 addi sp,sp,4
  16798. 4efc4: f800283a ret
  16799. 0004efc8 <alt_get_errno>:
  16800. #undef errno
  16801. extern int errno;
  16802. static ALT_INLINE int* alt_get_errno(void)
  16803. {
  16804. 4efc8: defffe04 addi sp,sp,-8
  16805. 4efcc: dfc00115 stw ra,4(sp)
  16806. 4efd0: df000015 stw fp,0(sp)
  16807. 4efd4: d839883a mov fp,sp
  16808. return ((alt_errno) ? alt_errno() : &errno);
  16809. 4efd8: d0a00b17 ldw r2,-32724(gp)
  16810. 4efdc: 10000326 beq r2,zero,4efec <alt_get_errno+0x24>
  16811. 4efe0: d0a00b17 ldw r2,-32724(gp)
  16812. 4efe4: 103ee83a callr r2
  16813. 4efe8: 00000106 br 4eff0 <alt_get_errno+0x28>
  16814. 4efec: d0a72104 addi r2,gp,-25468
  16815. }
  16816. 4eff0: e037883a mov sp,fp
  16817. 4eff4: dfc00117 ldw ra,4(sp)
  16818. 4eff8: df000017 ldw fp,0(sp)
  16819. 4effc: dec00204 addi sp,sp,8
  16820. 4f000: f800283a ret
  16821. 0004f004 <write>:
  16822. }
  16823. #else /* !ALT_USE_DIRECT_DRIVERS */
  16824. int ALT_WRITE (int file, const void *ptr, size_t len)
  16825. {
  16826. 4f004: defff904 addi sp,sp,-28
  16827. 4f008: dfc00615 stw ra,24(sp)
  16828. 4f00c: df000515 stw fp,20(sp)
  16829. 4f010: df000504 addi fp,sp,20
  16830. 4f014: e13ffd15 stw r4,-12(fp)
  16831. 4f018: e17ffe15 stw r5,-8(fp)
  16832. 4f01c: e1bfff15 stw r6,-4(fp)
  16833. * A common error case is that when the file descriptor was created, the call
  16834. * to open() failed resulting in a negative file descriptor. This is trapped
  16835. * below so that we don't try and process an invalid file descriptor.
  16836. */
  16837. fd = (file < 0) ? NULL : &alt_fd_list[file];
  16838. 4f020: e0bffd17 ldw r2,-12(fp)
  16839. 4f024: 10000816 blt r2,zero,4f048 <write+0x44>
  16840. 4f028: 01400304 movi r5,12
  16841. 4f02c: e13ffd17 ldw r4,-12(fp)
  16842. 4f030: 004d3dc0 call 4d3dc <__mulsi3>
  16843. 4f034: 1007883a mov r3,r2
  16844. 4f038: 00800174 movhi r2,5
  16845. 4f03c: 108b9204 addi r2,r2,11848
  16846. 4f040: 1885883a add r2,r3,r2
  16847. 4f044: 00000106 br 4f04c <write+0x48>
  16848. 4f048: 0005883a mov r2,zero
  16849. 4f04c: e0bffb15 stw r2,-20(fp)
  16850. if (fd)
  16851. 4f050: e0bffb17 ldw r2,-20(fp)
  16852. 4f054: 10002126 beq r2,zero,4f0dc <write+0xd8>
  16853. * If the file has not been opened with write access, or if the driver does
  16854. * not provide an implementation of write(), generate an error. Otherwise
  16855. * call the drivers write() function to process the request.
  16856. */
  16857. if (((fd->fd_flags & O_ACCMODE) != O_RDONLY) && fd->dev->write)
  16858. 4f058: e0bffb17 ldw r2,-20(fp)
  16859. 4f05c: 10800217 ldw r2,8(r2)
  16860. 4f060: 108000cc andi r2,r2,3
  16861. 4f064: 10001826 beq r2,zero,4f0c8 <write+0xc4>
  16862. 4f068: e0bffb17 ldw r2,-20(fp)
  16863. 4f06c: 10800017 ldw r2,0(r2)
  16864. 4f070: 10800617 ldw r2,24(r2)
  16865. 4f074: 10001426 beq r2,zero,4f0c8 <write+0xc4>
  16866. {
  16867. /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */
  16868. ALT_LOG_WRITE_FUNCTION(ptr,len);
  16869. if ((rval = fd->dev->write(fd, ptr, len)) < 0)
  16870. 4f078: e0bffb17 ldw r2,-20(fp)
  16871. 4f07c: 10800017 ldw r2,0(r2)
  16872. 4f080: 10800617 ldw r2,24(r2)
  16873. 4f084: e0ffff17 ldw r3,-4(fp)
  16874. 4f088: 180d883a mov r6,r3
  16875. 4f08c: e17ffe17 ldw r5,-8(fp)
  16876. 4f090: e13ffb17 ldw r4,-20(fp)
  16877. 4f094: 103ee83a callr r2
  16878. 4f098: e0bffc15 stw r2,-16(fp)
  16879. 4f09c: e0bffc17 ldw r2,-16(fp)
  16880. 4f0a0: 1000070e bge r2,zero,4f0c0 <write+0xbc>
  16881. {
  16882. ALT_ERRNO = -rval;
  16883. 4f0a4: 004efc80 call 4efc8 <alt_get_errno>
  16884. 4f0a8: 1007883a mov r3,r2
  16885. 4f0ac: e0bffc17 ldw r2,-16(fp)
  16886. 4f0b0: 0085c83a sub r2,zero,r2
  16887. 4f0b4: 18800015 stw r2,0(r3)
  16888. return -1;
  16889. 4f0b8: 00bfffc4 movi r2,-1
  16890. 4f0bc: 00000c06 br 4f0f0 <write+0xec>
  16891. }
  16892. return rval;
  16893. 4f0c0: e0bffc17 ldw r2,-16(fp)
  16894. 4f0c4: 00000a06 br 4f0f0 <write+0xec>
  16895. }
  16896. else
  16897. {
  16898. ALT_ERRNO = EACCES;
  16899. 4f0c8: 004efc80 call 4efc8 <alt_get_errno>
  16900. 4f0cc: 1007883a mov r3,r2
  16901. 4f0d0: 00800344 movi r2,13
  16902. 4f0d4: 18800015 stw r2,0(r3)
  16903. 4f0d8: 00000406 br 4f0ec <write+0xe8>
  16904. }
  16905. }
  16906. else
  16907. {
  16908. ALT_ERRNO = EBADFD;
  16909. 4f0dc: 004efc80 call 4efc8 <alt_get_errno>
  16910. 4f0e0: 1007883a mov r3,r2
  16911. 4f0e4: 00801444 movi r2,81
  16912. 4f0e8: 18800015 stw r2,0(r3)
  16913. }
  16914. return -1;
  16915. 4f0ec: 00bfffc4 movi r2,-1
  16916. }
  16917. 4f0f0: e037883a mov sp,fp
  16918. 4f0f4: dfc00117 ldw ra,4(sp)
  16919. 4f0f8: df000017 ldw fp,0(sp)
  16920. 4f0fc: dec00204 addi sp,sp,8
  16921. 4f100: f800283a ret
  16922. 0004f104 <alt_dev_reg>:
  16923. */
  16924. extern int alt_fs_reg (alt_dev* dev);
  16925. static ALT_INLINE int alt_dev_reg (alt_dev* dev)
  16926. {
  16927. 4f104: defffd04 addi sp,sp,-12
  16928. 4f108: dfc00215 stw ra,8(sp)
  16929. 4f10c: df000115 stw fp,4(sp)
  16930. 4f110: df000104 addi fp,sp,4
  16931. 4f114: e13fff15 stw r4,-4(fp)
  16932. extern alt_llist alt_dev_list;
  16933. return alt_dev_llist_insert ((alt_dev_llist*) dev, &alt_dev_list);
  16934. 4f118: d1600804 addi r5,gp,-32736
  16935. 4f11c: e13fff17 ldw r4,-4(fp)
  16936. 4f120: 0050d6c0 call 50d6c <alt_dev_llist_insert>
  16937. }
  16938. 4f124: e037883a mov sp,fp
  16939. 4f128: dfc00117 ldw ra,4(sp)
  16940. 4f12c: df000017 ldw fp,0(sp)
  16941. 4f130: dec00204 addi sp,sp,8
  16942. 4f134: f800283a ret
  16943. 0004f138 <alt_irq_init>:
  16944. * The "base" parameter is ignored and only
  16945. * present for backwards-compatibility.
  16946. */
  16947. void alt_irq_init ( const void* base )
  16948. {
  16949. 4f138: defffd04 addi sp,sp,-12
  16950. 4f13c: dfc00215 stw ra,8(sp)
  16951. 4f140: df000115 stw fp,4(sp)
  16952. 4f144: df000104 addi fp,sp,4
  16953. 4f148: e13fff15 stw r4,-4(fp)
  16954. ALTERA_NIOS2_GEN2_IRQ_INIT ( NIOS2, nios2);
  16955. 4f14c: 00517480 call 51748 <altera_nios2_gen2_irq_init>
  16956. * alt_irq_cpu_enable_interrupts() enables the CPU to start taking interrupts.
  16957. */
  16958. static ALT_INLINE void ALT_ALWAYS_INLINE
  16959. alt_irq_cpu_enable_interrupts (void)
  16960. {
  16961. NIOS2_WRITE_STATUS(NIOS2_STATUS_PIE_MSK
  16962. 4f150: 00800044 movi r2,1
  16963. 4f154: 1001703a wrctl status,r2
  16964. alt_irq_cpu_enable_interrupts();
  16965. }
  16966. 4f158: 0001883a nop
  16967. 4f15c: e037883a mov sp,fp
  16968. 4f160: dfc00117 ldw ra,4(sp)
  16969. 4f164: df000017 ldw fp,0(sp)
  16970. 4f168: dec00204 addi sp,sp,8
  16971. 4f16c: f800283a ret
  16972. 0004f170 <alt_sys_init>:
  16973. * Initialize the non-interrupt controller devices.
  16974. * Called after alt_irq_init().
  16975. */
  16976. void alt_sys_init( void )
  16977. {
  16978. 4f170: defffe04 addi sp,sp,-8
  16979. 4f174: dfc00115 stw ra,4(sp)
  16980. 4f178: df000015 stw fp,0(sp)
  16981. 4f17c: d839883a mov fp,sp
  16982. ALTERA_AVALON_JTAG_UART_INIT ( JTAG_UART, jtag_uart);
  16983. 4f180: 000d883a mov r6,zero
  16984. 4f184: 000b883a mov r5,zero
  16985. 4f188: 01000174 movhi r4,5
  16986. 4f18c: 210bfc04 addi r4,r4,12272
  16987. 4f190: 004f3340 call 4f334 <altera_avalon_jtag_uart_init>
  16988. 4f194: 01000174 movhi r4,5
  16989. 4f198: 210bf204 addi r4,r4,12232
  16990. 4f19c: 004f1040 call 4f104 <alt_dev_reg>
  16991. ALTERA_AVALON_LCD_16207_INIT ( LCD_16207, lcd_16207);
  16992. 4f1a0: 01000174 movhi r4,5
  16993. 4f1a4: 21101404 addi r4,r4,16464
  16994. 4f1a8: 0050a500 call 50a50 <altera_avalon_lcd_16207_init>
  16995. 4f1ac: 01000174 movhi r4,5
  16996. 4f1b0: 21100a04 addi r4,r4,16424
  16997. 4f1b4: 004f1040 call 4f104 <alt_dev_reg>
  16998. }
  16999. 4f1b8: 0001883a nop
  17000. 4f1bc: e037883a mov sp,fp
  17001. 4f1c0: dfc00117 ldw ra,4(sp)
  17002. 4f1c4: df000017 ldw fp,0(sp)
  17003. 4f1c8: dec00204 addi sp,sp,8
  17004. 4f1cc: f800283a ret
  17005. 0004f1d0 <altera_avalon_jtag_uart_read_fd>:
  17006. *
  17007. */
  17008. int
  17009. altera_avalon_jtag_uart_read_fd(alt_fd* fd, char* buffer, int space)
  17010. {
  17011. 4f1d0: defffa04 addi sp,sp,-24
  17012. 4f1d4: dfc00515 stw ra,20(sp)
  17013. 4f1d8: df000415 stw fp,16(sp)
  17014. 4f1dc: df000404 addi fp,sp,16
  17015. 4f1e0: e13ffd15 stw r4,-12(fp)
  17016. 4f1e4: e17ffe15 stw r5,-8(fp)
  17017. 4f1e8: e1bfff15 stw r6,-4(fp)
  17018. altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
  17019. 4f1ec: e0bffd17 ldw r2,-12(fp)
  17020. 4f1f0: 10800017 ldw r2,0(r2)
  17021. 4f1f4: e0bffc15 stw r2,-16(fp)
  17022. return altera_avalon_jtag_uart_read(&dev->state, buffer, space,
  17023. 4f1f8: e0bffc17 ldw r2,-16(fp)
  17024. 4f1fc: 10c00a04 addi r3,r2,40
  17025. 4f200: e0bffd17 ldw r2,-12(fp)
  17026. 4f204: 10800217 ldw r2,8(r2)
  17027. 4f208: 100f883a mov r7,r2
  17028. 4f20c: e1bfff17 ldw r6,-4(fp)
  17029. 4f210: e17ffe17 ldw r5,-8(fp)
  17030. 4f214: 1809883a mov r4,r3
  17031. 4f218: 004f7f80 call 4f7f8 <altera_avalon_jtag_uart_read>
  17032. fd->fd_flags);
  17033. }
  17034. 4f21c: e037883a mov sp,fp
  17035. 4f220: dfc00117 ldw ra,4(sp)
  17036. 4f224: df000017 ldw fp,0(sp)
  17037. 4f228: dec00204 addi sp,sp,8
  17038. 4f22c: f800283a ret
  17039. 0004f230 <altera_avalon_jtag_uart_write_fd>:
  17040. int
  17041. altera_avalon_jtag_uart_write_fd(alt_fd* fd, const char* buffer, int space)
  17042. {
  17043. 4f230: defffa04 addi sp,sp,-24
  17044. 4f234: dfc00515 stw ra,20(sp)
  17045. 4f238: df000415 stw fp,16(sp)
  17046. 4f23c: df000404 addi fp,sp,16
  17047. 4f240: e13ffd15 stw r4,-12(fp)
  17048. 4f244: e17ffe15 stw r5,-8(fp)
  17049. 4f248: e1bfff15 stw r6,-4(fp)
  17050. altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
  17051. 4f24c: e0bffd17 ldw r2,-12(fp)
  17052. 4f250: 10800017 ldw r2,0(r2)
  17053. 4f254: e0bffc15 stw r2,-16(fp)
  17054. return altera_avalon_jtag_uart_write(&dev->state, buffer, space,
  17055. 4f258: e0bffc17 ldw r2,-16(fp)
  17056. 4f25c: 10c00a04 addi r3,r2,40
  17057. 4f260: e0bffd17 ldw r2,-12(fp)
  17058. 4f264: 10800217 ldw r2,8(r2)
  17059. 4f268: 100f883a mov r7,r2
  17060. 4f26c: e1bfff17 ldw r6,-4(fp)
  17061. 4f270: e17ffe17 ldw r5,-8(fp)
  17062. 4f274: 1809883a mov r4,r3
  17063. 4f278: 004fa140 call 4fa14 <altera_avalon_jtag_uart_write>
  17064. fd->fd_flags);
  17065. }
  17066. 4f27c: e037883a mov sp,fp
  17067. 4f280: dfc00117 ldw ra,4(sp)
  17068. 4f284: df000017 ldw fp,0(sp)
  17069. 4f288: dec00204 addi sp,sp,8
  17070. 4f28c: f800283a ret
  17071. 0004f290 <altera_avalon_jtag_uart_close_fd>:
  17072. #ifndef ALTERA_AVALON_JTAG_UART_SMALL
  17073. int
  17074. altera_avalon_jtag_uart_close_fd(alt_fd* fd)
  17075. {
  17076. 4f290: defffc04 addi sp,sp,-16
  17077. 4f294: dfc00315 stw ra,12(sp)
  17078. 4f298: df000215 stw fp,8(sp)
  17079. 4f29c: df000204 addi fp,sp,8
  17080. 4f2a0: e13fff15 stw r4,-4(fp)
  17081. altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
  17082. 4f2a4: e0bfff17 ldw r2,-4(fp)
  17083. 4f2a8: 10800017 ldw r2,0(r2)
  17084. 4f2ac: e0bffe15 stw r2,-8(fp)
  17085. return altera_avalon_jtag_uart_close(&dev->state, fd->fd_flags);
  17086. 4f2b0: e0bffe17 ldw r2,-8(fp)
  17087. 4f2b4: 10c00a04 addi r3,r2,40
  17088. 4f2b8: e0bfff17 ldw r2,-4(fp)
  17089. 4f2bc: 10800217 ldw r2,8(r2)
  17090. 4f2c0: 100b883a mov r5,r2
  17091. 4f2c4: 1809883a mov r4,r3
  17092. 4f2c8: 004f6a00 call 4f6a0 <altera_avalon_jtag_uart_close>
  17093. }
  17094. 4f2cc: e037883a mov sp,fp
  17095. 4f2d0: dfc00117 ldw ra,4(sp)
  17096. 4f2d4: df000017 ldw fp,0(sp)
  17097. 4f2d8: dec00204 addi sp,sp,8
  17098. 4f2dc: f800283a ret
  17099. 0004f2e0 <altera_avalon_jtag_uart_ioctl_fd>:
  17100. int
  17101. altera_avalon_jtag_uart_ioctl_fd(alt_fd* fd, int req, void* arg)
  17102. {
  17103. 4f2e0: defffa04 addi sp,sp,-24
  17104. 4f2e4: dfc00515 stw ra,20(sp)
  17105. 4f2e8: df000415 stw fp,16(sp)
  17106. 4f2ec: df000404 addi fp,sp,16
  17107. 4f2f0: e13ffd15 stw r4,-12(fp)
  17108. 4f2f4: e17ffe15 stw r5,-8(fp)
  17109. 4f2f8: e1bfff15 stw r6,-4(fp)
  17110. altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
  17111. 4f2fc: e0bffd17 ldw r2,-12(fp)
  17112. 4f300: 10800017 ldw r2,0(r2)
  17113. 4f304: e0bffc15 stw r2,-16(fp)
  17114. return altera_avalon_jtag_uart_ioctl(&dev->state, req, arg);
  17115. 4f308: e0bffc17 ldw r2,-16(fp)
  17116. 4f30c: 10800a04 addi r2,r2,40
  17117. 4f310: e1bfff17 ldw r6,-4(fp)
  17118. 4f314: e17ffe17 ldw r5,-8(fp)
  17119. 4f318: 1009883a mov r4,r2
  17120. 4f31c: 004f7080 call 4f708 <altera_avalon_jtag_uart_ioctl>
  17121. }
  17122. 4f320: e037883a mov sp,fp
  17123. 4f324: dfc00117 ldw ra,4(sp)
  17124. 4f328: df000017 ldw fp,0(sp)
  17125. 4f32c: dec00204 addi sp,sp,8
  17126. 4f330: f800283a ret
  17127. 0004f334 <altera_avalon_jtag_uart_init>:
  17128. * Return 1 on sucessful IRQ register and 0 on failure.
  17129. */
  17130. void altera_avalon_jtag_uart_init(altera_avalon_jtag_uart_state* sp,
  17131. int irq_controller_id, int irq)
  17132. {
  17133. 4f334: defffa04 addi sp,sp,-24
  17134. 4f338: dfc00515 stw ra,20(sp)
  17135. 4f33c: df000415 stw fp,16(sp)
  17136. 4f340: df000404 addi fp,sp,16
  17137. 4f344: e13ffd15 stw r4,-12(fp)
  17138. 4f348: e17ffe15 stw r5,-8(fp)
  17139. 4f34c: e1bfff15 stw r6,-4(fp)
  17140. ALT_FLAG_CREATE(&sp->events, 0);
  17141. ALT_SEM_CREATE(&sp->read_lock, 1);
  17142. ALT_SEM_CREATE(&sp->write_lock, 1);
  17143. /* enable read interrupts at the device */
  17144. sp->irq_enable = ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
  17145. 4f350: e0bffd17 ldw r2,-12(fp)
  17146. 4f354: 00c00044 movi r3,1
  17147. 4f358: 10c00815 stw r3,32(r2)
  17148. IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
  17149. 4f35c: e0bffd17 ldw r2,-12(fp)
  17150. 4f360: 10800017 ldw r2,0(r2)
  17151. 4f364: 10800104 addi r2,r2,4
  17152. 4f368: 1007883a mov r3,r2
  17153. 4f36c: e0bffd17 ldw r2,-12(fp)
  17154. 4f370: 10800817 ldw r2,32(r2)
  17155. 4f374: 18800035 stwio r2,0(r3)
  17156. /* register the interrupt handler */
  17157. #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
  17158. alt_ic_isr_register(irq_controller_id, irq, altera_avalon_jtag_uart_irq,
  17159. 4f378: e0bffe17 ldw r2,-8(fp)
  17160. 4f37c: e0ffff17 ldw r3,-4(fp)
  17161. 4f380: d8000015 stw zero,0(sp)
  17162. 4f384: e1fffd17 ldw r7,-12(fp)
  17163. 4f388: 01800174 movhi r6,5
  17164. 4f38c: 31bcfd04 addi r6,r6,-3084
  17165. 4f390: 180b883a mov r5,r3
  17166. 4f394: 1009883a mov r4,r2
  17167. 4f398: 0050ef00 call 50ef0 <alt_ic_isr_register>
  17168. #else
  17169. alt_irq_register(irq, sp, altera_avalon_jtag_uart_irq);
  17170. #endif
  17171. /* Register an alarm to go off every second to check for presence of host */
  17172. sp->host_inactive = 0;
  17173. 4f39c: e0bffd17 ldw r2,-12(fp)
  17174. 4f3a0: 10000915 stw zero,36(r2)
  17175. if (alt_alarm_start(&sp->alarm, alt_ticks_per_second(),
  17176. 4f3a4: e0bffd17 ldw r2,-12(fp)
  17177. 4f3a8: 10800204 addi r2,r2,8
  17178. * Obtain the system clock rate in ticks/s.
  17179. */
  17180. static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_ticks_per_second (void)
  17181. {
  17182. return _alt_tick_rate;
  17183. 4f3ac: d0e72617 ldw r3,-25448(gp)
  17184. 4f3b0: e1fffd17 ldw r7,-12(fp)
  17185. 4f3b4: 01800174 movhi r6,5
  17186. 4f3b8: 31bd8004 addi r6,r6,-2560
  17187. 4f3bc: 180b883a mov r5,r3
  17188. 4f3c0: 1009883a mov r4,r2
  17189. 4f3c4: 0050be40 call 50be4 <alt_alarm_start>
  17190. 4f3c8: 1000040e bge r2,zero,4f3dc <altera_avalon_jtag_uart_init+0xa8>
  17191. &altera_avalon_jtag_uart_timeout, sp) < 0)
  17192. {
  17193. /* If we can't set the alarm then record "don't know if host present"
  17194. * and behave as though the host is present.
  17195. */
  17196. sp->timeout = INT_MAX;
  17197. 4f3cc: e0fffd17 ldw r3,-12(fp)
  17198. 4f3d0: 00a00034 movhi r2,32768
  17199. 4f3d4: 10bfffc4 addi r2,r2,-1
  17200. 4f3d8: 18800115 stw r2,4(r3)
  17201. }
  17202. /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */
  17203. ALT_LOG_JTAG_UART_ALARM_REGISTER(sp, sp->base);
  17204. }
  17205. 4f3dc: 0001883a nop
  17206. 4f3e0: e037883a mov sp,fp
  17207. 4f3e4: dfc00117 ldw ra,4(sp)
  17208. 4f3e8: df000017 ldw fp,0(sp)
  17209. 4f3ec: dec00204 addi sp,sp,8
  17210. 4f3f0: f800283a ret
  17211. 0004f3f4 <altera_avalon_jtag_uart_irq>:
  17212. #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
  17213. static void altera_avalon_jtag_uart_irq(void* context)
  17214. #else
  17215. static void altera_avalon_jtag_uart_irq(void* context, alt_u32 id)
  17216. #endif
  17217. {
  17218. 4f3f4: defff804 addi sp,sp,-32
  17219. 4f3f8: df000715 stw fp,28(sp)
  17220. 4f3fc: df000704 addi fp,sp,28
  17221. 4f400: e13fff15 stw r4,-4(fp)
  17222. altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state*) context;
  17223. 4f404: e0bfff17 ldw r2,-4(fp)
  17224. 4f408: e0bffb15 stw r2,-20(fp)
  17225. unsigned int base = sp->base;
  17226. 4f40c: e0bffb17 ldw r2,-20(fp)
  17227. 4f410: 10800017 ldw r2,0(r2)
  17228. 4f414: e0bffc15 stw r2,-16(fp)
  17229. /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */
  17230. ALT_LOG_JTAG_UART_ISR_FUNCTION(base, sp);
  17231. for ( ; ; )
  17232. {
  17233. unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
  17234. 4f418: e0bffc17 ldw r2,-16(fp)
  17235. 4f41c: 10800104 addi r2,r2,4
  17236. 4f420: 10800037 ldwio r2,0(r2)
  17237. 4f424: e0bffd15 stw r2,-12(fp)
  17238. /* Return once nothing more to do */
  17239. if ((control & (ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK | ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)) == 0)
  17240. 4f428: e0bffd17 ldw r2,-12(fp)
  17241. 4f42c: 1080c00c andi r2,r2,768
  17242. 4f430: 10006d26 beq r2,zero,4f5e8 <altera_avalon_jtag_uart_irq+0x1f4>
  17243. break;
  17244. if (control & ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK)
  17245. 4f434: e0bffd17 ldw r2,-12(fp)
  17246. 4f438: 1080400c andi r2,r2,256
  17247. 4f43c: 10003526 beq r2,zero,4f514 <altera_avalon_jtag_uart_irq+0x120>
  17248. {
  17249. /* process a read irq. Start by assuming that there is data in the
  17250. * receive FIFO (otherwise why would we have been interrupted?)
  17251. */
  17252. unsigned int data = 1 << ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_OFST;
  17253. 4f440: 00800074 movhi r2,1
  17254. 4f444: e0bff915 stw r2,-28(fp)
  17255. for ( ; ; )
  17256. {
  17257. /* Check whether there is space in the buffer. If not then we must not
  17258. * read any characters from the buffer as they will be lost.
  17259. */
  17260. unsigned int next = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  17261. 4f448: e0bffb17 ldw r2,-20(fp)
  17262. 4f44c: 10800a17 ldw r2,40(r2)
  17263. 4f450: 10800044 addi r2,r2,1
  17264. 4f454: 1081ffcc andi r2,r2,2047
  17265. 4f458: e0bffe15 stw r2,-8(fp)
  17266. if (next == sp->rx_out)
  17267. 4f45c: e0bffb17 ldw r2,-20(fp)
  17268. 4f460: 10c00b17 ldw r3,44(r2)
  17269. 4f464: e0bffe17 ldw r2,-8(fp)
  17270. 4f468: 18801526 beq r3,r2,4f4c0 <altera_avalon_jtag_uart_irq+0xcc>
  17271. break;
  17272. /* Try to remove a character from the FIFO and find out whether there
  17273. * are any more characters remaining.
  17274. */
  17275. data = IORD_ALTERA_AVALON_JTAG_UART_DATA(base);
  17276. 4f46c: e0bffc17 ldw r2,-16(fp)
  17277. 4f470: 10800037 ldwio r2,0(r2)
  17278. 4f474: e0bff915 stw r2,-28(fp)
  17279. if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0)
  17280. 4f478: e0bff917 ldw r2,-28(fp)
  17281. 4f47c: 10a0000c andi r2,r2,32768
  17282. 4f480: 10001126 beq r2,zero,4f4c8 <altera_avalon_jtag_uart_irq+0xd4>
  17283. break;
  17284. sp->rx_buf[sp->rx_in] = (data & ALTERA_AVALON_JTAG_UART_DATA_DATA_MSK) >> ALTERA_AVALON_JTAG_UART_DATA_DATA_OFST;
  17285. 4f484: e0bffb17 ldw r2,-20(fp)
  17286. 4f488: 10800a17 ldw r2,40(r2)
  17287. 4f48c: e0fff917 ldw r3,-28(fp)
  17288. 4f490: 1809883a mov r4,r3
  17289. 4f494: e0fffb17 ldw r3,-20(fp)
  17290. 4f498: 1885883a add r2,r3,r2
  17291. 4f49c: 10800e04 addi r2,r2,56
  17292. 4f4a0: 11000005 stb r4,0(r2)
  17293. sp->rx_in = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  17294. 4f4a4: e0bffb17 ldw r2,-20(fp)
  17295. 4f4a8: 10800a17 ldw r2,40(r2)
  17296. 4f4ac: 10800044 addi r2,r2,1
  17297. 4f4b0: 10c1ffcc andi r3,r2,2047
  17298. 4f4b4: e0bffb17 ldw r2,-20(fp)
  17299. 4f4b8: 10c00a15 stw r3,40(r2)
  17300. /* Post an event to notify jtag_uart_read that a character has been read */
  17301. ALT_FLAG_POST (sp->events, ALT_JTAG_UART_READ_RDY, OS_FLAG_SET);
  17302. }
  17303. 4f4bc: 003fe206 br 4f448 <__alt_data_end+0xfffdd448>
  17304. /* Check whether there is space in the buffer. If not then we must not
  17305. * read any characters from the buffer as they will be lost.
  17306. */
  17307. unsigned int next = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  17308. if (next == sp->rx_out)
  17309. break;
  17310. 4f4c0: 0001883a nop
  17311. 4f4c4: 00000106 br 4f4cc <altera_avalon_jtag_uart_irq+0xd8>
  17312. * are any more characters remaining.
  17313. */
  17314. data = IORD_ALTERA_AVALON_JTAG_UART_DATA(base);
  17315. if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0)
  17316. break;
  17317. 4f4c8: 0001883a nop
  17318. /* Post an event to notify jtag_uart_read that a character has been read */
  17319. ALT_FLAG_POST (sp->events, ALT_JTAG_UART_READ_RDY, OS_FLAG_SET);
  17320. }
  17321. if (data & ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_MSK)
  17322. 4f4cc: e0bff917 ldw r2,-28(fp)
  17323. 4f4d0: 10bfffec andhi r2,r2,65535
  17324. 4f4d4: 10000f26 beq r2,zero,4f514 <altera_avalon_jtag_uart_irq+0x120>
  17325. {
  17326. /* If there is still data available here then the buffer is full
  17327. * so turn off receive interrupts until some space becomes available.
  17328. */
  17329. sp->irq_enable &= ~ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
  17330. 4f4d8: e0bffb17 ldw r2,-20(fp)
  17331. 4f4dc: 10c00817 ldw r3,32(r2)
  17332. 4f4e0: 00bfff84 movi r2,-2
  17333. 4f4e4: 1886703a and r3,r3,r2
  17334. 4f4e8: e0bffb17 ldw r2,-20(fp)
  17335. 4f4ec: 10c00815 stw r3,32(r2)
  17336. IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(base, sp->irq_enable);
  17337. 4f4f0: e0bffc17 ldw r2,-16(fp)
  17338. 4f4f4: 10800104 addi r2,r2,4
  17339. 4f4f8: 1007883a mov r3,r2
  17340. 4f4fc: e0bffb17 ldw r2,-20(fp)
  17341. 4f500: 10800817 ldw r2,32(r2)
  17342. 4f504: 18800035 stwio r2,0(r3)
  17343. /* Dummy read to ensure IRQ is cleared prior to ISR completion */
  17344. IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
  17345. 4f508: e0bffc17 ldw r2,-16(fp)
  17346. 4f50c: 10800104 addi r2,r2,4
  17347. 4f510: 10800037 ldwio r2,0(r2)
  17348. }
  17349. }
  17350. if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)
  17351. 4f514: e0bffd17 ldw r2,-12(fp)
  17352. 4f518: 1080800c andi r2,r2,512
  17353. 4f51c: 103fbe26 beq r2,zero,4f418 <__alt_data_end+0xfffdd418>
  17354. {
  17355. /* process a write irq */
  17356. unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST;
  17357. 4f520: e0bffd17 ldw r2,-12(fp)
  17358. 4f524: 1004d43a srli r2,r2,16
  17359. 4f528: e0bffa15 stw r2,-24(fp)
  17360. while (space > 0 && sp->tx_out != sp->tx_in)
  17361. 4f52c: 00001406 br 4f580 <altera_avalon_jtag_uart_irq+0x18c>
  17362. {
  17363. IOWR_ALTERA_AVALON_JTAG_UART_DATA(base, sp->tx_buf[sp->tx_out]);
  17364. 4f530: e0bffc17 ldw r2,-16(fp)
  17365. 4f534: e0fffb17 ldw r3,-20(fp)
  17366. 4f538: 18c00d17 ldw r3,52(r3)
  17367. 4f53c: e13ffb17 ldw r4,-20(fp)
  17368. 4f540: 20c7883a add r3,r4,r3
  17369. 4f544: 18c20e04 addi r3,r3,2104
  17370. 4f548: 18c00003 ldbu r3,0(r3)
  17371. 4f54c: 18c03fcc andi r3,r3,255
  17372. 4f550: 18c0201c xori r3,r3,128
  17373. 4f554: 18ffe004 addi r3,r3,-128
  17374. 4f558: 10c00035 stwio r3,0(r2)
  17375. sp->tx_out = (sp->tx_out + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  17376. 4f55c: e0bffb17 ldw r2,-20(fp)
  17377. 4f560: 10800d17 ldw r2,52(r2)
  17378. 4f564: 10800044 addi r2,r2,1
  17379. 4f568: 10c1ffcc andi r3,r2,2047
  17380. 4f56c: e0bffb17 ldw r2,-20(fp)
  17381. 4f570: 10c00d15 stw r3,52(r2)
  17382. /* Post an event to notify jtag_uart_write that a character has been written */
  17383. ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET);
  17384. space--;
  17385. 4f574: e0bffa17 ldw r2,-24(fp)
  17386. 4f578: 10bfffc4 addi r2,r2,-1
  17387. 4f57c: e0bffa15 stw r2,-24(fp)
  17388. if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)
  17389. {
  17390. /* process a write irq */
  17391. unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST;
  17392. while (space > 0 && sp->tx_out != sp->tx_in)
  17393. 4f580: e0bffa17 ldw r2,-24(fp)
  17394. 4f584: 10000526 beq r2,zero,4f59c <altera_avalon_jtag_uart_irq+0x1a8>
  17395. 4f588: e0bffb17 ldw r2,-20(fp)
  17396. 4f58c: 10c00d17 ldw r3,52(r2)
  17397. 4f590: e0bffb17 ldw r2,-20(fp)
  17398. 4f594: 10800c17 ldw r2,48(r2)
  17399. 4f598: 18bfe51e bne r3,r2,4f530 <__alt_data_end+0xfffdd530>
  17400. ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET);
  17401. space--;
  17402. }
  17403. if (space > 0)
  17404. 4f59c: e0bffa17 ldw r2,-24(fp)
  17405. 4f5a0: 103f9d26 beq r2,zero,4f418 <__alt_data_end+0xfffdd418>
  17406. {
  17407. /* If we don't have any more data available then turn off the TX interrupt */
  17408. sp->irq_enable &= ~ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK;
  17409. 4f5a4: e0bffb17 ldw r2,-20(fp)
  17410. 4f5a8: 10c00817 ldw r3,32(r2)
  17411. 4f5ac: 00bfff44 movi r2,-3
  17412. 4f5b0: 1886703a and r3,r3,r2
  17413. 4f5b4: e0bffb17 ldw r2,-20(fp)
  17414. 4f5b8: 10c00815 stw r3,32(r2)
  17415. IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
  17416. 4f5bc: e0bffb17 ldw r2,-20(fp)
  17417. 4f5c0: 10800017 ldw r2,0(r2)
  17418. 4f5c4: 10800104 addi r2,r2,4
  17419. 4f5c8: 1007883a mov r3,r2
  17420. 4f5cc: e0bffb17 ldw r2,-20(fp)
  17421. 4f5d0: 10800817 ldw r2,32(r2)
  17422. 4f5d4: 18800035 stwio r2,0(r3)
  17423. /* Dummy read to ensure IRQ is cleared prior to ISR completion */
  17424. IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
  17425. 4f5d8: e0bffc17 ldw r2,-16(fp)
  17426. 4f5dc: 10800104 addi r2,r2,4
  17427. 4f5e0: 10800037 ldwio r2,0(r2)
  17428. }
  17429. }
  17430. }
  17431. 4f5e4: 003f8c06 br 4f418 <__alt_data_end+0xfffdd418>
  17432. {
  17433. unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
  17434. /* Return once nothing more to do */
  17435. if ((control & (ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK | ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)) == 0)
  17436. break;
  17437. 4f5e8: 0001883a nop
  17438. /* Dummy read to ensure IRQ is cleared prior to ISR completion */
  17439. IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
  17440. }
  17441. }
  17442. }
  17443. }
  17444. 4f5ec: 0001883a nop
  17445. 4f5f0: e037883a mov sp,fp
  17446. 4f5f4: df000017 ldw fp,0(sp)
  17447. 4f5f8: dec00104 addi sp,sp,4
  17448. 4f5fc: f800283a ret
  17449. 0004f600 <altera_avalon_jtag_uart_timeout>:
  17450. * Timeout routine is called every second
  17451. */
  17452. static alt_u32
  17453. altera_avalon_jtag_uart_timeout(void* context)
  17454. {
  17455. 4f600: defff804 addi sp,sp,-32
  17456. 4f604: df000715 stw fp,28(sp)
  17457. 4f608: df000704 addi fp,sp,28
  17458. 4f60c: e13ffb15 stw r4,-20(fp)
  17459. altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state *) context;
  17460. 4f610: e0bffb17 ldw r2,-20(fp)
  17461. 4f614: e0bff915 stw r2,-28(fp)
  17462. unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base);
  17463. 4f618: e0bff917 ldw r2,-28(fp)
  17464. 4f61c: 10800017 ldw r2,0(r2)
  17465. 4f620: 10800104 addi r2,r2,4
  17466. 4f624: 10800037 ldwio r2,0(r2)
  17467. 4f628: e0bffa15 stw r2,-24(fp)
  17468. if (control & ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK)
  17469. 4f62c: e0bffa17 ldw r2,-24(fp)
  17470. 4f630: 1081000c andi r2,r2,1024
  17471. 4f634: 10000b26 beq r2,zero,4f664 <altera_avalon_jtag_uart_timeout+0x64>
  17472. {
  17473. IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable | ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK);
  17474. 4f638: e0bff917 ldw r2,-28(fp)
  17475. 4f63c: 10800017 ldw r2,0(r2)
  17476. 4f640: 10800104 addi r2,r2,4
  17477. 4f644: 1007883a mov r3,r2
  17478. 4f648: e0bff917 ldw r2,-28(fp)
  17479. 4f64c: 10800817 ldw r2,32(r2)
  17480. 4f650: 10810014 ori r2,r2,1024
  17481. 4f654: 18800035 stwio r2,0(r3)
  17482. sp->host_inactive = 0;
  17483. 4f658: e0bff917 ldw r2,-28(fp)
  17484. 4f65c: 10000915 stw zero,36(r2)
  17485. 4f660: 00000a06 br 4f68c <altera_avalon_jtag_uart_timeout+0x8c>
  17486. }
  17487. else if (sp->host_inactive < INT_MAX - 2) {
  17488. 4f664: e0bff917 ldw r2,-28(fp)
  17489. 4f668: 10c00917 ldw r3,36(r2)
  17490. 4f66c: 00a00034 movhi r2,32768
  17491. 4f670: 10bfff04 addi r2,r2,-4
  17492. 4f674: 10c00536 bltu r2,r3,4f68c <altera_avalon_jtag_uart_timeout+0x8c>
  17493. sp->host_inactive++;
  17494. 4f678: e0bff917 ldw r2,-28(fp)
  17495. 4f67c: 10800917 ldw r2,36(r2)
  17496. 4f680: 10c00044 addi r3,r2,1
  17497. 4f684: e0bff917 ldw r2,-28(fp)
  17498. 4f688: 10c00915 stw r3,36(r2)
  17499. 4f68c: d0a72617 ldw r2,-25448(gp)
  17500. ALT_FLAG_POST (sp->events, ALT_JTAG_UART_TIMEOUT, OS_FLAG_SET);
  17501. }
  17502. }
  17503. return alt_ticks_per_second();
  17504. }
  17505. 4f690: e037883a mov sp,fp
  17506. 4f694: df000017 ldw fp,0(sp)
  17507. 4f698: dec00104 addi sp,sp,4
  17508. 4f69c: f800283a ret
  17509. 0004f6a0 <altera_avalon_jtag_uart_close>:
  17510. * The close routine is not implemented for the small driver; instead it will
  17511. * map to null. This is because the small driver simply waits while characters
  17512. * are transmitted; there is no interrupt-serviced buffer to empty
  17513. */
  17514. int altera_avalon_jtag_uart_close(altera_avalon_jtag_uart_state* sp, int flags)
  17515. {
  17516. 4f6a0: defffd04 addi sp,sp,-12
  17517. 4f6a4: df000215 stw fp,8(sp)
  17518. 4f6a8: df000204 addi fp,sp,8
  17519. 4f6ac: e13ffe15 stw r4,-8(fp)
  17520. 4f6b0: e17fff15 stw r5,-4(fp)
  17521. /*
  17522. * Wait for all transmit data to be emptied by the JTAG UART ISR, or
  17523. * for a host-inactivity timeout, in which case transmit data will be lost
  17524. */
  17525. while ( (sp->tx_out != sp->tx_in) && (sp->host_inactive < sp->timeout) ) {
  17526. 4f6b4: 00000506 br 4f6cc <altera_avalon_jtag_uart_close+0x2c>
  17527. if (flags & O_NONBLOCK) {
  17528. 4f6b8: e0bfff17 ldw r2,-4(fp)
  17529. 4f6bc: 1090000c andi r2,r2,16384
  17530. 4f6c0: 10000226 beq r2,zero,4f6cc <altera_avalon_jtag_uart_close+0x2c>
  17531. return -EWOULDBLOCK;
  17532. 4f6c4: 00bffd44 movi r2,-11
  17533. 4f6c8: 00000b06 br 4f6f8 <altera_avalon_jtag_uart_close+0x58>
  17534. {
  17535. /*
  17536. * Wait for all transmit data to be emptied by the JTAG UART ISR, or
  17537. * for a host-inactivity timeout, in which case transmit data will be lost
  17538. */
  17539. while ( (sp->tx_out != sp->tx_in) && (sp->host_inactive < sp->timeout) ) {
  17540. 4f6cc: e0bffe17 ldw r2,-8(fp)
  17541. 4f6d0: 10c00d17 ldw r3,52(r2)
  17542. 4f6d4: e0bffe17 ldw r2,-8(fp)
  17543. 4f6d8: 10800c17 ldw r2,48(r2)
  17544. 4f6dc: 18800526 beq r3,r2,4f6f4 <altera_avalon_jtag_uart_close+0x54>
  17545. 4f6e0: e0bffe17 ldw r2,-8(fp)
  17546. 4f6e4: 10c00917 ldw r3,36(r2)
  17547. 4f6e8: e0bffe17 ldw r2,-8(fp)
  17548. 4f6ec: 10800117 ldw r2,4(r2)
  17549. 4f6f0: 18bff136 bltu r3,r2,4f6b8 <__alt_data_end+0xfffdd6b8>
  17550. if (flags & O_NONBLOCK) {
  17551. return -EWOULDBLOCK;
  17552. }
  17553. }
  17554. return 0;
  17555. 4f6f4: 0005883a mov r2,zero
  17556. }
  17557. 4f6f8: e037883a mov sp,fp
  17558. 4f6fc: df000017 ldw fp,0(sp)
  17559. 4f700: dec00104 addi sp,sp,4
  17560. 4f704: f800283a ret
  17561. 0004f708 <altera_avalon_jtag_uart_ioctl>:
  17562. /* ----------------------------------------------------------- */
  17563. int
  17564. altera_avalon_jtag_uart_ioctl(altera_avalon_jtag_uart_state* sp, int req,
  17565. void* arg)
  17566. {
  17567. 4f708: defffa04 addi sp,sp,-24
  17568. 4f70c: df000515 stw fp,20(sp)
  17569. 4f710: df000504 addi fp,sp,20
  17570. 4f714: e13ffd15 stw r4,-12(fp)
  17571. 4f718: e17ffe15 stw r5,-8(fp)
  17572. 4f71c: e1bfff15 stw r6,-4(fp)
  17573. int rc = -ENOTTY;
  17574. 4f720: 00bff9c4 movi r2,-25
  17575. 4f724: e0bffb15 stw r2,-20(fp)
  17576. switch (req)
  17577. 4f728: e0bffe17 ldw r2,-8(fp)
  17578. 4f72c: 10da8060 cmpeqi r3,r2,27137
  17579. 4f730: 1800031e bne r3,zero,4f740 <altera_avalon_jtag_uart_ioctl+0x38>
  17580. 4f734: 109a80a0 cmpeqi r2,r2,27138
  17581. 4f738: 1000181e bne r2,zero,4f79c <altera_avalon_jtag_uart_ioctl+0x94>
  17582. rc = 0;
  17583. }
  17584. break;
  17585. default:
  17586. break;
  17587. 4f73c: 00002906 br 4f7e4 <altera_avalon_jtag_uart_ioctl+0xdc>
  17588. switch (req)
  17589. {
  17590. case TIOCSTIMEOUT:
  17591. /* Set the time to wait until assuming host is not connected */
  17592. if (sp->timeout != INT_MAX)
  17593. 4f740: e0bffd17 ldw r2,-12(fp)
  17594. 4f744: 10c00117 ldw r3,4(r2)
  17595. 4f748: 00a00034 movhi r2,32768
  17596. 4f74c: 10bfffc4 addi r2,r2,-1
  17597. 4f750: 18802126 beq r3,r2,4f7d8 <altera_avalon_jtag_uart_ioctl+0xd0>
  17598. {
  17599. int timeout = *((int *)arg);
  17600. 4f754: e0bfff17 ldw r2,-4(fp)
  17601. 4f758: 10800017 ldw r2,0(r2)
  17602. 4f75c: e0bffc15 stw r2,-16(fp)
  17603. sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1;
  17604. 4f760: e0bffc17 ldw r2,-16(fp)
  17605. 4f764: 10800090 cmplti r2,r2,2
  17606. 4f768: 1000061e bne r2,zero,4f784 <altera_avalon_jtag_uart_ioctl+0x7c>
  17607. 4f76c: e0fffc17 ldw r3,-16(fp)
  17608. 4f770: 00a00034 movhi r2,32768
  17609. 4f774: 10bfffc4 addi r2,r2,-1
  17610. 4f778: 18800226 beq r3,r2,4f784 <altera_avalon_jtag_uart_ioctl+0x7c>
  17611. 4f77c: e0bffc17 ldw r2,-16(fp)
  17612. 4f780: 00000206 br 4f78c <altera_avalon_jtag_uart_ioctl+0x84>
  17613. 4f784: 00a00034 movhi r2,32768
  17614. 4f788: 10bfff84 addi r2,r2,-2
  17615. 4f78c: e0fffd17 ldw r3,-12(fp)
  17616. 4f790: 18800115 stw r2,4(r3)
  17617. rc = 0;
  17618. 4f794: e03ffb15 stw zero,-20(fp)
  17619. }
  17620. break;
  17621. 4f798: 00000f06 br 4f7d8 <altera_avalon_jtag_uart_ioctl+0xd0>
  17622. case TIOCGCONNECTED:
  17623. /* Find out whether host is connected */
  17624. if (sp->timeout != INT_MAX)
  17625. 4f79c: e0bffd17 ldw r2,-12(fp)
  17626. 4f7a0: 10c00117 ldw r3,4(r2)
  17627. 4f7a4: 00a00034 movhi r2,32768
  17628. 4f7a8: 10bfffc4 addi r2,r2,-1
  17629. 4f7ac: 18800c26 beq r3,r2,4f7e0 <altera_avalon_jtag_uart_ioctl+0xd8>
  17630. {
  17631. *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0;
  17632. 4f7b0: e0bffd17 ldw r2,-12(fp)
  17633. 4f7b4: 10c00917 ldw r3,36(r2)
  17634. 4f7b8: e0bffd17 ldw r2,-12(fp)
  17635. 4f7bc: 10800117 ldw r2,4(r2)
  17636. 4f7c0: 1885803a cmpltu r2,r3,r2
  17637. 4f7c4: 10c03fcc andi r3,r2,255
  17638. 4f7c8: e0bfff17 ldw r2,-4(fp)
  17639. 4f7cc: 10c00015 stw r3,0(r2)
  17640. rc = 0;
  17641. 4f7d0: e03ffb15 stw zero,-20(fp)
  17642. }
  17643. break;
  17644. 4f7d4: 00000206 br 4f7e0 <altera_avalon_jtag_uart_ioctl+0xd8>
  17645. {
  17646. int timeout = *((int *)arg);
  17647. sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1;
  17648. rc = 0;
  17649. }
  17650. break;
  17651. 4f7d8: 0001883a nop
  17652. 4f7dc: 00000106 br 4f7e4 <altera_avalon_jtag_uart_ioctl+0xdc>
  17653. if (sp->timeout != INT_MAX)
  17654. {
  17655. *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0;
  17656. rc = 0;
  17657. }
  17658. break;
  17659. 4f7e0: 0001883a nop
  17660. default:
  17661. break;
  17662. }
  17663. return rc;
  17664. 4f7e4: e0bffb17 ldw r2,-20(fp)
  17665. }
  17666. 4f7e8: e037883a mov sp,fp
  17667. 4f7ec: df000017 ldw fp,0(sp)
  17668. 4f7f0: dec00104 addi sp,sp,4
  17669. 4f7f4: f800283a ret
  17670. 0004f7f8 <altera_avalon_jtag_uart_read>:
  17671. /* ----------------------------------------------------------- */
  17672. int
  17673. altera_avalon_jtag_uart_read(altera_avalon_jtag_uart_state* sp,
  17674. char * buffer, int space, int flags)
  17675. {
  17676. 4f7f8: defff304 addi sp,sp,-52
  17677. 4f7fc: dfc00c15 stw ra,48(sp)
  17678. 4f800: df000b15 stw fp,44(sp)
  17679. 4f804: df000b04 addi fp,sp,44
  17680. 4f808: e13ffc15 stw r4,-16(fp)
  17681. 4f80c: e17ffd15 stw r5,-12(fp)
  17682. 4f810: e1bffe15 stw r6,-8(fp)
  17683. 4f814: e1ffff15 stw r7,-4(fp)
  17684. char * ptr = buffer;
  17685. 4f818: e0bffd17 ldw r2,-12(fp)
  17686. 4f81c: e0bff515 stw r2,-44(fp)
  17687. * When running in a multi threaded environment, obtain the "read_lock"
  17688. * semaphore. This ensures that reading from the device is thread-safe.
  17689. */
  17690. ALT_SEM_PEND (sp->read_lock, 0);
  17691. while (space > 0)
  17692. 4f820: 00004706 br 4f940 <altera_avalon_jtag_uart_read+0x148>
  17693. unsigned int in, out;
  17694. /* Read as much data as possible */
  17695. do
  17696. {
  17697. in = sp->rx_in;
  17698. 4f824: e0bffc17 ldw r2,-16(fp)
  17699. 4f828: 10800a17 ldw r2,40(r2)
  17700. 4f82c: e0bff715 stw r2,-36(fp)
  17701. out = sp->rx_out;
  17702. 4f830: e0bffc17 ldw r2,-16(fp)
  17703. 4f834: 10800b17 ldw r2,44(r2)
  17704. 4f838: e0bff815 stw r2,-32(fp)
  17705. if (in >= out)
  17706. 4f83c: e0fff717 ldw r3,-36(fp)
  17707. 4f840: e0bff817 ldw r2,-32(fp)
  17708. 4f844: 18800536 bltu r3,r2,4f85c <altera_avalon_jtag_uart_read+0x64>
  17709. n = in - out;
  17710. 4f848: e0fff717 ldw r3,-36(fp)
  17711. 4f84c: e0bff817 ldw r2,-32(fp)
  17712. 4f850: 1885c83a sub r2,r3,r2
  17713. 4f854: e0bff615 stw r2,-40(fp)
  17714. 4f858: 00000406 br 4f86c <altera_avalon_jtag_uart_read+0x74>
  17715. else
  17716. n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out;
  17717. 4f85c: 00c20004 movi r3,2048
  17718. 4f860: e0bff817 ldw r2,-32(fp)
  17719. 4f864: 1885c83a sub r2,r3,r2
  17720. 4f868: e0bff615 stw r2,-40(fp)
  17721. if (n == 0)
  17722. 4f86c: e0bff617 ldw r2,-40(fp)
  17723. 4f870: 10001e26 beq r2,zero,4f8ec <altera_avalon_jtag_uart_read+0xf4>
  17724. break; /* No more data available */
  17725. if (n > space)
  17726. 4f874: e0fffe17 ldw r3,-8(fp)
  17727. 4f878: e0bff617 ldw r2,-40(fp)
  17728. 4f87c: 1880022e bgeu r3,r2,4f888 <altera_avalon_jtag_uart_read+0x90>
  17729. n = space;
  17730. 4f880: e0bffe17 ldw r2,-8(fp)
  17731. 4f884: e0bff615 stw r2,-40(fp)
  17732. memcpy(ptr, sp->rx_buf + out, n);
  17733. 4f888: e0bffc17 ldw r2,-16(fp)
  17734. 4f88c: 10c00e04 addi r3,r2,56
  17735. 4f890: e0bff817 ldw r2,-32(fp)
  17736. 4f894: 1885883a add r2,r3,r2
  17737. 4f898: e1bff617 ldw r6,-40(fp)
  17738. 4f89c: 100b883a mov r5,r2
  17739. 4f8a0: e13ff517 ldw r4,-44(fp)
  17740. 4f8a4: 00487f40 call 487f4 <memcpy>
  17741. ptr += n;
  17742. 4f8a8: e0fff517 ldw r3,-44(fp)
  17743. 4f8ac: e0bff617 ldw r2,-40(fp)
  17744. 4f8b0: 1885883a add r2,r3,r2
  17745. 4f8b4: e0bff515 stw r2,-44(fp)
  17746. space -= n;
  17747. 4f8b8: e0fffe17 ldw r3,-8(fp)
  17748. 4f8bc: e0bff617 ldw r2,-40(fp)
  17749. 4f8c0: 1885c83a sub r2,r3,r2
  17750. 4f8c4: e0bffe15 stw r2,-8(fp)
  17751. sp->rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  17752. 4f8c8: e0fff817 ldw r3,-32(fp)
  17753. 4f8cc: e0bff617 ldw r2,-40(fp)
  17754. 4f8d0: 1885883a add r2,r3,r2
  17755. 4f8d4: 10c1ffcc andi r3,r2,2047
  17756. 4f8d8: e0bffc17 ldw r2,-16(fp)
  17757. 4f8dc: 10c00b15 stw r3,44(r2)
  17758. }
  17759. while (space > 0);
  17760. 4f8e0: e0bffe17 ldw r2,-8(fp)
  17761. 4f8e4: 00bfcf16 blt zero,r2,4f824 <__alt_data_end+0xfffdd824>
  17762. 4f8e8: 00000106 br 4f8f0 <altera_avalon_jtag_uart_read+0xf8>
  17763. n = in - out;
  17764. else
  17765. n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out;
  17766. if (n == 0)
  17767. break; /* No more data available */
  17768. 4f8ec: 0001883a nop
  17769. sp->rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  17770. }
  17771. while (space > 0);
  17772. /* If we read any data then return it */
  17773. if (ptr != buffer)
  17774. 4f8f0: e0fff517 ldw r3,-44(fp)
  17775. 4f8f4: e0bffd17 ldw r2,-12(fp)
  17776. 4f8f8: 1880141e bne r3,r2,4f94c <altera_avalon_jtag_uart_read+0x154>
  17777. break;
  17778. /* If in non-blocking mode then return error */
  17779. if (flags & O_NONBLOCK)
  17780. 4f8fc: e0bfff17 ldw r2,-4(fp)
  17781. 4f900: 1090000c andi r2,r2,16384
  17782. 4f904: 1000131e bne r2,zero,4f954 <altera_avalon_jtag_uart_read+0x15c>
  17783. while (in == sp->rx_in && sp->host_inactive < sp->timeout)
  17784. ;
  17785. }
  17786. #else
  17787. /* No OS: Always spin */
  17788. while (in == sp->rx_in && sp->host_inactive < sp->timeout)
  17789. 4f908: 0001883a nop
  17790. 4f90c: e0bffc17 ldw r2,-16(fp)
  17791. 4f910: 10c00a17 ldw r3,40(r2)
  17792. 4f914: e0bff717 ldw r2,-36(fp)
  17793. 4f918: 1880051e bne r3,r2,4f930 <altera_avalon_jtag_uart_read+0x138>
  17794. 4f91c: e0bffc17 ldw r2,-16(fp)
  17795. 4f920: 10c00917 ldw r3,36(r2)
  17796. 4f924: e0bffc17 ldw r2,-16(fp)
  17797. 4f928: 10800117 ldw r2,4(r2)
  17798. 4f92c: 18bff736 bltu r3,r2,4f90c <__alt_data_end+0xfffdd90c>
  17799. ;
  17800. #endif /* __ucosii__ */
  17801. if (in == sp->rx_in)
  17802. 4f930: e0bffc17 ldw r2,-16(fp)
  17803. 4f934: 10c00a17 ldw r3,40(r2)
  17804. 4f938: e0bff717 ldw r2,-36(fp)
  17805. 4f93c: 18800726 beq r3,r2,4f95c <altera_avalon_jtag_uart_read+0x164>
  17806. * When running in a multi threaded environment, obtain the "read_lock"
  17807. * semaphore. This ensures that reading from the device is thread-safe.
  17808. */
  17809. ALT_SEM_PEND (sp->read_lock, 0);
  17810. while (space > 0)
  17811. 4f940: e0bffe17 ldw r2,-8(fp)
  17812. 4f944: 00bfb716 blt zero,r2,4f824 <__alt_data_end+0xfffdd824>
  17813. 4f948: 00000506 br 4f960 <altera_avalon_jtag_uart_read+0x168>
  17814. }
  17815. while (space > 0);
  17816. /* If we read any data then return it */
  17817. if (ptr != buffer)
  17818. break;
  17819. 4f94c: 0001883a nop
  17820. 4f950: 00000306 br 4f960 <altera_avalon_jtag_uart_read+0x168>
  17821. /* If in non-blocking mode then return error */
  17822. if (flags & O_NONBLOCK)
  17823. break;
  17824. 4f954: 0001883a nop
  17825. 4f958: 00000106 br 4f960 <altera_avalon_jtag_uart_read+0x168>
  17826. while (in == sp->rx_in && sp->host_inactive < sp->timeout)
  17827. ;
  17828. #endif /* __ucosii__ */
  17829. if (in == sp->rx_in)
  17830. break;
  17831. 4f95c: 0001883a nop
  17832. * semaphore so that other threads can access the buffer.
  17833. */
  17834. ALT_SEM_POST (sp->read_lock);
  17835. if (ptr != buffer)
  17836. 4f960: e0fff517 ldw r3,-44(fp)
  17837. 4f964: e0bffd17 ldw r2,-12(fp)
  17838. 4f968: 18801826 beq r3,r2,4f9cc <altera_avalon_jtag_uart_read+0x1d4>
  17839. static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
  17840. alt_irq_disable_all (void)
  17841. {
  17842. alt_irq_context context;
  17843. NIOS2_READ_STATUS (context);
  17844. 4f96c: 0005303a rdctl r2,status
  17845. 4f970: e0bffb15 stw r2,-20(fp)
  17846. NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
  17847. 4f974: e0fffb17 ldw r3,-20(fp)
  17848. 4f978: 00bfff84 movi r2,-2
  17849. 4f97c: 1884703a and r2,r3,r2
  17850. 4f980: 1001703a wrctl status,r2
  17851. return context;
  17852. 4f984: e0bffb17 ldw r2,-20(fp)
  17853. {
  17854. /* If we read any data then there is space in the buffer so enable interrupts */
  17855. context = alt_irq_disable_all();
  17856. 4f988: e0bffa15 stw r2,-24(fp)
  17857. sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
  17858. 4f98c: e0bffc17 ldw r2,-16(fp)
  17859. 4f990: 10800817 ldw r2,32(r2)
  17860. 4f994: 10c00054 ori r3,r2,1
  17861. 4f998: e0bffc17 ldw r2,-16(fp)
  17862. 4f99c: 10c00815 stw r3,32(r2)
  17863. IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
  17864. 4f9a0: e0bffc17 ldw r2,-16(fp)
  17865. 4f9a4: 10800017 ldw r2,0(r2)
  17866. 4f9a8: 10800104 addi r2,r2,4
  17867. 4f9ac: 1007883a mov r3,r2
  17868. 4f9b0: e0bffc17 ldw r2,-16(fp)
  17869. 4f9b4: 10800817 ldw r2,32(r2)
  17870. 4f9b8: 18800035 stwio r2,0(r3)
  17871. 4f9bc: e0bffa17 ldw r2,-24(fp)
  17872. 4f9c0: e0bff915 stw r2,-28(fp)
  17873. status &= ~NIOS2_STATUS_PIE_MSK;
  17874. status |= (context & NIOS2_STATUS_PIE_MSK);
  17875. NIOS2_WRITE_STATUS (status);
  17876. #else
  17877. NIOS2_WRITE_STATUS (context);
  17878. 4f9c4: e0bff917 ldw r2,-28(fp)
  17879. 4f9c8: 1001703a wrctl status,r2
  17880. alt_irq_enable_all(context);
  17881. }
  17882. if (ptr != buffer)
  17883. 4f9cc: e0fff517 ldw r3,-44(fp)
  17884. 4f9d0: e0bffd17 ldw r2,-12(fp)
  17885. 4f9d4: 18800426 beq r3,r2,4f9e8 <altera_avalon_jtag_uart_read+0x1f0>
  17886. return ptr - buffer;
  17887. 4f9d8: e0fff517 ldw r3,-44(fp)
  17888. 4f9dc: e0bffd17 ldw r2,-12(fp)
  17889. 4f9e0: 1885c83a sub r2,r3,r2
  17890. 4f9e4: 00000606 br 4fa00 <altera_avalon_jtag_uart_read+0x208>
  17891. else if (flags & O_NONBLOCK)
  17892. 4f9e8: e0bfff17 ldw r2,-4(fp)
  17893. 4f9ec: 1090000c andi r2,r2,16384
  17894. 4f9f0: 10000226 beq r2,zero,4f9fc <altera_avalon_jtag_uart_read+0x204>
  17895. return -EWOULDBLOCK;
  17896. 4f9f4: 00bffd44 movi r2,-11
  17897. 4f9f8: 00000106 br 4fa00 <altera_avalon_jtag_uart_read+0x208>
  17898. else
  17899. return -EIO;
  17900. 4f9fc: 00bffec4 movi r2,-5
  17901. }
  17902. 4fa00: e037883a mov sp,fp
  17903. 4fa04: dfc00117 ldw ra,4(sp)
  17904. 4fa08: df000017 ldw fp,0(sp)
  17905. 4fa0c: dec00204 addi sp,sp,8
  17906. 4fa10: f800283a ret
  17907. 0004fa14 <altera_avalon_jtag_uart_write>:
  17908. /* ----------------------------------------------------------- */
  17909. int
  17910. altera_avalon_jtag_uart_write(altera_avalon_jtag_uart_state* sp,
  17911. const char * ptr, int count, int flags)
  17912. {
  17913. 4fa14: defff304 addi sp,sp,-52
  17914. 4fa18: dfc00c15 stw ra,48(sp)
  17915. 4fa1c: df000b15 stw fp,44(sp)
  17916. 4fa20: df000b04 addi fp,sp,44
  17917. 4fa24: e13ffc15 stw r4,-16(fp)
  17918. 4fa28: e17ffd15 stw r5,-12(fp)
  17919. 4fa2c: e1bffe15 stw r6,-8(fp)
  17920. 4fa30: e1ffff15 stw r7,-4(fp)
  17921. /* Remove warning at optimisation level 03 by seting out to 0 */
  17922. unsigned int in, out=0;
  17923. 4fa34: e03ff515 stw zero,-44(fp)
  17924. unsigned int n;
  17925. alt_irq_context context;
  17926. const char * start = ptr;
  17927. 4fa38: e0bffd17 ldw r2,-12(fp)
  17928. 4fa3c: e0bff715 stw r2,-36(fp)
  17929. ALT_SEM_PEND (sp->write_lock, 0);
  17930. do
  17931. {
  17932. /* Copy as much as we can into the transmit buffer */
  17933. while (count > 0)
  17934. 4fa40: 00003706 br 4fb20 <altera_avalon_jtag_uart_write+0x10c>
  17935. {
  17936. /* We need a stable value of the out pointer to calculate the space available */
  17937. in = sp->tx_in;
  17938. 4fa44: e0bffc17 ldw r2,-16(fp)
  17939. 4fa48: 10800c17 ldw r2,48(r2)
  17940. 4fa4c: e0bff915 stw r2,-28(fp)
  17941. out = sp->tx_out;
  17942. 4fa50: e0bffc17 ldw r2,-16(fp)
  17943. 4fa54: 10800d17 ldw r2,52(r2)
  17944. 4fa58: e0bff515 stw r2,-44(fp)
  17945. if (in < out)
  17946. 4fa5c: e0fff917 ldw r3,-28(fp)
  17947. 4fa60: e0bff517 ldw r2,-44(fp)
  17948. 4fa64: 1880062e bgeu r3,r2,4fa80 <altera_avalon_jtag_uart_write+0x6c>
  17949. n = out - 1 - in;
  17950. 4fa68: e0fff517 ldw r3,-44(fp)
  17951. 4fa6c: e0bff917 ldw r2,-28(fp)
  17952. 4fa70: 1885c83a sub r2,r3,r2
  17953. 4fa74: 10bfffc4 addi r2,r2,-1
  17954. 4fa78: e0bff615 stw r2,-40(fp)
  17955. 4fa7c: 00000b06 br 4faac <altera_avalon_jtag_uart_write+0x98>
  17956. else if (out > 0)
  17957. 4fa80: e0bff517 ldw r2,-44(fp)
  17958. 4fa84: 10000526 beq r2,zero,4fa9c <altera_avalon_jtag_uart_write+0x88>
  17959. n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in;
  17960. 4fa88: 00c20004 movi r3,2048
  17961. 4fa8c: e0bff917 ldw r2,-28(fp)
  17962. 4fa90: 1885c83a sub r2,r3,r2
  17963. 4fa94: e0bff615 stw r2,-40(fp)
  17964. 4fa98: 00000406 br 4faac <altera_avalon_jtag_uart_write+0x98>
  17965. else
  17966. n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in;
  17967. 4fa9c: 00c1ffc4 movi r3,2047
  17968. 4faa0: e0bff917 ldw r2,-28(fp)
  17969. 4faa4: 1885c83a sub r2,r3,r2
  17970. 4faa8: e0bff615 stw r2,-40(fp)
  17971. if (n == 0)
  17972. 4faac: e0bff617 ldw r2,-40(fp)
  17973. 4fab0: 10001e26 beq r2,zero,4fb2c <altera_avalon_jtag_uart_write+0x118>
  17974. break;
  17975. if (n > count)
  17976. 4fab4: e0fffe17 ldw r3,-8(fp)
  17977. 4fab8: e0bff617 ldw r2,-40(fp)
  17978. 4fabc: 1880022e bgeu r3,r2,4fac8 <altera_avalon_jtag_uart_write+0xb4>
  17979. n = count;
  17980. 4fac0: e0bffe17 ldw r2,-8(fp)
  17981. 4fac4: e0bff615 stw r2,-40(fp)
  17982. memcpy(sp->tx_buf + in, ptr, n);
  17983. 4fac8: e0bffc17 ldw r2,-16(fp)
  17984. 4facc: 10c20e04 addi r3,r2,2104
  17985. 4fad0: e0bff917 ldw r2,-28(fp)
  17986. 4fad4: 1885883a add r2,r3,r2
  17987. 4fad8: e1bff617 ldw r6,-40(fp)
  17988. 4fadc: e17ffd17 ldw r5,-12(fp)
  17989. 4fae0: 1009883a mov r4,r2
  17990. 4fae4: 00487f40 call 487f4 <memcpy>
  17991. ptr += n;
  17992. 4fae8: e0fffd17 ldw r3,-12(fp)
  17993. 4faec: e0bff617 ldw r2,-40(fp)
  17994. 4faf0: 1885883a add r2,r3,r2
  17995. 4faf4: e0bffd15 stw r2,-12(fp)
  17996. count -= n;
  17997. 4faf8: e0fffe17 ldw r3,-8(fp)
  17998. 4fafc: e0bff617 ldw r2,-40(fp)
  17999. 4fb00: 1885c83a sub r2,r3,r2
  18000. 4fb04: e0bffe15 stw r2,-8(fp)
  18001. sp->tx_in = (in + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
  18002. 4fb08: e0fff917 ldw r3,-28(fp)
  18003. 4fb0c: e0bff617 ldw r2,-40(fp)
  18004. 4fb10: 1885883a add r2,r3,r2
  18005. 4fb14: 10c1ffcc andi r3,r2,2047
  18006. 4fb18: e0bffc17 ldw r2,-16(fp)
  18007. 4fb1c: 10c00c15 stw r3,48(r2)
  18008. ALT_SEM_PEND (sp->write_lock, 0);
  18009. do
  18010. {
  18011. /* Copy as much as we can into the transmit buffer */
  18012. while (count > 0)
  18013. 4fb20: e0bffe17 ldw r2,-8(fp)
  18014. 4fb24: 00bfc716 blt zero,r2,4fa44 <__alt_data_end+0xfffdda44>
  18015. 4fb28: 00000106 br 4fb30 <altera_avalon_jtag_uart_write+0x11c>
  18016. n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in;
  18017. else
  18018. n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in;
  18019. if (n == 0)
  18020. break;
  18021. 4fb2c: 0001883a nop
  18022. static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
  18023. alt_irq_disable_all (void)
  18024. {
  18025. alt_irq_context context;
  18026. NIOS2_READ_STATUS (context);
  18027. 4fb30: 0005303a rdctl r2,status
  18028. 4fb34: e0bffb15 stw r2,-20(fp)
  18029. NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
  18030. 4fb38: e0fffb17 ldw r3,-20(fp)
  18031. 4fb3c: 00bfff84 movi r2,-2
  18032. 4fb40: 1884703a and r2,r3,r2
  18033. 4fb44: 1001703a wrctl status,r2
  18034. return context;
  18035. 4fb48: e0bffb17 ldw r2,-20(fp)
  18036. * to enable interrupts if there is no space left in the FIFO
  18037. *
  18038. * For now kick the interrupt routine every time to make it transmit
  18039. * the data
  18040. */
  18041. context = alt_irq_disable_all();
  18042. 4fb4c: e0bffa15 stw r2,-24(fp)
  18043. sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK;
  18044. 4fb50: e0bffc17 ldw r2,-16(fp)
  18045. 4fb54: 10800817 ldw r2,32(r2)
  18046. 4fb58: 10c00094 ori r3,r2,2
  18047. 4fb5c: e0bffc17 ldw r2,-16(fp)
  18048. 4fb60: 10c00815 stw r3,32(r2)
  18049. IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
  18050. 4fb64: e0bffc17 ldw r2,-16(fp)
  18051. 4fb68: 10800017 ldw r2,0(r2)
  18052. 4fb6c: 10800104 addi r2,r2,4
  18053. 4fb70: 1007883a mov r3,r2
  18054. 4fb74: e0bffc17 ldw r2,-16(fp)
  18055. 4fb78: 10800817 ldw r2,32(r2)
  18056. 4fb7c: 18800035 stwio r2,0(r3)
  18057. 4fb80: e0bffa17 ldw r2,-24(fp)
  18058. 4fb84: e0bff815 stw r2,-32(fp)
  18059. status &= ~NIOS2_STATUS_PIE_MSK;
  18060. status |= (context & NIOS2_STATUS_PIE_MSK);
  18061. NIOS2_WRITE_STATUS (status);
  18062. #else
  18063. NIOS2_WRITE_STATUS (context);
  18064. 4fb88: e0bff817 ldw r2,-32(fp)
  18065. 4fb8c: 1001703a wrctl status,r2
  18066. /*
  18067. * If there is any data left then either return now or block until
  18068. * some has been sent
  18069. */
  18070. /* consider: test whether there is anything there while doing this and delay for at most 2s. */
  18071. if (count > 0)
  18072. 4fb90: e0bffe17 ldw r2,-8(fp)
  18073. 4fb94: 0080100e bge zero,r2,4fbd8 <altera_avalon_jtag_uart_write+0x1c4>
  18074. {
  18075. if (flags & O_NONBLOCK)
  18076. 4fb98: e0bfff17 ldw r2,-4(fp)
  18077. 4fb9c: 1090000c andi r2,r2,16384
  18078. 4fba0: 1000101e bne r2,zero,4fbe4 <altera_avalon_jtag_uart_write+0x1d0>
  18079. /*
  18080. * No OS present: Always wait for data to be removed from buffer. Once
  18081. * the interrupt routine has removed some data then we will be able to
  18082. * insert some more.
  18083. */
  18084. while (out == sp->tx_out && sp->host_inactive < sp->timeout)
  18085. 4fba4: 0001883a nop
  18086. 4fba8: e0bffc17 ldw r2,-16(fp)
  18087. 4fbac: 10c00d17 ldw r3,52(r2)
  18088. 4fbb0: e0bff517 ldw r2,-44(fp)
  18089. 4fbb4: 1880051e bne r3,r2,4fbcc <altera_avalon_jtag_uart_write+0x1b8>
  18090. 4fbb8: e0bffc17 ldw r2,-16(fp)
  18091. 4fbbc: 10c00917 ldw r3,36(r2)
  18092. 4fbc0: e0bffc17 ldw r2,-16(fp)
  18093. 4fbc4: 10800117 ldw r2,4(r2)
  18094. 4fbc8: 18bff736 bltu r3,r2,4fba8 <__alt_data_end+0xfffddba8>
  18095. ;
  18096. #endif /* __ucosii__ */
  18097. if (sp->host_inactive)
  18098. 4fbcc: e0bffc17 ldw r2,-16(fp)
  18099. 4fbd0: 10800917 ldw r2,36(r2)
  18100. 4fbd4: 1000051e bne r2,zero,4fbec <altera_avalon_jtag_uart_write+0x1d8>
  18101. break;
  18102. }
  18103. }
  18104. while (count > 0);
  18105. 4fbd8: e0bffe17 ldw r2,-8(fp)
  18106. 4fbdc: 00bfd016 blt zero,r2,4fb20 <__alt_data_end+0xfffddb20>
  18107. 4fbe0: 00000306 br 4fbf0 <altera_avalon_jtag_uart_write+0x1dc>
  18108. */
  18109. /* consider: test whether there is anything there while doing this and delay for at most 2s. */
  18110. if (count > 0)
  18111. {
  18112. if (flags & O_NONBLOCK)
  18113. break;
  18114. 4fbe4: 0001883a nop
  18115. 4fbe8: 00000106 br 4fbf0 <altera_avalon_jtag_uart_write+0x1dc>
  18116. while (out == sp->tx_out && sp->host_inactive < sp->timeout)
  18117. ;
  18118. #endif /* __ucosii__ */
  18119. if (sp->host_inactive)
  18120. break;
  18121. 4fbec: 0001883a nop
  18122. * Now that access to the circular buffer is complete, release the write
  18123. * semaphore so that other threads can access the buffer.
  18124. */
  18125. ALT_SEM_POST (sp->write_lock);
  18126. if (ptr != start)
  18127. 4fbf0: e0fffd17 ldw r3,-12(fp)
  18128. 4fbf4: e0bff717 ldw r2,-36(fp)
  18129. 4fbf8: 18800426 beq r3,r2,4fc0c <altera_avalon_jtag_uart_write+0x1f8>
  18130. return ptr - start;
  18131. 4fbfc: e0fffd17 ldw r3,-12(fp)
  18132. 4fc00: e0bff717 ldw r2,-36(fp)
  18133. 4fc04: 1885c83a sub r2,r3,r2
  18134. 4fc08: 00000606 br 4fc24 <altera_avalon_jtag_uart_write+0x210>
  18135. else if (flags & O_NONBLOCK)
  18136. 4fc0c: e0bfff17 ldw r2,-4(fp)
  18137. 4fc10: 1090000c andi r2,r2,16384
  18138. 4fc14: 10000226 beq r2,zero,4fc20 <altera_avalon_jtag_uart_write+0x20c>
  18139. return -EWOULDBLOCK;
  18140. 4fc18: 00bffd44 movi r2,-11
  18141. 4fc1c: 00000106 br 4fc24 <altera_avalon_jtag_uart_write+0x210>
  18142. sp->tx_out = sp->tx_in = 0;
  18143. return ptr - start + count;
  18144. }
  18145. #endif
  18146. else
  18147. return -EIO; /* Host not connected */
  18148. 4fc20: 00bffec4 movi r2,-5
  18149. }
  18150. 4fc24: e037883a mov sp,fp
  18151. 4fc28: dfc00117 ldw ra,4(sp)
  18152. 4fc2c: df000017 ldw fp,0(sp)
  18153. 4fc30: dec00204 addi sp,sp,8
  18154. 4fc34: f800283a ret
  18155. 0004fc38 <lcd_write_command>:
  18156. /* --------------------------------------------------------------------- */
  18157. static void lcd_write_command(altera_avalon_lcd_16207_state* sp,
  18158. unsigned char command)
  18159. {
  18160. 4fc38: defffa04 addi sp,sp,-24
  18161. 4fc3c: dfc00515 stw ra,20(sp)
  18162. 4fc40: df000415 stw fp,16(sp)
  18163. 4fc44: df000404 addi fp,sp,16
  18164. 4fc48: e13ffe15 stw r4,-8(fp)
  18165. 4fc4c: 2805883a mov r2,r5
  18166. 4fc50: e0bfff05 stb r2,-4(fp)
  18167. unsigned int base = sp->base;
  18168. 4fc54: e0bffe17 ldw r2,-8(fp)
  18169. 4fc58: 10800017 ldw r2,0(r2)
  18170. 4fc5c: e0bffd15 stw r2,-12(fp)
  18171. /* We impose a timeout on the driver in case the LCD panel isn't connected.
  18172. * The first time we call this function the timeout is approx 25ms
  18173. * (assuming 5 cycles per loop and a 200MHz clock). Obviously systems
  18174. * with slower clocks, or debug builds, or slower memory will take longer.
  18175. */
  18176. int i = 1000000;
  18177. 4fc60: 008003f4 movhi r2,15
  18178. 4fc64: 10909004 addi r2,r2,16960
  18179. 4fc68: e0bffc15 stw r2,-16(fp)
  18180. /* Don't bother if the LCD panel didn't work before */
  18181. if (sp->broken)
  18182. 4fc6c: e0bffe17 ldw r2,-8(fp)
  18183. 4fc70: 10800803 ldbu r2,32(r2)
  18184. 4fc74: 10803fcc andi r2,r2,255
  18185. 4fc78: 1080201c xori r2,r2,128
  18186. 4fc7c: 10bfe004 addi r2,r2,-128
  18187. 4fc80: 1000151e bne r2,zero,4fcd8 <lcd_write_command+0xa0>
  18188. return;
  18189. /* Wait until LCD isn't busy. */
  18190. while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK)
  18191. 4fc84: 00000906 br 4fcac <lcd_write_command+0x74>
  18192. if (--i == 0)
  18193. 4fc88: e0bffc17 ldw r2,-16(fp)
  18194. 4fc8c: 10bfffc4 addi r2,r2,-1
  18195. 4fc90: e0bffc15 stw r2,-16(fp)
  18196. 4fc94: e0bffc17 ldw r2,-16(fp)
  18197. 4fc98: 1000041e bne r2,zero,4fcac <lcd_write_command+0x74>
  18198. {
  18199. sp->broken = 1;
  18200. 4fc9c: e0bffe17 ldw r2,-8(fp)
  18201. 4fca0: 00c00044 movi r3,1
  18202. 4fca4: 10c00805 stb r3,32(r2)
  18203. return;
  18204. 4fca8: 00000c06 br 4fcdc <lcd_write_command+0xa4>
  18205. /* Don't bother if the LCD panel didn't work before */
  18206. if (sp->broken)
  18207. return;
  18208. /* Wait until LCD isn't busy. */
  18209. while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK)
  18210. 4fcac: e0bffd17 ldw r2,-12(fp)
  18211. 4fcb0: 10800104 addi r2,r2,4
  18212. 4fcb4: 10800037 ldwio r2,0(r2)
  18213. 4fcb8: 1080200c andi r2,r2,128
  18214. 4fcbc: 103ff21e bne r2,zero,4fc88 <__alt_data_end+0xfffddc88>
  18215. }
  18216. /* Despite what it says in the datasheet, the LCD isn't ready to accept
  18217. * a write immediately after it returns BUSY=0. Wait for 100us more.
  18218. */
  18219. usleep(100);
  18220. 4fcc0: 01001904 movi r4,100
  18221. 4fcc4: 00517180 call 51718 <usleep>
  18222. IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, command);
  18223. 4fcc8: e0bffd17 ldw r2,-12(fp)
  18224. 4fccc: e0ffff03 ldbu r3,-4(fp)
  18225. 4fcd0: 10c00035 stwio r3,0(r2)
  18226. 4fcd4: 00000106 br 4fcdc <lcd_write_command+0xa4>
  18227. */
  18228. int i = 1000000;
  18229. /* Don't bother if the LCD panel didn't work before */
  18230. if (sp->broken)
  18231. return;
  18232. 4fcd8: 0001883a nop
  18233. * a write immediately after it returns BUSY=0. Wait for 100us more.
  18234. */
  18235. usleep(100);
  18236. IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, command);
  18237. }
  18238. 4fcdc: e037883a mov sp,fp
  18239. 4fce0: dfc00117 ldw ra,4(sp)
  18240. 4fce4: df000017 ldw fp,0(sp)
  18241. 4fce8: dec00204 addi sp,sp,8
  18242. 4fcec: f800283a ret
  18243. 0004fcf0 <lcd_write_data>:
  18244. /* --------------------------------------------------------------------- */
  18245. static void lcd_write_data(altera_avalon_lcd_16207_state* sp,
  18246. unsigned char data)
  18247. {
  18248. 4fcf0: defffa04 addi sp,sp,-24
  18249. 4fcf4: dfc00515 stw ra,20(sp)
  18250. 4fcf8: df000415 stw fp,16(sp)
  18251. 4fcfc: df000404 addi fp,sp,16
  18252. 4fd00: e13ffe15 stw r4,-8(fp)
  18253. 4fd04: 2805883a mov r2,r5
  18254. 4fd08: e0bfff05 stb r2,-4(fp)
  18255. unsigned int base = sp->base;
  18256. 4fd0c: e0bffe17 ldw r2,-8(fp)
  18257. 4fd10: 10800017 ldw r2,0(r2)
  18258. 4fd14: e0bffd15 stw r2,-12(fp)
  18259. /* We impose a timeout on the driver in case the LCD panel isn't connected.
  18260. * The first time we call this function the timeout is approx 25ms
  18261. * (assuming 5 cycles per loop and a 200MHz clock). Obviously systems
  18262. * with slower clocks, or debug builds, or slower memory will take longer.
  18263. */
  18264. int i = 1000000;
  18265. 4fd18: 008003f4 movhi r2,15
  18266. 4fd1c: 10909004 addi r2,r2,16960
  18267. 4fd20: e0bffc15 stw r2,-16(fp)
  18268. /* Don't bother if the LCD panel didn't work before */
  18269. if (sp->broken)
  18270. 4fd24: e0bffe17 ldw r2,-8(fp)
  18271. 4fd28: 10800803 ldbu r2,32(r2)
  18272. 4fd2c: 10803fcc andi r2,r2,255
  18273. 4fd30: 1080201c xori r2,r2,128
  18274. 4fd34: 10bfe004 addi r2,r2,-128
  18275. 4fd38: 10001d1e bne r2,zero,4fdb0 <lcd_write_data+0xc0>
  18276. return;
  18277. /* Wait until LCD isn't busy. */
  18278. while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK)
  18279. 4fd3c: 00000906 br 4fd64 <lcd_write_data+0x74>
  18280. if (--i == 0)
  18281. 4fd40: e0bffc17 ldw r2,-16(fp)
  18282. 4fd44: 10bfffc4 addi r2,r2,-1
  18283. 4fd48: e0bffc15 stw r2,-16(fp)
  18284. 4fd4c: e0bffc17 ldw r2,-16(fp)
  18285. 4fd50: 1000041e bne r2,zero,4fd64 <lcd_write_data+0x74>
  18286. {
  18287. sp->broken = 1;
  18288. 4fd54: e0bffe17 ldw r2,-8(fp)
  18289. 4fd58: 00c00044 movi r3,1
  18290. 4fd5c: 10c00805 stb r3,32(r2)
  18291. return;
  18292. 4fd60: 00001406 br 4fdb4 <lcd_write_data+0xc4>
  18293. /* Don't bother if the LCD panel didn't work before */
  18294. if (sp->broken)
  18295. return;
  18296. /* Wait until LCD isn't busy. */
  18297. while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK)
  18298. 4fd64: e0bffd17 ldw r2,-12(fp)
  18299. 4fd68: 10800104 addi r2,r2,4
  18300. 4fd6c: 10800037 ldwio r2,0(r2)
  18301. 4fd70: 1080200c andi r2,r2,128
  18302. 4fd74: 103ff21e bne r2,zero,4fd40 <__alt_data_end+0xfffddd40>
  18303. }
  18304. /* Despite what it says in the datasheet, the LCD isn't ready to accept
  18305. * a write immediately after it returns BUSY=0. Wait for 100us more.
  18306. */
  18307. usleep(100);
  18308. 4fd78: 01001904 movi r4,100
  18309. 4fd7c: 00517180 call 51718 <usleep>
  18310. IOWR_ALTERA_AVALON_LCD_16207_DATA(base, data);
  18311. 4fd80: e0bffd17 ldw r2,-12(fp)
  18312. 4fd84: 10800204 addi r2,r2,8
  18313. 4fd88: 1007883a mov r3,r2
  18314. 4fd8c: e0bfff03 ldbu r2,-4(fp)
  18315. 4fd90: 18800035 stwio r2,0(r3)
  18316. sp->address++;
  18317. 4fd94: e0bffe17 ldw r2,-8(fp)
  18318. 4fd98: 108008c3 ldbu r2,35(r2)
  18319. 4fd9c: 10800044 addi r2,r2,1
  18320. 4fda0: 1007883a mov r3,r2
  18321. 4fda4: e0bffe17 ldw r2,-8(fp)
  18322. 4fda8: 10c008c5 stb r3,35(r2)
  18323. 4fdac: 00000106 br 4fdb4 <lcd_write_data+0xc4>
  18324. */
  18325. int i = 1000000;
  18326. /* Don't bother if the LCD panel didn't work before */
  18327. if (sp->broken)
  18328. return;
  18329. 4fdb0: 0001883a nop
  18330. usleep(100);
  18331. IOWR_ALTERA_AVALON_LCD_16207_DATA(base, data);
  18332. sp->address++;
  18333. }
  18334. 4fdb4: e037883a mov sp,fp
  18335. 4fdb8: dfc00117 ldw ra,4(sp)
  18336. 4fdbc: df000017 ldw fp,0(sp)
  18337. 4fdc0: dec00204 addi sp,sp,8
  18338. 4fdc4: f800283a ret
  18339. 0004fdc8 <lcd_clear_screen>:
  18340. /* --------------------------------------------------------------------- */
  18341. static void lcd_clear_screen(altera_avalon_lcd_16207_state* sp)
  18342. {
  18343. 4fdc8: defffb04 addi sp,sp,-20
  18344. 4fdcc: dfc00415 stw ra,16(sp)
  18345. 4fdd0: df000315 stw fp,12(sp)
  18346. 4fdd4: dc000215 stw r16,8(sp)
  18347. 4fdd8: df000304 addi fp,sp,12
  18348. 4fddc: e13ffe15 stw r4,-8(fp)
  18349. int y;
  18350. lcd_write_command(sp, LCD_CMD_CLEAR);
  18351. 4fde0: 01400044 movi r5,1
  18352. 4fde4: e13ffe17 ldw r4,-8(fp)
  18353. 4fde8: 004fc380 call 4fc38 <lcd_write_command>
  18354. sp->x = 0;
  18355. 4fdec: e0bffe17 ldw r2,-8(fp)
  18356. 4fdf0: 10000845 stb zero,33(r2)
  18357. sp->y = 0;
  18358. 4fdf4: e0bffe17 ldw r2,-8(fp)
  18359. 4fdf8: 10000885 stb zero,34(r2)
  18360. sp->address = 0;
  18361. 4fdfc: e0bffe17 ldw r2,-8(fp)
  18362. 4fe00: 100008c5 stb zero,35(r2)
  18363. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  18364. 4fe04: e03ffd15 stw zero,-12(fp)
  18365. 4fe08: 00001f06 br 4fe88 <lcd_clear_screen+0xc0>
  18366. {
  18367. memset(sp->line[y].data, ' ', sizeof(sp->line[0].data));
  18368. 4fe0c: 014018c4 movi r5,99
  18369. 4fe10: e13ffd17 ldw r4,-12(fp)
  18370. 4fe14: 004d3dc0 call 4d3dc <__mulsi3>
  18371. 4fe18: 10801004 addi r2,r2,64
  18372. 4fe1c: e0fffe17 ldw r3,-8(fp)
  18373. 4fe20: 1885883a add r2,r3,r2
  18374. 4fe24: 01801444 movi r6,81
  18375. 4fe28: 01400804 movi r5,32
  18376. 4fe2c: 1009883a mov r4,r2
  18377. 4fe30: 0048a980 call 48a98 <memset>
  18378. memset(sp->line[y].visible, ' ', sizeof(sp->line[0].visible));
  18379. 4fe34: 014018c4 movi r5,99
  18380. 4fe38: e13ffd17 ldw r4,-12(fp)
  18381. 4fe3c: 004d3dc0 call 4d3dc <__mulsi3>
  18382. 4fe40: 10800c04 addi r2,r2,48
  18383. 4fe44: e0fffe17 ldw r3,-8(fp)
  18384. 4fe48: 1885883a add r2,r3,r2
  18385. 4fe4c: 01800404 movi r6,16
  18386. 4fe50: 01400804 movi r5,32
  18387. 4fe54: 1009883a mov r4,r2
  18388. 4fe58: 0048a980 call 48a98 <memset>
  18389. sp->line[y].width = 0;
  18390. 4fe5c: e43ffe17 ldw r16,-8(fp)
  18391. 4fe60: e0bffd17 ldw r2,-12(fp)
  18392. 4fe64: 014018c4 movi r5,99
  18393. 4fe68: 1009883a mov r4,r2
  18394. 4fe6c: 004d3dc0 call 4d3dc <__mulsi3>
  18395. 4fe70: 8085883a add r2,r16,r2
  18396. 4fe74: 10802444 addi r2,r2,145
  18397. 4fe78: 10000005 stb zero,0(r2)
  18398. sp->x = 0;
  18399. sp->y = 0;
  18400. sp->address = 0;
  18401. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  18402. 4fe7c: e0bffd17 ldw r2,-12(fp)
  18403. 4fe80: 10800044 addi r2,r2,1
  18404. 4fe84: e0bffd15 stw r2,-12(fp)
  18405. 4fe88: e0bffd17 ldw r2,-12(fp)
  18406. 4fe8c: 10800090 cmplti r2,r2,2
  18407. 4fe90: 103fde1e bne r2,zero,4fe0c <__alt_data_end+0xfffdde0c>
  18408. {
  18409. memset(sp->line[y].data, ' ', sizeof(sp->line[0].data));
  18410. memset(sp->line[y].visible, ' ', sizeof(sp->line[0].visible));
  18411. sp->line[y].width = 0;
  18412. }
  18413. }
  18414. 4fe94: 0001883a nop
  18415. 4fe98: e6ffff04 addi sp,fp,-4
  18416. 4fe9c: dfc00217 ldw ra,8(sp)
  18417. 4fea0: df000117 ldw fp,4(sp)
  18418. 4fea4: dc000017 ldw r16,0(sp)
  18419. 4fea8: dec00304 addi sp,sp,12
  18420. 4feac: f800283a ret
  18421. 0004feb0 <lcd_repaint_screen>:
  18422. /* --------------------------------------------------------------------- */
  18423. static void lcd_repaint_screen(altera_avalon_lcd_16207_state* sp)
  18424. {
  18425. 4feb0: defff504 addi sp,sp,-44
  18426. 4feb4: dfc00a15 stw ra,40(sp)
  18427. 4feb8: df000915 stw fp,36(sp)
  18428. 4febc: dc400815 stw r17,32(sp)
  18429. 4fec0: dc000715 stw r16,28(sp)
  18430. 4fec4: df000904 addi fp,sp,36
  18431. 4fec8: e13ffd15 stw r4,-12(fp)
  18432. /* scrollpos controls how much the lines have scrolled round. The speed
  18433. * each line scrolls at is controlled by its speed variable - while
  18434. * scrolline lines will wrap at the position set by width
  18435. */
  18436. int scrollpos = sp->scrollpos;
  18437. 4fecc: e0bffd17 ldw r2,-12(fp)
  18438. 4fed0: 10800943 ldbu r2,37(r2)
  18439. 4fed4: 10803fcc andi r2,r2,255
  18440. 4fed8: e0bffa15 stw r2,-24(fp)
  18441. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  18442. 4fedc: e03ff715 stw zero,-36(fp)
  18443. 4fee0: 00007206 br 500ac <lcd_repaint_screen+0x1fc>
  18444. {
  18445. int width = sp->line[y].width;
  18446. 4fee4: e43ffd17 ldw r16,-12(fp)
  18447. 4fee8: e0bff717 ldw r2,-36(fp)
  18448. 4feec: 014018c4 movi r5,99
  18449. 4fef0: 1009883a mov r4,r2
  18450. 4fef4: 004d3dc0 call 4d3dc <__mulsi3>
  18451. 4fef8: 8085883a add r2,r16,r2
  18452. 4fefc: 10802444 addi r2,r2,145
  18453. 4ff00: 10800003 ldbu r2,0(r2)
  18454. 4ff04: 10803fcc andi r2,r2,255
  18455. 4ff08: 1080201c xori r2,r2,128
  18456. 4ff0c: 10bfe004 addi r2,r2,-128
  18457. 4ff10: e0bffb15 stw r2,-20(fp)
  18458. int offset = (scrollpos * sp->line[y].speed) >> 8;
  18459. 4ff14: e43ffd17 ldw r16,-12(fp)
  18460. 4ff18: e0bff717 ldw r2,-36(fp)
  18461. 4ff1c: 014018c4 movi r5,99
  18462. 4ff20: 1009883a mov r4,r2
  18463. 4ff24: 004d3dc0 call 4d3dc <__mulsi3>
  18464. 4ff28: 8085883a add r2,r16,r2
  18465. 4ff2c: 10802484 addi r2,r2,146
  18466. 4ff30: 10800003 ldbu r2,0(r2)
  18467. 4ff34: 10803fcc andi r2,r2,255
  18468. 4ff38: e17ffa17 ldw r5,-24(fp)
  18469. 4ff3c: 1009883a mov r4,r2
  18470. 4ff40: 004d3dc0 call 4d3dc <__mulsi3>
  18471. 4ff44: 1005d23a srai r2,r2,8
  18472. 4ff48: e0bff915 stw r2,-28(fp)
  18473. if (offset >= width)
  18474. 4ff4c: e0fff917 ldw r3,-28(fp)
  18475. 4ff50: e0bffb17 ldw r2,-20(fp)
  18476. 4ff54: 18800116 blt r3,r2,4ff5c <lcd_repaint_screen+0xac>
  18477. offset = 0;
  18478. 4ff58: e03ff915 stw zero,-28(fp)
  18479. for (x = 0 ; x < ALT_LCD_WIDTH ; x++)
  18480. 4ff5c: e03ff815 stw zero,-32(fp)
  18481. 4ff60: 00004c06 br 50094 <lcd_repaint_screen+0x1e4>
  18482. {
  18483. char c = sp->line[y].data[(x + offset) % width];
  18484. 4ff64: e0fff817 ldw r3,-32(fp)
  18485. 4ff68: e0bff917 ldw r2,-28(fp)
  18486. 4ff6c: 1885883a add r2,r3,r2
  18487. 4ff70: e17ffb17 ldw r5,-20(fp)
  18488. 4ff74: 1009883a mov r4,r2
  18489. 4ff78: 004d2ac0 call 4d2ac <__modsi3>
  18490. 4ff7c: 1023883a mov r17,r2
  18491. 4ff80: e43ffd17 ldw r16,-12(fp)
  18492. 4ff84: e0bff717 ldw r2,-36(fp)
  18493. 4ff88: 014018c4 movi r5,99
  18494. 4ff8c: 1009883a mov r4,r2
  18495. 4ff90: 004d3dc0 call 4d3dc <__mulsi3>
  18496. 4ff94: 8085883a add r2,r16,r2
  18497. 4ff98: 1445883a add r2,r2,r17
  18498. 4ff9c: 10801004 addi r2,r2,64
  18499. 4ffa0: 10800003 ldbu r2,0(r2)
  18500. 4ffa4: e0bffc05 stb r2,-16(fp)
  18501. /* Writing data takes 40us, so don't do it unless required */
  18502. if (sp->line[y].visible[x] != c)
  18503. 4ffa8: e43ffd17 ldw r16,-12(fp)
  18504. 4ffac: e0bff717 ldw r2,-36(fp)
  18505. 4ffb0: 014018c4 movi r5,99
  18506. 4ffb4: 1009883a mov r4,r2
  18507. 4ffb8: 004d3dc0 call 4d3dc <__mulsi3>
  18508. 4ffbc: 8087883a add r3,r16,r2
  18509. 4ffc0: e0bff817 ldw r2,-32(fp)
  18510. 4ffc4: 1885883a add r2,r3,r2
  18511. 4ffc8: 10800c04 addi r2,r2,48
  18512. 4ffcc: 10800003 ldbu r2,0(r2)
  18513. 4ffd0: 10c03fcc andi r3,r2,255
  18514. 4ffd4: 18c0201c xori r3,r3,128
  18515. 4ffd8: 18ffe004 addi r3,r3,-128
  18516. 4ffdc: e0bffc07 ldb r2,-16(fp)
  18517. 4ffe0: 18802926 beq r3,r2,50088 <lcd_repaint_screen+0x1d8>
  18518. {
  18519. unsigned char address = x + colstart[y];
  18520. 4ffe4: e0fff717 ldw r3,-36(fp)
  18521. 4ffe8: d0a00d04 addi r2,gp,-32716
  18522. 4ffec: 1885883a add r2,r3,r2
  18523. 4fff0: 10800003 ldbu r2,0(r2)
  18524. 4fff4: 1007883a mov r3,r2
  18525. 4fff8: e0bff817 ldw r2,-32(fp)
  18526. 4fffc: 1885883a add r2,r3,r2
  18527. 50000: e0bffc45 stb r2,-15(fp)
  18528. if (address != sp->address)
  18529. 50004: e0fffc43 ldbu r3,-15(fp)
  18530. 50008: e0bffd17 ldw r2,-12(fp)
  18531. 5000c: 108008c3 ldbu r2,35(r2)
  18532. 50010: 10803fcc andi r2,r2,255
  18533. 50014: 1080201c xori r2,r2,128
  18534. 50018: 10bfe004 addi r2,r2,-128
  18535. 5001c: 18800a26 beq r3,r2,50048 <lcd_repaint_screen+0x198>
  18536. {
  18537. lcd_write_command(sp, LCD_CMD_WRITE_DATA | address);
  18538. 50020: e0fffc43 ldbu r3,-15(fp)
  18539. 50024: 00bfe004 movi r2,-128
  18540. 50028: 1884b03a or r2,r3,r2
  18541. 5002c: 10803fcc andi r2,r2,255
  18542. 50030: 100b883a mov r5,r2
  18543. 50034: e13ffd17 ldw r4,-12(fp)
  18544. 50038: 004fc380 call 4fc38 <lcd_write_command>
  18545. sp->address = address;
  18546. 5003c: e0fffc43 ldbu r3,-15(fp)
  18547. 50040: e0bffd17 ldw r2,-12(fp)
  18548. 50044: 10c008c5 stb r3,35(r2)
  18549. }
  18550. lcd_write_data(sp, c);
  18551. 50048: e0bffc03 ldbu r2,-16(fp)
  18552. 5004c: 10803fcc andi r2,r2,255
  18553. 50050: 100b883a mov r5,r2
  18554. 50054: e13ffd17 ldw r4,-12(fp)
  18555. 50058: 004fcf00 call 4fcf0 <lcd_write_data>
  18556. sp->line[y].visible[x] = c;
  18557. 5005c: e43ffd17 ldw r16,-12(fp)
  18558. 50060: e0bff717 ldw r2,-36(fp)
  18559. 50064: 014018c4 movi r5,99
  18560. 50068: 1009883a mov r4,r2
  18561. 5006c: 004d3dc0 call 4d3dc <__mulsi3>
  18562. 50070: 8087883a add r3,r16,r2
  18563. 50074: e0bff817 ldw r2,-32(fp)
  18564. 50078: 1885883a add r2,r3,r2
  18565. 5007c: 10800c04 addi r2,r2,48
  18566. 50080: e0fffc03 ldbu r3,-16(fp)
  18567. 50084: 10c00005 stb r3,0(r2)
  18568. int width = sp->line[y].width;
  18569. int offset = (scrollpos * sp->line[y].speed) >> 8;
  18570. if (offset >= width)
  18571. offset = 0;
  18572. for (x = 0 ; x < ALT_LCD_WIDTH ; x++)
  18573. 50088: e0bff817 ldw r2,-32(fp)
  18574. 5008c: 10800044 addi r2,r2,1
  18575. 50090: e0bff815 stw r2,-32(fp)
  18576. 50094: e0bff817 ldw r2,-32(fp)
  18577. 50098: 10800410 cmplti r2,r2,16
  18578. 5009c: 103fb11e bne r2,zero,4ff64 <__alt_data_end+0xfffddf64>
  18579. * scrolline lines will wrap at the position set by width
  18580. */
  18581. int scrollpos = sp->scrollpos;
  18582. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  18583. 500a0: e0bff717 ldw r2,-36(fp)
  18584. 500a4: 10800044 addi r2,r2,1
  18585. 500a8: e0bff715 stw r2,-36(fp)
  18586. 500ac: e0bff717 ldw r2,-36(fp)
  18587. 500b0: 10800090 cmplti r2,r2,2
  18588. 500b4: 103f8b1e bne r2,zero,4fee4 <__alt_data_end+0xfffddee4>
  18589. lcd_write_data(sp, c);
  18590. sp->line[y].visible[x] = c;
  18591. }
  18592. }
  18593. }
  18594. }
  18595. 500b8: 0001883a nop
  18596. 500bc: e6fffe04 addi sp,fp,-8
  18597. 500c0: dfc00317 ldw ra,12(sp)
  18598. 500c4: df000217 ldw fp,8(sp)
  18599. 500c8: dc400117 ldw r17,4(sp)
  18600. 500cc: dc000017 ldw r16,0(sp)
  18601. 500d0: dec00404 addi sp,sp,16
  18602. 500d4: f800283a ret
  18603. 000500d8 <lcd_scroll_up>:
  18604. /* --------------------------------------------------------------------- */
  18605. static void lcd_scroll_up(altera_avalon_lcd_16207_state* sp)
  18606. {
  18607. 500d8: defffb04 addi sp,sp,-20
  18608. 500dc: dfc00415 stw ra,16(sp)
  18609. 500e0: df000315 stw fp,12(sp)
  18610. 500e4: dc000215 stw r16,8(sp)
  18611. 500e8: df000304 addi fp,sp,12
  18612. 500ec: e13ffe15 stw r4,-8(fp)
  18613. int y;
  18614. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  18615. 500f0: e03ffd15 stw zero,-12(fp)
  18616. 500f4: 00002206 br 50180 <lcd_scroll_up+0xa8>
  18617. {
  18618. if (y < ALT_LCD_HEIGHT-1)
  18619. 500f8: e0bffd17 ldw r2,-12(fp)
  18620. 500fc: 00801316 blt zero,r2,5014c <lcd_scroll_up+0x74>
  18621. memcpy(sp->line[y].data, sp->line[y+1].data, ALT_LCD_VIRTUAL_WIDTH);
  18622. 50100: 014018c4 movi r5,99
  18623. 50104: e13ffd17 ldw r4,-12(fp)
  18624. 50108: 004d3dc0 call 4d3dc <__mulsi3>
  18625. 5010c: 10801004 addi r2,r2,64
  18626. 50110: e0fffe17 ldw r3,-8(fp)
  18627. 50114: 18a1883a add r16,r3,r2
  18628. 50118: e0bffd17 ldw r2,-12(fp)
  18629. 5011c: 10800044 addi r2,r2,1
  18630. 50120: 014018c4 movi r5,99
  18631. 50124: 1009883a mov r4,r2
  18632. 50128: 004d3dc0 call 4d3dc <__mulsi3>
  18633. 5012c: 10801004 addi r2,r2,64
  18634. 50130: e0fffe17 ldw r3,-8(fp)
  18635. 50134: 1885883a add r2,r3,r2
  18636. 50138: 01801404 movi r6,80
  18637. 5013c: 100b883a mov r5,r2
  18638. 50140: 8009883a mov r4,r16
  18639. 50144: 00487f40 call 487f4 <memcpy>
  18640. 50148: 00000a06 br 50174 <lcd_scroll_up+0x9c>
  18641. else
  18642. memset(sp->line[y].data, ' ', ALT_LCD_VIRTUAL_WIDTH);
  18643. 5014c: 014018c4 movi r5,99
  18644. 50150: e13ffd17 ldw r4,-12(fp)
  18645. 50154: 004d3dc0 call 4d3dc <__mulsi3>
  18646. 50158: 10801004 addi r2,r2,64
  18647. 5015c: e0fffe17 ldw r3,-8(fp)
  18648. 50160: 1885883a add r2,r3,r2
  18649. 50164: 01801404 movi r6,80
  18650. 50168: 01400804 movi r5,32
  18651. 5016c: 1009883a mov r4,r2
  18652. 50170: 0048a980 call 48a98 <memset>
  18653. static void lcd_scroll_up(altera_avalon_lcd_16207_state* sp)
  18654. {
  18655. int y;
  18656. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  18657. 50174: e0bffd17 ldw r2,-12(fp)
  18658. 50178: 10800044 addi r2,r2,1
  18659. 5017c: e0bffd15 stw r2,-12(fp)
  18660. 50180: e0bffd17 ldw r2,-12(fp)
  18661. 50184: 10800090 cmplti r2,r2,2
  18662. 50188: 103fdb1e bne r2,zero,500f8 <__alt_data_end+0xfffde0f8>
  18663. memcpy(sp->line[y].data, sp->line[y+1].data, ALT_LCD_VIRTUAL_WIDTH);
  18664. else
  18665. memset(sp->line[y].data, ' ', ALT_LCD_VIRTUAL_WIDTH);
  18666. }
  18667. sp->y--;
  18668. 5018c: e0bffe17 ldw r2,-8(fp)
  18669. 50190: 10800883 ldbu r2,34(r2)
  18670. 50194: 10bfffc4 addi r2,r2,-1
  18671. 50198: 1007883a mov r3,r2
  18672. 5019c: e0bffe17 ldw r2,-8(fp)
  18673. 501a0: 10c00885 stb r3,34(r2)
  18674. }
  18675. 501a4: 0001883a nop
  18676. 501a8: e6ffff04 addi sp,fp,-4
  18677. 501ac: dfc00217 ldw ra,8(sp)
  18678. 501b0: df000117 ldw fp,4(sp)
  18679. 501b4: dc000017 ldw r16,0(sp)
  18680. 501b8: dec00304 addi sp,sp,12
  18681. 501bc: f800283a ret
  18682. 000501c0 <lcd_handle_escape>:
  18683. /* --------------------------------------------------------------------- */
  18684. static void lcd_handle_escape(altera_avalon_lcd_16207_state* sp, char c)
  18685. {
  18686. 501c0: defff904 addi sp,sp,-28
  18687. 501c4: dfc00615 stw ra,24(sp)
  18688. 501c8: df000515 stw fp,20(sp)
  18689. 501cc: df000504 addi fp,sp,20
  18690. 501d0: e13ffe15 stw r4,-8(fp)
  18691. 501d4: 2805883a mov r2,r5
  18692. 501d8: e0bfff05 stb r2,-4(fp)
  18693. int parm1 = 0, parm2 = 0;
  18694. 501dc: e03ffb15 stw zero,-20(fp)
  18695. 501e0: e03ffc15 stw zero,-16(fp)
  18696. if (sp->escape[0] == '[')
  18697. 501e4: e0bffe17 ldw r2,-8(fp)
  18698. 501e8: 10800a03 ldbu r2,40(r2)
  18699. 501ec: 10803fcc andi r2,r2,255
  18700. 501f0: 1080201c xori r2,r2,128
  18701. 501f4: 10bfe004 addi r2,r2,-128
  18702. 501f8: 108016d8 cmpnei r2,r2,91
  18703. 501fc: 1000451e bne r2,zero,50314 <lcd_handle_escape+0x154>
  18704. {
  18705. char * ptr = sp->escape+1;
  18706. 50200: e0bffe17 ldw r2,-8(fp)
  18707. 50204: 10800a04 addi r2,r2,40
  18708. 50208: 10800044 addi r2,r2,1
  18709. 5020c: e0bffd15 stw r2,-12(fp)
  18710. while (isdigit(*ptr))
  18711. 50210: 00000e06 br 5024c <lcd_handle_escape+0x8c>
  18712. parm1 = (parm1 * 10) + (*ptr++ - '0');
  18713. 50214: 01400284 movi r5,10
  18714. 50218: e13ffb17 ldw r4,-20(fp)
  18715. 5021c: 004d3dc0 call 4d3dc <__mulsi3>
  18716. 50220: 1009883a mov r4,r2
  18717. 50224: e0bffd17 ldw r2,-12(fp)
  18718. 50228: 10c00044 addi r3,r2,1
  18719. 5022c: e0fffd15 stw r3,-12(fp)
  18720. 50230: 10800003 ldbu r2,0(r2)
  18721. 50234: 10803fcc andi r2,r2,255
  18722. 50238: 1080201c xori r2,r2,128
  18723. 5023c: 10bfe004 addi r2,r2,-128
  18724. 50240: 10bff404 addi r2,r2,-48
  18725. 50244: 2085883a add r2,r4,r2
  18726. 50248: e0bffb15 stw r2,-20(fp)
  18727. int parm1 = 0, parm2 = 0;
  18728. if (sp->escape[0] == '[')
  18729. {
  18730. char * ptr = sp->escape+1;
  18731. while (isdigit(*ptr))
  18732. 5024c: d0e01117 ldw r3,-32700(gp)
  18733. 50250: e0bffd17 ldw r2,-12(fp)
  18734. 50254: 10800003 ldbu r2,0(r2)
  18735. 50258: 10803fcc andi r2,r2,255
  18736. 5025c: 1080201c xori r2,r2,128
  18737. 50260: 10bfe004 addi r2,r2,-128
  18738. 50264: 10800044 addi r2,r2,1
  18739. 50268: 1885883a add r2,r3,r2
  18740. 5026c: 10800003 ldbu r2,0(r2)
  18741. 50270: 10803fcc andi r2,r2,255
  18742. 50274: 1080010c andi r2,r2,4
  18743. 50278: 103fe61e bne r2,zero,50214 <__alt_data_end+0xfffde214>
  18744. parm1 = (parm1 * 10) + (*ptr++ - '0');
  18745. if (*ptr == ';')
  18746. 5027c: e0bffd17 ldw r2,-12(fp)
  18747. 50280: 10800003 ldbu r2,0(r2)
  18748. 50284: 10803fcc andi r2,r2,255
  18749. 50288: 1080201c xori r2,r2,128
  18750. 5028c: 10bfe004 addi r2,r2,-128
  18751. 50290: 10800ed8 cmpnei r2,r2,59
  18752. 50294: 1000211e bne r2,zero,5031c <lcd_handle_escape+0x15c>
  18753. {
  18754. ptr++;
  18755. 50298: e0bffd17 ldw r2,-12(fp)
  18756. 5029c: 10800044 addi r2,r2,1
  18757. 502a0: e0bffd15 stw r2,-12(fp)
  18758. while (isdigit(*ptr))
  18759. 502a4: 00000e06 br 502e0 <lcd_handle_escape+0x120>
  18760. parm2 = (parm2 * 10) + (*ptr++ - '0');
  18761. 502a8: 01400284 movi r5,10
  18762. 502ac: e13ffc17 ldw r4,-16(fp)
  18763. 502b0: 004d3dc0 call 4d3dc <__mulsi3>
  18764. 502b4: 1009883a mov r4,r2
  18765. 502b8: e0bffd17 ldw r2,-12(fp)
  18766. 502bc: 10c00044 addi r3,r2,1
  18767. 502c0: e0fffd15 stw r3,-12(fp)
  18768. 502c4: 10800003 ldbu r2,0(r2)
  18769. 502c8: 10803fcc andi r2,r2,255
  18770. 502cc: 1080201c xori r2,r2,128
  18771. 502d0: 10bfe004 addi r2,r2,-128
  18772. 502d4: 10bff404 addi r2,r2,-48
  18773. 502d8: 2085883a add r2,r4,r2
  18774. 502dc: e0bffc15 stw r2,-16(fp)
  18775. parm1 = (parm1 * 10) + (*ptr++ - '0');
  18776. if (*ptr == ';')
  18777. {
  18778. ptr++;
  18779. while (isdigit(*ptr))
  18780. 502e0: d0e01117 ldw r3,-32700(gp)
  18781. 502e4: e0bffd17 ldw r2,-12(fp)
  18782. 502e8: 10800003 ldbu r2,0(r2)
  18783. 502ec: 10803fcc andi r2,r2,255
  18784. 502f0: 1080201c xori r2,r2,128
  18785. 502f4: 10bfe004 addi r2,r2,-128
  18786. 502f8: 10800044 addi r2,r2,1
  18787. 502fc: 1885883a add r2,r3,r2
  18788. 50300: 10800003 ldbu r2,0(r2)
  18789. 50304: 10803fcc andi r2,r2,255
  18790. 50308: 1080010c andi r2,r2,4
  18791. 5030c: 103fe61e bne r2,zero,502a8 <__alt_data_end+0xfffde2a8>
  18792. 50310: 00000206 br 5031c <lcd_handle_escape+0x15c>
  18793. parm2 = (parm2 * 10) + (*ptr++ - '0');
  18794. }
  18795. }
  18796. else
  18797. parm1 = -1;
  18798. 50314: 00bfffc4 movi r2,-1
  18799. 50318: e0bffb15 stw r2,-20(fp)
  18800. switch (c)
  18801. 5031c: e0bfff07 ldb r2,-4(fp)
  18802. 50320: 10c012a0 cmpeqi r3,r2,74
  18803. 50324: 1800291e bne r3,zero,503cc <lcd_handle_escape+0x20c>
  18804. 50328: 10c012c8 cmpgei r3,r2,75
  18805. 5032c: 1800031e bne r3,zero,5033c <lcd_handle_escape+0x17c>
  18806. 50330: 10801220 cmpeqi r2,r2,72
  18807. 50334: 1000061e bne r2,zero,50350 <lcd_handle_escape+0x190>
  18808. if (sp->x < ALT_LCD_VIRTUAL_WIDTH)
  18809. memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x);
  18810. }
  18811. break;
  18812. }
  18813. }
  18814. 50338: 00004c06 br 5046c <lcd_handle_escape+0x2ac>
  18815. }
  18816. }
  18817. else
  18818. parm1 = -1;
  18819. switch (c)
  18820. 5033c: 10c012e0 cmpeqi r3,r2,75
  18821. 50340: 1800281e bne r3,zero,503e4 <lcd_handle_escape+0x224>
  18822. 50344: 108019a0 cmpeqi r2,r2,102
  18823. 50348: 1000011e bne r2,zero,50350 <lcd_handle_escape+0x190>
  18824. if (sp->x < ALT_LCD_VIRTUAL_WIDTH)
  18825. memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x);
  18826. }
  18827. break;
  18828. }
  18829. }
  18830. 5034c: 00004706 br 5046c <lcd_handle_escape+0x2ac>
  18831. switch (c)
  18832. {
  18833. case 'H': /* ESC '[' <y> ';' <x> 'H' : Move cursor to location */
  18834. case 'f': /* Same as above */
  18835. if (parm2 > 0)
  18836. 50350: e0bffc17 ldw r2,-16(fp)
  18837. 50354: 0080050e bge zero,r2,5036c <lcd_handle_escape+0x1ac>
  18838. sp->x = parm2 - 1;
  18839. 50358: e0bffc17 ldw r2,-16(fp)
  18840. 5035c: 10bfffc4 addi r2,r2,-1
  18841. 50360: 1007883a mov r3,r2
  18842. 50364: e0bffe17 ldw r2,-8(fp)
  18843. 50368: 10c00845 stb r3,33(r2)
  18844. if (parm1 > 0)
  18845. 5036c: e0bffb17 ldw r2,-20(fp)
  18846. 50370: 0080390e bge zero,r2,50458 <lcd_handle_escape+0x298>
  18847. {
  18848. sp->y = parm1 - 1;
  18849. 50374: e0bffb17 ldw r2,-20(fp)
  18850. 50378: 10bfffc4 addi r2,r2,-1
  18851. 5037c: 1007883a mov r3,r2
  18852. 50380: e0bffe17 ldw r2,-8(fp)
  18853. 50384: 10c00885 stb r3,34(r2)
  18854. if (sp->y > ALT_LCD_HEIGHT * 2)
  18855. 50388: e0bffe17 ldw r2,-8(fp)
  18856. 5038c: 10800883 ldbu r2,34(r2)
  18857. 50390: 10803fcc andi r2,r2,255
  18858. 50394: 10800170 cmpltui r2,r2,5
  18859. 50398: 1000061e bne r2,zero,503b4 <lcd_handle_escape+0x1f4>
  18860. sp->y = ALT_LCD_HEIGHT * 2;
  18861. 5039c: e0bffe17 ldw r2,-8(fp)
  18862. 503a0: 00c00104 movi r3,4
  18863. 503a4: 10c00885 stb r3,34(r2)
  18864. while (sp->y > ALT_LCD_HEIGHT)
  18865. 503a8: 00000206 br 503b4 <lcd_handle_escape+0x1f4>
  18866. lcd_scroll_up(sp);
  18867. 503ac: e13ffe17 ldw r4,-8(fp)
  18868. 503b0: 00500d80 call 500d8 <lcd_scroll_up>
  18869. if (parm1 > 0)
  18870. {
  18871. sp->y = parm1 - 1;
  18872. if (sp->y > ALT_LCD_HEIGHT * 2)
  18873. sp->y = ALT_LCD_HEIGHT * 2;
  18874. while (sp->y > ALT_LCD_HEIGHT)
  18875. 503b4: e0bffe17 ldw r2,-8(fp)
  18876. 503b8: 10800883 ldbu r2,34(r2)
  18877. 503bc: 10803fcc andi r2,r2,255
  18878. 503c0: 108000e8 cmpgeui r2,r2,3
  18879. 503c4: 103ff91e bne r2,zero,503ac <__alt_data_end+0xfffde3ac>
  18880. lcd_scroll_up(sp);
  18881. }
  18882. break;
  18883. 503c8: 00002306 br 50458 <lcd_handle_escape+0x298>
  18884. /* ESC J is clear to beginning of line [unimplemented]
  18885. * ESC [ 0 J is clear to bottom of screen [unimplemented]
  18886. * ESC [ 1 J is clear to beginning of screen [unimplemented]
  18887. * ESC [ 2 J is clear screen
  18888. */
  18889. if (parm1 == 2)
  18890. 503cc: e0bffb17 ldw r2,-20(fp)
  18891. 503d0: 10800098 cmpnei r2,r2,2
  18892. 503d4: 1000221e bne r2,zero,50460 <lcd_handle_escape+0x2a0>
  18893. lcd_clear_screen(sp);
  18894. 503d8: e13ffe17 ldw r4,-8(fp)
  18895. 503dc: 004fdc80 call 4fdc8 <lcd_clear_screen>
  18896. break;
  18897. 503e0: 00001f06 br 50460 <lcd_handle_escape+0x2a0>
  18898. /* ESC K is clear to end of line
  18899. * ESC [ 0 K is clear to end of line
  18900. * ESC [ 1 K is clear to beginning of line [unimplemented]
  18901. * ESC [ 2 K is clear line [unimplemented]
  18902. */
  18903. if (parm1 < 1)
  18904. 503e4: e0bffb17 ldw r2,-20(fp)
  18905. 503e8: 00801f16 blt zero,r2,50468 <lcd_handle_escape+0x2a8>
  18906. {
  18907. if (sp->x < ALT_LCD_VIRTUAL_WIDTH)
  18908. 503ec: e0bffe17 ldw r2,-8(fp)
  18909. 503f0: 10800843 ldbu r2,33(r2)
  18910. 503f4: 10803fcc andi r2,r2,255
  18911. 503f8: 10801428 cmpgeui r2,r2,80
  18912. 503fc: 10001a1e bne r2,zero,50468 <lcd_handle_escape+0x2a8>
  18913. memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x);
  18914. 50400: e0bffe17 ldw r2,-8(fp)
  18915. 50404: 10800883 ldbu r2,34(r2)
  18916. 50408: 10803fcc andi r2,r2,255
  18917. 5040c: 014018c4 movi r5,99
  18918. 50410: 1009883a mov r4,r2
  18919. 50414: 004d3dc0 call 4d3dc <__mulsi3>
  18920. 50418: 10801004 addi r2,r2,64
  18921. 5041c: e0fffe17 ldw r3,-8(fp)
  18922. 50420: 1887883a add r3,r3,r2
  18923. 50424: e0bffe17 ldw r2,-8(fp)
  18924. 50428: 10800843 ldbu r2,33(r2)
  18925. 5042c: 10803fcc andi r2,r2,255
  18926. 50430: 1889883a add r4,r3,r2
  18927. 50434: e0bffe17 ldw r2,-8(fp)
  18928. 50438: 10800843 ldbu r2,33(r2)
  18929. 5043c: 10803fcc andi r2,r2,255
  18930. 50440: 00c01404 movi r3,80
  18931. 50444: 1885c83a sub r2,r3,r2
  18932. 50448: 100d883a mov r6,r2
  18933. 5044c: 01400804 movi r5,32
  18934. 50450: 0048a980 call 48a98 <memset>
  18935. }
  18936. break;
  18937. 50454: 00000406 br 50468 <lcd_handle_escape+0x2a8>
  18938. if (sp->y > ALT_LCD_HEIGHT * 2)
  18939. sp->y = ALT_LCD_HEIGHT * 2;
  18940. while (sp->y > ALT_LCD_HEIGHT)
  18941. lcd_scroll_up(sp);
  18942. }
  18943. break;
  18944. 50458: 0001883a nop
  18945. 5045c: 00000306 br 5046c <lcd_handle_escape+0x2ac>
  18946. * ESC [ 1 J is clear to beginning of screen [unimplemented]
  18947. * ESC [ 2 J is clear screen
  18948. */
  18949. if (parm1 == 2)
  18950. lcd_clear_screen(sp);
  18951. break;
  18952. 50460: 0001883a nop
  18953. 50464: 00000106 br 5046c <lcd_handle_escape+0x2ac>
  18954. if (parm1 < 1)
  18955. {
  18956. if (sp->x < ALT_LCD_VIRTUAL_WIDTH)
  18957. memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x);
  18958. }
  18959. break;
  18960. 50468: 0001883a nop
  18961. }
  18962. }
  18963. 5046c: 0001883a nop
  18964. 50470: e037883a mov sp,fp
  18965. 50474: dfc00117 ldw ra,4(sp)
  18966. 50478: df000017 ldw fp,0(sp)
  18967. 5047c: dec00204 addi sp,sp,8
  18968. 50480: f800283a ret
  18969. 00050484 <altera_avalon_lcd_16207_write>:
  18970. /* --------------------------------------------------------------------- */
  18971. int altera_avalon_lcd_16207_write(altera_avalon_lcd_16207_state* sp,
  18972. const char* ptr, int len, int flags)
  18973. {
  18974. 50484: defff104 addi sp,sp,-60
  18975. 50488: dfc00e15 stw ra,56(sp)
  18976. 5048c: df000d15 stw fp,52(sp)
  18977. 50490: dc400c15 stw r17,48(sp)
  18978. 50494: dc000b15 stw r16,44(sp)
  18979. 50498: df000d04 addi fp,sp,52
  18980. 5049c: e13ffa15 stw r4,-24(fp)
  18981. 504a0: e17ffb15 stw r5,-20(fp)
  18982. 504a4: e1bffc15 stw r6,-16(fp)
  18983. 504a8: e1fffd15 stw r7,-12(fp)
  18984. const char* end = ptr + len;
  18985. 504ac: e0bffc17 ldw r2,-16(fp)
  18986. 504b0: e0fffb17 ldw r3,-20(fp)
  18987. 504b4: 1885883a add r2,r3,r2
  18988. 504b8: e0bff615 stw r2,-40(fp)
  18989. ALT_SEM_PEND (sp->write_lock, 0);
  18990. /* Tell the routine which is called off the timer interrupt that the
  18991. * foreground routines are active so it must not repaint the display. */
  18992. sp->active = 1;
  18993. 504bc: e0bffa17 ldw r2,-24(fp)
  18994. 504c0: 00c00044 movi r3,1
  18995. 504c4: 10c009c5 stb r3,39(r2)
  18996. for ( ; ptr < end ; ptr++)
  18997. 504c8: 00009b06 br 50738 <altera_avalon_lcd_16207_write+0x2b4>
  18998. {
  18999. char c = *ptr;
  19000. 504cc: e0bffb17 ldw r2,-20(fp)
  19001. 504d0: 10800003 ldbu r2,0(r2)
  19002. 504d4: e0bff705 stb r2,-36(fp)
  19003. if (sp->esccount >= 0)
  19004. 504d8: e0bffa17 ldw r2,-24(fp)
  19005. 504dc: 10800903 ldbu r2,36(r2)
  19006. 504e0: 10803fcc andi r2,r2,255
  19007. 504e4: 1080201c xori r2,r2,128
  19008. 504e8: 10bfe004 addi r2,r2,-128
  19009. 504ec: 10003716 blt r2,zero,505cc <altera_avalon_lcd_16207_write+0x148>
  19010. {
  19011. unsigned int esccount = sp->esccount;
  19012. 504f0: e0bffa17 ldw r2,-24(fp)
  19013. 504f4: 10800903 ldbu r2,36(r2)
  19014. 504f8: 10803fcc andi r2,r2,255
  19015. 504fc: 1080201c xori r2,r2,128
  19016. 50500: 10bfe004 addi r2,r2,-128
  19017. 50504: e0bff815 stw r2,-32(fp)
  19018. /* Single character escape sequences can end with any character
  19019. * Multi character escape sequences start with '[' and contain
  19020. * digits and semicolons before terminating
  19021. */
  19022. if ((esccount == 0 && c != '[') ||
  19023. 50508: e0bff817 ldw r2,-32(fp)
  19024. 5050c: 1000031e bne r2,zero,5051c <altera_avalon_lcd_16207_write+0x98>
  19025. 50510: e0bff707 ldb r2,-36(fp)
  19026. 50514: 108016d8 cmpnei r2,r2,91
  19027. 50518: 10000d1e bne r2,zero,50550 <altera_avalon_lcd_16207_write+0xcc>
  19028. 5051c: e0bff817 ldw r2,-32(fp)
  19029. 50520: 10001826 beq r2,zero,50584 <altera_avalon_lcd_16207_write+0x100>
  19030. (esccount > 0 && !isdigit(c) && c != ';'))
  19031. 50524: d0e01117 ldw r3,-32700(gp)
  19032. 50528: e0bff707 ldb r2,-36(fp)
  19033. 5052c: 10800044 addi r2,r2,1
  19034. 50530: 1885883a add r2,r3,r2
  19035. 50534: 10800003 ldbu r2,0(r2)
  19036. 50538: 10803fcc andi r2,r2,255
  19037. 5053c: 1080010c andi r2,r2,4
  19038. 50540: 1000101e bne r2,zero,50584 <altera_avalon_lcd_16207_write+0x100>
  19039. 50544: e0bff707 ldb r2,-36(fp)
  19040. 50548: 10800ee0 cmpeqi r2,r2,59
  19041. 5054c: 10000d1e bne r2,zero,50584 <altera_avalon_lcd_16207_write+0x100>
  19042. {
  19043. sp->escape[esccount] = 0;
  19044. 50550: e0fffa17 ldw r3,-24(fp)
  19045. 50554: e0bff817 ldw r2,-32(fp)
  19046. 50558: 1885883a add r2,r3,r2
  19047. 5055c: 10800a04 addi r2,r2,40
  19048. 50560: 10000005 stb zero,0(r2)
  19049. lcd_handle_escape(sp, c);
  19050. 50564: e0bff707 ldb r2,-36(fp)
  19051. 50568: 100b883a mov r5,r2
  19052. 5056c: e13ffa17 ldw r4,-24(fp)
  19053. 50570: 00501c00 call 501c0 <lcd_handle_escape>
  19054. sp->esccount = -1;
  19055. 50574: e0bffa17 ldw r2,-24(fp)
  19056. 50578: 00ffffc4 movi r3,-1
  19057. 5057c: 10c00905 stb r3,36(r2)
  19058. 50580: 00006a06 br 5072c <altera_avalon_lcd_16207_write+0x2a8>
  19059. }
  19060. else if (sp->esccount < sizeof(sp->escape)-1)
  19061. 50584: e0bffa17 ldw r2,-24(fp)
  19062. 50588: 10800903 ldbu r2,36(r2)
  19063. 5058c: 10803fcc andi r2,r2,255
  19064. 50590: 108001e8 cmpgeui r2,r2,7
  19065. 50594: 1000651e bne r2,zero,5072c <altera_avalon_lcd_16207_write+0x2a8>
  19066. {
  19067. sp->escape[esccount] = c;
  19068. 50598: e0fffa17 ldw r3,-24(fp)
  19069. 5059c: e0bff817 ldw r2,-32(fp)
  19070. 505a0: 1885883a add r2,r3,r2
  19071. 505a4: 10800a04 addi r2,r2,40
  19072. 505a8: e0fff703 ldbu r3,-36(fp)
  19073. 505ac: 10c00005 stb r3,0(r2)
  19074. sp->esccount++;
  19075. 505b0: e0bffa17 ldw r2,-24(fp)
  19076. 505b4: 10800903 ldbu r2,36(r2)
  19077. 505b8: 10800044 addi r2,r2,1
  19078. 505bc: 1007883a mov r3,r2
  19079. 505c0: e0bffa17 ldw r2,-24(fp)
  19080. 505c4: 10c00905 stb r3,36(r2)
  19081. 505c8: 00005806 br 5072c <altera_avalon_lcd_16207_write+0x2a8>
  19082. }
  19083. }
  19084. else if (c == 27) /* ESC */
  19085. 505cc: e0bff707 ldb r2,-36(fp)
  19086. 505d0: 108006d8 cmpnei r2,r2,27
  19087. 505d4: 1000031e bne r2,zero,505e4 <altera_avalon_lcd_16207_write+0x160>
  19088. {
  19089. sp->esccount = 0;
  19090. 505d8: e0bffa17 ldw r2,-24(fp)
  19091. 505dc: 10000905 stb zero,36(r2)
  19092. 505e0: 00005206 br 5072c <altera_avalon_lcd_16207_write+0x2a8>
  19093. }
  19094. else if (c == '\r')
  19095. 505e4: e0bff707 ldb r2,-36(fp)
  19096. 505e8: 10800358 cmpnei r2,r2,13
  19097. 505ec: 1000031e bne r2,zero,505fc <altera_avalon_lcd_16207_write+0x178>
  19098. {
  19099. sp->x = 0;
  19100. 505f0: e0bffa17 ldw r2,-24(fp)
  19101. 505f4: 10000845 stb zero,33(r2)
  19102. 505f8: 00004c06 br 5072c <altera_avalon_lcd_16207_write+0x2a8>
  19103. }
  19104. else if (c == '\n')
  19105. 505fc: e0bff707 ldb r2,-36(fp)
  19106. 50600: 10800298 cmpnei r2,r2,10
  19107. 50604: 1000101e bne r2,zero,50648 <altera_avalon_lcd_16207_write+0x1c4>
  19108. {
  19109. sp->x = 0;
  19110. 50608: e0bffa17 ldw r2,-24(fp)
  19111. 5060c: 10000845 stb zero,33(r2)
  19112. sp->y++;
  19113. 50610: e0bffa17 ldw r2,-24(fp)
  19114. 50614: 10800883 ldbu r2,34(r2)
  19115. 50618: 10800044 addi r2,r2,1
  19116. 5061c: 1007883a mov r3,r2
  19117. 50620: e0bffa17 ldw r2,-24(fp)
  19118. 50624: 10c00885 stb r3,34(r2)
  19119. /* Let the cursor sit at X=0, Y=HEIGHT without scrolling so the user
  19120. * can print two lines of data without losing one.
  19121. */
  19122. if (sp->y > ALT_LCD_HEIGHT)
  19123. 50628: e0bffa17 ldw r2,-24(fp)
  19124. 5062c: 10800883 ldbu r2,34(r2)
  19125. 50630: 10803fcc andi r2,r2,255
  19126. 50634: 108000f0 cmpltui r2,r2,3
  19127. 50638: 10003c1e bne r2,zero,5072c <altera_avalon_lcd_16207_write+0x2a8>
  19128. lcd_scroll_up(sp);
  19129. 5063c: e13ffa17 ldw r4,-24(fp)
  19130. 50640: 00500d80 call 500d8 <lcd_scroll_up>
  19131. 50644: 00003906 br 5072c <altera_avalon_lcd_16207_write+0x2a8>
  19132. }
  19133. else if (c == '\b')
  19134. 50648: e0bff707 ldb r2,-36(fp)
  19135. 5064c: 10800218 cmpnei r2,r2,8
  19136. 50650: 10000b1e bne r2,zero,50680 <altera_avalon_lcd_16207_write+0x1fc>
  19137. {
  19138. if (sp->x > 0)
  19139. 50654: e0bffa17 ldw r2,-24(fp)
  19140. 50658: 10800843 ldbu r2,33(r2)
  19141. 5065c: 10803fcc andi r2,r2,255
  19142. 50660: 10003226 beq r2,zero,5072c <altera_avalon_lcd_16207_write+0x2a8>
  19143. sp->x--;
  19144. 50664: e0bffa17 ldw r2,-24(fp)
  19145. 50668: 10800843 ldbu r2,33(r2)
  19146. 5066c: 10bfffc4 addi r2,r2,-1
  19147. 50670: 1007883a mov r3,r2
  19148. 50674: e0bffa17 ldw r2,-24(fp)
  19149. 50678: 10c00845 stb r3,33(r2)
  19150. 5067c: 00002b06 br 5072c <altera_avalon_lcd_16207_write+0x2a8>
  19151. }
  19152. else if (isprint(c))
  19153. 50680: d0e01117 ldw r3,-32700(gp)
  19154. 50684: e0bff707 ldb r2,-36(fp)
  19155. 50688: 10800044 addi r2,r2,1
  19156. 5068c: 1885883a add r2,r3,r2
  19157. 50690: 10800003 ldbu r2,0(r2)
  19158. 50694: 10803fcc andi r2,r2,255
  19159. 50698: 1080201c xori r2,r2,128
  19160. 5069c: 10bfe004 addi r2,r2,-128
  19161. 506a0: 108025cc andi r2,r2,151
  19162. 506a4: 10002126 beq r2,zero,5072c <altera_avalon_lcd_16207_write+0x2a8>
  19163. {
  19164. /* If we didn't scroll on the last linefeed then we might need to do
  19165. * it now. */
  19166. if (sp->y >= ALT_LCD_HEIGHT)
  19167. 506a8: e0bffa17 ldw r2,-24(fp)
  19168. 506ac: 10800883 ldbu r2,34(r2)
  19169. 506b0: 10803fcc andi r2,r2,255
  19170. 506b4: 108000b0 cmpltui r2,r2,2
  19171. 506b8: 1000021e bne r2,zero,506c4 <altera_avalon_lcd_16207_write+0x240>
  19172. lcd_scroll_up(sp);
  19173. 506bc: e13ffa17 ldw r4,-24(fp)
  19174. 506c0: 00500d80 call 500d8 <lcd_scroll_up>
  19175. if (sp->x < ALT_LCD_VIRTUAL_WIDTH)
  19176. 506c4: e0bffa17 ldw r2,-24(fp)
  19177. 506c8: 10800843 ldbu r2,33(r2)
  19178. 506cc: 10803fcc andi r2,r2,255
  19179. 506d0: 10801428 cmpgeui r2,r2,80
  19180. 506d4: 10000f1e bne r2,zero,50714 <altera_avalon_lcd_16207_write+0x290>
  19181. sp->line[sp->y].data[sp->x] = c;
  19182. 506d8: e0bffa17 ldw r2,-24(fp)
  19183. 506dc: 10800883 ldbu r2,34(r2)
  19184. 506e0: 10c03fcc andi r3,r2,255
  19185. 506e4: e0bffa17 ldw r2,-24(fp)
  19186. 506e8: 10800843 ldbu r2,33(r2)
  19187. 506ec: 14003fcc andi r16,r2,255
  19188. 506f0: e47ffa17 ldw r17,-24(fp)
  19189. 506f4: 014018c4 movi r5,99
  19190. 506f8: 1809883a mov r4,r3
  19191. 506fc: 004d3dc0 call 4d3dc <__mulsi3>
  19192. 50700: 8885883a add r2,r17,r2
  19193. 50704: 1405883a add r2,r2,r16
  19194. 50708: 10801004 addi r2,r2,64
  19195. 5070c: e0fff703 ldbu r3,-36(fp)
  19196. 50710: 10c00005 stb r3,0(r2)
  19197. sp->x++;
  19198. 50714: e0bffa17 ldw r2,-24(fp)
  19199. 50718: 10800843 ldbu r2,33(r2)
  19200. 5071c: 10800044 addi r2,r2,1
  19201. 50720: 1007883a mov r3,r2
  19202. 50724: e0bffa17 ldw r2,-24(fp)
  19203. 50728: 10c00845 stb r3,33(r2)
  19204. /* Tell the routine which is called off the timer interrupt that the
  19205. * foreground routines are active so it must not repaint the display. */
  19206. sp->active = 1;
  19207. for ( ; ptr < end ; ptr++)
  19208. 5072c: e0bffb17 ldw r2,-20(fp)
  19209. 50730: 10800044 addi r2,r2,1
  19210. 50734: e0bffb15 stw r2,-20(fp)
  19211. 50738: e0fffb17 ldw r3,-20(fp)
  19212. 5073c: e0bff617 ldw r2,-40(fp)
  19213. 50740: 18bf6236 bltu r3,r2,504cc <__alt_data_end+0xfffde4cc>
  19214. sp->x++;
  19215. }
  19216. }
  19217. /* Recalculate the scrolling parameters */
  19218. widthmax = ALT_LCD_WIDTH;
  19219. 50744: 00800404 movi r2,16
  19220. 50748: e0bff415 stw r2,-48(fp)
  19221. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  19222. 5074c: e03ff315 stw zero,-52(fp)
  19223. 50750: 00003d06 br 50848 <altera_avalon_lcd_16207_write+0x3c4>
  19224. {
  19225. int width;
  19226. for (width = ALT_LCD_VIRTUAL_WIDTH ; width > 0 ; width--)
  19227. 50754: 00801404 movi r2,80
  19228. 50758: e0bff515 stw r2,-44(fp)
  19229. 5075c: 00001306 br 507ac <altera_avalon_lcd_16207_write+0x328>
  19230. if (sp->line[y].data[width-1] != ' ')
  19231. 50760: e0bff517 ldw r2,-44(fp)
  19232. 50764: 143fffc4 addi r16,r2,-1
  19233. 50768: e47ffa17 ldw r17,-24(fp)
  19234. 5076c: e0bff317 ldw r2,-52(fp)
  19235. 50770: 014018c4 movi r5,99
  19236. 50774: 1009883a mov r4,r2
  19237. 50778: 004d3dc0 call 4d3dc <__mulsi3>
  19238. 5077c: 8885883a add r2,r17,r2
  19239. 50780: 1405883a add r2,r2,r16
  19240. 50784: 10801004 addi r2,r2,64
  19241. 50788: 10800003 ldbu r2,0(r2)
  19242. 5078c: 10803fcc andi r2,r2,255
  19243. 50790: 1080201c xori r2,r2,128
  19244. 50794: 10bfe004 addi r2,r2,-128
  19245. 50798: 10800820 cmpeqi r2,r2,32
  19246. 5079c: 10000626 beq r2,zero,507b8 <altera_avalon_lcd_16207_write+0x334>
  19247. /* Recalculate the scrolling parameters */
  19248. widthmax = ALT_LCD_WIDTH;
  19249. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  19250. {
  19251. int width;
  19252. for (width = ALT_LCD_VIRTUAL_WIDTH ; width > 0 ; width--)
  19253. 507a0: e0bff517 ldw r2,-44(fp)
  19254. 507a4: 10bfffc4 addi r2,r2,-1
  19255. 507a8: e0bff515 stw r2,-44(fp)
  19256. 507ac: e0bff517 ldw r2,-44(fp)
  19257. 507b0: 00bfeb16 blt zero,r2,50760 <__alt_data_end+0xfffde760>
  19258. 507b4: 00000106 br 507bc <altera_avalon_lcd_16207_write+0x338>
  19259. if (sp->line[y].data[width-1] != ' ')
  19260. break;
  19261. 507b8: 0001883a nop
  19262. /* The minimum width is the size of the LCD panel. If the real width
  19263. * is long enough to require scrolling then add an extra space so the
  19264. * end of the message doesn't run into the beginning of it.
  19265. */
  19266. if (width <= ALT_LCD_WIDTH)
  19267. 507bc: e0bff517 ldw r2,-44(fp)
  19268. 507c0: 10800448 cmpgei r2,r2,17
  19269. 507c4: 1000031e bne r2,zero,507d4 <altera_avalon_lcd_16207_write+0x350>
  19270. width = ALT_LCD_WIDTH;
  19271. 507c8: 00800404 movi r2,16
  19272. 507cc: e0bff515 stw r2,-44(fp)
  19273. 507d0: 00000306 br 507e0 <altera_avalon_lcd_16207_write+0x35c>
  19274. else
  19275. width++;
  19276. 507d4: e0bff517 ldw r2,-44(fp)
  19277. 507d8: 10800044 addi r2,r2,1
  19278. 507dc: e0bff515 stw r2,-44(fp)
  19279. sp->line[y].width = width;
  19280. 507e0: e0bff517 ldw r2,-44(fp)
  19281. 507e4: 1023883a mov r17,r2
  19282. 507e8: e43ffa17 ldw r16,-24(fp)
  19283. 507ec: e0bff317 ldw r2,-52(fp)
  19284. 507f0: 014018c4 movi r5,99
  19285. 507f4: 1009883a mov r4,r2
  19286. 507f8: 004d3dc0 call 4d3dc <__mulsi3>
  19287. 507fc: 8085883a add r2,r16,r2
  19288. 50800: 10802444 addi r2,r2,145
  19289. 50804: 14400005 stb r17,0(r2)
  19290. if (widthmax < width)
  19291. 50808: e0fff417 ldw r3,-48(fp)
  19292. 5080c: e0bff517 ldw r2,-44(fp)
  19293. 50810: 1880020e bge r3,r2,5081c <altera_avalon_lcd_16207_write+0x398>
  19294. widthmax = width;
  19295. 50814: e0bff517 ldw r2,-44(fp)
  19296. 50818: e0bff415 stw r2,-48(fp)
  19297. sp->line[y].speed = 0; /* By default lines don't scroll */
  19298. 5081c: e43ffa17 ldw r16,-24(fp)
  19299. 50820: e0bff317 ldw r2,-52(fp)
  19300. 50824: 014018c4 movi r5,99
  19301. 50828: 1009883a mov r4,r2
  19302. 5082c: 004d3dc0 call 4d3dc <__mulsi3>
  19303. 50830: 8085883a add r2,r16,r2
  19304. 50834: 10802484 addi r2,r2,146
  19305. 50838: 10000005 stb zero,0(r2)
  19306. }
  19307. }
  19308. /* Recalculate the scrolling parameters */
  19309. widthmax = ALT_LCD_WIDTH;
  19310. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  19311. 5083c: e0bff317 ldw r2,-52(fp)
  19312. 50840: 10800044 addi r2,r2,1
  19313. 50844: e0bff315 stw r2,-52(fp)
  19314. 50848: e0bff317 ldw r2,-52(fp)
  19315. 5084c: 10800090 cmplti r2,r2,2
  19316. 50850: 103fc01e bne r2,zero,50754 <__alt_data_end+0xfffde754>
  19317. if (widthmax < width)
  19318. widthmax = width;
  19319. sp->line[y].speed = 0; /* By default lines don't scroll */
  19320. }
  19321. if (widthmax <= ALT_LCD_WIDTH)
  19322. 50854: e0bff417 ldw r2,-48(fp)
  19323. 50858: 10800448 cmpgei r2,r2,17
  19324. 5085c: 1000031e bne r2,zero,5086c <altera_avalon_lcd_16207_write+0x3e8>
  19325. sp->scrollmax = 0;
  19326. 50860: e0bffa17 ldw r2,-24(fp)
  19327. 50864: 10000985 stb zero,38(r2)
  19328. 50868: 00003406 br 5093c <altera_avalon_lcd_16207_write+0x4b8>
  19329. else
  19330. {
  19331. widthmax *= 2;
  19332. 5086c: e0bff417 ldw r2,-48(fp)
  19333. 50870: 1085883a add r2,r2,r2
  19334. 50874: e0bff415 stw r2,-48(fp)
  19335. sp->scrollmax = widthmax;
  19336. 50878: e0bff417 ldw r2,-48(fp)
  19337. 5087c: 1007883a mov r3,r2
  19338. 50880: e0bffa17 ldw r2,-24(fp)
  19339. 50884: 10c00985 stb r3,38(r2)
  19340. /* Now calculate how fast each of the other lines should go */
  19341. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  19342. 50888: e03ff315 stw zero,-52(fp)
  19343. 5088c: 00002806 br 50930 <altera_avalon_lcd_16207_write+0x4ac>
  19344. if (sp->line[y].width > ALT_LCD_WIDTH)
  19345. 50890: e43ffa17 ldw r16,-24(fp)
  19346. 50894: e0bff317 ldw r2,-52(fp)
  19347. 50898: 014018c4 movi r5,99
  19348. 5089c: 1009883a mov r4,r2
  19349. 508a0: 004d3dc0 call 4d3dc <__mulsi3>
  19350. 508a4: 8085883a add r2,r16,r2
  19351. 508a8: 10802444 addi r2,r2,145
  19352. 508ac: 10800003 ldbu r2,0(r2)
  19353. 508b0: 10803fcc andi r2,r2,255
  19354. 508b4: 1080201c xori r2,r2,128
  19355. 508b8: 10bfe004 addi r2,r2,-128
  19356. 508bc: 10800450 cmplti r2,r2,17
  19357. 508c0: 1000181e bne r2,zero,50924 <altera_avalon_lcd_16207_write+0x4a0>
  19358. */
  19359. #if 1
  19360. /* This option makes all the lines scroll round at different speeds
  19361. * which are chosen so that all the scrolls finish at the same time.
  19362. */
  19363. sp->line[y].speed = 256 * sp->line[y].width / widthmax;
  19364. 508c4: e43ffa17 ldw r16,-24(fp)
  19365. 508c8: e0bff317 ldw r2,-52(fp)
  19366. 508cc: 014018c4 movi r5,99
  19367. 508d0: 1009883a mov r4,r2
  19368. 508d4: 004d3dc0 call 4d3dc <__mulsi3>
  19369. 508d8: 8085883a add r2,r16,r2
  19370. 508dc: 10802444 addi r2,r2,145
  19371. 508e0: 10800003 ldbu r2,0(r2)
  19372. 508e4: 10803fcc andi r2,r2,255
  19373. 508e8: 1080201c xori r2,r2,128
  19374. 508ec: 10bfe004 addi r2,r2,-128
  19375. 508f0: 1004923a slli r2,r2,8
  19376. 508f4: e17ff417 ldw r5,-48(fp)
  19377. 508f8: 1009883a mov r4,r2
  19378. 508fc: 004d2280 call 4d228 <__divsi3>
  19379. 50900: 1023883a mov r17,r2
  19380. 50904: e43ffa17 ldw r16,-24(fp)
  19381. 50908: e0bff317 ldw r2,-52(fp)
  19382. 5090c: 014018c4 movi r5,99
  19383. 50910: 1009883a mov r4,r2
  19384. 50914: 004d3dc0 call 4d3dc <__mulsi3>
  19385. 50918: 8085883a add r2,r16,r2
  19386. 5091c: 10802484 addi r2,r2,146
  19387. 50920: 14400005 stb r17,0(r2)
  19388. {
  19389. widthmax *= 2;
  19390. sp->scrollmax = widthmax;
  19391. /* Now calculate how fast each of the other lines should go */
  19392. for (y = 0 ; y < ALT_LCD_HEIGHT ; y++)
  19393. 50924: e0bff317 ldw r2,-52(fp)
  19394. 50928: 10800044 addi r2,r2,1
  19395. 5092c: e0bff315 stw r2,-52(fp)
  19396. 50930: e0bff317 ldw r2,-52(fp)
  19397. 50934: 10800090 cmplti r2,r2,2
  19398. 50938: 103fd51e bne r2,zero,50890 <__alt_data_end+0xfffde890>
  19399. * (because active was set when the timer interrupt occurred). If there
  19400. * has been a missed repaint then paint again. And again. etc.
  19401. */
  19402. for ( ; ; )
  19403. {
  19404. int old_scrollpos = sp->scrollpos;
  19405. 5093c: e0bffa17 ldw r2,-24(fp)
  19406. 50940: 10800943 ldbu r2,37(r2)
  19407. 50944: 10803fcc andi r2,r2,255
  19408. 50948: e0bff915 stw r2,-28(fp)
  19409. lcd_repaint_screen(sp);
  19410. 5094c: e13ffa17 ldw r4,-24(fp)
  19411. 50950: 004feb00 call 4feb0 <lcd_repaint_screen>
  19412. /* Let the timer routines repaint the display again */
  19413. sp->active = 0;
  19414. 50954: e0bffa17 ldw r2,-24(fp)
  19415. 50958: 100009c5 stb zero,39(r2)
  19416. /* Have the timer routines tried to scroll while we were painting?
  19417. * If not then we can exit */
  19418. if (sp->scrollpos == old_scrollpos)
  19419. 5095c: e0bffa17 ldw r2,-24(fp)
  19420. 50960: 10800943 ldbu r2,37(r2)
  19421. 50964: 10c03fcc andi r3,r2,255
  19422. 50968: e0bff917 ldw r2,-28(fp)
  19423. 5096c: 18800426 beq r3,r2,50980 <altera_avalon_lcd_16207_write+0x4fc>
  19424. break;
  19425. /* We need to repaint again since the display scrolled while we were
  19426. * painting last time */
  19427. sp->active = 1;
  19428. 50970: e0bffa17 ldw r2,-24(fp)
  19429. 50974: 00c00044 movi r3,1
  19430. 50978: 10c009c5 stb r3,39(r2)
  19431. }
  19432. 5097c: 003fef06 br 5093c <__alt_data_end+0xfffde93c>
  19433. sp->active = 0;
  19434. /* Have the timer routines tried to scroll while we were painting?
  19435. * If not then we can exit */
  19436. if (sp->scrollpos == old_scrollpos)
  19437. break;
  19438. 50980: 0001883a nop
  19439. * semaphore so that other threads can access the buffer.
  19440. */
  19441. ALT_SEM_POST (sp->write_lock);
  19442. return len;
  19443. 50984: e0bffc17 ldw r2,-16(fp)
  19444. }
  19445. 50988: e6fffe04 addi sp,fp,-8
  19446. 5098c: dfc00317 ldw ra,12(sp)
  19447. 50990: df000217 ldw fp,8(sp)
  19448. 50994: dc400117 ldw r17,4(sp)
  19449. 50998: dc000017 ldw r16,0(sp)
  19450. 5099c: dec00404 addi sp,sp,16
  19451. 509a0: f800283a ret
  19452. 000509a4 <alt_lcd_16207_timeout>:
  19453. /*
  19454. * Timeout routine is called every second
  19455. */
  19456. static alt_u32 alt_lcd_16207_timeout(void* context)
  19457. {
  19458. 509a4: defffc04 addi sp,sp,-16
  19459. 509a8: dfc00315 stw ra,12(sp)
  19460. 509ac: df000215 stw fp,8(sp)
  19461. 509b0: df000204 addi fp,sp,8
  19462. 509b4: e13fff15 stw r4,-4(fp)
  19463. altera_avalon_lcd_16207_state* sp = (altera_avalon_lcd_16207_state*)context;
  19464. 509b8: e0bfff17 ldw r2,-4(fp)
  19465. 509bc: e0bffe15 stw r2,-8(fp)
  19466. /* Update the scrolling position */
  19467. if (sp->scrollpos + 1 >= sp->scrollmax)
  19468. 509c0: e0bffe17 ldw r2,-8(fp)
  19469. 509c4: 10800943 ldbu r2,37(r2)
  19470. 509c8: 10803fcc andi r2,r2,255
  19471. 509cc: 10c00044 addi r3,r2,1
  19472. 509d0: e0bffe17 ldw r2,-8(fp)
  19473. 509d4: 10800983 ldbu r2,38(r2)
  19474. 509d8: 10803fcc andi r2,r2,255
  19475. 509dc: 18800316 blt r3,r2,509ec <alt_lcd_16207_timeout+0x48>
  19476. sp->scrollpos = 0;
  19477. 509e0: e0bffe17 ldw r2,-8(fp)
  19478. 509e4: 10000945 stb zero,37(r2)
  19479. 509e8: 00000606 br 50a04 <alt_lcd_16207_timeout+0x60>
  19480. else
  19481. sp->scrollpos = sp->scrollpos + 1;
  19482. 509ec: e0bffe17 ldw r2,-8(fp)
  19483. 509f0: 10800943 ldbu r2,37(r2)
  19484. 509f4: 10800044 addi r2,r2,1
  19485. 509f8: 1007883a mov r3,r2
  19486. 509fc: e0bffe17 ldw r2,-8(fp)
  19487. 50a00: 10c00945 stb r3,37(r2)
  19488. /* Repaint the panel unless the foreground will do it again soon */
  19489. if (sp->scrollmax > 0 && !sp->active)
  19490. 50a04: e0bffe17 ldw r2,-8(fp)
  19491. 50a08: 10800983 ldbu r2,38(r2)
  19492. 50a0c: 10803fcc andi r2,r2,255
  19493. 50a10: 10000826 beq r2,zero,50a34 <alt_lcd_16207_timeout+0x90>
  19494. 50a14: e0bffe17 ldw r2,-8(fp)
  19495. 50a18: 108009c3 ldbu r2,39(r2)
  19496. 50a1c: 10803fcc andi r2,r2,255
  19497. 50a20: 1080201c xori r2,r2,128
  19498. 50a24: 10bfe004 addi r2,r2,-128
  19499. 50a28: 1000021e bne r2,zero,50a34 <alt_lcd_16207_timeout+0x90>
  19500. lcd_repaint_screen(sp);
  19501. 50a2c: e13ffe17 ldw r4,-8(fp)
  19502. 50a30: 004feb00 call 4feb0 <lcd_repaint_screen>
  19503. return sp->period;
  19504. 50a34: e0bffe17 ldw r2,-8(fp)
  19505. 50a38: 10800717 ldw r2,28(r2)
  19506. }
  19507. 50a3c: e037883a mov sp,fp
  19508. 50a40: dfc00117 ldw ra,4(sp)
  19509. 50a44: df000017 ldw fp,0(sp)
  19510. 50a48: dec00204 addi sp,sp,8
  19511. 50a4c: f800283a ret
  19512. 00050a50 <altera_avalon_lcd_16207_init>:
  19513. /*
  19514. * Called at boot time to initialise the LCD driver
  19515. */
  19516. void altera_avalon_lcd_16207_init(altera_avalon_lcd_16207_state* sp)
  19517. {
  19518. 50a50: defffc04 addi sp,sp,-16
  19519. 50a54: dfc00315 stw ra,12(sp)
  19520. 50a58: df000215 stw fp,8(sp)
  19521. 50a5c: df000204 addi fp,sp,8
  19522. 50a60: e13fff15 stw r4,-4(fp)
  19523. unsigned int base = sp->base;
  19524. 50a64: e0bfff17 ldw r2,-4(fp)
  19525. 50a68: 10800017 ldw r2,0(r2)
  19526. 50a6c: e0bffe15 stw r2,-8(fp)
  19527. /* Mark the device as functional */
  19528. sp->broken = 0;
  19529. 50a70: e0bfff17 ldw r2,-4(fp)
  19530. 50a74: 10000805 stb zero,32(r2)
  19531. * the BUSY bit in the status register doesn't work until the display
  19532. * has been reset three times.
  19533. */
  19534. /* Wait for 15 ms then reset */
  19535. usleep(15000);
  19536. 50a78: 010ea604 movi r4,15000
  19537. 50a7c: 00517180 call 51718 <usleep>
  19538. IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT);
  19539. 50a80: e0bffe17 ldw r2,-8(fp)
  19540. 50a84: 00c00c04 movi r3,48
  19541. 50a88: 10c00035 stwio r3,0(r2)
  19542. /* Wait for another 4.1ms and reset again */
  19543. usleep(4100);
  19544. 50a8c: 01040104 movi r4,4100
  19545. 50a90: 00517180 call 51718 <usleep>
  19546. IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT);
  19547. 50a94: e0bffe17 ldw r2,-8(fp)
  19548. 50a98: 00c00c04 movi r3,48
  19549. 50a9c: 10c00035 stwio r3,0(r2)
  19550. /* Wait a further 1 ms and reset a third time */
  19551. usleep(1000);
  19552. 50aa0: 0100fa04 movi r4,1000
  19553. 50aa4: 00517180 call 51718 <usleep>
  19554. IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT);
  19555. 50aa8: e0bffe17 ldw r2,-8(fp)
  19556. 50aac: 00c00c04 movi r3,48
  19557. 50ab0: 10c00035 stwio r3,0(r2)
  19558. /* Setup interface parameters: 8 bit bus, 2 rows, 5x7 font */
  19559. lcd_write_command(sp, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT | LCD_CMD_TWO_LINE);
  19560. 50ab4: 01400e04 movi r5,56
  19561. 50ab8: e13fff17 ldw r4,-4(fp)
  19562. 50abc: 004fc380 call 4fc38 <lcd_write_command>
  19563. /* Turn display off */
  19564. lcd_write_command(sp, LCD_CMD_ONOFF);
  19565. 50ac0: 01400204 movi r5,8
  19566. 50ac4: e13fff17 ldw r4,-4(fp)
  19567. 50ac8: 004fc380 call 4fc38 <lcd_write_command>
  19568. /* Clear display */
  19569. lcd_clear_screen(sp);
  19570. 50acc: e13fff17 ldw r4,-4(fp)
  19571. 50ad0: 004fdc80 call 4fdc8 <lcd_clear_screen>
  19572. /* Set mode: increment after writing, don't shift display */
  19573. lcd_write_command(sp, LCD_CMD_MODES | LCD_CMD_MODE_INC);
  19574. 50ad4: 01400184 movi r5,6
  19575. 50ad8: e13fff17 ldw r4,-4(fp)
  19576. 50adc: 004fc380 call 4fc38 <lcd_write_command>
  19577. /* Turn display on */
  19578. lcd_write_command(sp, LCD_CMD_ONOFF | LCD_CMD_ENABLE_DISP);
  19579. 50ae0: 01400304 movi r5,12
  19580. 50ae4: e13fff17 ldw r4,-4(fp)
  19581. 50ae8: 004fc380 call 4fc38 <lcd_write_command>
  19582. sp->esccount = -1;
  19583. 50aec: e0bfff17 ldw r2,-4(fp)
  19584. 50af0: 00ffffc4 movi r3,-1
  19585. 50af4: 10c00905 stb r3,36(r2)
  19586. memset(sp->escape, 0, sizeof(sp->escape));
  19587. 50af8: e0bfff17 ldw r2,-4(fp)
  19588. 50afc: 10800a04 addi r2,r2,40
  19589. 50b00: 01800204 movi r6,8
  19590. 50b04: 000b883a mov r5,zero
  19591. 50b08: 1009883a mov r4,r2
  19592. 50b0c: 0048a980 call 48a98 <memset>
  19593. sp->scrollpos = 0;
  19594. 50b10: e0bfff17 ldw r2,-4(fp)
  19595. 50b14: 10000945 stb zero,37(r2)
  19596. sp->scrollmax = 0;
  19597. 50b18: e0bfff17 ldw r2,-4(fp)
  19598. 50b1c: 10000985 stb zero,38(r2)
  19599. sp->active = 0;
  19600. 50b20: e0bfff17 ldw r2,-4(fp)
  19601. 50b24: 100009c5 stb zero,39(r2)
  19602. 50b28: d0a72617 ldw r2,-25448(gp)
  19603. sp->period = alt_ticks_per_second() / 10; /* Call every 100ms */
  19604. 50b2c: 01400284 movi r5,10
  19605. 50b30: 1009883a mov r4,r2
  19606. 50b34: 004d3200 call 4d320 <__udivsi3>
  19607. 50b38: 1007883a mov r3,r2
  19608. 50b3c: e0bfff17 ldw r2,-4(fp)
  19609. 50b40: 10c00715 stw r3,28(r2)
  19610. alt_alarm_start(&sp->alarm, sp->period, &alt_lcd_16207_timeout, sp);
  19611. 50b44: e0bfff17 ldw r2,-4(fp)
  19612. 50b48: 10c00104 addi r3,r2,4
  19613. 50b4c: e0bfff17 ldw r2,-4(fp)
  19614. 50b50: 10800717 ldw r2,28(r2)
  19615. 50b54: e1ffff17 ldw r7,-4(fp)
  19616. 50b58: 01800174 movhi r6,5
  19617. 50b5c: 31826904 addi r6,r6,2468
  19618. 50b60: 100b883a mov r5,r2
  19619. 50b64: 1809883a mov r4,r3
  19620. 50b68: 0050be40 call 50be4 <alt_alarm_start>
  19621. }
  19622. 50b6c: 0001883a nop
  19623. 50b70: e037883a mov sp,fp
  19624. 50b74: dfc00117 ldw ra,4(sp)
  19625. 50b78: df000017 ldw fp,0(sp)
  19626. 50b7c: dec00204 addi sp,sp,8
  19627. 50b80: f800283a ret
  19628. 00050b84 <altera_avalon_lcd_16207_write_fd>:
  19629. extern int altera_avalon_lcd_16207_write(altera_avalon_lcd_16207_state* sp,
  19630. const char* ptr, int count, int flags);
  19631. int
  19632. altera_avalon_lcd_16207_write_fd(alt_fd* fd, const char* buffer, int space)
  19633. {
  19634. 50b84: defffa04 addi sp,sp,-24
  19635. 50b88: dfc00515 stw ra,20(sp)
  19636. 50b8c: df000415 stw fp,16(sp)
  19637. 50b90: df000404 addi fp,sp,16
  19638. 50b94: e13ffd15 stw r4,-12(fp)
  19639. 50b98: e17ffe15 stw r5,-8(fp)
  19640. 50b9c: e1bfff15 stw r6,-4(fp)
  19641. altera_avalon_lcd_16207_dev* dev = (altera_avalon_lcd_16207_dev*) fd->dev;
  19642. 50ba0: e0bffd17 ldw r2,-12(fp)
  19643. 50ba4: 10800017 ldw r2,0(r2)
  19644. 50ba8: e0bffc15 stw r2,-16(fp)
  19645. return altera_avalon_lcd_16207_write(&dev->state, buffer, space,
  19646. 50bac: e0bffc17 ldw r2,-16(fp)
  19647. 50bb0: 10c00a04 addi r3,r2,40
  19648. 50bb4: e0bffd17 ldw r2,-12(fp)
  19649. 50bb8: 10800217 ldw r2,8(r2)
  19650. 50bbc: 100f883a mov r7,r2
  19651. 50bc0: e1bfff17 ldw r6,-4(fp)
  19652. 50bc4: e17ffe17 ldw r5,-8(fp)
  19653. 50bc8: 1809883a mov r4,r3
  19654. 50bcc: 00504840 call 50484 <altera_avalon_lcd_16207_write>
  19655. fd->fd_flags);
  19656. }
  19657. 50bd0: e037883a mov sp,fp
  19658. 50bd4: dfc00117 ldw ra,4(sp)
  19659. 50bd8: df000017 ldw fp,0(sp)
  19660. 50bdc: dec00204 addi sp,sp,8
  19661. 50be0: f800283a ret
  19662. 00050be4 <alt_alarm_start>:
  19663. */
  19664. int alt_alarm_start (alt_alarm* alarm, alt_u32 nticks,
  19665. alt_u32 (*callback) (void* context),
  19666. void* context)
  19667. {
  19668. 50be4: defff504 addi sp,sp,-44
  19669. 50be8: df000a15 stw fp,40(sp)
  19670. 50bec: df000a04 addi fp,sp,40
  19671. 50bf0: e13ffc15 stw r4,-16(fp)
  19672. 50bf4: e17ffd15 stw r5,-12(fp)
  19673. 50bf8: e1bffe15 stw r6,-8(fp)
  19674. 50bfc: e1ffff15 stw r7,-4(fp)
  19675. alt_irq_context irq_context;
  19676. alt_u32 current_nticks = 0;
  19677. 50c00: e03ff615 stw zero,-40(fp)
  19678. 50c04: d0a72617 ldw r2,-25448(gp)
  19679. if (alt_ticks_per_second ())
  19680. 50c08: 10003c26 beq r2,zero,50cfc <alt_alarm_start+0x118>
  19681. {
  19682. if (alarm)
  19683. 50c0c: e0bffc17 ldw r2,-16(fp)
  19684. 50c10: 10003826 beq r2,zero,50cf4 <alt_alarm_start+0x110>
  19685. {
  19686. alarm->callback = callback;
  19687. 50c14: e0bffc17 ldw r2,-16(fp)
  19688. 50c18: e0fffe17 ldw r3,-8(fp)
  19689. 50c1c: 10c00315 stw r3,12(r2)
  19690. alarm->context = context;
  19691. 50c20: e0bffc17 ldw r2,-16(fp)
  19692. 50c24: e0ffff17 ldw r3,-4(fp)
  19693. 50c28: 10c00515 stw r3,20(r2)
  19694. static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
  19695. alt_irq_disable_all (void)
  19696. {
  19697. alt_irq_context context;
  19698. NIOS2_READ_STATUS (context);
  19699. 50c2c: 0005303a rdctl r2,status
  19700. 50c30: e0bff915 stw r2,-28(fp)
  19701. NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
  19702. 50c34: e0fff917 ldw r3,-28(fp)
  19703. 50c38: 00bfff84 movi r2,-2
  19704. 50c3c: 1884703a and r2,r3,r2
  19705. 50c40: 1001703a wrctl status,r2
  19706. return context;
  19707. 50c44: e0bff917 ldw r2,-28(fp)
  19708. irq_context = alt_irq_disable_all ();
  19709. 50c48: e0bff815 stw r2,-32(fp)
  19710. * alt_nticks() returns the elapsed number of system clock ticks since reset.
  19711. */
  19712. static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_nticks (void)
  19713. {
  19714. return _alt_nticks;
  19715. 50c4c: d0a72717 ldw r2,-25444(gp)
  19716. current_nticks = alt_nticks();
  19717. 50c50: e0bff615 stw r2,-40(fp)
  19718. alarm->time = nticks + current_nticks + 1;
  19719. 50c54: e0fffd17 ldw r3,-12(fp)
  19720. 50c58: e0bff617 ldw r2,-40(fp)
  19721. 50c5c: 1885883a add r2,r3,r2
  19722. 50c60: 10c00044 addi r3,r2,1
  19723. 50c64: e0bffc17 ldw r2,-16(fp)
  19724. 50c68: 10c00215 stw r3,8(r2)
  19725. /*
  19726. * If the desired alarm time causes a roll-over, set the rollover
  19727. * flag. This will prevent the subsequent tick event from causing
  19728. * an alarm too early.
  19729. */
  19730. if(alarm->time < current_nticks)
  19731. 50c6c: e0bffc17 ldw r2,-16(fp)
  19732. 50c70: 10c00217 ldw r3,8(r2)
  19733. 50c74: e0bff617 ldw r2,-40(fp)
  19734. 50c78: 1880042e bgeu r3,r2,50c8c <alt_alarm_start+0xa8>
  19735. {
  19736. alarm->rollover = 1;
  19737. 50c7c: e0bffc17 ldw r2,-16(fp)
  19738. 50c80: 00c00044 movi r3,1
  19739. 50c84: 10c00405 stb r3,16(r2)
  19740. 50c88: 00000206 br 50c94 <alt_alarm_start+0xb0>
  19741. }
  19742. else
  19743. {
  19744. alarm->rollover = 0;
  19745. 50c8c: e0bffc17 ldw r2,-16(fp)
  19746. 50c90: 10000405 stb zero,16(r2)
  19747. }
  19748. alt_llist_insert (&alt_alarm_list, &alarm->llist);
  19749. 50c94: e0bffc17 ldw r2,-16(fp)
  19750. 50c98: d0e00f04 addi r3,gp,-32708
  19751. 50c9c: e0fffa15 stw r3,-24(fp)
  19752. 50ca0: e0bffb15 stw r2,-20(fp)
  19753. */
  19754. static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list,
  19755. alt_llist* entry)
  19756. {
  19757. entry->previous = list;
  19758. 50ca4: e0bffb17 ldw r2,-20(fp)
  19759. 50ca8: e0fffa17 ldw r3,-24(fp)
  19760. 50cac: 10c00115 stw r3,4(r2)
  19761. entry->next = list->next;
  19762. 50cb0: e0bffa17 ldw r2,-24(fp)
  19763. 50cb4: 10c00017 ldw r3,0(r2)
  19764. 50cb8: e0bffb17 ldw r2,-20(fp)
  19765. 50cbc: 10c00015 stw r3,0(r2)
  19766. list->next->previous = entry;
  19767. 50cc0: e0bffa17 ldw r2,-24(fp)
  19768. 50cc4: 10800017 ldw r2,0(r2)
  19769. 50cc8: e0fffb17 ldw r3,-20(fp)
  19770. 50ccc: 10c00115 stw r3,4(r2)
  19771. list->next = entry;
  19772. 50cd0: e0bffa17 ldw r2,-24(fp)
  19773. 50cd4: e0fffb17 ldw r3,-20(fp)
  19774. 50cd8: 10c00015 stw r3,0(r2)
  19775. 50cdc: e0bff817 ldw r2,-32(fp)
  19776. 50ce0: e0bff715 stw r2,-36(fp)
  19777. status &= ~NIOS2_STATUS_PIE_MSK;
  19778. status |= (context & NIOS2_STATUS_PIE_MSK);
  19779. NIOS2_WRITE_STATUS (status);
  19780. #else
  19781. NIOS2_WRITE_STATUS (context);
  19782. 50ce4: e0bff717 ldw r2,-36(fp)
  19783. 50ce8: 1001703a wrctl status,r2
  19784. alt_irq_enable_all (irq_context);
  19785. return 0;
  19786. 50cec: 0005883a mov r2,zero
  19787. 50cf0: 00000306 br 50d00 <alt_alarm_start+0x11c>
  19788. }
  19789. else
  19790. {
  19791. return -EINVAL;
  19792. 50cf4: 00bffa84 movi r2,-22
  19793. 50cf8: 00000106 br 50d00 <alt_alarm_start+0x11c>
  19794. }
  19795. }
  19796. else
  19797. {
  19798. return -ENOTSUP;
  19799. 50cfc: 00bfde84 movi r2,-134
  19800. }
  19801. }
  19802. 50d00: e037883a mov sp,fp
  19803. 50d04: df000017 ldw fp,0(sp)
  19804. 50d08: dec00104 addi sp,sp,4
  19805. 50d0c: f800283a ret
  19806. 00050d10 <alt_dcache_flush_all>:
  19807. /*
  19808. * alt_dcache_flush_all() is called to flush the entire data cache.
  19809. */
  19810. void alt_dcache_flush_all (void)
  19811. {
  19812. 50d10: deffff04 addi sp,sp,-4
  19813. 50d14: df000015 stw fp,0(sp)
  19814. 50d18: d839883a mov fp,sp
  19815. for (i = (char*) 0; i < (char*) NIOS2_DCACHE_SIZE; i+= NIOS2_DCACHE_LINE_SIZE)
  19816. {
  19817. __asm__ volatile ("flushd (%0)" :: "r" (i));
  19818. }
  19819. #endif /* NIOS2_DCACHE_SIZE > 0 */
  19820. }
  19821. 50d1c: 0001883a nop
  19822. 50d20: e037883a mov sp,fp
  19823. 50d24: df000017 ldw fp,0(sp)
  19824. 50d28: dec00104 addi sp,sp,4
  19825. 50d2c: f800283a ret
  19826. 00050d30 <alt_get_errno>:
  19827. #undef errno
  19828. extern int errno;
  19829. static ALT_INLINE int* alt_get_errno(void)
  19830. {
  19831. 50d30: defffe04 addi sp,sp,-8
  19832. 50d34: dfc00115 stw ra,4(sp)
  19833. 50d38: df000015 stw fp,0(sp)
  19834. 50d3c: d839883a mov fp,sp
  19835. return ((alt_errno) ? alt_errno() : &errno);
  19836. 50d40: d0a00b17 ldw r2,-32724(gp)
  19837. 50d44: 10000326 beq r2,zero,50d54 <alt_get_errno+0x24>
  19838. 50d48: d0a00b17 ldw r2,-32724(gp)
  19839. 50d4c: 103ee83a callr r2
  19840. 50d50: 00000106 br 50d58 <alt_get_errno+0x28>
  19841. 50d54: d0a72104 addi r2,gp,-25468
  19842. }
  19843. 50d58: e037883a mov sp,fp
  19844. 50d5c: dfc00117 ldw ra,4(sp)
  19845. 50d60: df000017 ldw fp,0(sp)
  19846. 50d64: dec00204 addi sp,sp,8
  19847. 50d68: f800283a ret
  19848. 00050d6c <alt_dev_llist_insert>:
  19849. /*
  19850. *
  19851. */
  19852. int alt_dev_llist_insert (alt_dev_llist* dev, alt_llist* list)
  19853. {
  19854. 50d6c: defffa04 addi sp,sp,-24
  19855. 50d70: dfc00515 stw ra,20(sp)
  19856. 50d74: df000415 stw fp,16(sp)
  19857. 50d78: df000404 addi fp,sp,16
  19858. 50d7c: e13ffe15 stw r4,-8(fp)
  19859. 50d80: e17fff15 stw r5,-4(fp)
  19860. /*
  19861. * check that the device exists, and that it has a valid name.
  19862. */
  19863. if (!dev || !dev->name)
  19864. 50d84: e0bffe17 ldw r2,-8(fp)
  19865. 50d88: 10000326 beq r2,zero,50d98 <alt_dev_llist_insert+0x2c>
  19866. 50d8c: e0bffe17 ldw r2,-8(fp)
  19867. 50d90: 10800217 ldw r2,8(r2)
  19868. 50d94: 1000061e bne r2,zero,50db0 <alt_dev_llist_insert+0x44>
  19869. {
  19870. ALT_ERRNO = EINVAL;
  19871. 50d98: 0050d300 call 50d30 <alt_get_errno>
  19872. 50d9c: 1007883a mov r3,r2
  19873. 50da0: 00800584 movi r2,22
  19874. 50da4: 18800015 stw r2,0(r3)
  19875. return -EINVAL;
  19876. 50da8: 00bffa84 movi r2,-22
  19877. 50dac: 00001306 br 50dfc <alt_dev_llist_insert+0x90>
  19878. /*
  19879. * register the device.
  19880. */
  19881. alt_llist_insert(list, &dev->llist);
  19882. 50db0: e0bffe17 ldw r2,-8(fp)
  19883. 50db4: e0ffff17 ldw r3,-4(fp)
  19884. 50db8: e0fffc15 stw r3,-16(fp)
  19885. 50dbc: e0bffd15 stw r2,-12(fp)
  19886. */
  19887. static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list,
  19888. alt_llist* entry)
  19889. {
  19890. entry->previous = list;
  19891. 50dc0: e0bffd17 ldw r2,-12(fp)
  19892. 50dc4: e0fffc17 ldw r3,-16(fp)
  19893. 50dc8: 10c00115 stw r3,4(r2)
  19894. entry->next = list->next;
  19895. 50dcc: e0bffc17 ldw r2,-16(fp)
  19896. 50dd0: 10c00017 ldw r3,0(r2)
  19897. 50dd4: e0bffd17 ldw r2,-12(fp)
  19898. 50dd8: 10c00015 stw r3,0(r2)
  19899. list->next->previous = entry;
  19900. 50ddc: e0bffc17 ldw r2,-16(fp)
  19901. 50de0: 10800017 ldw r2,0(r2)
  19902. 50de4: e0fffd17 ldw r3,-12(fp)
  19903. 50de8: 10c00115 stw r3,4(r2)
  19904. list->next = entry;
  19905. 50dec: e0bffc17 ldw r2,-16(fp)
  19906. 50df0: e0fffd17 ldw r3,-12(fp)
  19907. 50df4: 10c00015 stw r3,0(r2)
  19908. return 0;
  19909. 50df8: 0005883a mov r2,zero
  19910. }
  19911. 50dfc: e037883a mov sp,fp
  19912. 50e00: dfc00117 ldw ra,4(sp)
  19913. 50e04: df000017 ldw fp,0(sp)
  19914. 50e08: dec00204 addi sp,sp,8
  19915. 50e0c: f800283a ret
  19916. 00050e10 <_do_ctors>:
  19917. /*
  19918. * Run the C++ static constructors.
  19919. */
  19920. void _do_ctors(void)
  19921. {
  19922. 50e10: defffd04 addi sp,sp,-12
  19923. 50e14: dfc00215 stw ra,8(sp)
  19924. 50e18: df000115 stw fp,4(sp)
  19925. 50e1c: df000104 addi fp,sp,4
  19926. constructor* ctor;
  19927. for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--)
  19928. 50e20: 00800174 movhi r2,5
  19929. 50e24: 1087d304 addi r2,r2,8012
  19930. 50e28: e0bfff15 stw r2,-4(fp)
  19931. 50e2c: 00000606 br 50e48 <_do_ctors+0x38>
  19932. (*ctor) ();
  19933. 50e30: e0bfff17 ldw r2,-4(fp)
  19934. 50e34: 10800017 ldw r2,0(r2)
  19935. 50e38: 103ee83a callr r2
  19936. void _do_ctors(void)
  19937. {
  19938. constructor* ctor;
  19939. for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--)
  19940. 50e3c: e0bfff17 ldw r2,-4(fp)
  19941. 50e40: 10bfff04 addi r2,r2,-4
  19942. 50e44: e0bfff15 stw r2,-4(fp)
  19943. 50e48: e0ffff17 ldw r3,-4(fp)
  19944. 50e4c: 00800174 movhi r2,5
  19945. 50e50: 1087d404 addi r2,r2,8016
  19946. 50e54: 18bff62e bgeu r3,r2,50e30 <__alt_data_end+0xfffdee30>
  19947. (*ctor) ();
  19948. }
  19949. 50e58: 0001883a nop
  19950. 50e5c: e037883a mov sp,fp
  19951. 50e60: dfc00117 ldw ra,4(sp)
  19952. 50e64: df000017 ldw fp,0(sp)
  19953. 50e68: dec00204 addi sp,sp,8
  19954. 50e6c: f800283a ret
  19955. 00050e70 <_do_dtors>:
  19956. /*
  19957. * Run the C++ static destructors.
  19958. */
  19959. void _do_dtors(void)
  19960. {
  19961. 50e70: defffd04 addi sp,sp,-12
  19962. 50e74: dfc00215 stw ra,8(sp)
  19963. 50e78: df000115 stw fp,4(sp)
  19964. 50e7c: df000104 addi fp,sp,4
  19965. destructor* dtor;
  19966. for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--)
  19967. 50e80: 00800174 movhi r2,5
  19968. 50e84: 1087d304 addi r2,r2,8012
  19969. 50e88: e0bfff15 stw r2,-4(fp)
  19970. 50e8c: 00000606 br 50ea8 <_do_dtors+0x38>
  19971. (*dtor) ();
  19972. 50e90: e0bfff17 ldw r2,-4(fp)
  19973. 50e94: 10800017 ldw r2,0(r2)
  19974. 50e98: 103ee83a callr r2
  19975. void _do_dtors(void)
  19976. {
  19977. destructor* dtor;
  19978. for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--)
  19979. 50e9c: e0bfff17 ldw r2,-4(fp)
  19980. 50ea0: 10bfff04 addi r2,r2,-4
  19981. 50ea4: e0bfff15 stw r2,-4(fp)
  19982. 50ea8: e0ffff17 ldw r3,-4(fp)
  19983. 50eac: 00800174 movhi r2,5
  19984. 50eb0: 1087d404 addi r2,r2,8016
  19985. 50eb4: 18bff62e bgeu r3,r2,50e90 <__alt_data_end+0xfffdee90>
  19986. (*dtor) ();
  19987. }
  19988. 50eb8: 0001883a nop
  19989. 50ebc: e037883a mov sp,fp
  19990. 50ec0: dfc00117 ldw ra,4(sp)
  19991. 50ec4: df000017 ldw fp,0(sp)
  19992. 50ec8: dec00204 addi sp,sp,8
  19993. 50ecc: f800283a ret
  19994. 00050ed0 <alt_icache_flush_all>:
  19995. /*
  19996. * alt_icache_flush_all() is called to flush the entire instruction cache.
  19997. */
  19998. void alt_icache_flush_all (void)
  19999. {
  20000. 50ed0: deffff04 addi sp,sp,-4
  20001. 50ed4: df000015 stw fp,0(sp)
  20002. 50ed8: d839883a mov fp,sp
  20003. #if NIOS2_ICACHE_SIZE > 0
  20004. alt_icache_flush (0, NIOS2_ICACHE_SIZE);
  20005. #endif
  20006. }
  20007. 50edc: 0001883a nop
  20008. 50ee0: e037883a mov sp,fp
  20009. 50ee4: df000017 ldw fp,0(sp)
  20010. 50ee8: dec00104 addi sp,sp,4
  20011. 50eec: f800283a ret
  20012. 00050ef0 <alt_ic_isr_register>:
  20013. * @param irq IRQ number
  20014. * @return 0 if successful, else error (-1)
  20015. */
  20016. int alt_ic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr,
  20017. void *isr_context, void *flags)
  20018. {
  20019. 50ef0: defff904 addi sp,sp,-28
  20020. 50ef4: dfc00615 stw ra,24(sp)
  20021. 50ef8: df000515 stw fp,20(sp)
  20022. 50efc: df000504 addi fp,sp,20
  20023. 50f00: e13ffc15 stw r4,-16(fp)
  20024. 50f04: e17ffd15 stw r5,-12(fp)
  20025. 50f08: e1bffe15 stw r6,-8(fp)
  20026. 50f0c: e1ffff15 stw r7,-4(fp)
  20027. return alt_iic_isr_register(ic_id, irq, isr, isr_context, flags);
  20028. 50f10: e0800217 ldw r2,8(fp)
  20029. 50f14: d8800015 stw r2,0(sp)
  20030. 50f18: e1ffff17 ldw r7,-4(fp)
  20031. 50f1c: e1bffe17 ldw r6,-8(fp)
  20032. 50f20: e17ffd17 ldw r5,-12(fp)
  20033. 50f24: e13ffc17 ldw r4,-16(fp)
  20034. 50f28: 00510a00 call 510a0 <alt_iic_isr_register>
  20035. }
  20036. 50f2c: e037883a mov sp,fp
  20037. 50f30: dfc00117 ldw ra,4(sp)
  20038. 50f34: df000017 ldw fp,0(sp)
  20039. 50f38: dec00204 addi sp,sp,8
  20040. 50f3c: f800283a ret
  20041. 00050f40 <alt_ic_irq_enable>:
  20042. * @param ic_id Ignored.
  20043. * @param irq IRQ number
  20044. * @return 0 if successful, else error (-1)
  20045. */
  20046. int alt_ic_irq_enable (alt_u32 ic_id, alt_u32 irq)
  20047. {
  20048. 50f40: defff904 addi sp,sp,-28
  20049. 50f44: df000615 stw fp,24(sp)
  20050. 50f48: df000604 addi fp,sp,24
  20051. 50f4c: e13ffe15 stw r4,-8(fp)
  20052. 50f50: e17fff15 stw r5,-4(fp)
  20053. 50f54: e0bfff17 ldw r2,-4(fp)
  20054. 50f58: e0bffa15 stw r2,-24(fp)
  20055. static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
  20056. alt_irq_disable_all (void)
  20057. {
  20058. alt_irq_context context;
  20059. NIOS2_READ_STATUS (context);
  20060. 50f5c: 0005303a rdctl r2,status
  20061. 50f60: e0bffb15 stw r2,-20(fp)
  20062. NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
  20063. 50f64: e0fffb17 ldw r3,-20(fp)
  20064. 50f68: 00bfff84 movi r2,-2
  20065. 50f6c: 1884703a and r2,r3,r2
  20066. 50f70: 1001703a wrctl status,r2
  20067. return context;
  20068. 50f74: e0bffb17 ldw r2,-20(fp)
  20069. static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_enable (alt_u32 id)
  20070. {
  20071. alt_irq_context status;
  20072. extern volatile alt_u32 alt_irq_active;
  20073. status = alt_irq_disable_all ();
  20074. 50f78: e0bffc15 stw r2,-16(fp)
  20075. alt_irq_active |= (1 << id);
  20076. 50f7c: 00c00044 movi r3,1
  20077. 50f80: e0bffa17 ldw r2,-24(fp)
  20078. 50f84: 1884983a sll r2,r3,r2
  20079. 50f88: 1007883a mov r3,r2
  20080. 50f8c: d0a72517 ldw r2,-25452(gp)
  20081. 50f90: 1884b03a or r2,r3,r2
  20082. 50f94: d0a72515 stw r2,-25452(gp)
  20083. NIOS2_WRITE_IENABLE (alt_irq_active);
  20084. 50f98: d0a72517 ldw r2,-25452(gp)
  20085. 50f9c: 100170fa wrctl ienable,r2
  20086. 50fa0: e0bffc17 ldw r2,-16(fp)
  20087. 50fa4: e0bffd15 stw r2,-12(fp)
  20088. status &= ~NIOS2_STATUS_PIE_MSK;
  20089. status |= (context & NIOS2_STATUS_PIE_MSK);
  20090. NIOS2_WRITE_STATUS (status);
  20091. #else
  20092. NIOS2_WRITE_STATUS (context);
  20093. 50fa8: e0bffd17 ldw r2,-12(fp)
  20094. 50fac: 1001703a wrctl status,r2
  20095. alt_irq_enable_all(status);
  20096. return 0;
  20097. 50fb0: 0005883a mov r2,zero
  20098. return alt_irq_enable(irq);
  20099. 50fb4: 0001883a nop
  20100. }
  20101. 50fb8: e037883a mov sp,fp
  20102. 50fbc: df000017 ldw fp,0(sp)
  20103. 50fc0: dec00104 addi sp,sp,4
  20104. 50fc4: f800283a ret
  20105. 00050fc8 <alt_ic_irq_disable>:
  20106. * @param ic_id Ignored.
  20107. * @param irq IRQ number
  20108. * @return 0 if successful, else error (-1)
  20109. */
  20110. int alt_ic_irq_disable(alt_u32 ic_id, alt_u32 irq)
  20111. {
  20112. 50fc8: defff904 addi sp,sp,-28
  20113. 50fcc: df000615 stw fp,24(sp)
  20114. 50fd0: df000604 addi fp,sp,24
  20115. 50fd4: e13ffe15 stw r4,-8(fp)
  20116. 50fd8: e17fff15 stw r5,-4(fp)
  20117. 50fdc: e0bfff17 ldw r2,-4(fp)
  20118. 50fe0: e0bffa15 stw r2,-24(fp)
  20119. static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
  20120. alt_irq_disable_all (void)
  20121. {
  20122. alt_irq_context context;
  20123. NIOS2_READ_STATUS (context);
  20124. 50fe4: 0005303a rdctl r2,status
  20125. 50fe8: e0bffb15 stw r2,-20(fp)
  20126. NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
  20127. 50fec: e0fffb17 ldw r3,-20(fp)
  20128. 50ff0: 00bfff84 movi r2,-2
  20129. 50ff4: 1884703a and r2,r3,r2
  20130. 50ff8: 1001703a wrctl status,r2
  20131. return context;
  20132. 50ffc: e0bffb17 ldw r2,-20(fp)
  20133. static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_disable (alt_u32 id)
  20134. {
  20135. alt_irq_context status;
  20136. extern volatile alt_u32 alt_irq_active;
  20137. status = alt_irq_disable_all ();
  20138. 51000: e0bffc15 stw r2,-16(fp)
  20139. alt_irq_active &= ~(1 << id);
  20140. 51004: 00c00044 movi r3,1
  20141. 51008: e0bffa17 ldw r2,-24(fp)
  20142. 5100c: 1884983a sll r2,r3,r2
  20143. 51010: 0084303a nor r2,zero,r2
  20144. 51014: 1007883a mov r3,r2
  20145. 51018: d0a72517 ldw r2,-25452(gp)
  20146. 5101c: 1884703a and r2,r3,r2
  20147. 51020: d0a72515 stw r2,-25452(gp)
  20148. NIOS2_WRITE_IENABLE (alt_irq_active);
  20149. 51024: d0a72517 ldw r2,-25452(gp)
  20150. 51028: 100170fa wrctl ienable,r2
  20151. 5102c: e0bffc17 ldw r2,-16(fp)
  20152. 51030: e0bffd15 stw r2,-12(fp)
  20153. status &= ~NIOS2_STATUS_PIE_MSK;
  20154. status |= (context & NIOS2_STATUS_PIE_MSK);
  20155. NIOS2_WRITE_STATUS (status);
  20156. #else
  20157. NIOS2_WRITE_STATUS (context);
  20158. 51034: e0bffd17 ldw r2,-12(fp)
  20159. 51038: 1001703a wrctl status,r2
  20160. alt_irq_enable_all(status);
  20161. return 0;
  20162. 5103c: 0005883a mov r2,zero
  20163. return alt_irq_disable(irq);
  20164. 51040: 0001883a nop
  20165. }
  20166. 51044: e037883a mov sp,fp
  20167. 51048: df000017 ldw fp,0(sp)
  20168. 5104c: dec00104 addi sp,sp,4
  20169. 51050: f800283a ret
  20170. 00051054 <alt_ic_irq_enabled>:
  20171. * @param irq IRQ number
  20172. * @return Zero if corresponding interrupt is disabled and
  20173. * non-zero otherwise.
  20174. */
  20175. alt_u32 alt_ic_irq_enabled(alt_u32 ic_id, alt_u32 irq)
  20176. {
  20177. 51054: defffc04 addi sp,sp,-16
  20178. 51058: df000315 stw fp,12(sp)
  20179. 5105c: df000304 addi fp,sp,12
  20180. 51060: e13ffe15 stw r4,-8(fp)
  20181. 51064: e17fff15 stw r5,-4(fp)
  20182. alt_u32 irq_enabled;
  20183. NIOS2_READ_IENABLE(irq_enabled);
  20184. 51068: 000530fa rdctl r2,ienable
  20185. 5106c: e0bffd15 stw r2,-12(fp)
  20186. return (irq_enabled & (1 << irq)) ? 1: 0;
  20187. 51070: 00c00044 movi r3,1
  20188. 51074: e0bfff17 ldw r2,-4(fp)
  20189. 51078: 1884983a sll r2,r3,r2
  20190. 5107c: 1007883a mov r3,r2
  20191. 51080: e0bffd17 ldw r2,-12(fp)
  20192. 51084: 1884703a and r2,r3,r2
  20193. 51088: 1004c03a cmpne r2,r2,zero
  20194. 5108c: 10803fcc andi r2,r2,255
  20195. }
  20196. 51090: e037883a mov sp,fp
  20197. 51094: df000017 ldw fp,0(sp)
  20198. 51098: dec00104 addi sp,sp,4
  20199. 5109c: f800283a ret
  20200. 000510a0 <alt_iic_isr_register>:
  20201. * @param flags
  20202. * @return 0 if successful, else error (-1)
  20203. */
  20204. int alt_iic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr,
  20205. void *isr_context, void *flags)
  20206. {
  20207. 510a0: defff504 addi sp,sp,-44
  20208. 510a4: dfc00a15 stw ra,40(sp)
  20209. 510a8: df000915 stw fp,36(sp)
  20210. 510ac: df000904 addi fp,sp,36
  20211. 510b0: e13ffc15 stw r4,-16(fp)
  20212. 510b4: e17ffd15 stw r5,-12(fp)
  20213. 510b8: e1bffe15 stw r6,-8(fp)
  20214. 510bc: e1ffff15 stw r7,-4(fp)
  20215. int rc = -EINVAL;
  20216. 510c0: 00bffa84 movi r2,-22
  20217. 510c4: e0bff715 stw r2,-36(fp)
  20218. int id = irq; /* IRQ interpreted as the interrupt ID. */
  20219. 510c8: e0bffd17 ldw r2,-12(fp)
  20220. 510cc: e0bff815 stw r2,-32(fp)
  20221. alt_irq_context status;
  20222. if (id < ALT_NIRQ)
  20223. 510d0: e0bff817 ldw r2,-32(fp)
  20224. 510d4: 10800808 cmpgei r2,r2,32
  20225. 510d8: 1000271e bne r2,zero,51178 <alt_iic_isr_register+0xd8>
  20226. static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
  20227. alt_irq_disable_all (void)
  20228. {
  20229. alt_irq_context context;
  20230. NIOS2_READ_STATUS (context);
  20231. 510dc: 0005303a rdctl r2,status
  20232. 510e0: e0bffb15 stw r2,-20(fp)
  20233. NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
  20234. 510e4: e0fffb17 ldw r3,-20(fp)
  20235. 510e8: 00bfff84 movi r2,-2
  20236. 510ec: 1884703a and r2,r3,r2
  20237. 510f0: 1001703a wrctl status,r2
  20238. return context;
  20239. 510f4: e0bffb17 ldw r2,-20(fp)
  20240. * interrupts are disabled while the handler tables are updated to ensure
  20241. * that an interrupt doesn't occur while the tables are in an inconsistant
  20242. * state.
  20243. */
  20244. status = alt_irq_disable_all();
  20245. 510f8: e0bffa15 stw r2,-24(fp)
  20246. alt_irq[id].handler = isr;
  20247. 510fc: 00800174 movhi r2,5
  20248. 51100: 10979104 addi r2,r2,24132
  20249. 51104: e0fff817 ldw r3,-32(fp)
  20250. 51108: 180690fa slli r3,r3,3
  20251. 5110c: 10c5883a add r2,r2,r3
  20252. 51110: e0fffe17 ldw r3,-8(fp)
  20253. 51114: 10c00015 stw r3,0(r2)
  20254. alt_irq[id].context = isr_context;
  20255. 51118: 00800174 movhi r2,5
  20256. 5111c: 10979104 addi r2,r2,24132
  20257. 51120: e0fff817 ldw r3,-32(fp)
  20258. 51124: 180690fa slli r3,r3,3
  20259. 51128: 10c5883a add r2,r2,r3
  20260. 5112c: 10800104 addi r2,r2,4
  20261. 51130: e0ffff17 ldw r3,-4(fp)
  20262. 51134: 10c00015 stw r3,0(r2)
  20263. rc = (isr) ? alt_ic_irq_enable(ic_id, id) : alt_ic_irq_disable(ic_id, id);
  20264. 51138: e0bffe17 ldw r2,-8(fp)
  20265. 5113c: 10000526 beq r2,zero,51154 <alt_iic_isr_register+0xb4>
  20266. 51140: e0bff817 ldw r2,-32(fp)
  20267. 51144: 100b883a mov r5,r2
  20268. 51148: e13ffc17 ldw r4,-16(fp)
  20269. 5114c: 0050f400 call 50f40 <alt_ic_irq_enable>
  20270. 51150: 00000406 br 51164 <alt_iic_isr_register+0xc4>
  20271. 51154: e0bff817 ldw r2,-32(fp)
  20272. 51158: 100b883a mov r5,r2
  20273. 5115c: e13ffc17 ldw r4,-16(fp)
  20274. 51160: 0050fc80 call 50fc8 <alt_ic_irq_disable>
  20275. 51164: e0bff715 stw r2,-36(fp)
  20276. 51168: e0bffa17 ldw r2,-24(fp)
  20277. 5116c: e0bff915 stw r2,-28(fp)
  20278. status &= ~NIOS2_STATUS_PIE_MSK;
  20279. status |= (context & NIOS2_STATUS_PIE_MSK);
  20280. NIOS2_WRITE_STATUS (status);
  20281. #else
  20282. NIOS2_WRITE_STATUS (context);
  20283. 51170: e0bff917 ldw r2,-28(fp)
  20284. 51174: 1001703a wrctl status,r2
  20285. alt_irq_enable_all(status);
  20286. }
  20287. return rc;
  20288. 51178: e0bff717 ldw r2,-36(fp)
  20289. }
  20290. 5117c: e037883a mov sp,fp
  20291. 51180: dfc00117 ldw ra,4(sp)
  20292. 51184: df000017 ldw fp,0(sp)
  20293. 51188: dec00204 addi sp,sp,8
  20294. 5118c: f800283a ret
  20295. 00051190 <alt_open_fd>:
  20296. * If the device can not be succesfully opened, then the input file descriptor
  20297. * remains unchanged.
  20298. */
  20299. static void alt_open_fd(alt_fd* fd, const char* name, int flags, int mode)
  20300. {
  20301. 51190: defff804 addi sp,sp,-32
  20302. 51194: dfc00715 stw ra,28(sp)
  20303. 51198: df000615 stw fp,24(sp)
  20304. 5119c: dc000515 stw r16,20(sp)
  20305. 511a0: df000604 addi fp,sp,24
  20306. 511a4: e13ffb15 stw r4,-20(fp)
  20307. 511a8: e17ffc15 stw r5,-16(fp)
  20308. 511ac: e1bffd15 stw r6,-12(fp)
  20309. 511b0: e1fffe15 stw r7,-8(fp)
  20310. int old;
  20311. old = open (name, flags, mode);
  20312. 511b4: e1bffe17 ldw r6,-8(fp)
  20313. 511b8: e17ffd17 ldw r5,-12(fp)
  20314. 511bc: e13ffc17 ldw r4,-16(fp)
  20315. 511c0: 00514180 call 51418 <open>
  20316. 511c4: e0bffa15 stw r2,-24(fp)
  20317. if (old >= 0)
  20318. 511c8: e0bffa17 ldw r2,-24(fp)
  20319. 511cc: 10002216 blt r2,zero,51258 <alt_open_fd+0xc8>
  20320. {
  20321. fd->dev = alt_fd_list[old].dev;
  20322. 511d0: 04000174 movhi r16,5
  20323. 511d4: 840b9204 addi r16,r16,11848
  20324. 511d8: e0bffa17 ldw r2,-24(fp)
  20325. 511dc: 01400304 movi r5,12
  20326. 511e0: 1009883a mov r4,r2
  20327. 511e4: 004d3dc0 call 4d3dc <__mulsi3>
  20328. 511e8: 8085883a add r2,r16,r2
  20329. 511ec: 10c00017 ldw r3,0(r2)
  20330. 511f0: e0bffb17 ldw r2,-20(fp)
  20331. 511f4: 10c00015 stw r3,0(r2)
  20332. fd->priv = alt_fd_list[old].priv;
  20333. 511f8: 04000174 movhi r16,5
  20334. 511fc: 840b9204 addi r16,r16,11848
  20335. 51200: e0bffa17 ldw r2,-24(fp)
  20336. 51204: 01400304 movi r5,12
  20337. 51208: 1009883a mov r4,r2
  20338. 5120c: 004d3dc0 call 4d3dc <__mulsi3>
  20339. 51210: 8085883a add r2,r16,r2
  20340. 51214: 10800104 addi r2,r2,4
  20341. 51218: 10c00017 ldw r3,0(r2)
  20342. 5121c: e0bffb17 ldw r2,-20(fp)
  20343. 51220: 10c00115 stw r3,4(r2)
  20344. fd->fd_flags = alt_fd_list[old].fd_flags;
  20345. 51224: 04000174 movhi r16,5
  20346. 51228: 840b9204 addi r16,r16,11848
  20347. 5122c: e0bffa17 ldw r2,-24(fp)
  20348. 51230: 01400304 movi r5,12
  20349. 51234: 1009883a mov r4,r2
  20350. 51238: 004d3dc0 call 4d3dc <__mulsi3>
  20351. 5123c: 8085883a add r2,r16,r2
  20352. 51240: 10800204 addi r2,r2,8
  20353. 51244: 10c00017 ldw r3,0(r2)
  20354. 51248: e0bffb17 ldw r2,-20(fp)
  20355. 5124c: 10c00215 stw r3,8(r2)
  20356. alt_release_fd (old);
  20357. 51250: e13ffa17 ldw r4,-24(fp)
  20358. 51254: 004ee940 call 4ee94 <alt_release_fd>
  20359. }
  20360. }
  20361. 51258: 0001883a nop
  20362. 5125c: e6ffff04 addi sp,fp,-4
  20363. 51260: dfc00217 ldw ra,8(sp)
  20364. 51264: df000117 ldw fp,4(sp)
  20365. 51268: dc000017 ldw r16,0(sp)
  20366. 5126c: dec00304 addi sp,sp,12
  20367. 51270: f800283a ret
  20368. 00051274 <alt_io_redirect>:
  20369. */
  20370. void alt_io_redirect(const char* stdout_dev,
  20371. const char* stdin_dev,
  20372. const char* stderr_dev)
  20373. {
  20374. 51274: defffb04 addi sp,sp,-20
  20375. 51278: dfc00415 stw ra,16(sp)
  20376. 5127c: df000315 stw fp,12(sp)
  20377. 51280: df000304 addi fp,sp,12
  20378. 51284: e13ffd15 stw r4,-12(fp)
  20379. 51288: e17ffe15 stw r5,-8(fp)
  20380. 5128c: e1bfff15 stw r6,-4(fp)
  20381. /* Redirect the channels */
  20382. alt_open_fd (&alt_fd_list[STDOUT_FILENO], stdout_dev, O_WRONLY, 0777);
  20383. 51290: 01c07fc4 movi r7,511
  20384. 51294: 01800044 movi r6,1
  20385. 51298: e17ffd17 ldw r5,-12(fp)
  20386. 5129c: 01000174 movhi r4,5
  20387. 512a0: 210b9504 addi r4,r4,11860
  20388. 512a4: 00511900 call 51190 <alt_open_fd>
  20389. alt_open_fd (&alt_fd_list[STDIN_FILENO], stdin_dev, O_RDONLY, 0777);
  20390. 512a8: 01c07fc4 movi r7,511
  20391. 512ac: 000d883a mov r6,zero
  20392. 512b0: e17ffe17 ldw r5,-8(fp)
  20393. 512b4: 01000174 movhi r4,5
  20394. 512b8: 210b9204 addi r4,r4,11848
  20395. 512bc: 00511900 call 51190 <alt_open_fd>
  20396. alt_open_fd (&alt_fd_list[STDERR_FILENO], stderr_dev, O_WRONLY, 0777);
  20397. 512c0: 01c07fc4 movi r7,511
  20398. 512c4: 01800044 movi r6,1
  20399. 512c8: e17fff17 ldw r5,-4(fp)
  20400. 512cc: 01000174 movhi r4,5
  20401. 512d0: 210b9804 addi r4,r4,11872
  20402. 512d4: 00511900 call 51190 <alt_open_fd>
  20403. }
  20404. 512d8: 0001883a nop
  20405. 512dc: e037883a mov sp,fp
  20406. 512e0: dfc00117 ldw ra,4(sp)
  20407. 512e4: df000017 ldw fp,0(sp)
  20408. 512e8: dec00204 addi sp,sp,8
  20409. 512ec: f800283a ret
  20410. 000512f0 <alt_get_errno>:
  20411. #undef errno
  20412. extern int errno;
  20413. static ALT_INLINE int* alt_get_errno(void)
  20414. {
  20415. 512f0: defffe04 addi sp,sp,-8
  20416. 512f4: dfc00115 stw ra,4(sp)
  20417. 512f8: df000015 stw fp,0(sp)
  20418. 512fc: d839883a mov fp,sp
  20419. return ((alt_errno) ? alt_errno() : &errno);
  20420. 51300: d0a00b17 ldw r2,-32724(gp)
  20421. 51304: 10000326 beq r2,zero,51314 <alt_get_errno+0x24>
  20422. 51308: d0a00b17 ldw r2,-32724(gp)
  20423. 5130c: 103ee83a callr r2
  20424. 51310: 00000106 br 51318 <alt_get_errno+0x28>
  20425. 51314: d0a72104 addi r2,gp,-25468
  20426. }
  20427. 51318: e037883a mov sp,fp
  20428. 5131c: dfc00117 ldw ra,4(sp)
  20429. 51320: df000017 ldw fp,0(sp)
  20430. 51324: dec00204 addi sp,sp,8
  20431. 51328: f800283a ret
  20432. 0005132c <alt_file_locked>:
  20433. * performed for devices. Filesystems are required to handle the ioctl() call
  20434. * themselves, and report the error from the filesystems open() function.
  20435. */
  20436. static int alt_file_locked (alt_fd* fd)
  20437. {
  20438. 5132c: defffb04 addi sp,sp,-20
  20439. 51330: dfc00415 stw ra,16(sp)
  20440. 51334: df000315 stw fp,12(sp)
  20441. 51338: dc000215 stw r16,8(sp)
  20442. 5133c: df000304 addi fp,sp,12
  20443. 51340: e13ffe15 stw r4,-8(fp)
  20444. /*
  20445. * Mark the file descriptor as belonging to a device.
  20446. */
  20447. fd->fd_flags |= ALT_FD_DEV;
  20448. 51344: e0bffe17 ldw r2,-8(fp)
  20449. 51348: 10800217 ldw r2,8(r2)
  20450. 5134c: 10d00034 orhi r3,r2,16384
  20451. 51350: e0bffe17 ldw r2,-8(fp)
  20452. 51354: 10c00215 stw r3,8(r2)
  20453. /*
  20454. * Loop through all current file descriptors searching for one that's locked
  20455. * for exclusive access. If a match is found, generate an error.
  20456. */
  20457. for (i = 0; i <= alt_max_fd; i++)
  20458. 51358: e03ffd15 stw zero,-12(fp)
  20459. 5135c: 00002306 br 513ec <alt_file_locked+0xc0>
  20460. {
  20461. if ((alt_fd_list[i].dev == fd->dev) &&
  20462. 51360: 04000174 movhi r16,5
  20463. 51364: 840b9204 addi r16,r16,11848
  20464. 51368: e0bffd17 ldw r2,-12(fp)
  20465. 5136c: 01400304 movi r5,12
  20466. 51370: 1009883a mov r4,r2
  20467. 51374: 004d3dc0 call 4d3dc <__mulsi3>
  20468. 51378: 8085883a add r2,r16,r2
  20469. 5137c: 10c00017 ldw r3,0(r2)
  20470. 51380: e0bffe17 ldw r2,-8(fp)
  20471. 51384: 10800017 ldw r2,0(r2)
  20472. 51388: 1880151e bne r3,r2,513e0 <alt_file_locked+0xb4>
  20473. (alt_fd_list[i].fd_flags & ALT_FD_EXCL) &&
  20474. 5138c: 04000174 movhi r16,5
  20475. 51390: 840b9204 addi r16,r16,11848
  20476. 51394: e0bffd17 ldw r2,-12(fp)
  20477. 51398: 01400304 movi r5,12
  20478. 5139c: 1009883a mov r4,r2
  20479. 513a0: 004d3dc0 call 4d3dc <__mulsi3>
  20480. 513a4: 8085883a add r2,r16,r2
  20481. 513a8: 10800204 addi r2,r2,8
  20482. 513ac: 10800017 ldw r2,0(r2)
  20483. * for exclusive access. If a match is found, generate an error.
  20484. */
  20485. for (i = 0; i <= alt_max_fd; i++)
  20486. {
  20487. if ((alt_fd_list[i].dev == fd->dev) &&
  20488. 513b0: 10000b0e bge r2,zero,513e0 <alt_file_locked+0xb4>
  20489. (alt_fd_list[i].fd_flags & ALT_FD_EXCL) &&
  20490. (&alt_fd_list[i] != fd))
  20491. 513b4: 01400304 movi r5,12
  20492. 513b8: e13ffd17 ldw r4,-12(fp)
  20493. 513bc: 004d3dc0 call 4d3dc <__mulsi3>
  20494. 513c0: 1007883a mov r3,r2
  20495. 513c4: 00800174 movhi r2,5
  20496. 513c8: 108b9204 addi r2,r2,11848
  20497. 513cc: 1887883a add r3,r3,r2
  20498. */
  20499. for (i = 0; i <= alt_max_fd; i++)
  20500. {
  20501. if ((alt_fd_list[i].dev == fd->dev) &&
  20502. (alt_fd_list[i].fd_flags & ALT_FD_EXCL) &&
  20503. 513d0: e0bffe17 ldw r2,-8(fp)
  20504. 513d4: 18800226 beq r3,r2,513e0 <alt_file_locked+0xb4>
  20505. (&alt_fd_list[i] != fd))
  20506. {
  20507. return -EACCES;
  20508. 513d8: 00bffcc4 movi r2,-13
  20509. 513dc: 00000806 br 51400 <alt_file_locked+0xd4>
  20510. /*
  20511. * Loop through all current file descriptors searching for one that's locked
  20512. * for exclusive access. If a match is found, generate an error.
  20513. */
  20514. for (i = 0; i <= alt_max_fd; i++)
  20515. 513e0: e0bffd17 ldw r2,-12(fp)
  20516. 513e4: 10800044 addi r2,r2,1
  20517. 513e8: e0bffd15 stw r2,-12(fp)
  20518. 513ec: d0a00a17 ldw r2,-32728(gp)
  20519. 513f0: 1007883a mov r3,r2
  20520. 513f4: e0bffd17 ldw r2,-12(fp)
  20521. 513f8: 18bfd92e bgeu r3,r2,51360 <__alt_data_end+0xfffdf360>
  20522. }
  20523. }
  20524. /* The device is not locked */
  20525. return 0;
  20526. 513fc: 0005883a mov r2,zero
  20527. }
  20528. 51400: e6ffff04 addi sp,fp,-4
  20529. 51404: dfc00217 ldw ra,8(sp)
  20530. 51408: df000117 ldw fp,4(sp)
  20531. 5140c: dc000017 ldw r16,0(sp)
  20532. 51410: dec00304 addi sp,sp,12
  20533. 51414: f800283a ret
  20534. 00051418 <open>:
  20535. *
  20536. * ALT_OPEN is mapped onto the open() system call in alt_syscall.h
  20537. */
  20538. int ALT_OPEN (const char* file, int flags, int mode)
  20539. {
  20540. 51418: defff604 addi sp,sp,-40
  20541. 5141c: dfc00915 stw ra,36(sp)
  20542. 51420: df000815 stw fp,32(sp)
  20543. 51424: df000804 addi fp,sp,32
  20544. 51428: e13ffd15 stw r4,-12(fp)
  20545. 5142c: e17ffe15 stw r5,-8(fp)
  20546. 51430: e1bfff15 stw r6,-4(fp)
  20547. alt_dev* dev;
  20548. alt_fd* fd;
  20549. int index = -1;
  20550. 51434: 00bfffc4 movi r2,-1
  20551. 51438: e0bff915 stw r2,-28(fp)
  20552. int status = -ENODEV;
  20553. 5143c: 00bffb44 movi r2,-19
  20554. 51440: e0bffa15 stw r2,-24(fp)
  20555. int isafs = 0;
  20556. 51444: e03ffb15 stw zero,-20(fp)
  20557. /*
  20558. * Check the device list, to see if a device with a matching name is
  20559. * registered.
  20560. */
  20561. if (!(dev = alt_find_dev (file, &alt_dev_list)))
  20562. 51448: d1600804 addi r5,gp,-32736
  20563. 5144c: e13ffd17 ldw r4,-12(fp)
  20564. 51450: 00518c40 call 518c4 <alt_find_dev>
  20565. 51454: e0bff815 stw r2,-32(fp)
  20566. 51458: e0bff817 ldw r2,-32(fp)
  20567. 5145c: 1000051e bne r2,zero,51474 <open+0x5c>
  20568. {
  20569. /* No matching device, so try the filesystem list */
  20570. dev = alt_find_file (file);
  20571. 51460: e13ffd17 ldw r4,-12(fp)
  20572. 51464: 00519540 call 51954 <alt_find_file>
  20573. 51468: e0bff815 stw r2,-32(fp)
  20574. isafs = 1;
  20575. 5146c: 00800044 movi r2,1
  20576. 51470: e0bffb15 stw r2,-20(fp)
  20577. /*
  20578. * If a matching device or filesystem is found, allocate a file descriptor.
  20579. */
  20580. if (dev)
  20581. 51474: e0bff817 ldw r2,-32(fp)
  20582. 51478: 10002b26 beq r2,zero,51528 <open+0x110>
  20583. {
  20584. if ((index = alt_get_fd (dev)) < 0)
  20585. 5147c: e13ff817 ldw r4,-32(fp)
  20586. 51480: 0051a5c0 call 51a5c <alt_get_fd>
  20587. 51484: e0bff915 stw r2,-28(fp)
  20588. 51488: e0bff917 ldw r2,-28(fp)
  20589. 5148c: 1000030e bge r2,zero,5149c <open+0x84>
  20590. {
  20591. status = index;
  20592. 51490: e0bff917 ldw r2,-28(fp)
  20593. 51494: e0bffa15 stw r2,-24(fp)
  20594. 51498: 00002506 br 51530 <open+0x118>
  20595. }
  20596. else
  20597. {
  20598. fd = &alt_fd_list[index];
  20599. 5149c: 01400304 movi r5,12
  20600. 514a0: e13ff917 ldw r4,-28(fp)
  20601. 514a4: 004d3dc0 call 4d3dc <__mulsi3>
  20602. 514a8: 1007883a mov r3,r2
  20603. 514ac: 00800174 movhi r2,5
  20604. 514b0: 108b9204 addi r2,r2,11848
  20605. 514b4: 1885883a add r2,r3,r2
  20606. 514b8: e0bffc15 stw r2,-16(fp)
  20607. fd->fd_flags = (flags & ~ALT_FD_FLAGS_MASK);
  20608. 514bc: e0fffe17 ldw r3,-8(fp)
  20609. 514c0: 00900034 movhi r2,16384
  20610. 514c4: 10bfffc4 addi r2,r2,-1
  20611. 514c8: 1886703a and r3,r3,r2
  20612. 514cc: e0bffc17 ldw r2,-16(fp)
  20613. 514d0: 10c00215 stw r3,8(r2)
  20614. /* If this is a device, ensure it isn't already locked */
  20615. if (isafs || ((status = alt_file_locked (fd)) >= 0))
  20616. 514d4: e0bffb17 ldw r2,-20(fp)
  20617. 514d8: 1000051e bne r2,zero,514f0 <open+0xd8>
  20618. 514dc: e13ffc17 ldw r4,-16(fp)
  20619. 514e0: 005132c0 call 5132c <alt_file_locked>
  20620. 514e4: e0bffa15 stw r2,-24(fp)
  20621. 514e8: e0bffa17 ldw r2,-24(fp)
  20622. 514ec: 10001016 blt r2,zero,51530 <open+0x118>
  20623. /*
  20624. * If the device or filesystem provides an open() callback function,
  20625. * call it now to perform any device/filesystem specific operations.
  20626. */
  20627. status = (dev->open) ? dev->open(fd, file, flags, mode): 0;
  20628. 514f0: e0bff817 ldw r2,-32(fp)
  20629. 514f4: 10800317 ldw r2,12(r2)
  20630. 514f8: 10000826 beq r2,zero,5151c <open+0x104>
  20631. 514fc: e0bff817 ldw r2,-32(fp)
  20632. 51500: 10800317 ldw r2,12(r2)
  20633. 51504: e1ffff17 ldw r7,-4(fp)
  20634. 51508: e1bffe17 ldw r6,-8(fp)
  20635. 5150c: e17ffd17 ldw r5,-12(fp)
  20636. 51510: e13ffc17 ldw r4,-16(fp)
  20637. 51514: 103ee83a callr r2
  20638. 51518: 00000106 br 51520 <open+0x108>
  20639. 5151c: 0005883a mov r2,zero
  20640. 51520: e0bffa15 stw r2,-24(fp)
  20641. 51524: 00000206 br 51530 <open+0x118>
  20642. }
  20643. }
  20644. }
  20645. else
  20646. {
  20647. status = -ENODEV;
  20648. 51528: 00bffb44 movi r2,-19
  20649. 5152c: e0bffa15 stw r2,-24(fp)
  20650. }
  20651. /* Allocation failed, so clean up and return an error */
  20652. if (status < 0)
  20653. 51530: e0bffa17 ldw r2,-24(fp)
  20654. 51534: 1000090e bge r2,zero,5155c <open+0x144>
  20655. {
  20656. alt_release_fd (index);
  20657. 51538: e13ff917 ldw r4,-28(fp)
  20658. 5153c: 004ee940 call 4ee94 <alt_release_fd>
  20659. ALT_ERRNO = -status;
  20660. 51540: 00512f00 call 512f0 <alt_get_errno>
  20661. 51544: 1007883a mov r3,r2
  20662. 51548: e0bffa17 ldw r2,-24(fp)
  20663. 5154c: 0085c83a sub r2,zero,r2
  20664. 51550: 18800015 stw r2,0(r3)
  20665. return -1;
  20666. 51554: 00bfffc4 movi r2,-1
  20667. 51558: 00000106 br 51560 <open+0x148>
  20668. }
  20669. /* return the reference upon success */
  20670. return index;
  20671. 5155c: e0bff917 ldw r2,-28(fp)
  20672. }
  20673. 51560: e037883a mov sp,fp
  20674. 51564: dfc00117 ldw ra,4(sp)
  20675. 51568: df000017 ldw fp,0(sp)
  20676. 5156c: dec00204 addi sp,sp,8
  20677. 51570: f800283a ret
  20678. 00051574 <alt_alarm_stop>:
  20679. * alarms. Alternatively an alarm can unregister itself by returning zero when
  20680. * the alarm executes.
  20681. */
  20682. void alt_alarm_stop (alt_alarm* alarm)
  20683. {
  20684. 51574: defffa04 addi sp,sp,-24
  20685. 51578: df000515 stw fp,20(sp)
  20686. 5157c: df000504 addi fp,sp,20
  20687. 51580: e13fff15 stw r4,-4(fp)
  20688. static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE
  20689. alt_irq_disable_all (void)
  20690. {
  20691. alt_irq_context context;
  20692. NIOS2_READ_STATUS (context);
  20693. 51584: 0005303a rdctl r2,status
  20694. 51588: e0bffc15 stw r2,-16(fp)
  20695. NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
  20696. 5158c: e0fffc17 ldw r3,-16(fp)
  20697. 51590: 00bfff84 movi r2,-2
  20698. 51594: 1884703a and r2,r3,r2
  20699. 51598: 1001703a wrctl status,r2
  20700. return context;
  20701. 5159c: e0bffc17 ldw r2,-16(fp)
  20702. alt_irq_context irq_context;
  20703. irq_context = alt_irq_disable_all();
  20704. 515a0: e0bffb15 stw r2,-20(fp)
  20705. alt_llist_remove (&alarm->llist);
  20706. 515a4: e0bfff17 ldw r2,-4(fp)
  20707. 515a8: e0bffd15 stw r2,-12(fp)
  20708. * input argument is the element to remove.
  20709. */
  20710. static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_remove(alt_llist* entry)
  20711. {
  20712. entry->next->previous = entry->previous;
  20713. 515ac: e0bffd17 ldw r2,-12(fp)
  20714. 515b0: 10800017 ldw r2,0(r2)
  20715. 515b4: e0fffd17 ldw r3,-12(fp)
  20716. 515b8: 18c00117 ldw r3,4(r3)
  20717. 515bc: 10c00115 stw r3,4(r2)
  20718. entry->previous->next = entry->next;
  20719. 515c0: e0bffd17 ldw r2,-12(fp)
  20720. 515c4: 10800117 ldw r2,4(r2)
  20721. 515c8: e0fffd17 ldw r3,-12(fp)
  20722. 515cc: 18c00017 ldw r3,0(r3)
  20723. 515d0: 10c00015 stw r3,0(r2)
  20724. /*
  20725. * Set the entry to point to itself, so that any further calls to
  20726. * alt_llist_remove() are harmless.
  20727. */
  20728. entry->previous = entry;
  20729. 515d4: e0bffd17 ldw r2,-12(fp)
  20730. 515d8: e0fffd17 ldw r3,-12(fp)
  20731. 515dc: 10c00115 stw r3,4(r2)
  20732. entry->next = entry;
  20733. 515e0: e0bffd17 ldw r2,-12(fp)
  20734. 515e4: e0fffd17 ldw r3,-12(fp)
  20735. 515e8: 10c00015 stw r3,0(r2)
  20736. 515ec: e0bffb17 ldw r2,-20(fp)
  20737. 515f0: e0bffe15 stw r2,-8(fp)
  20738. status &= ~NIOS2_STATUS_PIE_MSK;
  20739. status |= (context & NIOS2_STATUS_PIE_MSK);
  20740. NIOS2_WRITE_STATUS (status);
  20741. #else
  20742. NIOS2_WRITE_STATUS (context);
  20743. 515f4: e0bffe17 ldw r2,-8(fp)
  20744. 515f8: 1001703a wrctl status,r2
  20745. alt_irq_enable_all (irq_context);
  20746. }
  20747. 515fc: 0001883a nop
  20748. 51600: e037883a mov sp,fp
  20749. 51604: df000017 ldw fp,0(sp)
  20750. 51608: dec00104 addi sp,sp,4
  20751. 5160c: f800283a ret
  20752. 00051610 <alt_tick>:
  20753. *
  20754. * alt_tick() is expected to run at interrupt level.
  20755. */
  20756. void alt_tick (void)
  20757. {
  20758. 51610: defffb04 addi sp,sp,-20
  20759. 51614: dfc00415 stw ra,16(sp)
  20760. 51618: df000315 stw fp,12(sp)
  20761. 5161c: df000304 addi fp,sp,12
  20762. alt_alarm* next;
  20763. alt_alarm* alarm = (alt_alarm*) alt_alarm_list.next;
  20764. 51620: d0a00f17 ldw r2,-32708(gp)
  20765. 51624: e0bffd15 stw r2,-12(fp)
  20766. alt_u32 next_callback;
  20767. /* update the tick counter */
  20768. _alt_nticks++;
  20769. 51628: d0a72717 ldw r2,-25444(gp)
  20770. 5162c: 10800044 addi r2,r2,1
  20771. 51630: d0a72715 stw r2,-25444(gp)
  20772. /* process the registered callbacks */
  20773. while (alarm != (alt_alarm*) &alt_alarm_list)
  20774. 51634: 00002e06 br 516f0 <alt_tick+0xe0>
  20775. {
  20776. next = (alt_alarm*) alarm->llist.next;
  20777. 51638: e0bffd17 ldw r2,-12(fp)
  20778. 5163c: 10800017 ldw r2,0(r2)
  20779. 51640: e0bffe15 stw r2,-8(fp)
  20780. /*
  20781. * Upon the tick-counter rolling over it is safe to clear the
  20782. * roll-over flag; once the flag is cleared this (or subsequnt)
  20783. * tick events are enabled to generate an alarm event.
  20784. */
  20785. if ((alarm->rollover) && (_alt_nticks == 0))
  20786. 51644: e0bffd17 ldw r2,-12(fp)
  20787. 51648: 10800403 ldbu r2,16(r2)
  20788. 5164c: 10803fcc andi r2,r2,255
  20789. 51650: 10000426 beq r2,zero,51664 <alt_tick+0x54>
  20790. 51654: d0a72717 ldw r2,-25444(gp)
  20791. 51658: 1000021e bne r2,zero,51664 <alt_tick+0x54>
  20792. {
  20793. alarm->rollover = 0;
  20794. 5165c: e0bffd17 ldw r2,-12(fp)
  20795. 51660: 10000405 stb zero,16(r2)
  20796. }
  20797. /* if the alarm period has expired, make the callback */
  20798. if ((alarm->time <= _alt_nticks) && (alarm->rollover == 0))
  20799. 51664: e0bffd17 ldw r2,-12(fp)
  20800. 51668: 10800217 ldw r2,8(r2)
  20801. 5166c: d0e72717 ldw r3,-25444(gp)
  20802. 51670: 18801d36 bltu r3,r2,516e8 <alt_tick+0xd8>
  20803. 51674: e0bffd17 ldw r2,-12(fp)
  20804. 51678: 10800403 ldbu r2,16(r2)
  20805. 5167c: 10803fcc andi r2,r2,255
  20806. 51680: 1000191e bne r2,zero,516e8 <alt_tick+0xd8>
  20807. {
  20808. next_callback = alarm->callback (alarm->context);
  20809. 51684: e0bffd17 ldw r2,-12(fp)
  20810. 51688: 10800317 ldw r2,12(r2)
  20811. 5168c: e0fffd17 ldw r3,-12(fp)
  20812. 51690: 18c00517 ldw r3,20(r3)
  20813. 51694: 1809883a mov r4,r3
  20814. 51698: 103ee83a callr r2
  20815. 5169c: e0bfff15 stw r2,-4(fp)
  20816. /* deactivate the alarm if the return value is zero */
  20817. if (next_callback == 0)
  20818. 516a0: e0bfff17 ldw r2,-4(fp)
  20819. 516a4: 1000031e bne r2,zero,516b4 <alt_tick+0xa4>
  20820. {
  20821. alt_alarm_stop (alarm);
  20822. 516a8: e13ffd17 ldw r4,-12(fp)
  20823. 516ac: 00515740 call 51574 <alt_alarm_stop>
  20824. 516b0: 00000d06 br 516e8 <alt_tick+0xd8>
  20825. }
  20826. else
  20827. {
  20828. alarm->time += next_callback;
  20829. 516b4: e0bffd17 ldw r2,-12(fp)
  20830. 516b8: 10c00217 ldw r3,8(r2)
  20831. 516bc: e0bfff17 ldw r2,-4(fp)
  20832. 516c0: 1887883a add r3,r3,r2
  20833. 516c4: e0bffd17 ldw r2,-12(fp)
  20834. 516c8: 10c00215 stw r3,8(r2)
  20835. /*
  20836. * If the desired alarm time causes a roll-over, set the rollover
  20837. * flag. This will prevent the subsequent tick event from causing
  20838. * an alarm too early.
  20839. */
  20840. if(alarm->time < _alt_nticks)
  20841. 516cc: e0bffd17 ldw r2,-12(fp)
  20842. 516d0: 10c00217 ldw r3,8(r2)
  20843. 516d4: d0a72717 ldw r2,-25444(gp)
  20844. 516d8: 1880032e bgeu r3,r2,516e8 <alt_tick+0xd8>
  20845. {
  20846. alarm->rollover = 1;
  20847. 516dc: e0bffd17 ldw r2,-12(fp)
  20848. 516e0: 00c00044 movi r3,1
  20849. 516e4: 10c00405 stb r3,16(r2)
  20850. }
  20851. }
  20852. }
  20853. alarm = next;
  20854. 516e8: e0bffe17 ldw r2,-8(fp)
  20855. 516ec: e0bffd15 stw r2,-12(fp)
  20856. _alt_nticks++;
  20857. /* process the registered callbacks */
  20858. while (alarm != (alt_alarm*) &alt_alarm_list)
  20859. 516f0: e0fffd17 ldw r3,-12(fp)
  20860. 516f4: d0a00f04 addi r2,gp,-32708
  20861. 516f8: 18bfcf1e bne r3,r2,51638 <__alt_data_end+0xfffdf638>
  20862. /*
  20863. * Update the operating system specific timer facilities.
  20864. */
  20865. ALT_OS_TIME_TICK();
  20866. 516fc: 0001883a nop
  20867. }
  20868. 51700: 0001883a nop
  20869. 51704: e037883a mov sp,fp
  20870. 51708: dfc00117 ldw ra,4(sp)
  20871. 5170c: df000017 ldw fp,0(sp)
  20872. 51710: dec00204 addi sp,sp,8
  20873. 51714: f800283a ret
  20874. 00051718 <usleep>:
  20875. #if defined (__GNUC__) && __GNUC__ >= 4
  20876. int ALT_USLEEP (useconds_t us)
  20877. #else
  20878. unsigned int ALT_USLEEP (unsigned int us)
  20879. #endif
  20880. {
  20881. 51718: defffd04 addi sp,sp,-12
  20882. 5171c: dfc00215 stw ra,8(sp)
  20883. 51720: df000115 stw fp,4(sp)
  20884. 51724: df000104 addi fp,sp,4
  20885. 51728: e13fff15 stw r4,-4(fp)
  20886. return alt_busy_sleep(us);
  20887. 5172c: e13fff17 ldw r4,-4(fp)
  20888. 51730: 005176c0 call 5176c <alt_busy_sleep>
  20889. }
  20890. 51734: e037883a mov sp,fp
  20891. 51738: dfc00117 ldw ra,4(sp)
  20892. 5173c: df000017 ldw fp,0(sp)
  20893. 51740: dec00204 addi sp,sp,8
  20894. 51744: f800283a ret
  20895. 00051748 <altera_nios2_gen2_irq_init>:
  20896. /*
  20897. * To initialize the internal interrupt controller, just clear the IENABLE
  20898. * register so that all possible IRQs are disabled.
  20899. */
  20900. void altera_nios2_gen2_irq_init(void)
  20901. {
  20902. 51748: deffff04 addi sp,sp,-4
  20903. 5174c: df000015 stw fp,0(sp)
  20904. 51750: d839883a mov fp,sp
  20905. NIOS2_WRITE_IENABLE(0);
  20906. 51754: 000170fa wrctl ienable,zero
  20907. }
  20908. 51758: 0001883a nop
  20909. 5175c: e037883a mov sp,fp
  20910. 51760: df000017 ldw fp,0(sp)
  20911. 51764: dec00104 addi sp,sp,4
  20912. 51768: f800283a ret
  20913. 0005176c <alt_busy_sleep>:
  20914. #include "alt_types.h"
  20915. #include "priv/alt_busy_sleep.h"
  20916. unsigned int alt_busy_sleep (unsigned int us)
  20917. {
  20918. 5176c: defffa04 addi sp,sp,-24
  20919. 51770: dfc00515 stw ra,20(sp)
  20920. 51774: df000415 stw fp,16(sp)
  20921. 51778: df000404 addi fp,sp,16
  20922. 5177c: e13fff15 stw r4,-4(fp)
  20923. int big_loops;
  20924. alt_u32 cycles_per_loop;
  20925. if (!strcmp(NIOS2_CPU_IMPLEMENTATION,"tiny"))
  20926. {
  20927. cycles_per_loop = 9;
  20928. 51780: 00800244 movi r2,9
  20929. 51784: e0bffd15 stw r2,-12(fp)
  20930. cycles_per_loop = 3;
  20931. }
  20932. big_loops = us / (INT_MAX/
  20933. (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));
  20934. 51788: 014003f4 movhi r5,15
  20935. 5178c: 29509004 addi r5,r5,16960
  20936. 51790: e13ffd17 ldw r4,-12(fp)
  20937. 51794: 004d3dc0 call 4d3dc <__mulsi3>
  20938. 51798: 100b883a mov r5,r2
  20939. 5179c: 0100bef4 movhi r4,763
  20940. 517a0: 213c2004 addi r4,r4,-3968
  20941. 517a4: 004d3200 call 4d320 <__udivsi3>
  20942. {
  20943. cycles_per_loop = 3;
  20944. }
  20945. big_loops = us / (INT_MAX/
  20946. 517a8: 100b883a mov r5,r2
  20947. 517ac: 01200034 movhi r4,32768
  20948. 517b0: 213fffc4 addi r4,r4,-1
  20949. 517b4: 004d3200 call 4d320 <__udivsi3>
  20950. 517b8: 100b883a mov r5,r2
  20951. 517bc: e13fff17 ldw r4,-4(fp)
  20952. 517c0: 004d3200 call 4d320 <__udivsi3>
  20953. 517c4: e0bffe15 stw r2,-8(fp)
  20954. (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));
  20955. if (big_loops)
  20956. 517c8: e0bffe17 ldw r2,-8(fp)
  20957. 517cc: 10002a26 beq r2,zero,51878 <alt_busy_sleep+0x10c>
  20958. {
  20959. for(i=0;i<big_loops;i++)
  20960. 517d0: e03ffc15 stw zero,-16(fp)
  20961. 517d4: 00001706 br 51834 <alt_busy_sleep+0xc8>
  20962. /*
  20963. * Do NOT Try to single step the asm statement below
  20964. * (single step will never return)
  20965. * Step out of this function or set a breakpoint after the asm statements
  20966. */
  20967. __asm__ volatile (
  20968. 517d8: 00a00034 movhi r2,32768
  20969. 517dc: 10bfffc4 addi r2,r2,-1
  20970. 517e0: 10bfffc4 addi r2,r2,-1
  20971. 517e4: 103ffe1e bne r2,zero,517e0 <__alt_data_end+0xfffdf7e0>
  20972. "\n\t.pushsection .debug_alt_sim_info"
  20973. "\n\t.int 4, 0, 0b, 1b"
  20974. "\n\t.popsection"
  20975. :: "r" (INT_MAX));
  20976. us -= (INT_MAX/(ALT_CPU_FREQ/
  20977. (cycles_per_loop * 1000000)));
  20978. 517e8: 014003f4 movhi r5,15
  20979. 517ec: 29509004 addi r5,r5,16960
  20980. 517f0: e13ffd17 ldw r4,-12(fp)
  20981. 517f4: 004d3dc0 call 4d3dc <__mulsi3>
  20982. "\n1:"
  20983. "\n\t.pushsection .debug_alt_sim_info"
  20984. "\n\t.int 4, 0, 0b, 1b"
  20985. "\n\t.popsection"
  20986. :: "r" (INT_MAX));
  20987. us -= (INT_MAX/(ALT_CPU_FREQ/
  20988. 517f8: 100b883a mov r5,r2
  20989. 517fc: 0100bef4 movhi r4,763
  20990. 51800: 213c2004 addi r4,r4,-3968
  20991. 51804: 004d3200 call 4d320 <__udivsi3>
  20992. 51808: 100b883a mov r5,r2
  20993. 5180c: 01200034 movhi r4,32768
  20994. 51810: 213fffc4 addi r4,r4,-1
  20995. 51814: 004d3200 call 4d320 <__udivsi3>
  20996. 51818: 1007883a mov r3,r2
  20997. 5181c: e0bfff17 ldw r2,-4(fp)
  20998. 51820: 10c5c83a sub r2,r2,r3
  20999. 51824: e0bfff15 stw r2,-4(fp)
  21000. big_loops = us / (INT_MAX/
  21001. (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));
  21002. if (big_loops)
  21003. {
  21004. for(i=0;i<big_loops;i++)
  21005. 51828: e0bffc17 ldw r2,-16(fp)
  21006. 5182c: 10800044 addi r2,r2,1
  21007. 51830: e0bffc15 stw r2,-16(fp)
  21008. 51834: e0fffc17 ldw r3,-16(fp)
  21009. 51838: e0bffe17 ldw r2,-8(fp)
  21010. 5183c: 18bfe616 blt r3,r2,517d8 <__alt_data_end+0xfffdf7d8>
  21011. "\n\tbne %0,zero,0b"
  21012. "\n1:"
  21013. "\n\t.pushsection .debug_alt_sim_info"
  21014. "\n\t.int 4, 0, 0b, 1b"
  21015. "\n\t.popsection"
  21016. :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000))));
  21017. 51840: 014003f4 movhi r5,15
  21018. 51844: 29509004 addi r5,r5,16960
  21019. 51848: e13ffd17 ldw r4,-12(fp)
  21020. 5184c: 004d3dc0 call 4d3dc <__mulsi3>
  21021. 51850: 100b883a mov r5,r2
  21022. 51854: 0100bef4 movhi r4,763
  21023. 51858: 213c2004 addi r4,r4,-3968
  21024. 5185c: 004d3200 call 4d320 <__udivsi3>
  21025. 51860: e17fff17 ldw r5,-4(fp)
  21026. 51864: 1009883a mov r4,r2
  21027. 51868: 004d3dc0 call 4d3dc <__mulsi3>
  21028. /*
  21029. * Do NOT Try to single step the asm statement below
  21030. * (single step will never return)
  21031. * Step out of this function or set a breakpoint after the asm statements
  21032. */
  21033. __asm__ volatile (
  21034. 5186c: 10bfffc4 addi r2,r2,-1
  21035. 51870: 103ffe1e bne r2,zero,5186c <__alt_data_end+0xfffdf86c>
  21036. 51874: 00000d06 br 518ac <alt_busy_sleep+0x140>
  21037. "\n\tbgt %0,zero,0b"
  21038. "\n1:"
  21039. "\n\t.pushsection .debug_alt_sim_info"
  21040. "\n\t.int 4, 0, 0b, 1b"
  21041. "\n\t.popsection"
  21042. :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000))));
  21043. 51878: 014003f4 movhi r5,15
  21044. 5187c: 29509004 addi r5,r5,16960
  21045. 51880: e13ffd17 ldw r4,-12(fp)
  21046. 51884: 004d3dc0 call 4d3dc <__mulsi3>
  21047. 51888: 100b883a mov r5,r2
  21048. 5188c: 0100bef4 movhi r4,763
  21049. 51890: 213c2004 addi r4,r4,-3968
  21050. 51894: 004d3200 call 4d320 <__udivsi3>
  21051. 51898: e17fff17 ldw r5,-4(fp)
  21052. 5189c: 1009883a mov r4,r2
  21053. 518a0: 004d3dc0 call 4d3dc <__mulsi3>
  21054. /*
  21055. * Do NOT Try to single step the asm statement below
  21056. * (single step will never return)
  21057. * Step out of this function or set a breakpoint after the asm statements
  21058. */
  21059. __asm__ volatile (
  21060. 518a4: 10bfffc4 addi r2,r2,-1
  21061. 518a8: 00bffe16 blt zero,r2,518a4 <__alt_data_end+0xfffdf8a4>
  21062. "\n\t.int 4, 0, 0b, 1b"
  21063. "\n\t.popsection"
  21064. :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000))));
  21065. }
  21066. #endif /* #ifndef ALT_SIM_OPTIMIZE */
  21067. return 0;
  21068. 518ac: 0005883a mov r2,zero
  21069. }
  21070. 518b0: e037883a mov sp,fp
  21071. 518b4: dfc00117 ldw ra,4(sp)
  21072. 518b8: df000017 ldw fp,0(sp)
  21073. 518bc: dec00204 addi sp,sp,8
  21074. 518c0: f800283a ret
  21075. 000518c4 <alt_find_dev>:
  21076. * "name" must be an exact match for the devices registered name for a match to
  21077. * be found.
  21078. */
  21079. alt_dev* alt_find_dev(const char* name, alt_llist* llist)
  21080. {
  21081. 518c4: defffa04 addi sp,sp,-24
  21082. 518c8: dfc00515 stw ra,20(sp)
  21083. 518cc: df000415 stw fp,16(sp)
  21084. 518d0: df000404 addi fp,sp,16
  21085. 518d4: e13ffe15 stw r4,-8(fp)
  21086. 518d8: e17fff15 stw r5,-4(fp)
  21087. alt_dev* next = (alt_dev*) llist->next;
  21088. 518dc: e0bfff17 ldw r2,-4(fp)
  21089. 518e0: 10800017 ldw r2,0(r2)
  21090. 518e4: e0bffc15 stw r2,-16(fp)
  21091. alt_32 len;
  21092. len = strlen(name) + 1;
  21093. 518e8: e13ffe17 ldw r4,-8(fp)
  21094. 518ec: 0042d400 call 42d40 <strlen>
  21095. 518f0: 10800044 addi r2,r2,1
  21096. 518f4: e0bffd15 stw r2,-12(fp)
  21097. /*
  21098. * Check each list entry in turn, until a match is found, or we reach the
  21099. * end of the list (i.e. next winds up pointing back to the list head).
  21100. */
  21101. while (next != (alt_dev*) llist)
  21102. 518f8: 00000d06 br 51930 <alt_find_dev+0x6c>
  21103. /*
  21104. * memcmp() is used here rather than strcmp() in order to reduce the size
  21105. * of the executable.
  21106. */
  21107. if (!memcmp (next->name, name, len))
  21108. 518fc: e0bffc17 ldw r2,-16(fp)
  21109. 51900: 10800217 ldw r2,8(r2)
  21110. 51904: e0fffd17 ldw r3,-12(fp)
  21111. 51908: 180d883a mov r6,r3
  21112. 5190c: e17ffe17 ldw r5,-8(fp)
  21113. 51910: 1009883a mov r4,r2
  21114. 51914: 0051c080 call 51c08 <memcmp>
  21115. 51918: 1000021e bne r2,zero,51924 <alt_find_dev+0x60>
  21116. {
  21117. /* match found */
  21118. return next;
  21119. 5191c: e0bffc17 ldw r2,-16(fp)
  21120. 51920: 00000706 br 51940 <alt_find_dev+0x7c>
  21121. }
  21122. next = (alt_dev*) next->llist.next;
  21123. 51924: e0bffc17 ldw r2,-16(fp)
  21124. 51928: 10800017 ldw r2,0(r2)
  21125. 5192c: e0bffc15 stw r2,-16(fp)
  21126. /*
  21127. * Check each list entry in turn, until a match is found, or we reach the
  21128. * end of the list (i.e. next winds up pointing back to the list head).
  21129. */
  21130. while (next != (alt_dev*) llist)
  21131. 51930: e0fffc17 ldw r3,-16(fp)
  21132. 51934: e0bfff17 ldw r2,-4(fp)
  21133. 51938: 18bff01e bne r3,r2,518fc <__alt_data_end+0xfffdf8fc>
  21134. next = (alt_dev*) next->llist.next;
  21135. }
  21136. /* No match found */
  21137. return NULL;
  21138. 5193c: 0005883a mov r2,zero
  21139. }
  21140. 51940: e037883a mov sp,fp
  21141. 51944: dfc00117 ldw ra,4(sp)
  21142. 51948: df000017 ldw fp,0(sp)
  21143. 5194c: dec00204 addi sp,sp,8
  21144. 51950: f800283a ret
  21145. 00051954 <alt_find_file>:
  21146. * either '/' or '\0' is the prefix of the filename. For example the filename:
  21147. * "/myfilesystem/junk.txt" would match: "/myfilesystem", but not: "/myfile".
  21148. */
  21149. alt_dev* alt_find_file (const char* name)
  21150. {
  21151. 51954: defffb04 addi sp,sp,-20
  21152. 51958: dfc00415 stw ra,16(sp)
  21153. 5195c: df000315 stw fp,12(sp)
  21154. 51960: df000304 addi fp,sp,12
  21155. 51964: e13fff15 stw r4,-4(fp)
  21156. alt_dev* next = (alt_dev*) alt_fs_list.next;
  21157. 51968: d0a00617 ldw r2,-32744(gp)
  21158. 5196c: e0bffd15 stw r2,-12(fp)
  21159. /*
  21160. * Check each list entry in turn, until a match is found, or we reach the
  21161. * end of the list (i.e. next winds up pointing back to the list head).
  21162. */
  21163. while (next != (alt_dev*) &alt_fs_list)
  21164. 51970: 00003106 br 51a38 <alt_find_file+0xe4>
  21165. {
  21166. len = strlen(next->name);
  21167. 51974: e0bffd17 ldw r2,-12(fp)
  21168. 51978: 10800217 ldw r2,8(r2)
  21169. 5197c: 1009883a mov r4,r2
  21170. 51980: 0042d400 call 42d40 <strlen>
  21171. 51984: e0bffe15 stw r2,-8(fp)
  21172. if (next->name[len-1] == '/')
  21173. 51988: e0bffd17 ldw r2,-12(fp)
  21174. 5198c: 10c00217 ldw r3,8(r2)
  21175. 51990: e0bffe17 ldw r2,-8(fp)
  21176. 51994: 10bfffc4 addi r2,r2,-1
  21177. 51998: 1885883a add r2,r3,r2
  21178. 5199c: 10800003 ldbu r2,0(r2)
  21179. 519a0: 10803fcc andi r2,r2,255
  21180. 519a4: 1080201c xori r2,r2,128
  21181. 519a8: 10bfe004 addi r2,r2,-128
  21182. 519ac: 10800bd8 cmpnei r2,r2,47
  21183. 519b0: 1000031e bne r2,zero,519c0 <alt_find_file+0x6c>
  21184. {
  21185. len -= 1;
  21186. 519b4: e0bffe17 ldw r2,-8(fp)
  21187. 519b8: 10bfffc4 addi r2,r2,-1
  21188. 519bc: e0bffe15 stw r2,-8(fp)
  21189. }
  21190. if (((name[len] == '/') || (name[len] == '\0')) &&
  21191. 519c0: e0bffe17 ldw r2,-8(fp)
  21192. 519c4: e0ffff17 ldw r3,-4(fp)
  21193. 519c8: 1885883a add r2,r3,r2
  21194. 519cc: 10800003 ldbu r2,0(r2)
  21195. 519d0: 10803fcc andi r2,r2,255
  21196. 519d4: 1080201c xori r2,r2,128
  21197. 519d8: 10bfe004 addi r2,r2,-128
  21198. 519dc: 10800be0 cmpeqi r2,r2,47
  21199. 519e0: 1000081e bne r2,zero,51a04 <alt_find_file+0xb0>
  21200. 519e4: e0bffe17 ldw r2,-8(fp)
  21201. 519e8: e0ffff17 ldw r3,-4(fp)
  21202. 519ec: 1885883a add r2,r3,r2
  21203. 519f0: 10800003 ldbu r2,0(r2)
  21204. 519f4: 10803fcc andi r2,r2,255
  21205. 519f8: 1080201c xori r2,r2,128
  21206. 519fc: 10bfe004 addi r2,r2,-128
  21207. 51a00: 10000a1e bne r2,zero,51a2c <alt_find_file+0xd8>
  21208. !memcmp (next->name, name, len))
  21209. 51a04: e0bffd17 ldw r2,-12(fp)
  21210. 51a08: 10800217 ldw r2,8(r2)
  21211. 51a0c: e0fffe17 ldw r3,-8(fp)
  21212. 51a10: 180d883a mov r6,r3
  21213. 51a14: e17fff17 ldw r5,-4(fp)
  21214. 51a18: 1009883a mov r4,r2
  21215. 51a1c: 0051c080 call 51c08 <memcmp>
  21216. if (next->name[len-1] == '/')
  21217. {
  21218. len -= 1;
  21219. }
  21220. if (((name[len] == '/') || (name[len] == '\0')) &&
  21221. 51a20: 1000021e bne r2,zero,51a2c <alt_find_file+0xd8>
  21222. !memcmp (next->name, name, len))
  21223. {
  21224. /* match found */
  21225. return next;
  21226. 51a24: e0bffd17 ldw r2,-12(fp)
  21227. 51a28: 00000706 br 51a48 <alt_find_file+0xf4>
  21228. }
  21229. next = (alt_dev*) next->llist.next;
  21230. 51a2c: e0bffd17 ldw r2,-12(fp)
  21231. 51a30: 10800017 ldw r2,0(r2)
  21232. 51a34: e0bffd15 stw r2,-12(fp)
  21233. /*
  21234. * Check each list entry in turn, until a match is found, or we reach the
  21235. * end of the list (i.e. next winds up pointing back to the list head).
  21236. */
  21237. while (next != (alt_dev*) &alt_fs_list)
  21238. 51a38: e0fffd17 ldw r3,-12(fp)
  21239. 51a3c: d0a00604 addi r2,gp,-32744
  21240. 51a40: 18bfcc1e bne r3,r2,51974 <__alt_data_end+0xfffdf974>
  21241. next = (alt_dev*) next->llist.next;
  21242. }
  21243. /* No match found */
  21244. return NULL;
  21245. 51a44: 0005883a mov r2,zero
  21246. }
  21247. 51a48: e037883a mov sp,fp
  21248. 51a4c: dfc00117 ldw ra,4(sp)
  21249. 51a50: df000017 ldw fp,0(sp)
  21250. 51a54: dec00204 addi sp,sp,8
  21251. 51a58: f800283a ret
  21252. 00051a5c <alt_get_fd>:
  21253. * the offset of the file descriptor within the file descriptor array). A
  21254. * negative value indicates failure.
  21255. */
  21256. int alt_get_fd (alt_dev* dev)
  21257. {
  21258. 51a5c: defffa04 addi sp,sp,-24
  21259. 51a60: dfc00515 stw ra,20(sp)
  21260. 51a64: df000415 stw fp,16(sp)
  21261. 51a68: dc000315 stw r16,12(sp)
  21262. 51a6c: df000404 addi fp,sp,16
  21263. 51a70: e13ffe15 stw r4,-8(fp)
  21264. alt_32 i;
  21265. int rc = -EMFILE;
  21266. 51a74: 00bffa04 movi r2,-24
  21267. 51a78: e0bffd15 stw r2,-12(fp)
  21268. * indicates the highest file descriptor ever allocated. This is used to
  21269. * improve efficency when searching the file descriptor list, and
  21270. * therefore reduce contention on the alt_fd_list_lock semaphore.
  21271. */
  21272. for (i = 0; i < ALT_MAX_FD; i++)
  21273. 51a7c: e03ffc15 stw zero,-16(fp)
  21274. 51a80: 00001d06 br 51af8 <alt_get_fd+0x9c>
  21275. {
  21276. if (!alt_fd_list[i].dev)
  21277. 51a84: 04000174 movhi r16,5
  21278. 51a88: 840b9204 addi r16,r16,11848
  21279. 51a8c: e0bffc17 ldw r2,-16(fp)
  21280. 51a90: 01400304 movi r5,12
  21281. 51a94: 1009883a mov r4,r2
  21282. 51a98: 004d3dc0 call 4d3dc <__mulsi3>
  21283. 51a9c: 8085883a add r2,r16,r2
  21284. 51aa0: 10800017 ldw r2,0(r2)
  21285. 51aa4: 1000111e bne r2,zero,51aec <alt_get_fd+0x90>
  21286. {
  21287. alt_fd_list[i].dev = dev;
  21288. 51aa8: 04000174 movhi r16,5
  21289. 51aac: 840b9204 addi r16,r16,11848
  21290. 51ab0: e0bffc17 ldw r2,-16(fp)
  21291. 51ab4: 01400304 movi r5,12
  21292. 51ab8: 1009883a mov r4,r2
  21293. 51abc: 004d3dc0 call 4d3dc <__mulsi3>
  21294. 51ac0: 8085883a add r2,r16,r2
  21295. 51ac4: e0fffe17 ldw r3,-8(fp)
  21296. 51ac8: 10c00015 stw r3,0(r2)
  21297. if (i > alt_max_fd)
  21298. 51acc: d0e00a17 ldw r3,-32728(gp)
  21299. 51ad0: e0bffc17 ldw r2,-16(fp)
  21300. 51ad4: 1880020e bge r3,r2,51ae0 <alt_get_fd+0x84>
  21301. {
  21302. alt_max_fd = i;
  21303. 51ad8: e0bffc17 ldw r2,-16(fp)
  21304. 51adc: d0a00a15 stw r2,-32728(gp)
  21305. }
  21306. rc = i;
  21307. 51ae0: e0bffc17 ldw r2,-16(fp)
  21308. 51ae4: e0bffd15 stw r2,-12(fp)
  21309. goto alt_get_fd_exit;
  21310. 51ae8: 00000606 br 51b04 <alt_get_fd+0xa8>
  21311. * indicates the highest file descriptor ever allocated. This is used to
  21312. * improve efficency when searching the file descriptor list, and
  21313. * therefore reduce contention on the alt_fd_list_lock semaphore.
  21314. */
  21315. for (i = 0; i < ALT_MAX_FD; i++)
  21316. 51aec: e0bffc17 ldw r2,-16(fp)
  21317. 51af0: 10800044 addi r2,r2,1
  21318. 51af4: e0bffc15 stw r2,-16(fp)
  21319. 51af8: e0bffc17 ldw r2,-16(fp)
  21320. 51afc: 10800810 cmplti r2,r2,32
  21321. 51b00: 103fe01e bne r2,zero,51a84 <__alt_data_end+0xfffdfa84>
  21322. * file descriptor pool.
  21323. */
  21324. ALT_SEM_POST(alt_fd_list_lock);
  21325. return rc;
  21326. 51b04: e0bffd17 ldw r2,-12(fp)
  21327. }
  21328. 51b08: e6ffff04 addi sp,fp,-4
  21329. 51b0c: dfc00217 ldw ra,8(sp)
  21330. 51b10: df000117 ldw fp,4(sp)
  21331. 51b14: dc000017 ldw r16,0(sp)
  21332. 51b18: dec00304 addi sp,sp,12
  21333. 51b1c: f800283a ret
  21334. 00051b20 <alt_exception_cause_generated_bad_addr>:
  21335. * Return: 1: BADADDR (bad_addr argument to handler) is valid
  21336. * 0: BADADDR is not valid
  21337. */
  21338. int
  21339. alt_exception_cause_generated_bad_addr(alt_exception_cause cause)
  21340. {
  21341. 51b20: defffe04 addi sp,sp,-8
  21342. 51b24: df000115 stw fp,4(sp)
  21343. 51b28: df000104 addi fp,sp,4
  21344. 51b2c: e13fff15 stw r4,-4(fp)
  21345. switch (cause) {
  21346. 51b30: e0bfff17 ldw r2,-4(fp)
  21347. 51b34: 10bffe84 addi r2,r2,-6
  21348. 51b38: 10c00428 cmpgeui r3,r2,16
  21349. 51b3c: 18001a1e bne r3,zero,51ba8 <alt_exception_cause_generated_bad_addr+0x88>
  21350. 51b40: 100690ba slli r3,r2,2
  21351. 51b44: 00800174 movhi r2,5
  21352. 51b48: 1086d604 addi r2,r2,7000
  21353. 51b4c: 1885883a add r2,r3,r2
  21354. 51b50: 10800017 ldw r2,0(r2)
  21355. 51b54: 1000683a jmp r2
  21356. 51b58: 00051b98 cmpnei zero,zero,5230
  21357. 51b5c: 00051b98 cmpnei zero,zero,5230
  21358. 51b60: 00051ba8 cmpgeui zero,zero,5230
  21359. 51b64: 00051ba8 cmpgeui zero,zero,5230
  21360. 51b68: 00051ba8 cmpgeui zero,zero,5230
  21361. 51b6c: 00051b98 cmpnei zero,zero,5230
  21362. 51b70: 00051ba0 cmpeqi zero,zero,5230
  21363. 51b74: 00051ba8 cmpgeui zero,zero,5230
  21364. 51b78: 00051b98 cmpnei zero,zero,5230
  21365. 51b7c: 00051b98 cmpnei zero,zero,5230
  21366. 51b80: 00051ba8 cmpgeui zero,zero,5230
  21367. 51b84: 00051b98 cmpnei zero,zero,5230
  21368. 51b88: 00051ba0 cmpeqi zero,zero,5230
  21369. 51b8c: 00051ba8 cmpgeui zero,zero,5230
  21370. 51b90: 00051ba8 cmpgeui zero,zero,5230
  21371. 51b94: 00051b98 cmpnei zero,zero,5230
  21372. case NIOS2_EXCEPTION_MISALIGNED_TARGET_PC:
  21373. case NIOS2_EXCEPTION_TLB_READ_PERM_VIOLATION:
  21374. case NIOS2_EXCEPTION_TLB_WRITE_PERM_VIOLATION:
  21375. case NIOS2_EXCEPTION_MPU_DATA_REGION_VIOLATION:
  21376. case NIOS2_EXCEPTION_ECC_DATA_ERR:
  21377. return 1;
  21378. 51b98: 00800044 movi r2,1
  21379. 51b9c: 00000306 br 51bac <alt_exception_cause_generated_bad_addr+0x8c>
  21380. case NIOS2_EXCEPTION_TLB_MISS:
  21381. case NIOS2_EXCEPTION_ECC_TLB_ERR:
  21382. return 0;
  21383. 51ba0: 0005883a mov r2,zero
  21384. 51ba4: 00000106 br 51bac <alt_exception_cause_generated_bad_addr+0x8c>
  21385. default:
  21386. return 0;
  21387. 51ba8: 0005883a mov r2,zero
  21388. }
  21389. }
  21390. 51bac: e037883a mov sp,fp
  21391. 51bb0: df000017 ldw fp,0(sp)
  21392. 51bb4: dec00104 addi sp,sp,4
  21393. 51bb8: f800283a ret
  21394. 00051bbc <atexit>:
  21395. 51bbc: 200b883a mov r5,r4
  21396. 51bc0: 000f883a mov r7,zero
  21397. 51bc4: 000d883a mov r6,zero
  21398. 51bc8: 0009883a mov r4,zero
  21399. 51bcc: 0051c841 jmpi 51c84 <__register_exitproc>
  21400. 00051bd0 <exit>:
  21401. 51bd0: defffe04 addi sp,sp,-8
  21402. 51bd4: 000b883a mov r5,zero
  21403. 51bd8: dc000015 stw r16,0(sp)
  21404. 51bdc: dfc00115 stw ra,4(sp)
  21405. 51be0: 2021883a mov r16,r4
  21406. 51be4: 0051d9c0 call 51d9c <__call_exitprocs>
  21407. 51be8: 00800174 movhi r2,5
  21408. 51bec: 10905204 addi r2,r2,16712
  21409. 51bf0: 11000017 ldw r4,0(r2)
  21410. 51bf4: 20800f17 ldw r2,60(r4)
  21411. 51bf8: 10000126 beq r2,zero,51c00 <exit+0x30>
  21412. 51bfc: 103ee83a callr r2
  21413. 51c00: 8009883a mov r4,r16
  21414. 51c04: 0051f1c0 call 51f1c <_exit>
  21415. 00051c08 <memcmp>:
  21416. 51c08: 01c000c4 movi r7,3
  21417. 51c0c: 3980192e bgeu r7,r6,51c74 <memcmp+0x6c>
  21418. 51c10: 2144b03a or r2,r4,r5
  21419. 51c14: 11c4703a and r2,r2,r7
  21420. 51c18: 10000f26 beq r2,zero,51c58 <memcmp+0x50>
  21421. 51c1c: 20800003 ldbu r2,0(r4)
  21422. 51c20: 28c00003 ldbu r3,0(r5)
  21423. 51c24: 10c0151e bne r2,r3,51c7c <memcmp+0x74>
  21424. 51c28: 31bfff84 addi r6,r6,-2
  21425. 51c2c: 01ffffc4 movi r7,-1
  21426. 51c30: 00000406 br 51c44 <memcmp+0x3c>
  21427. 51c34: 20800003 ldbu r2,0(r4)
  21428. 51c38: 28c00003 ldbu r3,0(r5)
  21429. 51c3c: 31bfffc4 addi r6,r6,-1
  21430. 51c40: 10c00e1e bne r2,r3,51c7c <memcmp+0x74>
  21431. 51c44: 21000044 addi r4,r4,1
  21432. 51c48: 29400044 addi r5,r5,1
  21433. 51c4c: 31fff91e bne r6,r7,51c34 <__alt_data_end+0xfffdfc34>
  21434. 51c50: 0005883a mov r2,zero
  21435. 51c54: f800283a ret
  21436. 51c58: 20c00017 ldw r3,0(r4)
  21437. 51c5c: 28800017 ldw r2,0(r5)
  21438. 51c60: 18bfee1e bne r3,r2,51c1c <__alt_data_end+0xfffdfc1c>
  21439. 51c64: 31bfff04 addi r6,r6,-4
  21440. 51c68: 21000104 addi r4,r4,4
  21441. 51c6c: 29400104 addi r5,r5,4
  21442. 51c70: 39bff936 bltu r7,r6,51c58 <__alt_data_end+0xfffdfc58>
  21443. 51c74: 303fe91e bne r6,zero,51c1c <__alt_data_end+0xfffdfc1c>
  21444. 51c78: 003ff506 br 51c50 <__alt_data_end+0xfffdfc50>
  21445. 51c7c: 10c5c83a sub r2,r2,r3
  21446. 51c80: f800283a ret
  21447. 00051c84 <__register_exitproc>:
  21448. 51c84: defffa04 addi sp,sp,-24
  21449. 51c88: dc000315 stw r16,12(sp)
  21450. 51c8c: 04000174 movhi r16,5
  21451. 51c90: 84105204 addi r16,r16,16712
  21452. 51c94: 80c00017 ldw r3,0(r16)
  21453. 51c98: dc400415 stw r17,16(sp)
  21454. 51c9c: dfc00515 stw ra,20(sp)
  21455. 51ca0: 18805217 ldw r2,328(r3)
  21456. 51ca4: 2023883a mov r17,r4
  21457. 51ca8: 10003726 beq r2,zero,51d88 <__register_exitproc+0x104>
  21458. 51cac: 10c00117 ldw r3,4(r2)
  21459. 51cb0: 010007c4 movi r4,31
  21460. 51cb4: 20c00e16 blt r4,r3,51cf0 <__register_exitproc+0x6c>
  21461. 51cb8: 1a000044 addi r8,r3,1
  21462. 51cbc: 8800221e bne r17,zero,51d48 <__register_exitproc+0xc4>
  21463. 51cc0: 18c00084 addi r3,r3,2
  21464. 51cc4: 18c7883a add r3,r3,r3
  21465. 51cc8: 18c7883a add r3,r3,r3
  21466. 51ccc: 12000115 stw r8,4(r2)
  21467. 51cd0: 10c7883a add r3,r2,r3
  21468. 51cd4: 19400015 stw r5,0(r3)
  21469. 51cd8: 0005883a mov r2,zero
  21470. 51cdc: dfc00517 ldw ra,20(sp)
  21471. 51ce0: dc400417 ldw r17,16(sp)
  21472. 51ce4: dc000317 ldw r16,12(sp)
  21473. 51ce8: dec00604 addi sp,sp,24
  21474. 51cec: f800283a ret
  21475. 51cf0: 00800034 movhi r2,0
  21476. 51cf4: 10800004 addi r2,r2,0
  21477. 51cf8: 10002626 beq r2,zero,51d94 <__register_exitproc+0x110>
  21478. 51cfc: 01006404 movi r4,400
  21479. 51d00: d9400015 stw r5,0(sp)
  21480. 51d04: d9800115 stw r6,4(sp)
  21481. 51d08: d9c00215 stw r7,8(sp)
  21482. 51d0c: 00000000 call 0 <__alt_mem_onchip_memory2-0x40000>
  21483. 51d10: d9400017 ldw r5,0(sp)
  21484. 51d14: d9800117 ldw r6,4(sp)
  21485. 51d18: d9c00217 ldw r7,8(sp)
  21486. 51d1c: 10001d26 beq r2,zero,51d94 <__register_exitproc+0x110>
  21487. 51d20: 81000017 ldw r4,0(r16)
  21488. 51d24: 10000115 stw zero,4(r2)
  21489. 51d28: 02000044 movi r8,1
  21490. 51d2c: 22405217 ldw r9,328(r4)
  21491. 51d30: 0007883a mov r3,zero
  21492. 51d34: 12400015 stw r9,0(r2)
  21493. 51d38: 20805215 stw r2,328(r4)
  21494. 51d3c: 10006215 stw zero,392(r2)
  21495. 51d40: 10006315 stw zero,396(r2)
  21496. 51d44: 883fde26 beq r17,zero,51cc0 <__alt_data_end+0xfffdfcc0>
  21497. 51d48: 18c9883a add r4,r3,r3
  21498. 51d4c: 2109883a add r4,r4,r4
  21499. 51d50: 1109883a add r4,r2,r4
  21500. 51d54: 21802215 stw r6,136(r4)
  21501. 51d58: 01800044 movi r6,1
  21502. 51d5c: 12406217 ldw r9,392(r2)
  21503. 51d60: 30cc983a sll r6,r6,r3
  21504. 51d64: 4992b03a or r9,r9,r6
  21505. 51d68: 12406215 stw r9,392(r2)
  21506. 51d6c: 21c04215 stw r7,264(r4)
  21507. 51d70: 01000084 movi r4,2
  21508. 51d74: 893fd21e bne r17,r4,51cc0 <__alt_data_end+0xfffdfcc0>
  21509. 51d78: 11006317 ldw r4,396(r2)
  21510. 51d7c: 218cb03a or r6,r4,r6
  21511. 51d80: 11806315 stw r6,396(r2)
  21512. 51d84: 003fce06 br 51cc0 <__alt_data_end+0xfffdfcc0>
  21513. 51d88: 18805304 addi r2,r3,332
  21514. 51d8c: 18805215 stw r2,328(r3)
  21515. 51d90: 003fc606 br 51cac <__alt_data_end+0xfffdfcac>
  21516. 51d94: 00bfffc4 movi r2,-1
  21517. 51d98: 003fd006 br 51cdc <__alt_data_end+0xfffdfcdc>
  21518. 00051d9c <__call_exitprocs>:
  21519. 51d9c: defff504 addi sp,sp,-44
  21520. 51da0: df000915 stw fp,36(sp)
  21521. 51da4: dd400615 stw r21,24(sp)
  21522. 51da8: dc800315 stw r18,12(sp)
  21523. 51dac: dfc00a15 stw ra,40(sp)
  21524. 51db0: ddc00815 stw r23,32(sp)
  21525. 51db4: dd800715 stw r22,28(sp)
  21526. 51db8: dd000515 stw r20,20(sp)
  21527. 51dbc: dcc00415 stw r19,16(sp)
  21528. 51dc0: dc400215 stw r17,8(sp)
  21529. 51dc4: dc000115 stw r16,4(sp)
  21530. 51dc8: d9000015 stw r4,0(sp)
  21531. 51dcc: 2839883a mov fp,r5
  21532. 51dd0: 04800044 movi r18,1
  21533. 51dd4: 057fffc4 movi r21,-1
  21534. 51dd8: 00800174 movhi r2,5
  21535. 51ddc: 10905204 addi r2,r2,16712
  21536. 51de0: 12000017 ldw r8,0(r2)
  21537. 51de4: 45005217 ldw r20,328(r8)
  21538. 51de8: 44c05204 addi r19,r8,328
  21539. 51dec: a0001c26 beq r20,zero,51e60 <__call_exitprocs+0xc4>
  21540. 51df0: a0800117 ldw r2,4(r20)
  21541. 51df4: 15ffffc4 addi r23,r2,-1
  21542. 51df8: b8000d16 blt r23,zero,51e30 <__call_exitprocs+0x94>
  21543. 51dfc: 14000044 addi r16,r2,1
  21544. 51e00: 8421883a add r16,r16,r16
  21545. 51e04: 8421883a add r16,r16,r16
  21546. 51e08: 84402004 addi r17,r16,128
  21547. 51e0c: a463883a add r17,r20,r17
  21548. 51e10: a421883a add r16,r20,r16
  21549. 51e14: e0001e26 beq fp,zero,51e90 <__call_exitprocs+0xf4>
  21550. 51e18: 80804017 ldw r2,256(r16)
  21551. 51e1c: e0801c26 beq fp,r2,51e90 <__call_exitprocs+0xf4>
  21552. 51e20: bdffffc4 addi r23,r23,-1
  21553. 51e24: 843fff04 addi r16,r16,-4
  21554. 51e28: 8c7fff04 addi r17,r17,-4
  21555. 51e2c: bd7ff91e bne r23,r21,51e14 <__alt_data_end+0xfffdfe14>
  21556. 51e30: 00800034 movhi r2,0
  21557. 51e34: 10800004 addi r2,r2,0
  21558. 51e38: 10000926 beq r2,zero,51e60 <__call_exitprocs+0xc4>
  21559. 51e3c: a0800117 ldw r2,4(r20)
  21560. 51e40: 1000301e bne r2,zero,51f04 <__call_exitprocs+0x168>
  21561. 51e44: a0800017 ldw r2,0(r20)
  21562. 51e48: 10003226 beq r2,zero,51f14 <__call_exitprocs+0x178>
  21563. 51e4c: a009883a mov r4,r20
  21564. 51e50: 98800015 stw r2,0(r19)
  21565. 51e54: 00000000 call 0 <__alt_mem_onchip_memory2-0x40000>
  21566. 51e58: 9d000017 ldw r20,0(r19)
  21567. 51e5c: a03fe41e bne r20,zero,51df0 <__alt_data_end+0xfffdfdf0>
  21568. 51e60: dfc00a17 ldw ra,40(sp)
  21569. 51e64: df000917 ldw fp,36(sp)
  21570. 51e68: ddc00817 ldw r23,32(sp)
  21571. 51e6c: dd800717 ldw r22,28(sp)
  21572. 51e70: dd400617 ldw r21,24(sp)
  21573. 51e74: dd000517 ldw r20,20(sp)
  21574. 51e78: dcc00417 ldw r19,16(sp)
  21575. 51e7c: dc800317 ldw r18,12(sp)
  21576. 51e80: dc400217 ldw r17,8(sp)
  21577. 51e84: dc000117 ldw r16,4(sp)
  21578. 51e88: dec00b04 addi sp,sp,44
  21579. 51e8c: f800283a ret
  21580. 51e90: a0800117 ldw r2,4(r20)
  21581. 51e94: 80c00017 ldw r3,0(r16)
  21582. 51e98: 10bfffc4 addi r2,r2,-1
  21583. 51e9c: 15c01426 beq r2,r23,51ef0 <__call_exitprocs+0x154>
  21584. 51ea0: 80000015 stw zero,0(r16)
  21585. 51ea4: 183fde26 beq r3,zero,51e20 <__alt_data_end+0xfffdfe20>
  21586. 51ea8: 95c8983a sll r4,r18,r23
  21587. 51eac: a0806217 ldw r2,392(r20)
  21588. 51eb0: a5800117 ldw r22,4(r20)
  21589. 51eb4: 2084703a and r2,r4,r2
  21590. 51eb8: 10000b26 beq r2,zero,51ee8 <__call_exitprocs+0x14c>
  21591. 51ebc: a0806317 ldw r2,396(r20)
  21592. 51ec0: 2088703a and r4,r4,r2
  21593. 51ec4: 20000c1e bne r4,zero,51ef8 <__call_exitprocs+0x15c>
  21594. 51ec8: 89400017 ldw r5,0(r17)
  21595. 51ecc: d9000017 ldw r4,0(sp)
  21596. 51ed0: 183ee83a callr r3
  21597. 51ed4: a0800117 ldw r2,4(r20)
  21598. 51ed8: 15bfbf1e bne r2,r22,51dd8 <__alt_data_end+0xfffdfdd8>
  21599. 51edc: 98800017 ldw r2,0(r19)
  21600. 51ee0: 153fcf26 beq r2,r20,51e20 <__alt_data_end+0xfffdfe20>
  21601. 51ee4: 003fbc06 br 51dd8 <__alt_data_end+0xfffdfdd8>
  21602. 51ee8: 183ee83a callr r3
  21603. 51eec: 003ff906 br 51ed4 <__alt_data_end+0xfffdfed4>
  21604. 51ef0: a5c00115 stw r23,4(r20)
  21605. 51ef4: 003feb06 br 51ea4 <__alt_data_end+0xfffdfea4>
  21606. 51ef8: 89000017 ldw r4,0(r17)
  21607. 51efc: 183ee83a callr r3
  21608. 51f00: 003ff406 br 51ed4 <__alt_data_end+0xfffdfed4>
  21609. 51f04: a0800017 ldw r2,0(r20)
  21610. 51f08: a027883a mov r19,r20
  21611. 51f0c: 1029883a mov r20,r2
  21612. 51f10: 003fb606 br 51dec <__alt_data_end+0xfffdfdec>
  21613. 51f14: 0005883a mov r2,zero
  21614. 51f18: 003ffb06 br 51f08 <__alt_data_end+0xfffdff08>
  21615. 00051f1c <_exit>:
  21616. *
  21617. * ALT_EXIT is mapped onto the _exit() system call in alt_syscall.h
  21618. */
  21619. void ALT_EXIT (int exit_code)
  21620. {
  21621. 51f1c: defffd04 addi sp,sp,-12
  21622. 51f20: df000215 stw fp,8(sp)
  21623. 51f24: df000204 addi fp,sp,8
  21624. 51f28: e13fff15 stw r4,-4(fp)
  21625. ALT_LOG_PRINT_BOOT("[alt_exit.c] Entering _exit() function.\r\n");
  21626. ALT_LOG_PRINT_BOOT("[alt_exit.c] Exit code from main was %d.\r\n",exit_code);
  21627. /* Stop all other threads */
  21628. ALT_LOG_PRINT_BOOT("[alt_exit.c] Calling ALT_OS_STOP().\r\n");
  21629. ALT_OS_STOP();
  21630. 51f2c: 0001883a nop
  21631. 51f30: e0bfff17 ldw r2,-4(fp)
  21632. 51f34: e0bffe15 stw r2,-8(fp)
  21633. /*
  21634. * Routine called on exit.
  21635. */
  21636. static ALT_INLINE ALT_ALWAYS_INLINE void alt_sim_halt(int exit_code)
  21637. {
  21638. register int r2 asm ("r2") = exit_code;
  21639. 51f38: e0bffe17 ldw r2,-8(fp)
  21640. __asm__ volatile ("\n0:\n\taddi %0,%0, -1\n\tbgt %0,zero,0b" : : "r" (ALT_CPU_FREQ/100) ); /* Delay for >30ms */
  21641. __asm__ volatile ("break 2" : : "r"(r2), "r"(r3) ALT_GMON_DATA );
  21642. #else /* !DEBUG_STUB */
  21643. if (r2) {
  21644. 51f3c: 10000226 beq r2,zero,51f48 <_exit+0x2c>
  21645. ALT_SIM_FAIL();
  21646. 51f40: 002af070 cmpltui zero,zero,43969
  21647. 51f44: 00000106 br 51f4c <_exit+0x30>
  21648. } else {
  21649. ALT_SIM_PASS();
  21650. 51f48: 002af0b0 cmpltui zero,zero,43970
  21651. ALT_SIM_HALT(exit_code);
  21652. /* spin forever, since there's no where to go back to */
  21653. ALT_LOG_PRINT_BOOT("[alt_exit.c] Spinning forever.\r\n");
  21654. while (1);
  21655. 51f4c: 003fff06 br 51f4c <__alt_data_end+0xfffdff4c>