123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594 |
- heater3_6_2.elf: file format elf32-avr
- Sections:
- Idx Name Size VMA LMA File off Algn
- 0 .data 00000044 00800100 000018f4 00001988 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 1 .text 000018f4 00000000 00000000 00000094 2**1
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .bss 00000096 00800144 00800144 000019cc 2**0
- ALLOC
- 3 .comment 0000005c 00000000 00000000 000019cc 2**0
- CONTENTS, READONLY
- 4 .debug_aranges 000000e8 00000000 00000000 00001a28 2**0
- CONTENTS, READONLY, DEBUGGING
- 5 .debug_info 000011b3 00000000 00000000 00001b10 2**0
- CONTENTS, READONLY, DEBUGGING
- 6 .debug_abbrev 0000050b 00000000 00000000 00002cc3 2**0
- CONTENTS, READONLY, DEBUGGING
- 7 .debug_line 00000508 00000000 00000000 000031ce 2**0
- CONTENTS, READONLY, DEBUGGING
- 8 .debug_frame 000002d8 00000000 00000000 000036d8 2**2
- CONTENTS, READONLY, DEBUGGING
- 9 .debug_str 000004d5 00000000 00000000 000039b0 2**0
- CONTENTS, READONLY, DEBUGGING
- 10 .debug_loc 00000b53 00000000 00000000 00003e85 2**0
- CONTENTS, READONLY, DEBUGGING
- 11 .debug_ranges 000000e0 00000000 00000000 000049d8 2**0
- CONTENTS, READONLY, DEBUGGING
- Disassembly of section .text:
- 00000000 <__vectors>:
- 0: 0c 94 bf 00 jmp 0x17e ; 0x17e <__ctors_end>
- 4: 0c 94 16 01 jmp 0x22c ; 0x22c <__vector_1>
- 8: 0c 94 27 01 jmp 0x24e ; 0x24e <__vector_2>
- c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 10: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 14: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 18: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 1c: 0c 94 03 01 jmp 0x206 ; 0x206 <__vector_7>
- 20: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 24: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 28: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 2c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 30: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 34: 0c 94 8d 01 jmp 0x31a ; 0x31a <__vector_13>
- 38: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 3c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 40: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 44: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 48: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 4c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 50: 0c 94 38 01 jmp 0x270 ; 0x270 <__vector_20>
- 54: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 58: 0c 94 61 01 jmp 0x2c2 ; 0x2c2 <__vector_22>
- 5c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 60: 0c 94 83 01 jmp 0x306 ; 0x306 <__vector_24>
- 64: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 68: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 6c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 70: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 74: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 78: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt>
- 0000007c <__trampolines_end>:
- 7c: 6e 61 ori r22, 0x1E ; 30
- 7e: 6e 00 .word 0x006e ; ????
- 00000080 <__c.2159>:
- 80: 69 6e 66 00 00 40 7a 10 f3 5a 00 a0 72 4e 18 09 inf..@z..Z..rN..
- 90: 00 10 a5 d4 e8 00 00 e8 76 48 17 00 00 e4 0b 54 ........vH.....T
- a0: 02 00 00 ca 9a 3b 00 00 00 e1 f5 05 00 00 80 96 .....;..........
- b0: 98 00 00 00 40 42 0f 00 00 00 a0 86 01 00 00 00 ....@B..........
- c0: 10 27 00 00 00 00 e8 03 00 00 00 00 64 00 00 00 .'..........d...
- d0: 00 00 0a 00 00 00 00 00 01 00 00 00 00 00 2c 76 ..............,v
- e0: d8 88 dc 67 4f 08 23 df c1 df ae 59 e1 b1 b7 96 ...gO.#....Y....
- f0: e5 e3 e4 53 c6 3a e6 51 99 76 96 e8 e6 c2 84 26 ...S.:.Q.v.....&
- 100: eb 89 8c 9b 62 ed 40 7c 6f fc ef bc 9c 9f 40 f2 ....b.@|o.....@.
- 110: ba a5 6f a5 f4 90 05 5a 2a f7 5c 93 6b 6c f9 67 ..o....Z*.\.kl.g
- 120: 6d c1 1b fc e0 e4 0d 47 fe f5 20 e6 b5 00 d0 ed m......G.. .....
- 130: 90 2e 03 00 94 35 77 05 00 80 84 1e 08 00 00 20 .....5w........
- 140: 4e 0a 00 00 00 c8 0c 33 33 33 33 0f 98 6e 12 83 N......3333..n..
- 150: 11 41 ef 8d 21 14 89 3b e6 55 16 cf fe e6 db 18 .A..!..;.U......
- 160: d1 84 4b 38 1b f7 7c 1d 90 1d a4 bb e4 24 20 32 ..K8..|......$ 2
- 170: 84 72 5e 22 81 00 c9 f1 24 ec a1 e5 3d 27 .r^"....$...='
- 0000017e <__ctors_end>:
- 17e: 11 24 eor r1, r1
- 180: 1f be out 0x3f, r1 ; 63
- 182: cf ef ldi r28, 0xFF ; 255
- 184: d0 e1 ldi r29, 0x10 ; 16
- 186: de bf out 0x3e, r29 ; 62
- 188: cd bf out 0x3d, r28 ; 61
- 0000018a <__do_copy_data>:
- 18a: 11 e0 ldi r17, 0x01 ; 1
- 18c: a0 e0 ldi r26, 0x00 ; 0
- 18e: b1 e0 ldi r27, 0x01 ; 1
- 190: e4 ef ldi r30, 0xF4 ; 244
- 192: f8 e1 ldi r31, 0x18 ; 24
- 194: 02 c0 rjmp .+4 ; 0x19a <__do_copy_data+0x10>
- 196: 05 90 lpm r0, Z+
- 198: 0d 92 st X+, r0
- 19a: a4 34 cpi r26, 0x44 ; 68
- 19c: b1 07 cpc r27, r17
- 19e: d9 f7 brne .-10 ; 0x196 <__do_copy_data+0xc>
- 000001a0 <__do_clear_bss>:
- 1a0: 21 e0 ldi r18, 0x01 ; 1
- 1a2: a4 e4 ldi r26, 0x44 ; 68
- 1a4: b1 e0 ldi r27, 0x01 ; 1
- 1a6: 01 c0 rjmp .+2 ; 0x1aa <.do_clear_bss_start>
- 000001a8 <.do_clear_bss_loop>:
- 1a8: 1d 92 st X+, r1
- 000001aa <.do_clear_bss_start>:
- 1aa: aa 3d cpi r26, 0xDA ; 218
- 1ac: b2 07 cpc r27, r18
- 1ae: e1 f7 brne .-8 ; 0x1a8 <.do_clear_bss_loop>
- 1b0: 0e 94 d5 02 call 0x5aa ; 0x5aa <main>
- 1b4: 0c 94 78 0c jmp 0x18f0 ; 0x18f0 <_exit>
- 000001b8 <__bad_interrupt>:
- 1b8: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
- 000001bc <uart_putchar>:
- return 0;
- }
- static int uart_putchar(char c, FILE *stream)
- {
- cli();
- 1bc: f8 94 cli
- if(UCSR0A & (1 << UDRIE0))
- 1be: 90 91 c0 00 lds r25, 0x00C0
- 1c2: 95 ff sbrs r25, 5
- 1c4: 03 c0 rjmp .+6 ; 0x1cc <uart_putchar+0x10>
- {
- UDR0 = c;
- 1c6: 80 93 c6 00 sts 0x00C6, r24
- 1ca: 14 c0 rjmp .+40 ; 0x1f4 <uart_putchar+0x38>
- }
- else
- {
- if(!FIFO_IS_FULL(fifo0))
- 1cc: 90 91 cb 01 lds r25, 0x01CB
- 1d0: 29 2f mov r18, r25
- 1d2: 30 e0 ldi r19, 0x00 ; 0
- 1d4: 40 91 ca 01 lds r20, 0x01CA
- 1d8: 24 1b sub r18, r20
- 1da: 31 09 sbc r19, r1
- 1dc: 20 38 cpi r18, 0x80 ; 128
- 1de: 31 05 cpc r19, r1
- 1e0: 49 f0 breq .+18 ; 0x1f4 <uart_putchar+0x38>
- {
- FIFO_PUSH(fifo0, c);
- 1e2: e9 2f mov r30, r25
- 1e4: ef 77 andi r30, 0x7F ; 127
- 1e6: f0 e0 ldi r31, 0x00 ; 0
- 1e8: e6 5b subi r30, 0xB6 ; 182
- 1ea: fe 4f sbci r31, 0xFE ; 254
- 1ec: 80 83 st Z, r24
- 1ee: 9f 5f subi r25, 0xFF ; 255
- 1f0: 90 93 cb 01 sts 0x01CB, r25
- }
- }
- sei();
- 1f4: 78 94 sei
- return 0;
- }
- 1f6: 80 e0 ldi r24, 0x00 ; 0
- 1f8: 90 e0 ldi r25, 0x00 ; 0
- 1fa: 08 95 ret
- 000001fc <lcd_putchar>:
- return(data);
- }
- static int lcd_putchar(char c, FILE *stream)
- {
- LCD_SendData(c);
- 1fc: 0e 94 7d 04 call 0x8fa ; 0x8fa <LCD_SendData>
- return 0;
- }
- 200: 80 e0 ldi r24, 0x00 ; 0
- 202: 90 e0 ldi r25, 0x00 ; 0
- 204: 08 95 ret
- 00000206 <__vector_7>:
- volatile uint8_t tick = 0;
- FIFO(128) fifo0;
- ISR(PCINT3_vect)
- {
- 206: 1f 92 push r1
- 208: 0f 92 push r0
- 20a: 0f b6 in r0, 0x3f ; 63
- 20c: 0f 92 push r0
- 20e: 11 24 eor r1, r1
- 210: 8f 93 push r24
- //PCICR &= ~(1 << PCIE3);
- btn_pressed = ~((BTNPIN >> 4) | 0xF0);
- 212: 89 b1 in r24, 0x09 ; 9
- 214: 82 95 swap r24
- 216: 8f 70 andi r24, 0x0F ; 15
- 218: 80 6f ori r24, 0xF0 ; 240
- 21a: 80 95 com r24
- 21c: 80 93 49 01 sts 0x0149, r24
- }
- 220: 8f 91 pop r24
- 222: 0f 90 pop r0
- 224: 0f be out 0x3f, r0 ; 63
- 226: 0f 90 pop r0
- 228: 1f 90 pop r1
- 22a: 18 95 reti
- 0000022c <__vector_1>:
- ISR(INT0_vect) /*OVERCURRENT PROTECTION 1*/
- {
- 22c: 1f 92 push r1
- 22e: 0f 92 push r0
- 230: 0f b6 in r0, 0x3f ; 63
- 232: 0f 92 push r0
- 234: 11 24 eor r1, r1
- 236: 8f 93 push r24
- GATEPORT |= (1 << GATE1);
- 238: 46 9a sbi 0x08, 6 ; 8
- LEDPORT &= ~(1 << LED1);
- 23a: 42 98 cbi 0x08, 2 ; 8
- ocp_ch[0] = 1;
- 23c: 81 e0 ldi r24, 0x01 ; 1
- 23e: 80 93 45 01 sts 0x0145, r24
- }
- 242: 8f 91 pop r24
- 244: 0f 90 pop r0
- 246: 0f be out 0x3f, r0 ; 63
- 248: 0f 90 pop r0
- 24a: 1f 90 pop r1
- 24c: 18 95 reti
- 0000024e <__vector_2>:
- ISR(INT1_vect) /*OVERCURRENT PROTECTION 2*/
- {
- 24e: 1f 92 push r1
- 250: 0f 92 push r0
- 252: 0f b6 in r0, 0x3f ; 63
- 254: 0f 92 push r0
- 256: 11 24 eor r1, r1
- 258: 8f 93 push r24
- GATEPORT |= (1 << GATE2);
- 25a: 47 9a sbi 0x08, 7 ; 8
- LEDPORT &= ~(1 << LED2);
- 25c: 43 98 cbi 0x08, 3 ; 8
- ocp_ch[1] = 1;
- 25e: 81 e0 ldi r24, 0x01 ; 1
- 260: 80 93 46 01 sts 0x0146, r24
- }
- 264: 8f 91 pop r24
- 266: 0f 90 pop r0
- 268: 0f be out 0x3f, r0 ; 63
- 26a: 0f 90 pop r0
- 26c: 1f 90 pop r1
- 26e: 18 95 reti
- 00000270 <__vector_20>:
- ISR(USART0_RX_vect)
- {
- 270: 1f 92 push r1
- 272: 0f 92 push r0
- 274: 0f b6 in r0, 0x3f ; 63
- 276: 0f 92 push r0
- 278: 11 24 eor r1, r1
- 27a: 8f 93 push r24
- 27c: ef 93 push r30
- 27e: ff 93 push r31
- rxbyte = UDR0;
- 280: 80 91 c6 00 lds r24, 0x00C6
- 284: 80 93 48 01 sts 0x0148, r24
- if(rxcounter || (rxbyte == 0x55))
- 288: 80 91 47 01 lds r24, 0x0147
- 28c: 81 11 cpse r24, r1
- 28e: 04 c0 rjmp .+8 ; 0x298 <__vector_20+0x28>
- 290: 80 91 48 01 lds r24, 0x0148
- 294: 85 35 cpi r24, 0x55 ; 85
- 296: 69 f4 brne .+26 ; 0x2b2 <__vector_20+0x42>
- {
- rxbuffer[rxcounter] = rxbyte;
- 298: e0 91 47 01 lds r30, 0x0147
- 29c: f0 e0 ldi r31, 0x00 ; 0
- 29e: 80 91 48 01 lds r24, 0x0148
- 2a2: e4 53 subi r30, 0x34 ; 52
- 2a4: fe 4f sbci r31, 0xFE ; 254
- 2a6: 80 83 st Z, r24
- rxcounter++;
- 2a8: 80 91 47 01 lds r24, 0x0147
- 2ac: 8f 5f subi r24, 0xFF ; 255
- 2ae: 80 93 47 01 sts 0x0147, r24
- }
- }
- 2b2: ff 91 pop r31
- 2b4: ef 91 pop r30
- 2b6: 8f 91 pop r24
- 2b8: 0f 90 pop r0
- 2ba: 0f be out 0x3f, r0 ; 63
- 2bc: 0f 90 pop r0
- 2be: 1f 90 pop r1
- 2c0: 18 95 reti
- 000002c2 <__vector_22>:
- ISR(USART0_TX_vect)
- {
- 2c2: 1f 92 push r1
- 2c4: 0f 92 push r0
- 2c6: 0f b6 in r0, 0x3f ; 63
- 2c8: 0f 92 push r0
- 2ca: 11 24 eor r1, r1
- 2cc: 8f 93 push r24
- 2ce: ef 93 push r30
- 2d0: ff 93 push r31
- if(!FIFO_IS_EMPTY(fifo0))
- 2d2: e0 91 ca 01 lds r30, 0x01CA
- 2d6: 80 91 cb 01 lds r24, 0x01CB
- 2da: e8 17 cp r30, r24
- 2dc: 61 f0 breq .+24 ; 0x2f6 <__vector_22+0x34>
- {
- UDR0 = FIFO_FRONT(fifo0);
- 2de: ef 77 andi r30, 0x7F ; 127
- 2e0: f0 e0 ldi r31, 0x00 ; 0
- 2e2: e6 5b subi r30, 0xB6 ; 182
- 2e4: fe 4f sbci r31, 0xFE ; 254
- 2e6: 80 81 ld r24, Z
- 2e8: 80 93 c6 00 sts 0x00C6, r24
- FIFO_POP(fifo0);
- 2ec: ea ec ldi r30, 0xCA ; 202
- 2ee: f1 e0 ldi r31, 0x01 ; 1
- 2f0: 80 81 ld r24, Z
- 2f2: 8f 5f subi r24, 0xFF ; 255
- 2f4: 80 83 st Z, r24
- }
- }
- 2f6: ff 91 pop r31
- 2f8: ef 91 pop r30
- 2fa: 8f 91 pop r24
- 2fc: 0f 90 pop r0
- 2fe: 0f be out 0x3f, r0 ; 63
- 300: 0f 90 pop r0
- 302: 1f 90 pop r1
- 304: 18 95 reti
- 00000306 <__vector_24>:
- ISR(ADC_vect)
- {
- 306: 1f 92 push r1
- 308: 0f 92 push r0
- 30a: 0f b6 in r0, 0x3f ; 63
- 30c: 0f 92 push r0
- 30e: 11 24 eor r1, r1
-
- }
- 310: 0f 90 pop r0
- 312: 0f be out 0x3f, r0 ; 63
- 314: 0f 90 pop r0
- 316: 1f 90 pop r1
- 318: 18 95 reti
- 0000031a <__vector_13>:
- ISR(TIMER1_COMPA_vect)
- {
- 31a: 1f 92 push r1
- 31c: 0f 92 push r0
- 31e: 0f b6 in r0, 0x3f ; 63
- 320: 0f 92 push r0
- 322: 11 24 eor r1, r1
- 324: 8f 93 push r24
- tick = 1;
- 326: 81 e0 ldi r24, 0x01 ; 1
- 328: 80 93 44 01 sts 0x0144, r24
- }
- 32c: 8f 91 pop r24
- 32e: 0f 90 pop r0
- 330: 0f be out 0x3f, r0 ; 63
- 332: 0f 90 pop r0
- 334: 1f 90 pop r1
- 336: 18 95 reti
- 00000338 <init>:
- void init()
- {
- /* Watchdog clear*/
- MCUSR &= ~(1 << WDRF);
- 338: 84 b7 in r24, 0x34 ; 52
- 33a: 87 7f andi r24, 0xF7 ; 247
- 33c: 84 bf out 0x34, r24 ; 52
- WDTCSR |= (1 << WDCE) | (1 << WDE);
- 33e: e0 e6 ldi r30, 0x60 ; 96
- 340: f0 e0 ldi r31, 0x00 ; 0
- 342: 80 81 ld r24, Z
- 344: 88 61 ori r24, 0x18 ; 24
- 346: 80 83 st Z, r24
- WDTCSR = 0x00;
- 348: 10 82 st Z, r1
-
- /* INT0 & INT1 Initialization*/
- EICRA |= (1 << ISC01) | (1 << ISC11);
- 34a: e9 e6 ldi r30, 0x69 ; 105
- 34c: f0 e0 ldi r31, 0x00 ; 0
- 34e: 80 81 ld r24, Z
- 350: 8a 60 ori r24, 0x0A ; 10
- 352: 80 83 st Z, r24
- EIMSK |= (1 << INT0) | (1 << INT1);
- 354: 8d b3 in r24, 0x1d ; 29
- 356: 83 60 ori r24, 0x03 ; 3
- 358: 8d bb out 0x1d, r24 ; 29
-
- /* GPIO Initialization */
- PORTC |= (1 << GATE1) | (1 << GATE2);
- 35a: 88 b1 in r24, 0x08 ; 8
- 35c: 80 6c ori r24, 0xC0 ; 192
- 35e: 88 b9 out 0x08, r24 ; 8
- DDRC |= (1 << LED1) | (1 << LED2) | (1 << GATE1) | (1 << GATE2);
- 360: 87 b1 in r24, 0x07 ; 7
- 362: 8c 6c ori r24, 0xCC ; 204
- 364: 87 b9 out 0x07, r24 ; 7
-
- /* UART Initialization */
- TXD_PORT |= (1 << TXD_BIT);
- 366: 59 9a sbi 0x0b, 1 ; 11
- TXD_DDR |= (1 << TXD_BIT);
- 368: 51 9a sbi 0x0a, 1 ; 10
- UBRR0H = 0;
- 36a: 10 92 c5 00 sts 0x00C5, r1
- UBRR0L = 38;
- 36e: 86 e2 ldi r24, 0x26 ; 38
- 370: 80 93 c4 00 sts 0x00C4, r24
- UCSR0A = (1 << U2X0);
- 374: 22 e0 ldi r18, 0x02 ; 2
- 376: 20 93 c0 00 sts 0x00C0, r18
- UCSR0B = (1 << RXCIE0) | (1 << TXCIE0) | (1 << RXEN0) | (1 << TXEN0);
- 37a: 88 ed ldi r24, 0xD8 ; 216
- 37c: 80 93 c1 00 sts 0x00C1, r24
- UCSR0C = (1 << UCSZ00) | (1 << UCSZ01);
- 380: 86 e0 ldi r24, 0x06 ; 6
- 382: 80 93 c2 00 sts 0x00C2, r24
-
- /* SPI Initialization */
- DDRB |= (1 << MOSI_BIT) | (1 << SCK_BIT) | (1 << SS_BIT) | (7 << PORTB0);
- 386: 84 b1 in r24, 0x04 ; 4
- 388: 87 6b ori r24, 0xB7 ; 183
- 38a: 84 b9 out 0x04, r24 ; 4
- PORTB |= (1 << MOSI_BIT) | (1 << SCK_BIT) | (1 << SS_BIT);
- 38c: 85 b1 in r24, 0x05 ; 5
- 38e: 80 6b ori r24, 0xB0 ; 176
- 390: 85 b9 out 0x05, r24 ; 5
- SPCR = (1 << SPE) | (1 << MSTR);
- 392: 80 e5 ldi r24, 0x50 ; 80
- 394: 8c bd out 0x2c, r24 ; 44
-
- /* TWI Initialization */
- TWBR = (uint8_t)(((F_CPU / TWI_FREQ) - 16) / 2);
- 396: 84 e0 ldi r24, 0x04 ; 4
- 398: 80 93 b8 00 sts 0x00B8, r24
- TWCR = (1 << TWEN);
- 39c: 80 93 bc 00 sts 0x00BC, r24
-
- /* Timer1 Initialization */
- TCCR1B = (1 << CS12) | (1 << CS10) | (1 << WGM12);
- 3a0: 8d e0 ldi r24, 0x0D ; 13
- 3a2: 80 93 81 00 sts 0x0081, r24
- OCR1A = 0x400;
- 3a6: 80 e0 ldi r24, 0x00 ; 0
- 3a8: 94 e0 ldi r25, 0x04 ; 4
- 3aa: 90 93 89 00 sts 0x0089, r25
- 3ae: 80 93 88 00 sts 0x0088, r24
- TIMSK1 = (1 << OCIE1A);
- 3b2: 20 93 6f 00 sts 0x006F, r18
- /* ADC Initialization */
- ADMUX |= (1 << REFS0) | (1 << REFS1);
- 3b6: ec e7 ldi r30, 0x7C ; 124
- 3b8: f0 e0 ldi r31, 0x00 ; 0
- 3ba: 80 81 ld r24, Z
- 3bc: 80 6c ori r24, 0xC0 ; 192
- 3be: 80 83 st Z, r24
- ADCSRA = (1 << ADEN) | (1 << ADPS2);
- 3c0: 84 e8 ldi r24, 0x84 ; 132
- 3c2: 80 93 7a 00 sts 0x007A, r24
- DIDR0 = 0xFF;
- 3c6: 8f ef ldi r24, 0xFF ; 255
- 3c8: 80 93 7e 00 sts 0x007E, r24
-
- PCICR = (1 << PCIE3);
- 3cc: 88 e0 ldi r24, 0x08 ; 8
- 3ce: 80 93 68 00 sts 0x0068, r24
- PCMSK3 = 0xF0;
- 3d2: 80 ef ldi r24, 0xF0 ; 240
- 3d4: 80 93 73 00 sts 0x0073, r24
- sei();
- 3d8: 78 94 sei
- 3da: 08 95 ret
- 000003dc <POT_SendData>:
- }
- void POT_SendData(uint8_t data, potnum_t potnum)
- {
- PORTB = (PORTB & 0xF8) | (potnum & 0x07);
- 3dc: 95 b1 in r25, 0x05 ; 5
- 3de: 67 70 andi r22, 0x07 ; 7
- 3e0: 98 7f andi r25, 0xF8 ; 248
- 3e2: 69 2b or r22, r25
- 3e4: 65 b9 out 0x05, r22 ; 5
- PORTB &= ~(1 << SS_BIT);
- 3e6: 2c 98 cbi 0x05, 4 ; 5
- SPDR = 0x11;
- 3e8: 91 e1 ldi r25, 0x11 ; 17
- 3ea: 9e bd out 0x2e, r25 ; 46
- while(!(SPSR & (1 <<SPIF)));
- 3ec: 0d b4 in r0, 0x2d ; 45
- 3ee: 07 fe sbrs r0, 7
- 3f0: fd cf rjmp .-6 ; 0x3ec <POT_SendData+0x10>
- SPDR = data;
- 3f2: 8e bd out 0x2e, r24 ; 46
- while(!(SPSR & (1 <<SPIF)));
- 3f4: 0d b4 in r0, 0x2d ; 45
- 3f6: 07 fe sbrs r0, 7
- 3f8: fd cf rjmp .-6 ; 0x3f4 <POT_SendData+0x18>
- PORTB |= (1 << SS_BIT);
- 3fa: 2c 9a sbi 0x05, 4 ; 5
- 3fc: 08 95 ret
- 000003fe <SetGateVoltage>:
- }
- float SetGateVoltage(uint8_t gatenum, float voltage)
- {
- 3fe: cf 92 push r12
- 400: df 92 push r13
- 402: ef 92 push r14
- 404: ff 92 push r15
- 406: cf 93 push r28
- 408: 6a 01 movw r12, r20
- 40a: 7b 01 movw r14, r22
- /* OpAmp Gain is 3, potentiometer voltage range 0 ~ 3.3 */
- /* voltage / ((3.3 / 255) * 3) = voltage * 25.76 */
- uint8_t potval;
- gatenum = POT_DRIVE1 + (gatenum & 0x01);
- 40c: c8 2f mov r28, r24
- 40e: c1 70 andi r28, 0x01 ; 1
- potval = (uint8_t)(voltage * 25.76);
- 410: 2b e7 ldi r18, 0x7B ; 123
- 412: 34 e1 ldi r19, 0x14 ; 20
- 414: 4e ec ldi r20, 0xCE ; 206
- 416: 51 e4 ldi r21, 0x41 ; 65
- 418: c7 01 movw r24, r14
- 41a: b6 01 movw r22, r12
- 41c: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3>
- 420: 0e 94 ca 05 call 0xb94 ; 0xb94 <__fixunssfsi>
- 424: f6 2e mov r15, r22
- float SetGateVoltage(uint8_t gatenum, float voltage)
- {
- /* OpAmp Gain is 3, potentiometer voltage range 0 ~ 3.3 */
- /* voltage / ((3.3 / 255) * 3) = voltage * 25.76 */
- uint8_t potval;
- gatenum = POT_DRIVE1 + (gatenum & 0x01);
- 426: 64 e0 ldi r22, 0x04 ; 4
- 428: 6c 0f add r22, r28
- potval = (uint8_t)(voltage * 25.76);
- POT_SendData(potval, gatenum);
- 42a: 8f 2d mov r24, r15
- 42c: 0e 94 ee 01 call 0x3dc ; 0x3dc <POT_SendData>
- return ((float)potval / 25.76);
- 430: 6f 2d mov r22, r15
- 432: 70 e0 ldi r23, 0x00 ; 0
- 434: 80 e0 ldi r24, 0x00 ; 0
- 436: 90 e0 ldi r25, 0x00 ; 0
- 438: 0e 94 f6 05 call 0xbec ; 0xbec <__floatunsisf>
- 43c: 2b e7 ldi r18, 0x7B ; 123
- 43e: 34 e1 ldi r19, 0x14 ; 20
- 440: 4e ec ldi r20, 0xCE ; 206
- 442: 51 e4 ldi r21, 0x41 ; 65
- 444: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3>
- }
- 448: cf 91 pop r28
- 44a: ff 90 pop r15
- 44c: ef 90 pop r14
- 44e: df 90 pop r13
- 450: cf 90 pop r12
- 452: 08 95 ret
- 00000454 <SetOpampGain>:
- float SetOpampGain(uint8_t opampnum, float gain)
- {
- 454: cf 92 push r12
- 456: df 92 push r13
- 458: ef 92 push r14
- 45a: ff 92 push r15
- 45c: cf 93 push r28
- 45e: 6a 01 movw r12, r20
- 460: 7b 01 movw r14, r22
- uint8_t potval;
- opampnum = ((opampnum & 0x01) * 2) + 1;
- 462: 81 70 andi r24, 0x01 ; 1
- 464: c8 2f mov r28, r24
- 466: cc 0f add r28, r28
- potval = (uint8_t)((8.448 * gain) - 8.9088);
- 468: 22 e0 ldi r18, 0x02 ; 2
- 46a: 3b e2 ldi r19, 0x2B ; 43
- 46c: 47 e0 ldi r20, 0x07 ; 7
- 46e: 51 e4 ldi r21, 0x41 ; 65
- 470: c7 01 movw r24, r14
- 472: b6 01 movw r22, r12
- 474: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3>
- 478: 22 e7 ldi r18, 0x72 ; 114
- 47a: 3a e8 ldi r19, 0x8A ; 138
- 47c: 4e e0 ldi r20, 0x0E ; 14
- 47e: 51 e4 ldi r21, 0x41 ; 65
- 480: 0e 94 fd 04 call 0x9fa ; 0x9fa <__subsf3>
- 484: 0e 94 ca 05 call 0xb94 ; 0xb94 <__fixunssfsi>
- 488: f6 2e mov r15, r22
- }
- float SetOpampGain(uint8_t opampnum, float gain)
- {
- uint8_t potval;
- opampnum = ((opampnum & 0x01) * 2) + 1;
- 48a: 61 e0 ldi r22, 0x01 ; 1
- 48c: 6c 0f add r22, r28
- potval = (uint8_t)((8.448 * gain) - 8.9088);
- POT_SendData(potval, opampnum);
- 48e: 8f 2d mov r24, r15
- 490: 0e 94 ee 01 call 0x3dc ; 0x3dc <POT_SendData>
- return (((float)potval + 8.9088) / 8.448);
- 494: 6f 2d mov r22, r15
- 496: 70 e0 ldi r23, 0x00 ; 0
- 498: 80 e0 ldi r24, 0x00 ; 0
- 49a: 90 e0 ldi r25, 0x00 ; 0
- 49c: 0e 94 f6 05 call 0xbec ; 0xbec <__floatunsisf>
- 4a0: 22 e7 ldi r18, 0x72 ; 114
- 4a2: 3a e8 ldi r19, 0x8A ; 138
- 4a4: 4e e0 ldi r20, 0x0E ; 14
- 4a6: 51 e4 ldi r21, 0x41 ; 65
- 4a8: 0e 94 fe 04 call 0x9fc ; 0x9fc <__addsf3>
- 4ac: 22 e0 ldi r18, 0x02 ; 2
- 4ae: 3b e2 ldi r19, 0x2B ; 43
- 4b0: 47 e0 ldi r20, 0x07 ; 7
- 4b2: 51 e4 ldi r21, 0x41 ; 65
- 4b4: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3>
- }
- 4b8: cf 91 pop r28
- 4ba: ff 90 pop r15
- 4bc: ef 90 pop r14
- 4be: df 90 pop r13
- 4c0: cf 90 pop r12
- 4c2: 08 95 ret
- 000004c4 <SetOpampShift>:
- float SetOpampShift(uint8_t opampnum, float shift)
- {
- 4c4: cf 92 push r12
- 4c6: df 92 push r13
- 4c8: ef 92 push r14
- 4ca: ff 92 push r15
- 4cc: cf 93 push r28
- 4ce: 6a 01 movw r12, r20
- 4d0: 7b 01 movw r14, r22
- uint8_t potval;
- opampnum = (opampnum & 0x01) * 2;
- 4d2: c8 2f mov r28, r24
- 4d4: c1 70 andi r28, 0x01 ; 1
- potval = (uint8_t)((shift * 255.0) / 2.037);
- 4d6: 20 e0 ldi r18, 0x00 ; 0
- 4d8: 30 e0 ldi r19, 0x00 ; 0
- 4da: 4f e7 ldi r20, 0x7F ; 127
- 4dc: 53 e4 ldi r21, 0x43 ; 67
- 4de: c7 01 movw r24, r14
- 4e0: b6 01 movw r22, r12
- 4e2: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3>
- 4e6: 25 e3 ldi r18, 0x35 ; 53
- 4e8: 3e e5 ldi r19, 0x5E ; 94
- 4ea: 42 e0 ldi r20, 0x02 ; 2
- 4ec: 50 e4 ldi r21, 0x40 ; 64
- 4ee: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3>
- 4f2: 0e 94 ca 05 call 0xb94 ; 0xb94 <__fixunssfsi>
- 4f6: f6 2e mov r15, r22
- }
- float SetOpampShift(uint8_t opampnum, float shift)
- {
- uint8_t potval;
- opampnum = (opampnum & 0x01) * 2;
- 4f8: 6c 2f mov r22, r28
- 4fa: 66 0f add r22, r22
- potval = (uint8_t)((shift * 255.0) / 2.037);
- POT_SendData(potval, opampnum);
- 4fc: 8f 2d mov r24, r15
- 4fe: 0e 94 ee 01 call 0x3dc ; 0x3dc <POT_SendData>
- return (((float)potval * 2.037) / 255.0);
- 502: 6f 2d mov r22, r15
- 504: 70 e0 ldi r23, 0x00 ; 0
- 506: 80 e0 ldi r24, 0x00 ; 0
- 508: 90 e0 ldi r25, 0x00 ; 0
- 50a: 0e 94 f6 05 call 0xbec ; 0xbec <__floatunsisf>
- 50e: 25 e3 ldi r18, 0x35 ; 53
- 510: 3e e5 ldi r19, 0x5E ; 94
- 512: 42 e0 ldi r20, 0x02 ; 2
- 514: 50 e4 ldi r21, 0x40 ; 64
- 516: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3>
- 51a: 20 e0 ldi r18, 0x00 ; 0
- 51c: 30 e0 ldi r19, 0x00 ; 0
- 51e: 4f e7 ldi r20, 0x7F ; 127
- 520: 53 e4 ldi r21, 0x43 ; 67
- 522: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3>
- }
- 526: cf 91 pop r28
- 528: ff 90 pop r15
- 52a: ef 90 pop r14
- 52c: df 90 pop r13
- 52e: cf 90 pop r12
- 530: 08 95 ret
- 00000532 <SetInputRange>:
- void SetInputRange(opamp_t *op, float vlow, float vhigh)
- {
- 532: cf 92 push r12
- 534: df 92 push r13
- 536: ef 92 push r14
- 538: ff 92 push r15
- 53a: 0f 93 push r16
- 53c: 1f 93 push r17
- 53e: cf 93 push r28
- 540: df 93 push r29
- 542: ec 01 movw r28, r24
- 544: 6a 01 movw r12, r20
- 546: 7b 01 movw r14, r22
- 548: c9 01 movw r24, r18
- 54a: b8 01 movw r22, r16
- op->gain = SetOpampGain(op->ch, (3.3 / (vhigh - vlow)));
- 54c: a7 01 movw r20, r14
- 54e: 96 01 movw r18, r12
- 550: 0e 94 fd 04 call 0x9fa ; 0x9fa <__subsf3>
- 554: 9b 01 movw r18, r22
- 556: ac 01 movw r20, r24
- 558: 63 e3 ldi r22, 0x33 ; 51
- 55a: 73 e3 ldi r23, 0x33 ; 51
- 55c: 83 e5 ldi r24, 0x53 ; 83
- 55e: 90 e4 ldi r25, 0x40 ; 64
- 560: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3>
- 564: ab 01 movw r20, r22
- 566: bc 01 movw r22, r24
- 568: 88 81 ld r24, Y
- 56a: 0e 94 2a 02 call 0x454 ; 0x454 <SetOpampGain>
- 56e: 69 83 std Y+1, r22 ; 0x01
- 570: 7a 83 std Y+2, r23 ; 0x02
- 572: 8b 83 std Y+3, r24 ; 0x03
- 574: 9c 83 std Y+4, r25 ; 0x04
- op->shift = SetOpampShift(op->ch, (0.758 * vlow));
- 576: 2a e4 ldi r18, 0x4A ; 74
- 578: 3c e0 ldi r19, 0x0C ; 12
- 57a: 42 e4 ldi r20, 0x42 ; 66
- 57c: 5f e3 ldi r21, 0x3F ; 63
- 57e: c7 01 movw r24, r14
- 580: b6 01 movw r22, r12
- 582: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3>
- 586: ab 01 movw r20, r22
- 588: bc 01 movw r22, r24
- 58a: 88 81 ld r24, Y
- 58c: 0e 94 62 02 call 0x4c4 ; 0x4c4 <SetOpampShift>
- 590: 6d 83 std Y+5, r22 ; 0x05
- 592: 7e 83 std Y+6, r23 ; 0x06
- 594: 8f 83 std Y+7, r24 ; 0x07
- 596: 98 87 std Y+8, r25 ; 0x08
- }
- 598: df 91 pop r29
- 59a: cf 91 pop r28
- 59c: 1f 91 pop r17
- 59e: 0f 91 pop r16
- 5a0: ff 90 pop r15
- 5a2: ef 90 pop r14
- 5a4: df 90 pop r13
- 5a6: cf 90 pop r12
- 5a8: 08 95 ret
- 000005aa <main>:
- break;
- }*/
- }
- int main()
- {
- 5aa: cf 93 push r28
- 5ac: df 93 push r29
- 5ae: cd b7 in r28, 0x3d ; 61
- 5b0: de b7 in r29, 0x3e ; 62
- 5b2: 6a 97 sbiw r28, 0x1a ; 26
- 5b4: 0f b6 in r0, 0x3f ; 63
- 5b6: f8 94 cli
- 5b8: de bf out 0x3e, r29 ; 62
- 5ba: 0f be out 0x3f, r0 ; 63
- 5bc: cd bf out 0x3d, r28 ; 61
- heater_ch[i].tmeas_raw = 0;
- heater_ch[i].tset = 0;
- heater_ch[i].tset_raw = 0;
- heater_ch[i].current = 0;
- heater_ch[i].checksum = 0;
- opamp_ch[i].ch = i;
- 5be: 19 82 std Y+1, r1 ; 0x01
- opamp_ch[i].drive = 0;
- 5c0: 1a 86 std Y+10, r1 ; 0x0a
- 5c2: 1b 86 std Y+11, r1 ; 0x0b
- 5c4: 1c 86 std Y+12, r1 ; 0x0c
- 5c6: 1d 86 std Y+13, r1 ; 0x0d
- heater_ch[i].tmeas_raw = 0;
- heater_ch[i].tset = 0;
- heater_ch[i].tset_raw = 0;
- heater_ch[i].current = 0;
- heater_ch[i].checksum = 0;
- opamp_ch[i].ch = i;
- 5c8: 81 e0 ldi r24, 0x01 ; 1
- 5ca: 8e 87 std Y+14, r24 ; 0x0e
- opamp_ch[i].drive = 0;
- 5cc: 1f 8a std Y+23, r1 ; 0x17
- 5ce: 18 8e std Y+24, r1 ; 0x18
- 5d0: 19 8e std Y+25, r1 ; 0x19
- 5d2: 1a 8e std Y+26, r1 ; 0x1a
- }
-
- static FILE lcd_stdout = FDEV_SETUP_STREAM(lcd_putchar, NULL, _FDEV_SETUP_WRITE);
- static FILE uart_stdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE);
- stdout = &uart_stdout;
- 5d4: 8e e0 ldi r24, 0x0E ; 14
- 5d6: 91 e0 ldi r25, 0x01 ; 1
- 5d8: 90 93 d7 01 sts 0x01D7, r25
- 5dc: 80 93 d6 01 sts 0x01D6, r24
-
- init();
- 5e0: 0e 94 9c 01 call 0x338 ; 0x338 <init>
- LCD_Init();
- 5e4: 0e 94 cd 04 call 0x99a ; 0x99a <LCD_Init>
- printf("HELLO\r\n");
- 5e8: 8c e1 ldi r24, 0x1C ; 28
- 5ea: 91 e0 ldi r25, 0x01 ; 1
- 5ec: 0e 94 ed 0b call 0x17da ; 0x17da <puts>
- fprintf(&lcd_stdout, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF");
- 5f0: 20 e0 ldi r18, 0x00 ; 0
- 5f2: 31 e0 ldi r19, 0x01 ; 1
- 5f4: 40 e1 ldi r20, 0x10 ; 16
- 5f6: 50 e0 ldi r21, 0x00 ; 0
- 5f8: 61 e0 ldi r22, 0x01 ; 1
- 5fa: 70 e0 ldi r23, 0x00 ; 0
- 5fc: 83 e2 ldi r24, 0x23 ; 35
- 5fe: 91 e0 ldi r25, 0x01 ; 1
- 600: 0e 94 b9 0b call 0x1772 ; 0x1772 <fwrite>
- LCD_SetPos(0, 1);
- 604: 61 e0 ldi r22, 0x01 ; 1
- 606: 80 e0 ldi r24, 0x00 ; 0
- 608: 0e 94 c3 04 call 0x986 ; 0x986 <LCD_SetPos>
- fprintf(&lcd_stdout, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF");
- 60c: 20 e0 ldi r18, 0x00 ; 0
- 60e: 31 e0 ldi r19, 0x01 ; 1
- 610: 40 e1 ldi r20, 0x10 ; 16
- 612: 50 e0 ldi r21, 0x00 ; 0
- 614: 61 e0 ldi r22, 0x01 ; 1
- 616: 70 e0 ldi r23, 0x00 ; 0
- 618: 83 e2 ldi r24, 0x23 ; 35
- 61a: 91 e0 ldi r25, 0x01 ; 1
- 61c: 0e 94 b9 0b call 0x1772 ; 0x1772 <fwrite>
- SetGateVoltage(0, 0.0);
- 620: 40 e0 ldi r20, 0x00 ; 0
- 622: 50 e0 ldi r21, 0x00 ; 0
- 624: ba 01 movw r22, r20
- 626: 80 e0 ldi r24, 0x00 ; 0
- 628: 0e 94 ff 01 call 0x3fe ; 0x3fe <SetGateVoltage>
- SetGateVoltage(1, 0.0);
- 62c: 40 e0 ldi r20, 0x00 ; 0
- 62e: 50 e0 ldi r21, 0x00 ; 0
- 630: ba 01 movw r22, r20
- 632: 81 e0 ldi r24, 0x01 ; 1
- 634: 0e 94 ff 01 call 0x3fe ; 0x3fe <SetGateVoltage>
-
- SetInputRange(&opamp_ch[0], 0.35, 0.6);
- 638: 0a e9 ldi r16, 0x9A ; 154
- 63a: 19 e9 ldi r17, 0x99 ; 153
- 63c: 29 e1 ldi r18, 0x19 ; 25
- 63e: 3f e3 ldi r19, 0x3F ; 63
- 640: 43 e3 ldi r20, 0x33 ; 51
- 642: 53 e3 ldi r21, 0x33 ; 51
- 644: 63 eb ldi r22, 0xB3 ; 179
- 646: 7e e3 ldi r23, 0x3E ; 62
- 648: ce 01 movw r24, r28
- 64a: 01 96 adiw r24, 0x01 ; 1
- 64c: 0e 94 99 02 call 0x532 ; 0x532 <SetInputRange>
- SetInputRange(&opamp_ch[1], 1.0, 4.0);
- 650: 00 e0 ldi r16, 0x00 ; 0
- 652: 10 e0 ldi r17, 0x00 ; 0
- 654: 20 e8 ldi r18, 0x80 ; 128
- 656: 30 e4 ldi r19, 0x40 ; 64
- 658: 40 e0 ldi r20, 0x00 ; 0
- 65a: 50 e0 ldi r21, 0x00 ; 0
- 65c: 60 e8 ldi r22, 0x80 ; 128
- 65e: 7f e3 ldi r23, 0x3F ; 63
- 660: ce 01 movw r24, r28
- 662: 0e 96 adiw r24, 0x0e ; 14
- 664: 0e 94 99 02 call 0x532 ; 0x532 <SetInputRange>
- int main()
- {
- uint16_t i = 0;
- uint8_t adc_ch = 0;
- uint16_t adc_data = 0;
- uint8_t trig = 0;
- 668: c1 2c mov r12, r1
- }
- int main()
- {
- uint16_t i = 0;
- uint8_t adc_ch = 0;
- 66a: d1 2c mov r13, r1
- //transmit(&packet_ch[0]);
- i = 0;
- while(1)
- {
- if(ocp_ch[0] == 1)
- 66c: 0f 2e mov r0, r31
- 66e: f5 e4 ldi r31, 0x45 ; 69
- 670: ef 2e mov r14, r31
- 672: f1 e0 ldi r31, 0x01 ; 1
- 674: ff 2e mov r15, r31
- 676: f0 2d mov r31, r0
- fprintf(&lcd_stdout, " OVERCURRENT ");
- ocp_ch[0] = 0;
- _delay_ms(10);
- }
-
- if(ocp_ch[1] == 1)
- 678: 06 e4 ldi r16, 0x46 ; 70
- 67a: 11 e0 ldi r17, 0x01 ; 1
- fprintf(&lcd_stdout, " OVERCURRENT ");
- ocp_ch[1] = 0;
- _delay_ms(10);
- }
-
- if((rxcounter == 2) && (rxbuffer[1] == 'R'))
- 67c: 0f 2e mov r0, r31
- 67e: fd ec ldi r31, 0xCD ; 205
- 680: af 2e mov r10, r31
- 682: f1 e0 ldi r31, 0x01 ; 1
- 684: bf 2e mov r11, r31
- 686: f0 2d mov r31, r0
- for(i = 1; i < 7; i++)
- {
- temp += rxbuffer[i];
- }
-
- if(temp == rxbuffer[7])
- 688: 0f 2e mov r0, r31
- 68a: f3 ed ldi r31, 0xD3 ; 211
- 68c: 2f 2e mov r2, r31
- 68e: f1 e0 ldi r31, 0x01 ; 1
- 690: 3f 2e mov r3, r31
- 692: f0 2d mov r31, r0
- }
- else
- {
- //PORTC |= (1 << GATE1);
- //_delay_us(50);
- ADMUX = (ADMUX & 0xF8) | adc_ch;
- 694: 0f 2e mov r0, r31
- 696: fc e7 ldi r31, 0x7C ; 124
- 698: 4f 2e mov r4, r31
- 69a: 51 2c mov r5, r1
- 69c: f0 2d mov r31, r0
- ADCSRA |= (1 << ADSC);
- 69e: 0f 2e mov r0, r31
- 6a0: fa e7 ldi r31, 0x7A ; 122
- 6a2: 6f 2e mov r6, r31
- 6a4: 71 2c mov r7, r1
- 6a6: f0 2d mov r31, r0
- if(tick)
- {
- tick = 0;
- if(trig)
- {
- adc_data = ADCL;
- 6a8: 0f 2e mov r0, r31
- 6aa: f8 e7 ldi r31, 0x78 ; 120
- 6ac: 8f 2e mov r8, r31
- 6ae: 91 2c mov r9, r1
- 6b0: f0 2d mov r31, r0
- //transmit(&packet_ch[0]);
- i = 0;
- while(1)
- {
- if(ocp_ch[0] == 1)
- 6b2: f7 01 movw r30, r14
- 6b4: 80 81 ld r24, Z
- 6b6: 81 30 cpi r24, 0x01 ; 1
- 6b8: b1 f4 brne .+44 ; 0x6e6 <main+0x13c>
- {
- LCD_SetPos(0, 0);
- 6ba: 60 e0 ldi r22, 0x00 ; 0
- 6bc: 80 e0 ldi r24, 0x00 ; 0
- 6be: 0e 94 c3 04 call 0x986 ; 0x986 <LCD_SetPos>
- fprintf(&lcd_stdout, " OVERCURRENT ");
- 6c2: 20 e0 ldi r18, 0x00 ; 0
- 6c4: 31 e0 ldi r19, 0x01 ; 1
- 6c6: 4f e0 ldi r20, 0x0F ; 15
- 6c8: 50 e0 ldi r21, 0x00 ; 0
- 6ca: 61 e0 ldi r22, 0x01 ; 1
- 6cc: 70 e0 ldi r23, 0x00 ; 0
- 6ce: 84 e3 ldi r24, 0x34 ; 52
- 6d0: 91 e0 ldi r25, 0x01 ; 1
- 6d2: 0e 94 b9 0b call 0x1772 ; 0x1772 <fwrite>
- ocp_ch[0] = 0;
- 6d6: f7 01 movw r30, r14
- 6d8: 10 82 st Z, r1
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
- __builtin_avr_delay_cycles(__ticks_dc);
- 6da: 8f e2 ldi r24, 0x2F ; 47
- 6dc: 95 e7 ldi r25, 0x75 ; 117
- 6de: 01 97 sbiw r24, 0x01 ; 1
- 6e0: f1 f7 brne .-4 ; 0x6de <main+0x134>
- 6e2: 00 c0 rjmp .+0 ; 0x6e4 <main+0x13a>
- 6e4: 00 00 nop
- _delay_ms(10);
- }
-
- if(ocp_ch[1] == 1)
- 6e6: f8 01 movw r30, r16
- 6e8: 80 81 ld r24, Z
- 6ea: 81 30 cpi r24, 0x01 ; 1
- 6ec: b1 f4 brne .+44 ; 0x71a <main+0x170>
- {
- LCD_SetPos(0, 1);
- 6ee: 61 e0 ldi r22, 0x01 ; 1
- 6f0: 80 e0 ldi r24, 0x00 ; 0
- 6f2: 0e 94 c3 04 call 0x986 ; 0x986 <LCD_SetPos>
- fprintf(&lcd_stdout, " OVERCURRENT ");
- 6f6: 20 e0 ldi r18, 0x00 ; 0
- 6f8: 31 e0 ldi r19, 0x01 ; 1
- 6fa: 4f e0 ldi r20, 0x0F ; 15
- 6fc: 50 e0 ldi r21, 0x00 ; 0
- 6fe: 61 e0 ldi r22, 0x01 ; 1
- 700: 70 e0 ldi r23, 0x00 ; 0
- 702: 84 e3 ldi r24, 0x34 ; 52
- 704: 91 e0 ldi r25, 0x01 ; 1
- 706: 0e 94 b9 0b call 0x1772 ; 0x1772 <fwrite>
- ocp_ch[1] = 0;
- 70a: f8 01 movw r30, r16
- 70c: 10 82 st Z, r1
- 70e: 8f e2 ldi r24, 0x2F ; 47
- 710: 95 e7 ldi r25, 0x75 ; 117
- 712: 01 97 sbiw r24, 0x01 ; 1
- 714: f1 f7 brne .-4 ; 0x712 <main+0x168>
- 716: 00 c0 rjmp .+0 ; 0x718 <main+0x16e>
- 718: 00 00 nop
- _delay_ms(10);
- }
-
- if((rxcounter == 2) && (rxbuffer[1] == 'R'))
- 71a: 80 91 47 01 lds r24, 0x0147
- 71e: 82 30 cpi r24, 0x02 ; 2
- 720: 59 f4 brne .+22 ; 0x738 <main+0x18e>
- 722: f5 01 movw r30, r10
- 724: 80 81 ld r24, Z
- 726: 82 35 cpi r24, 0x52 ; 82
- 728: 39 f4 brne .+14 ; 0x738 <main+0x18e>
- {
- cli();
- 72a: f8 94 cli
- WDTCSR |= (1 << WDCE) | (1 << WDE);
- 72c: e0 e6 ldi r30, 0x60 ; 96
- 72e: f0 e0 ldi r31, 0x00 ; 0
- 730: 80 81 ld r24, Z
- 732: 88 61 ori r24, 0x18 ; 24
- 734: 80 83 st Z, r24
- 736: ff cf rjmp .-2 ; 0x736 <main+0x18c>
- while(1);
- }
-
- if(rxcounter == 8)
- 738: 80 91 47 01 lds r24, 0x0147
- 73c: 88 30 cpi r24, 0x08 ; 8
- 73e: a9 f4 brne .+42 ; 0x76a <main+0x1c0>
- {
- rxcounter = 0;
- 740: 10 92 47 01 sts 0x0147, r1
- uint8_t temp = 0;
- for(i = 1; i < 7; i++)
- {
- temp += rxbuffer[i];
- 744: f5 01 movw r30, r10
- 746: 80 81 ld r24, Z
- 748: ee ec ldi r30, 0xCE ; 206
- 74a: f1 e0 ldi r31, 0x01 ; 1
- 74c: 80 81 ld r24, Z
- 74e: ef ec ldi r30, 0xCF ; 207
- 750: f1 e0 ldi r31, 0x01 ; 1
- 752: 80 81 ld r24, Z
- 754: e0 ed ldi r30, 0xD0 ; 208
- 756: f1 e0 ldi r31, 0x01 ; 1
- 758: 80 81 ld r24, Z
- 75a: e1 ed ldi r30, 0xD1 ; 209
- 75c: f1 e0 ldi r31, 0x01 ; 1
- 75e: 80 81 ld r24, Z
- 760: e2 ed ldi r30, 0xD2 ; 210
- 762: f1 e0 ldi r31, 0x01 ; 1
- 764: 80 81 ld r24, Z
- }
-
- if(temp == rxbuffer[7])
- 766: f1 01 movw r30, r2
- 768: 80 81 ld r24, Z
- {
- exec_cmd((rxdata_str*)rxbuffer);
- }
- }
-
- if(tick)
- 76a: 80 91 44 01 lds r24, 0x0144
- 76e: 88 23 and r24, r24
- 770: e9 f1 breq .+122 ; 0x7ec <main+0x242>
- {
- tick = 0;
- 772: 10 92 44 01 sts 0x0144, r1
- if(trig)
- 776: cc 20 and r12, r12
- 778: 61 f1 breq .+88 ; 0x7d2 <main+0x228>
- {
- adc_data = ADCL;
- 77a: f4 01 movw r30, r8
- 77c: 80 81 ld r24, Z
- adc_data |= ((uint16_t)ADCH) << 8;
- 77e: e9 e7 ldi r30, 0x79 ; 121
- 780: f0 e0 ldi r31, 0x00 ; 0
- 782: 80 81 ld r24, Z
-
- switch(adc_ch)
- 784: f1 e0 ldi r31, 0x01 ; 1
- 786: df 16 cp r13, r31
- 788: 71 f0 breq .+28 ; 0x7a6 <main+0x1fc>
- 78a: df 16 cp r13, r31
- 78c: 38 f0 brcs .+14 ; 0x79c <main+0x1f2>
- 78e: 82 e0 ldi r24, 0x02 ; 2
- 790: d8 16 cp r13, r24
- 792: 71 f0 breq .+28 ; 0x7b0 <main+0x206>
- 794: 93 e0 ldi r25, 0x03 ; 3
- 796: d9 16 cp r13, r25
- 798: 81 f0 breq .+32 ; 0x7ba <main+0x210>
- 79a: 14 c0 rjmp .+40 ; 0x7c4 <main+0x21a>
- {
- case ADC_MEAS1:
- //heater_ch[0].tmeas_raw = adc_data;
- temp = (((float)adc_data * 2.56) / (opamp_ch[0].gain * 775.434)) + (opamp_ch[0].shift / 0.758);
- //temp = ((float)adc_data * 2.56) / 1023;
- LCD_SetPos(0, 0);
- 79c: 60 e0 ldi r22, 0x00 ; 0
- 79e: 80 e0 ldi r24, 0x00 ; 0
- 7a0: 0e 94 c3 04 call 0x986 ; 0x986 <LCD_SetPos>
- //fprintf(&lcd_stdout, "0 T:%.2f ", temp);
- break;
- 7a4: 81 c0 rjmp .+258 ; 0x8a8 <main+0x2fe>
- case ADC_MEAS2:
- //heater_ch[1].tmeas_raw = adc_data;
- temp = (((float)adc_data * 2.56) / (opamp_ch[1].gain * 775.434)) + (opamp_ch[1].shift / 0.758);
- //temp = ((float)adc_data * 2.56) / 1023;
- LCD_SetPos(0, 1);
- 7a6: 61 e0 ldi r22, 0x01 ; 1
- 7a8: 80 e0 ldi r24, 0x00 ; 0
- 7aa: 0e 94 c3 04 call 0x986 ; 0x986 <LCD_SetPos>
- //fprintf(&lcd_stdout, "1 T:%.2f ", temp);
- break;
- 7ae: 7c c0 rjmp .+248 ; 0x8a8 <main+0x2fe>
- case ADC_CUR1:
- heater_ch[0].current = adc_data * 2.56;
- LCD_SetPos(9, 0);
- 7b0: 60 e0 ldi r22, 0x00 ; 0
- 7b2: 89 e0 ldi r24, 0x09 ; 9
- 7b4: 0e 94 c3 04 call 0x986 ; 0x986 <LCD_SetPos>
- //fprintf(&lcd_stdout, "C:%.4d", heater_ch[0].current);
- break;
- 7b8: 77 c0 rjmp .+238 ; 0x8a8 <main+0x2fe>
- case ADC_CUR2:
- heater_ch[1].current = adc_data * 2.56;
- LCD_SetPos(9, 1);
- 7ba: 61 e0 ldi r22, 0x01 ; 1
- 7bc: 89 e0 ldi r24, 0x09 ; 9
- 7be: 0e 94 c3 04 call 0x986 ; 0x986 <LCD_SetPos>
- 7c2: 04 c0 rjmp .+8 ; 0x7cc <main+0x222>
- //fprintf(&lcd_stdout, "C:%.4d", heater_ch[1].current);
- break;
- }
-
- if(++adc_ch == 0x04)
- 7c4: d3 94 inc r13
- 7c6: e4 e0 ldi r30, 0x04 ; 4
- 7c8: de 12 cpse r13, r30
- 7ca: 0f c0 rjmp .+30 ; 0x7ea <main+0x240>
- adc_ch = 0;
-
- //PORTC &= ~(1 << GATE1);
- trig = 0;
- 7cc: c1 2c mov r12, r1
- //fprintf(&lcd_stdout, "C:%.4d", heater_ch[1].current);
- break;
- }
-
- if(++adc_ch == 0x04)
- adc_ch = 0;
- 7ce: d1 2c mov r13, r1
- 7d0: 0d c0 rjmp .+26 ; 0x7ec <main+0x242>
- }
- else
- {
- //PORTC |= (1 << GATE1);
- //_delay_us(50);
- ADMUX = (ADMUX & 0xF8) | adc_ch;
- 7d2: f2 01 movw r30, r4
- 7d4: 80 81 ld r24, Z
- 7d6: 88 7f andi r24, 0xF8 ; 248
- 7d8: 8d 29 or r24, r13
- 7da: 80 83 st Z, r24
- ADCSRA |= (1 << ADSC);
- 7dc: f3 01 movw r30, r6
- 7de: 80 81 ld r24, Z
- 7e0: 80 64 ori r24, 0x40 ; 64
- 7e2: 80 83 st Z, r24
- trig = 1;
- 7e4: cc 24 eor r12, r12
- 7e6: c3 94 inc r12
- 7e8: 01 c0 rjmp .+2 ; 0x7ec <main+0x242>
-
- if(++adc_ch == 0x04)
- adc_ch = 0;
-
- //PORTC &= ~(1 << GATE1);
- trig = 0;
- 7ea: c1 2c mov r12, r1
- fprintf(&lcd_stdout, "\xD9");
- else
- fprintf(&lcd_stdout, " ");
- //transmit(&packet_ch[1]);*/
- switch(btn_pressed)
- 7ec: 80 91 49 01 lds r24, 0x0149
- 7f0: 82 30 cpi r24, 0x02 ; 2
- 7f2: 21 f1 breq .+72 ; 0x83c <main+0x292>
- 7f4: 18 f4 brcc .+6 ; 0x7fc <main+0x252>
- 7f6: 81 30 cpi r24, 0x01 ; 1
- 7f8: 31 f0 breq .+12 ; 0x806 <main+0x25c>
- 7fa: 5b cf rjmp .-330 ; 0x6b2 <main+0x108>
- 7fc: 84 30 cpi r24, 0x04 ; 4
- 7fe: 41 f1 breq .+80 ; 0x850 <main+0x2a6>
- 800: 88 30 cpi r24, 0x08 ; 8
- 802: e1 f1 breq .+120 ; 0x87c <main+0x2d2>
- 804: 56 cf rjmp .-340 ; 0x6b2 <main+0x108>
- {
- case 0x01:
- GATEPORT ^= (1 << GATE1);
- 806: 98 b1 in r25, 0x08 ; 8
- 808: 80 e4 ldi r24, 0x40 ; 64
- 80a: 89 27 eor r24, r25
- 80c: 88 b9 out 0x08, r24 ; 8
- LEDPORT ^= (1 << LED1);
- 80e: 98 b1 in r25, 0x08 ; 8
- 810: 84 e0 ldi r24, 0x04 ; 4
- 812: 89 27 eor r24, r25
- 814: 88 b9 out 0x08, r24 ; 8
-
- if(GATEPORT & (1 << GATE1))
- 816: 46 9b sbis 0x08, 6 ; 8
- 818: 07 c0 rjmp .+14 ; 0x828 <main+0x27e>
- SetGateVoltage(0, 0);
- 81a: 40 e0 ldi r20, 0x00 ; 0
- 81c: 50 e0 ldi r21, 0x00 ; 0
- 81e: ba 01 movw r22, r20
- 820: 80 e0 ldi r24, 0x00 ; 0
- 822: 0e 94 ff 01 call 0x3fe ; 0x3fe <SetGateVoltage>
- 826: 07 c0 rjmp .+14 ; 0x836 <main+0x28c>
- else
- SetGateVoltage(0, opamp_ch[0].drive);
- 828: 4a 85 ldd r20, Y+10 ; 0x0a
- 82a: 5b 85 ldd r21, Y+11 ; 0x0b
- 82c: 6c 85 ldd r22, Y+12 ; 0x0c
- 82e: 7d 85 ldd r23, Y+13 ; 0x0d
- 830: 80 e0 ldi r24, 0x00 ; 0
- 832: 0e 94 ff 01 call 0x3fe ; 0x3fe <SetGateVoltage>
-
- btn_pressed = 0;
- 836: 10 92 49 01 sts 0x0149, r1
- break;
- 83a: 3b cf rjmp .-394 ; 0x6b2 <main+0x108>
- case 0x02:
- GATEPORT ^= (1 << GATE2);
- 83c: 88 b1 in r24, 0x08 ; 8
- 83e: 80 58 subi r24, 0x80 ; 128
- 840: 88 b9 out 0x08, r24 ; 8
- LEDPORT ^= (1 << LED2);
- 842: 98 b1 in r25, 0x08 ; 8
- 844: 88 e0 ldi r24, 0x08 ; 8
- 846: 89 27 eor r24, r25
- 848: 88 b9 out 0x08, r24 ; 8
- btn_pressed = 0;
- 84a: 10 92 49 01 sts 0x0149, r1
- break;
- 84e: 31 cf rjmp .-414 ; 0x6b2 <main+0x108>
- case 0x04:
- opamp_ch[0].drive -= 0.5;
- 850: 20 e0 ldi r18, 0x00 ; 0
- 852: 30 e0 ldi r19, 0x00 ; 0
- 854: 40 e0 ldi r20, 0x00 ; 0
- 856: 5f e3 ldi r21, 0x3F ; 63
- 858: 6a 85 ldd r22, Y+10 ; 0x0a
- 85a: 7b 85 ldd r23, Y+11 ; 0x0b
- 85c: 8c 85 ldd r24, Y+12 ; 0x0c
- 85e: 9d 85 ldd r25, Y+13 ; 0x0d
- 860: 0e 94 fd 04 call 0x9fa ; 0x9fa <__subsf3>
- 864: ab 01 movw r20, r22
- 866: bc 01 movw r22, r24
- 868: 4a 87 std Y+10, r20 ; 0x0a
- 86a: 5b 87 std Y+11, r21 ; 0x0b
- 86c: 6c 87 std Y+12, r22 ; 0x0c
- 86e: 7d 87 std Y+13, r23 ; 0x0d
- SetGateVoltage(0, opamp_ch[0].drive);
- 870: 80 e0 ldi r24, 0x00 ; 0
- 872: 0e 94 ff 01 call 0x3fe ; 0x3fe <SetGateVoltage>
- btn_pressed = 0;
- 876: 10 92 49 01 sts 0x0149, r1
- break;
- 87a: 1b cf rjmp .-458 ; 0x6b2 <main+0x108>
- case 0x08:
- opamp_ch[0].drive += 0.5;
- 87c: 20 e0 ldi r18, 0x00 ; 0
- 87e: 30 e0 ldi r19, 0x00 ; 0
- 880: 40 e0 ldi r20, 0x00 ; 0
- 882: 5f e3 ldi r21, 0x3F ; 63
- 884: 6a 85 ldd r22, Y+10 ; 0x0a
- 886: 7b 85 ldd r23, Y+11 ; 0x0b
- 888: 8c 85 ldd r24, Y+12 ; 0x0c
- 88a: 9d 85 ldd r25, Y+13 ; 0x0d
- 88c: 0e 94 fe 04 call 0x9fc ; 0x9fc <__addsf3>
- 890: ab 01 movw r20, r22
- 892: bc 01 movw r22, r24
- 894: 4a 87 std Y+10, r20 ; 0x0a
- 896: 5b 87 std Y+11, r21 ; 0x0b
- 898: 6c 87 std Y+12, r22 ; 0x0c
- 89a: 7d 87 std Y+13, r23 ; 0x0d
- SetGateVoltage(0, opamp_ch[0].drive);
- 89c: 80 e0 ldi r24, 0x00 ; 0
- 89e: 0e 94 ff 01 call 0x3fe ; 0x3fe <SetGateVoltage>
- btn_pressed = 0;
- 8a2: 10 92 49 01 sts 0x0149, r1
- break;
- 8a6: 05 cf rjmp .-502 ; 0x6b2 <main+0x108>
- LCD_SetPos(9, 1);
- //fprintf(&lcd_stdout, "C:%.4d", heater_ch[1].current);
- break;
- }
-
- if(++adc_ch == 0x04)
- 8a8: d3 94 inc r13
- adc_ch = 0;
-
- //PORTC &= ~(1 << GATE1);
- trig = 0;
- 8aa: c1 2c mov r12, r1
- 8ac: 9f cf rjmp .-194 ; 0x7ec <main+0x242>
- 000008ae <I2C_SendByte>:
- #include "lcd-twi.h"
- void I2C_SendByte(uint8_t byte)
- {
- TWCR |= (1 << TWINT) | (1 << TWSTA);
- 8ae: ec eb ldi r30, 0xBC ; 188
- 8b0: f0 e0 ldi r31, 0x00 ; 0
- 8b2: 90 81 ld r25, Z
- 8b4: 90 6a ori r25, 0xA0 ; 160
- 8b6: 90 83 st Z, r25
- while(!(TWCR & (1 << TWINT)));
- 8b8: 90 81 ld r25, Z
- 8ba: 99 23 and r25, r25
- 8bc: ec f7 brge .-6 ; 0x8b8 <I2C_SendByte+0xa>
- TWDR = LCDI2CADDR;
- 8be: 9e e4 ldi r25, 0x4E ; 78
- 8c0: 90 93 bb 00 sts 0x00BB, r25
- TWCR &= ~(1 << TWSTA);
- 8c4: ec eb ldi r30, 0xBC ; 188
- 8c6: f0 e0 ldi r31, 0x00 ; 0
- 8c8: 90 81 ld r25, Z
- 8ca: 9f 7d andi r25, 0xDF ; 223
- 8cc: 90 83 st Z, r25
- TWCR |= (1 << TWINT);
- 8ce: 90 81 ld r25, Z
- 8d0: 90 68 ori r25, 0x80 ; 128
- 8d2: 90 83 st Z, r25
- while(!(TWCR & (1 << TWINT)));
- 8d4: 90 81 ld r25, Z
- 8d6: 99 23 and r25, r25
- 8d8: ec f7 brge .-6 ; 0x8d4 <I2C_SendByte+0x26>
- TWDR = byte;
- 8da: 80 93 bb 00 sts 0x00BB, r24
- TWCR |= (1 << TWINT);
- 8de: ec eb ldi r30, 0xBC ; 188
- 8e0: f0 e0 ldi r31, 0x00 ; 0
- 8e2: 80 81 ld r24, Z
- 8e4: 80 68 ori r24, 0x80 ; 128
- 8e6: 80 83 st Z, r24
- while(!(TWCR & (1 << TWINT)));
- 8e8: 80 81 ld r24, Z
- 8ea: 88 23 and r24, r24
- 8ec: ec f7 brge .-6 ; 0x8e8 <I2C_SendByte+0x3a>
- TWCR |= (1 << TWINT) | (1 << TWSTO);
- 8ee: ec eb ldi r30, 0xBC ; 188
- 8f0: f0 e0 ldi r31, 0x00 ; 0
- 8f2: 80 81 ld r24, Z
- 8f4: 80 69 ori r24, 0x90 ; 144
- 8f6: 80 83 st Z, r24
- 8f8: 08 95 ret
- 000008fa <LCD_SendData>:
- }
- void LCD_SendData(uint8_t data)
- {
- 8fa: cf 93 push r28
- 8fc: df 93 push r29
- 8fe: c8 2f mov r28, r24
- I2C_SendByte((data & 0xF0) | LCD_RS | LCD_E);
- 900: d8 2f mov r29, r24
- 902: d0 7f andi r29, 0xF0 ; 240
- 904: 8d 2f mov r24, r29
- 906: 85 60 ori r24, 0x05 ; 5
- 908: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- I2C_SendByte((data & 0xF0) | LCD_RS);
- 90c: 8d 2f mov r24, r29
- 90e: 81 60 ori r24, 0x01 ; 1
- 910: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- I2C_SendByte((data << 4) | LCD_RS | LCD_E);
- 914: 80 e1 ldi r24, 0x10 ; 16
- 916: c8 9f mul r28, r24
- 918: e0 01 movw r28, r0
- 91a: 11 24 eor r1, r1
- 91c: 8c 2f mov r24, r28
- 91e: 85 60 ori r24, 0x05 ; 5
- 920: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- I2C_SendByte((data << 4) | LCD_RS);
- 924: 8c 2f mov r24, r28
- 926: 81 60 ori r24, 0x01 ; 1
- 928: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
- __builtin_avr_delay_cycles(__ticks_dc);
- 92c: 80 e1 ldi r24, 0x10 ; 16
- 92e: 8a 95 dec r24
- 930: f1 f7 brne .-4 ; 0x92e <LCD_SendData+0x34>
- _delay_us(4);
- }
- 932: df 91 pop r29
- 934: cf 91 pop r28
- 936: 08 95 ret
- 00000938 <LCD_SendCmd>:
- void LCD_SendCmd(uint8_t cmd)
- {
- 938: cf 93 push r28
- 93a: df 93 push r29
- 93c: c8 2f mov r28, r24
- I2C_SendByte(((cmd & 0xF0) & ~LCD_RS) | LCD_E);
- 93e: d8 2f mov r29, r24
- 940: d0 7f andi r29, 0xF0 ; 240
- 942: 8d 2f mov r24, r29
- 944: 84 60 ori r24, 0x04 ; 4
- 946: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- I2C_SendByte((cmd & 0xF0) & ~LCD_RS);
- 94a: 8d 2f mov r24, r29
- 94c: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- I2C_SendByte(((cmd << 4) & ~LCD_RS) | LCD_E);
- 950: 20 e1 ldi r18, 0x10 ; 16
- 952: c2 9f mul r28, r18
- 954: c0 01 movw r24, r0
- 956: 11 24 eor r1, r1
- 958: 84 60 ori r24, 0x04 ; 4
- 95a: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- I2C_SendByte((cmd << 4) & ~LCD_RS);
- 95e: 8c 2f mov r24, r28
- 960: 82 95 swap r24
- 962: 80 7f andi r24, 0xF0 ; 240
- 964: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- if(cmd == LCD_CLR)
- 968: c1 30 cpi r28, 0x01 ; 1
- 96a: 39 f4 brne .+14 ; 0x97a <LCD_SendCmd+0x42>
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
- __builtin_avr_delay_cycles(__ticks_dc);
- 96c: 8f e4 ldi r24, 0x4F ; 79
- 96e: 96 e4 ldi r25, 0x46 ; 70
- 970: 01 97 sbiw r24, 0x01 ; 1
- 972: f1 f7 brne .-4 ; 0x970 <LCD_SendCmd+0x38>
- 974: 00 c0 rjmp .+0 ; 0x976 <LCD_SendCmd+0x3e>
- 976: 00 00 nop
- 978: 03 c0 rjmp .+6 ; 0x980 <LCD_SendCmd+0x48>
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
- __builtin_avr_delay_cycles(__ticks_dc);
- 97a: 98 e2 ldi r25, 0x28 ; 40
- 97c: 9a 95 dec r25
- 97e: f1 f7 brne .-4 ; 0x97c <LCD_SendCmd+0x44>
- }
- else
- {
- _delay_us(10);
- }
- }
- 980: df 91 pop r29
- 982: cf 91 pop r28
- 984: 08 95 ret
- 00000986 <LCD_SetPos>:
- void LCD_SetPos(uint8_t x, uint8_t y)
- {
- y = ((y & 0x01) * 0x40);
- 986: 61 70 andi r22, 0x01 ; 1
- x &= 0x0F;
- 988: 8f 70 andi r24, 0x0F ; 15
- LCD_SendCmd(LCD_DDRAM | (x + y));
- 98a: 90 e4 ldi r25, 0x40 ; 64
- 98c: 69 9f mul r22, r25
- 98e: 80 0d add r24, r0
- 990: 11 24 eor r1, r1
- 992: 80 68 ori r24, 0x80 ; 128
- 994: 0e 94 9c 04 call 0x938 ; 0x938 <LCD_SendCmd>
- 998: 08 95 ret
- 0000099a <LCD_Init>:
- }
- void LCD_Init(void)
- {
- 99a: cf 93 push r28
- I2C_SendByte(0x00);
- 99c: 80 e0 ldi r24, 0x00 ; 0
- 99e: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
- __builtin_avr_delay_cycles(__ticks_dc);
- 9a2: 2f eb ldi r18, 0xBF ; 191
- 9a4: 84 ed ldi r24, 0xD4 ; 212
- 9a6: 91 e0 ldi r25, 0x01 ; 1
- 9a8: 21 50 subi r18, 0x01 ; 1
- 9aa: 80 40 sbci r24, 0x00 ; 0
- 9ac: 90 40 sbci r25, 0x00 ; 0
- 9ae: e1 f7 brne .-8 ; 0x9a8 <LCD_Init+0xe>
- 9b0: 00 c0 rjmp .+0 ; 0x9b2 <LCD_Init+0x18>
- 9b2: 00 00 nop
- 9b4: c5 e0 ldi r28, 0x05 ; 5
- _delay_ms(50);
- for(uint8_t i = 0; i < 5; i++)
- {
- I2C_SendByte(0x00 | LCD_E);
- 9b6: 84 e0 ldi r24, 0x04 ; 4
- 9b8: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- I2C_SendByte(0x00 & ~LCD_E);
- 9bc: 80 e0 ldi r24, 0x00 ; 0
- 9be: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- 9c2: c1 50 subi r28, 0x01 ; 1
- {
- I2C_SendByte(0x00);
- _delay_ms(50);
- for(uint8_t i = 0; i < 5; i++)
- 9c4: c1 f7 brne .-16 ; 0x9b6 <LCD_Init+0x1c>
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
- __builtin_avr_delay_cycles(__ticks_dc);
- 9c6: 28 ec ldi r18, 0xC8 ; 200
- 9c8: 2a 95 dec r18
- 9ca: f1 f7 brne .-4 ; 0x9c8 <LCD_Init+0x2e>
- I2C_SendByte(0x00 | LCD_E);
- I2C_SendByte(0x00 & ~LCD_E);
- }
- _delay_us(50);
-
- I2C_SendByte(LCD_WIDTH | LCD_E);
- 9cc: 84 e2 ldi r24, 0x24 ; 36
- 9ce: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- I2C_SendByte(LCD_WIDTH & ~LCD_E);
- 9d2: 80 e2 ldi r24, 0x20 ; 32
- 9d4: 0e 94 57 04 call 0x8ae ; 0x8ae <I2C_SendByte>
- LCD_SendCmd(LCD_WIDTH | LCD_WIDTH_N | LCD_WIDTH_FT1);
- 9d8: 8a e2 ldi r24, 0x2A ; 42
- 9da: 0e 94 9c 04 call 0x938 ; 0x938 <LCD_SendCmd>
- LCD_SendCmd(LCD_ONOFF);
- 9de: 88 e0 ldi r24, 0x08 ; 8
- 9e0: 0e 94 9c 04 call 0x938 ; 0x938 <LCD_SendCmd>
- LCD_SendCmd(LCD_CLR);
- 9e4: 81 e0 ldi r24, 0x01 ; 1
- 9e6: 0e 94 9c 04 call 0x938 ; 0x938 <LCD_SendCmd>
- LCD_SendCmd(LCD_DIR | LCD_DIR_ID);
- 9ea: 86 e0 ldi r24, 0x06 ; 6
- 9ec: 0e 94 9c 04 call 0x938 ; 0x938 <LCD_SendCmd>
- LCD_SendCmd(LCD_ONOFF | LCD_ONOFF_D);
- 9f0: 8c e0 ldi r24, 0x0C ; 12
- 9f2: 0e 94 9c 04 call 0x938 ; 0x938 <LCD_SendCmd>
- }
- 9f6: cf 91 pop r28
- 9f8: 08 95 ret
- 000009fa <__subsf3>:
- 9fa: 50 58 subi r21, 0x80 ; 128
- 000009fc <__addsf3>:
- 9fc: bb 27 eor r27, r27
- 9fe: aa 27 eor r26, r26
- a00: 0e d0 rcall .+28 ; 0xa1e <__addsf3x>
- a02: 48 c1 rjmp .+656 ; 0xc94 <__fp_round>
- a04: 39 d1 rcall .+626 ; 0xc78 <__fp_pscA>
- a06: 30 f0 brcs .+12 ; 0xa14 <__addsf3+0x18>
- a08: 3e d1 rcall .+636 ; 0xc86 <__fp_pscB>
- a0a: 20 f0 brcs .+8 ; 0xa14 <__addsf3+0x18>
- a0c: 31 f4 brne .+12 ; 0xa1a <__addsf3+0x1e>
- a0e: 9f 3f cpi r25, 0xFF ; 255
- a10: 11 f4 brne .+4 ; 0xa16 <__addsf3+0x1a>
- a12: 1e f4 brtc .+6 ; 0xa1a <__addsf3+0x1e>
- a14: 2e c1 rjmp .+604 ; 0xc72 <__fp_nan>
- a16: 0e f4 brtc .+2 ; 0xa1a <__addsf3+0x1e>
- a18: e0 95 com r30
- a1a: e7 fb bst r30, 7
- a1c: 24 c1 rjmp .+584 ; 0xc66 <__fp_inf>
- 00000a1e <__addsf3x>:
- a1e: e9 2f mov r30, r25
- a20: 4a d1 rcall .+660 ; 0xcb6 <__fp_split3>
- a22: 80 f3 brcs .-32 ; 0xa04 <__addsf3+0x8>
- a24: ba 17 cp r27, r26
- a26: 62 07 cpc r22, r18
- a28: 73 07 cpc r23, r19
- a2a: 84 07 cpc r24, r20
- a2c: 95 07 cpc r25, r21
- a2e: 18 f0 brcs .+6 ; 0xa36 <__addsf3x+0x18>
- a30: 71 f4 brne .+28 ; 0xa4e <__addsf3x+0x30>
- a32: 9e f5 brtc .+102 ; 0xa9a <__addsf3x+0x7c>
- a34: 62 c1 rjmp .+708 ; 0xcfa <__fp_zero>
- a36: 0e f4 brtc .+2 ; 0xa3a <__addsf3x+0x1c>
- a38: e0 95 com r30
- a3a: 0b 2e mov r0, r27
- a3c: ba 2f mov r27, r26
- a3e: a0 2d mov r26, r0
- a40: 0b 01 movw r0, r22
- a42: b9 01 movw r22, r18
- a44: 90 01 movw r18, r0
- a46: 0c 01 movw r0, r24
- a48: ca 01 movw r24, r20
- a4a: a0 01 movw r20, r0
- a4c: 11 24 eor r1, r1
- a4e: ff 27 eor r31, r31
- a50: 59 1b sub r21, r25
- a52: 99 f0 breq .+38 ; 0xa7a <__addsf3x+0x5c>
- a54: 59 3f cpi r21, 0xF9 ; 249
- a56: 50 f4 brcc .+20 ; 0xa6c <__addsf3x+0x4e>
- a58: 50 3e cpi r21, 0xE0 ; 224
- a5a: 68 f1 brcs .+90 ; 0xab6 <__addsf3x+0x98>
- a5c: 1a 16 cp r1, r26
- a5e: f0 40 sbci r31, 0x00 ; 0
- a60: a2 2f mov r26, r18
- a62: 23 2f mov r18, r19
- a64: 34 2f mov r19, r20
- a66: 44 27 eor r20, r20
- a68: 58 5f subi r21, 0xF8 ; 248
- a6a: f3 cf rjmp .-26 ; 0xa52 <__addsf3x+0x34>
- a6c: 46 95 lsr r20
- a6e: 37 95 ror r19
- a70: 27 95 ror r18
- a72: a7 95 ror r26
- a74: f0 40 sbci r31, 0x00 ; 0
- a76: 53 95 inc r21
- a78: c9 f7 brne .-14 ; 0xa6c <__addsf3x+0x4e>
- a7a: 7e f4 brtc .+30 ; 0xa9a <__addsf3x+0x7c>
- a7c: 1f 16 cp r1, r31
- a7e: ba 0b sbc r27, r26
- a80: 62 0b sbc r22, r18
- a82: 73 0b sbc r23, r19
- a84: 84 0b sbc r24, r20
- a86: ba f0 brmi .+46 ; 0xab6 <__addsf3x+0x98>
- a88: 91 50 subi r25, 0x01 ; 1
- a8a: a1 f0 breq .+40 ; 0xab4 <__addsf3x+0x96>
- a8c: ff 0f add r31, r31
- a8e: bb 1f adc r27, r27
- a90: 66 1f adc r22, r22
- a92: 77 1f adc r23, r23
- a94: 88 1f adc r24, r24
- a96: c2 f7 brpl .-16 ; 0xa88 <__addsf3x+0x6a>
- a98: 0e c0 rjmp .+28 ; 0xab6 <__addsf3x+0x98>
- a9a: ba 0f add r27, r26
- a9c: 62 1f adc r22, r18
- a9e: 73 1f adc r23, r19
- aa0: 84 1f adc r24, r20
- aa2: 48 f4 brcc .+18 ; 0xab6 <__addsf3x+0x98>
- aa4: 87 95 ror r24
- aa6: 77 95 ror r23
- aa8: 67 95 ror r22
- aaa: b7 95 ror r27
- aac: f7 95 ror r31
- aae: 9e 3f cpi r25, 0xFE ; 254
- ab0: 08 f0 brcs .+2 ; 0xab4 <__addsf3x+0x96>
- ab2: b3 cf rjmp .-154 ; 0xa1a <__addsf3+0x1e>
- ab4: 93 95 inc r25
- ab6: 88 0f add r24, r24
- ab8: 08 f0 brcs .+2 ; 0xabc <__addsf3x+0x9e>
- aba: 99 27 eor r25, r25
- abc: ee 0f add r30, r30
- abe: 97 95 ror r25
- ac0: 87 95 ror r24
- ac2: 08 95 ret
- 00000ac4 <__divsf3>:
- ac4: 0c d0 rcall .+24 ; 0xade <__divsf3x>
- ac6: e6 c0 rjmp .+460 ; 0xc94 <__fp_round>
- ac8: de d0 rcall .+444 ; 0xc86 <__fp_pscB>
- aca: 40 f0 brcs .+16 ; 0xadc <__divsf3+0x18>
- acc: d5 d0 rcall .+426 ; 0xc78 <__fp_pscA>
- ace: 30 f0 brcs .+12 ; 0xadc <__divsf3+0x18>
- ad0: 21 f4 brne .+8 ; 0xada <__divsf3+0x16>
- ad2: 5f 3f cpi r21, 0xFF ; 255
- ad4: 19 f0 breq .+6 ; 0xadc <__divsf3+0x18>
- ad6: c7 c0 rjmp .+398 ; 0xc66 <__fp_inf>
- ad8: 51 11 cpse r21, r1
- ada: 10 c1 rjmp .+544 ; 0xcfc <__fp_szero>
- adc: ca c0 rjmp .+404 ; 0xc72 <__fp_nan>
- 00000ade <__divsf3x>:
- ade: eb d0 rcall .+470 ; 0xcb6 <__fp_split3>
- ae0: 98 f3 brcs .-26 ; 0xac8 <__divsf3+0x4>
- 00000ae2 <__divsf3_pse>:
- ae2: 99 23 and r25, r25
- ae4: c9 f3 breq .-14 ; 0xad8 <__divsf3+0x14>
- ae6: 55 23 and r21, r21
- ae8: b1 f3 breq .-20 ; 0xad6 <__divsf3+0x12>
- aea: 95 1b sub r25, r21
- aec: 55 0b sbc r21, r21
- aee: bb 27 eor r27, r27
- af0: aa 27 eor r26, r26
- af2: 62 17 cp r22, r18
- af4: 73 07 cpc r23, r19
- af6: 84 07 cpc r24, r20
- af8: 38 f0 brcs .+14 ; 0xb08 <__divsf3_pse+0x26>
- afa: 9f 5f subi r25, 0xFF ; 255
- afc: 5f 4f sbci r21, 0xFF ; 255
- afe: 22 0f add r18, r18
- b00: 33 1f adc r19, r19
- b02: 44 1f adc r20, r20
- b04: aa 1f adc r26, r26
- b06: a9 f3 breq .-22 ; 0xaf2 <__divsf3_pse+0x10>
- b08: 33 d0 rcall .+102 ; 0xb70 <__divsf3_pse+0x8e>
- b0a: 0e 2e mov r0, r30
- b0c: 3a f0 brmi .+14 ; 0xb1c <__divsf3_pse+0x3a>
- b0e: e0 e8 ldi r30, 0x80 ; 128
- b10: 30 d0 rcall .+96 ; 0xb72 <__divsf3_pse+0x90>
- b12: 91 50 subi r25, 0x01 ; 1
- b14: 50 40 sbci r21, 0x00 ; 0
- b16: e6 95 lsr r30
- b18: 00 1c adc r0, r0
- b1a: ca f7 brpl .-14 ; 0xb0e <__divsf3_pse+0x2c>
- b1c: 29 d0 rcall .+82 ; 0xb70 <__divsf3_pse+0x8e>
- b1e: fe 2f mov r31, r30
- b20: 27 d0 rcall .+78 ; 0xb70 <__divsf3_pse+0x8e>
- b22: 66 0f add r22, r22
- b24: 77 1f adc r23, r23
- b26: 88 1f adc r24, r24
- b28: bb 1f adc r27, r27
- b2a: 26 17 cp r18, r22
- b2c: 37 07 cpc r19, r23
- b2e: 48 07 cpc r20, r24
- b30: ab 07 cpc r26, r27
- b32: b0 e8 ldi r27, 0x80 ; 128
- b34: 09 f0 breq .+2 ; 0xb38 <__divsf3_pse+0x56>
- b36: bb 0b sbc r27, r27
- b38: 80 2d mov r24, r0
- b3a: bf 01 movw r22, r30
- b3c: ff 27 eor r31, r31
- b3e: 93 58 subi r25, 0x83 ; 131
- b40: 5f 4f sbci r21, 0xFF ; 255
- b42: 2a f0 brmi .+10 ; 0xb4e <__divsf3_pse+0x6c>
- b44: 9e 3f cpi r25, 0xFE ; 254
- b46: 51 05 cpc r21, r1
- b48: 68 f0 brcs .+26 ; 0xb64 <__divsf3_pse+0x82>
- b4a: 8d c0 rjmp .+282 ; 0xc66 <__fp_inf>
- b4c: d7 c0 rjmp .+430 ; 0xcfc <__fp_szero>
- b4e: 5f 3f cpi r21, 0xFF ; 255
- b50: ec f3 brlt .-6 ; 0xb4c <__divsf3_pse+0x6a>
- b52: 98 3e cpi r25, 0xE8 ; 232
- b54: dc f3 brlt .-10 ; 0xb4c <__divsf3_pse+0x6a>
- b56: 86 95 lsr r24
- b58: 77 95 ror r23
- b5a: 67 95 ror r22
- b5c: b7 95 ror r27
- b5e: f7 95 ror r31
- b60: 9f 5f subi r25, 0xFF ; 255
- b62: c9 f7 brne .-14 ; 0xb56 <__divsf3_pse+0x74>
- b64: 88 0f add r24, r24
- b66: 91 1d adc r25, r1
- b68: 96 95 lsr r25
- b6a: 87 95 ror r24
- b6c: 97 f9 bld r25, 7
- b6e: 08 95 ret
- b70: e1 e0 ldi r30, 0x01 ; 1
- b72: 66 0f add r22, r22
- b74: 77 1f adc r23, r23
- b76: 88 1f adc r24, r24
- b78: bb 1f adc r27, r27
- b7a: 62 17 cp r22, r18
- b7c: 73 07 cpc r23, r19
- b7e: 84 07 cpc r24, r20
- b80: ba 07 cpc r27, r26
- b82: 20 f0 brcs .+8 ; 0xb8c <__divsf3_pse+0xaa>
- b84: 62 1b sub r22, r18
- b86: 73 0b sbc r23, r19
- b88: 84 0b sbc r24, r20
- b8a: ba 0b sbc r27, r26
- b8c: ee 1f adc r30, r30
- b8e: 88 f7 brcc .-30 ; 0xb72 <__divsf3_pse+0x90>
- b90: e0 95 com r30
- b92: 08 95 ret
- 00000b94 <__fixunssfsi>:
- b94: 98 d0 rcall .+304 ; 0xcc6 <__fp_splitA>
- b96: 88 f0 brcs .+34 ; 0xbba <__fixunssfsi+0x26>
- b98: 9f 57 subi r25, 0x7F ; 127
- b9a: 90 f0 brcs .+36 ; 0xbc0 <__fixunssfsi+0x2c>
- b9c: b9 2f mov r27, r25
- b9e: 99 27 eor r25, r25
- ba0: b7 51 subi r27, 0x17 ; 23
- ba2: a0 f0 brcs .+40 ; 0xbcc <__fixunssfsi+0x38>
- ba4: d1 f0 breq .+52 ; 0xbda <__fixunssfsi+0x46>
- ba6: 66 0f add r22, r22
- ba8: 77 1f adc r23, r23
- baa: 88 1f adc r24, r24
- bac: 99 1f adc r25, r25
- bae: 1a f0 brmi .+6 ; 0xbb6 <__fixunssfsi+0x22>
- bb0: ba 95 dec r27
- bb2: c9 f7 brne .-14 ; 0xba6 <__fixunssfsi+0x12>
- bb4: 12 c0 rjmp .+36 ; 0xbda <__fixunssfsi+0x46>
- bb6: b1 30 cpi r27, 0x01 ; 1
- bb8: 81 f0 breq .+32 ; 0xbda <__fixunssfsi+0x46>
- bba: 9f d0 rcall .+318 ; 0xcfa <__fp_zero>
- bbc: b1 e0 ldi r27, 0x01 ; 1
- bbe: 08 95 ret
- bc0: 9c c0 rjmp .+312 ; 0xcfa <__fp_zero>
- bc2: 67 2f mov r22, r23
- bc4: 78 2f mov r23, r24
- bc6: 88 27 eor r24, r24
- bc8: b8 5f subi r27, 0xF8 ; 248
- bca: 39 f0 breq .+14 ; 0xbda <__fixunssfsi+0x46>
- bcc: b9 3f cpi r27, 0xF9 ; 249
- bce: cc f3 brlt .-14 ; 0xbc2 <__fixunssfsi+0x2e>
- bd0: 86 95 lsr r24
- bd2: 77 95 ror r23
- bd4: 67 95 ror r22
- bd6: b3 95 inc r27
- bd8: d9 f7 brne .-10 ; 0xbd0 <__fixunssfsi+0x3c>
- bda: 3e f4 brtc .+14 ; 0xbea <__fixunssfsi+0x56>
- bdc: 90 95 com r25
- bde: 80 95 com r24
- be0: 70 95 com r23
- be2: 61 95 neg r22
- be4: 7f 4f sbci r23, 0xFF ; 255
- be6: 8f 4f sbci r24, 0xFF ; 255
- be8: 9f 4f sbci r25, 0xFF ; 255
- bea: 08 95 ret
- 00000bec <__floatunsisf>:
- bec: e8 94 clt
- bee: 09 c0 rjmp .+18 ; 0xc02 <__floatsisf+0x12>
- 00000bf0 <__floatsisf>:
- bf0: 97 fb bst r25, 7
- bf2: 3e f4 brtc .+14 ; 0xc02 <__floatsisf+0x12>
- bf4: 90 95 com r25
- bf6: 80 95 com r24
- bf8: 70 95 com r23
- bfa: 61 95 neg r22
- bfc: 7f 4f sbci r23, 0xFF ; 255
- bfe: 8f 4f sbci r24, 0xFF ; 255
- c00: 9f 4f sbci r25, 0xFF ; 255
- c02: 99 23 and r25, r25
- c04: a9 f0 breq .+42 ; 0xc30 <__floatsisf+0x40>
- c06: f9 2f mov r31, r25
- c08: 96 e9 ldi r25, 0x96 ; 150
- c0a: bb 27 eor r27, r27
- c0c: 93 95 inc r25
- c0e: f6 95 lsr r31
- c10: 87 95 ror r24
- c12: 77 95 ror r23
- c14: 67 95 ror r22
- c16: b7 95 ror r27
- c18: f1 11 cpse r31, r1
- c1a: f8 cf rjmp .-16 ; 0xc0c <__floatsisf+0x1c>
- c1c: fa f4 brpl .+62 ; 0xc5c <__floatsisf+0x6c>
- c1e: bb 0f add r27, r27
- c20: 11 f4 brne .+4 ; 0xc26 <__floatsisf+0x36>
- c22: 60 ff sbrs r22, 0
- c24: 1b c0 rjmp .+54 ; 0xc5c <__floatsisf+0x6c>
- c26: 6f 5f subi r22, 0xFF ; 255
- c28: 7f 4f sbci r23, 0xFF ; 255
- c2a: 8f 4f sbci r24, 0xFF ; 255
- c2c: 9f 4f sbci r25, 0xFF ; 255
- c2e: 16 c0 rjmp .+44 ; 0xc5c <__floatsisf+0x6c>
- c30: 88 23 and r24, r24
- c32: 11 f0 breq .+4 ; 0xc38 <__floatsisf+0x48>
- c34: 96 e9 ldi r25, 0x96 ; 150
- c36: 11 c0 rjmp .+34 ; 0xc5a <__floatsisf+0x6a>
- c38: 77 23 and r23, r23
- c3a: 21 f0 breq .+8 ; 0xc44 <__floatsisf+0x54>
- c3c: 9e e8 ldi r25, 0x8E ; 142
- c3e: 87 2f mov r24, r23
- c40: 76 2f mov r23, r22
- c42: 05 c0 rjmp .+10 ; 0xc4e <__floatsisf+0x5e>
- c44: 66 23 and r22, r22
- c46: 71 f0 breq .+28 ; 0xc64 <__floatsisf+0x74>
- c48: 96 e8 ldi r25, 0x86 ; 134
- c4a: 86 2f mov r24, r22
- c4c: 70 e0 ldi r23, 0x00 ; 0
- c4e: 60 e0 ldi r22, 0x00 ; 0
- c50: 2a f0 brmi .+10 ; 0xc5c <__floatsisf+0x6c>
- c52: 9a 95 dec r25
- c54: 66 0f add r22, r22
- c56: 77 1f adc r23, r23
- c58: 88 1f adc r24, r24
- c5a: da f7 brpl .-10 ; 0xc52 <__floatsisf+0x62>
- c5c: 88 0f add r24, r24
- c5e: 96 95 lsr r25
- c60: 87 95 ror r24
- c62: 97 f9 bld r25, 7
- c64: 08 95 ret
- 00000c66 <__fp_inf>:
- c66: 97 f9 bld r25, 7
- c68: 9f 67 ori r25, 0x7F ; 127
- c6a: 80 e8 ldi r24, 0x80 ; 128
- c6c: 70 e0 ldi r23, 0x00 ; 0
- c6e: 60 e0 ldi r22, 0x00 ; 0
- c70: 08 95 ret
- 00000c72 <__fp_nan>:
- c72: 9f ef ldi r25, 0xFF ; 255
- c74: 80 ec ldi r24, 0xC0 ; 192
- c76: 08 95 ret
- 00000c78 <__fp_pscA>:
- c78: 00 24 eor r0, r0
- c7a: 0a 94 dec r0
- c7c: 16 16 cp r1, r22
- c7e: 17 06 cpc r1, r23
- c80: 18 06 cpc r1, r24
- c82: 09 06 cpc r0, r25
- c84: 08 95 ret
- 00000c86 <__fp_pscB>:
- c86: 00 24 eor r0, r0
- c88: 0a 94 dec r0
- c8a: 12 16 cp r1, r18
- c8c: 13 06 cpc r1, r19
- c8e: 14 06 cpc r1, r20
- c90: 05 06 cpc r0, r21
- c92: 08 95 ret
- 00000c94 <__fp_round>:
- c94: 09 2e mov r0, r25
- c96: 03 94 inc r0
- c98: 00 0c add r0, r0
- c9a: 11 f4 brne .+4 ; 0xca0 <__fp_round+0xc>
- c9c: 88 23 and r24, r24
- c9e: 52 f0 brmi .+20 ; 0xcb4 <__fp_round+0x20>
- ca0: bb 0f add r27, r27
- ca2: 40 f4 brcc .+16 ; 0xcb4 <__fp_round+0x20>
- ca4: bf 2b or r27, r31
- ca6: 11 f4 brne .+4 ; 0xcac <__fp_round+0x18>
- ca8: 60 ff sbrs r22, 0
- caa: 04 c0 rjmp .+8 ; 0xcb4 <__fp_round+0x20>
- cac: 6f 5f subi r22, 0xFF ; 255
- cae: 7f 4f sbci r23, 0xFF ; 255
- cb0: 8f 4f sbci r24, 0xFF ; 255
- cb2: 9f 4f sbci r25, 0xFF ; 255
- cb4: 08 95 ret
- 00000cb6 <__fp_split3>:
- cb6: 57 fd sbrc r21, 7
- cb8: 90 58 subi r25, 0x80 ; 128
- cba: 44 0f add r20, r20
- cbc: 55 1f adc r21, r21
- cbe: 59 f0 breq .+22 ; 0xcd6 <__fp_splitA+0x10>
- cc0: 5f 3f cpi r21, 0xFF ; 255
- cc2: 71 f0 breq .+28 ; 0xce0 <__fp_splitA+0x1a>
- cc4: 47 95 ror r20
- 00000cc6 <__fp_splitA>:
- cc6: 88 0f add r24, r24
- cc8: 97 fb bst r25, 7
- cca: 99 1f adc r25, r25
- ccc: 61 f0 breq .+24 ; 0xce6 <__fp_splitA+0x20>
- cce: 9f 3f cpi r25, 0xFF ; 255
- cd0: 79 f0 breq .+30 ; 0xcf0 <__fp_splitA+0x2a>
- cd2: 87 95 ror r24
- cd4: 08 95 ret
- cd6: 12 16 cp r1, r18
- cd8: 13 06 cpc r1, r19
- cda: 14 06 cpc r1, r20
- cdc: 55 1f adc r21, r21
- cde: f2 cf rjmp .-28 ; 0xcc4 <__fp_split3+0xe>
- ce0: 46 95 lsr r20
- ce2: f1 df rcall .-30 ; 0xcc6 <__fp_splitA>
- ce4: 08 c0 rjmp .+16 ; 0xcf6 <__fp_splitA+0x30>
- ce6: 16 16 cp r1, r22
- ce8: 17 06 cpc r1, r23
- cea: 18 06 cpc r1, r24
- cec: 99 1f adc r25, r25
- cee: f1 cf rjmp .-30 ; 0xcd2 <__fp_splitA+0xc>
- cf0: 86 95 lsr r24
- cf2: 71 05 cpc r23, r1
- cf4: 61 05 cpc r22, r1
- cf6: 08 94 sec
- cf8: 08 95 ret
- 00000cfa <__fp_zero>:
- cfa: e8 94 clt
- 00000cfc <__fp_szero>:
- cfc: bb 27 eor r27, r27
- cfe: 66 27 eor r22, r22
- d00: 77 27 eor r23, r23
- d02: cb 01 movw r24, r22
- d04: 97 f9 bld r25, 7
- d06: 08 95 ret
- 00000d08 <__mulsf3>:
- d08: 0b d0 rcall .+22 ; 0xd20 <__mulsf3x>
- d0a: c4 cf rjmp .-120 ; 0xc94 <__fp_round>
- d0c: b5 df rcall .-150 ; 0xc78 <__fp_pscA>
- d0e: 28 f0 brcs .+10 ; 0xd1a <__mulsf3+0x12>
- d10: ba df rcall .-140 ; 0xc86 <__fp_pscB>
- d12: 18 f0 brcs .+6 ; 0xd1a <__mulsf3+0x12>
- d14: 95 23 and r25, r21
- d16: 09 f0 breq .+2 ; 0xd1a <__mulsf3+0x12>
- d18: a6 cf rjmp .-180 ; 0xc66 <__fp_inf>
- d1a: ab cf rjmp .-170 ; 0xc72 <__fp_nan>
- d1c: 11 24 eor r1, r1
- d1e: ee cf rjmp .-36 ; 0xcfc <__fp_szero>
- 00000d20 <__mulsf3x>:
- d20: ca df rcall .-108 ; 0xcb6 <__fp_split3>
- d22: a0 f3 brcs .-24 ; 0xd0c <__mulsf3+0x4>
- 00000d24 <__mulsf3_pse>:
- d24: 95 9f mul r25, r21
- d26: d1 f3 breq .-12 ; 0xd1c <__mulsf3+0x14>
- d28: 95 0f add r25, r21
- d2a: 50 e0 ldi r21, 0x00 ; 0
- d2c: 55 1f adc r21, r21
- d2e: 62 9f mul r22, r18
- d30: f0 01 movw r30, r0
- d32: 72 9f mul r23, r18
- d34: bb 27 eor r27, r27
- d36: f0 0d add r31, r0
- d38: b1 1d adc r27, r1
- d3a: 63 9f mul r22, r19
- d3c: aa 27 eor r26, r26
- d3e: f0 0d add r31, r0
- d40: b1 1d adc r27, r1
- d42: aa 1f adc r26, r26
- d44: 64 9f mul r22, r20
- d46: 66 27 eor r22, r22
- d48: b0 0d add r27, r0
- d4a: a1 1d adc r26, r1
- d4c: 66 1f adc r22, r22
- d4e: 82 9f mul r24, r18
- d50: 22 27 eor r18, r18
- d52: b0 0d add r27, r0
- d54: a1 1d adc r26, r1
- d56: 62 1f adc r22, r18
- d58: 73 9f mul r23, r19
- d5a: b0 0d add r27, r0
- d5c: a1 1d adc r26, r1
- d5e: 62 1f adc r22, r18
- d60: 83 9f mul r24, r19
- d62: a0 0d add r26, r0
- d64: 61 1d adc r22, r1
- d66: 22 1f adc r18, r18
- d68: 74 9f mul r23, r20
- d6a: 33 27 eor r19, r19
- d6c: a0 0d add r26, r0
- d6e: 61 1d adc r22, r1
- d70: 23 1f adc r18, r19
- d72: 84 9f mul r24, r20
- d74: 60 0d add r22, r0
- d76: 21 1d adc r18, r1
- d78: 82 2f mov r24, r18
- d7a: 76 2f mov r23, r22
- d7c: 6a 2f mov r22, r26
- d7e: 11 24 eor r1, r1
- d80: 9f 57 subi r25, 0x7F ; 127
- d82: 50 40 sbci r21, 0x00 ; 0
- d84: 8a f0 brmi .+34 ; 0xda8 <__mulsf3_pse+0x84>
- d86: e1 f0 breq .+56 ; 0xdc0 <__mulsf3_pse+0x9c>
- d88: 88 23 and r24, r24
- d8a: 4a f0 brmi .+18 ; 0xd9e <__mulsf3_pse+0x7a>
- d8c: ee 0f add r30, r30
- d8e: ff 1f adc r31, r31
- d90: bb 1f adc r27, r27
- d92: 66 1f adc r22, r22
- d94: 77 1f adc r23, r23
- d96: 88 1f adc r24, r24
- d98: 91 50 subi r25, 0x01 ; 1
- d9a: 50 40 sbci r21, 0x00 ; 0
- d9c: a9 f7 brne .-22 ; 0xd88 <__mulsf3_pse+0x64>
- d9e: 9e 3f cpi r25, 0xFE ; 254
- da0: 51 05 cpc r21, r1
- da2: 70 f0 brcs .+28 ; 0xdc0 <__mulsf3_pse+0x9c>
- da4: 60 cf rjmp .-320 ; 0xc66 <__fp_inf>
- da6: aa cf rjmp .-172 ; 0xcfc <__fp_szero>
- da8: 5f 3f cpi r21, 0xFF ; 255
- daa: ec f3 brlt .-6 ; 0xda6 <__mulsf3_pse+0x82>
- dac: 98 3e cpi r25, 0xE8 ; 232
- dae: dc f3 brlt .-10 ; 0xda6 <__mulsf3_pse+0x82>
- db0: 86 95 lsr r24
- db2: 77 95 ror r23
- db4: 67 95 ror r22
- db6: b7 95 ror r27
- db8: f7 95 ror r31
- dba: e7 95 ror r30
- dbc: 9f 5f subi r25, 0xFF ; 255
- dbe: c1 f7 brne .-16 ; 0xdb0 <__mulsf3_pse+0x8c>
- dc0: fe 2b or r31, r30
- dc2: 88 0f add r24, r24
- dc4: 91 1d adc r25, r1
- dc6: 96 95 lsr r25
- dc8: 87 95 ror r24
- dca: 97 f9 bld r25, 7
- dcc: 08 95 ret
- 00000dce <vfprintf>:
- dce: a3 e1 ldi r26, 0x13 ; 19
- dd0: b0 e0 ldi r27, 0x00 ; 0
- dd2: ed ee ldi r30, 0xED ; 237
- dd4: f6 e0 ldi r31, 0x06 ; 6
- dd6: 0c 94 62 0a jmp 0x14c4 ; 0x14c4 <__prologue_saves__>
- dda: 7c 01 movw r14, r24
- ddc: 1b 01 movw r2, r22
- dde: 6a 01 movw r12, r20
- de0: fc 01 movw r30, r24
- de2: 17 82 std Z+7, r1 ; 0x07
- de4: 16 82 std Z+6, r1 ; 0x06
- de6: 83 81 ldd r24, Z+3 ; 0x03
- de8: 81 ff sbrs r24, 1
- dea: 66 c3 rjmp .+1740 ; 0x14b8 <__stack+0x3b9>
- dec: be 01 movw r22, r28
- dee: 6f 5f subi r22, 0xFF ; 255
- df0: 7f 4f sbci r23, 0xFF ; 255
- df2: 4b 01 movw r8, r22
- df4: f7 01 movw r30, r14
- df6: 93 81 ldd r25, Z+3 ; 0x03
- df8: f1 01 movw r30, r2
- dfa: 93 fd sbrc r25, 3
- dfc: 85 91 lpm r24, Z+
- dfe: 93 ff sbrs r25, 3
- e00: 81 91 ld r24, Z+
- e02: 1f 01 movw r2, r30
- e04: 88 23 and r24, r24
- e06: 09 f4 brne .+2 ; 0xe0a <vfprintf+0x3c>
- e08: 53 c3 rjmp .+1702 ; 0x14b0 <__stack+0x3b1>
- e0a: 85 32 cpi r24, 0x25 ; 37
- e0c: 39 f4 brne .+14 ; 0xe1c <vfprintf+0x4e>
- e0e: 93 fd sbrc r25, 3
- e10: 85 91 lpm r24, Z+
- e12: 93 ff sbrs r25, 3
- e14: 81 91 ld r24, Z+
- e16: 1f 01 movw r2, r30
- e18: 85 32 cpi r24, 0x25 ; 37
- e1a: 39 f4 brne .+14 ; 0xe2a <vfprintf+0x5c>
- e1c: b7 01 movw r22, r14
- e1e: 90 e0 ldi r25, 0x00 ; 0
- e20: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- e24: 56 01 movw r10, r12
- e26: 65 01 movw r12, r10
- e28: e5 cf rjmp .-54 ; 0xdf4 <vfprintf+0x26>
- e2a: 10 e0 ldi r17, 0x00 ; 0
- e2c: 51 2c mov r5, r1
- e2e: 20 e0 ldi r18, 0x00 ; 0
- e30: 20 32 cpi r18, 0x20 ; 32
- e32: a0 f4 brcc .+40 ; 0xe5c <vfprintf+0x8e>
- e34: 8b 32 cpi r24, 0x2B ; 43
- e36: 69 f0 breq .+26 ; 0xe52 <vfprintf+0x84>
- e38: 30 f4 brcc .+12 ; 0xe46 <vfprintf+0x78>
- e3a: 80 32 cpi r24, 0x20 ; 32
- e3c: 59 f0 breq .+22 ; 0xe54 <vfprintf+0x86>
- e3e: 83 32 cpi r24, 0x23 ; 35
- e40: 69 f4 brne .+26 ; 0xe5c <vfprintf+0x8e>
- e42: 20 61 ori r18, 0x10 ; 16
- e44: 2c c0 rjmp .+88 ; 0xe9e <vfprintf+0xd0>
- e46: 8d 32 cpi r24, 0x2D ; 45
- e48: 39 f0 breq .+14 ; 0xe58 <vfprintf+0x8a>
- e4a: 80 33 cpi r24, 0x30 ; 48
- e4c: 39 f4 brne .+14 ; 0xe5c <vfprintf+0x8e>
- e4e: 21 60 ori r18, 0x01 ; 1
- e50: 26 c0 rjmp .+76 ; 0xe9e <vfprintf+0xd0>
- e52: 22 60 ori r18, 0x02 ; 2
- e54: 24 60 ori r18, 0x04 ; 4
- e56: 23 c0 rjmp .+70 ; 0xe9e <vfprintf+0xd0>
- e58: 28 60 ori r18, 0x08 ; 8
- e5a: 21 c0 rjmp .+66 ; 0xe9e <vfprintf+0xd0>
- e5c: 27 fd sbrc r18, 7
- e5e: 27 c0 rjmp .+78 ; 0xeae <vfprintf+0xe0>
- e60: 30 ed ldi r19, 0xD0 ; 208
- e62: 38 0f add r19, r24
- e64: 3a 30 cpi r19, 0x0A ; 10
- e66: 78 f4 brcc .+30 ; 0xe86 <vfprintf+0xb8>
- e68: 26 ff sbrs r18, 6
- e6a: 06 c0 rjmp .+12 ; 0xe78 <vfprintf+0xaa>
- e6c: fa e0 ldi r31, 0x0A ; 10
- e6e: 1f 9f mul r17, r31
- e70: 30 0d add r19, r0
- e72: 11 24 eor r1, r1
- e74: 13 2f mov r17, r19
- e76: 13 c0 rjmp .+38 ; 0xe9e <vfprintf+0xd0>
- e78: 6a e0 ldi r22, 0x0A ; 10
- e7a: 56 9e mul r5, r22
- e7c: 30 0d add r19, r0
- e7e: 11 24 eor r1, r1
- e80: 53 2e mov r5, r19
- e82: 20 62 ori r18, 0x20 ; 32
- e84: 0c c0 rjmp .+24 ; 0xe9e <vfprintf+0xd0>
- e86: 8e 32 cpi r24, 0x2E ; 46
- e88: 21 f4 brne .+8 ; 0xe92 <vfprintf+0xc4>
- e8a: 26 fd sbrc r18, 6
- e8c: 11 c3 rjmp .+1570 ; 0x14b0 <__stack+0x3b1>
- e8e: 20 64 ori r18, 0x40 ; 64
- e90: 06 c0 rjmp .+12 ; 0xe9e <vfprintf+0xd0>
- e92: 8c 36 cpi r24, 0x6C ; 108
- e94: 11 f4 brne .+4 ; 0xe9a <vfprintf+0xcc>
- e96: 20 68 ori r18, 0x80 ; 128
- e98: 02 c0 rjmp .+4 ; 0xe9e <vfprintf+0xd0>
- e9a: 88 36 cpi r24, 0x68 ; 104
- e9c: 41 f4 brne .+16 ; 0xeae <vfprintf+0xe0>
- e9e: f1 01 movw r30, r2
- ea0: 93 fd sbrc r25, 3
- ea2: 85 91 lpm r24, Z+
- ea4: 93 ff sbrs r25, 3
- ea6: 81 91 ld r24, Z+
- ea8: 1f 01 movw r2, r30
- eaa: 81 11 cpse r24, r1
- eac: c1 cf rjmp .-126 ; 0xe30 <vfprintf+0x62>
- eae: 9b eb ldi r25, 0xBB ; 187
- eb0: 98 0f add r25, r24
- eb2: 93 30 cpi r25, 0x03 ; 3
- eb4: 18 f4 brcc .+6 ; 0xebc <vfprintf+0xee>
- eb6: 20 61 ori r18, 0x10 ; 16
- eb8: 80 5e subi r24, 0xE0 ; 224
- eba: 06 c0 rjmp .+12 ; 0xec8 <vfprintf+0xfa>
- ebc: 9b e9 ldi r25, 0x9B ; 155
- ebe: 98 0f add r25, r24
- ec0: 93 30 cpi r25, 0x03 ; 3
- ec2: 08 f0 brcs .+2 ; 0xec6 <vfprintf+0xf8>
- ec4: aa c1 rjmp .+852 ; 0x121a <__stack+0x11b>
- ec6: 2f 7e andi r18, 0xEF ; 239
- ec8: 26 ff sbrs r18, 6
- eca: 16 e0 ldi r17, 0x06 ; 6
- ecc: 2f 73 andi r18, 0x3F ; 63
- ece: 72 2e mov r7, r18
- ed0: 85 36 cpi r24, 0x65 ; 101
- ed2: 21 f4 brne .+8 ; 0xedc <vfprintf+0x10e>
- ed4: f2 2f mov r31, r18
- ed6: f0 64 ori r31, 0x40 ; 64
- ed8: 7f 2e mov r7, r31
- eda: 08 c0 rjmp .+16 ; 0xeec <vfprintf+0x11e>
- edc: 86 36 cpi r24, 0x66 ; 102
- ede: 21 f4 brne .+8 ; 0xee8 <vfprintf+0x11a>
- ee0: 62 2f mov r22, r18
- ee2: 60 68 ori r22, 0x80 ; 128
- ee4: 76 2e mov r7, r22
- ee6: 02 c0 rjmp .+4 ; 0xeec <vfprintf+0x11e>
- ee8: 11 11 cpse r17, r1
- eea: 11 50 subi r17, 0x01 ; 1
- eec: 77 fe sbrs r7, 7
- eee: 07 c0 rjmp .+14 ; 0xefe <vfprintf+0x130>
- ef0: 1c 33 cpi r17, 0x3C ; 60
- ef2: 48 f4 brcc .+18 ; 0xf06 <vfprintf+0x138>
- ef4: 44 24 eor r4, r4
- ef6: 43 94 inc r4
- ef8: 41 0e add r4, r17
- efa: 27 e0 ldi r18, 0x07 ; 7
- efc: 0b c0 rjmp .+22 ; 0xf14 <vfprintf+0x146>
- efe: 18 30 cpi r17, 0x08 ; 8
- f00: 30 f4 brcc .+12 ; 0xf0e <vfprintf+0x140>
- f02: 21 2f mov r18, r17
- f04: 06 c0 rjmp .+12 ; 0xf12 <vfprintf+0x144>
- f06: 27 e0 ldi r18, 0x07 ; 7
- f08: 4c e3 ldi r20, 0x3C ; 60
- f0a: 44 2e mov r4, r20
- f0c: 03 c0 rjmp .+6 ; 0xf14 <vfprintf+0x146>
- f0e: 27 e0 ldi r18, 0x07 ; 7
- f10: 17 e0 ldi r17, 0x07 ; 7
- f12: 41 2c mov r4, r1
- f14: 56 01 movw r10, r12
- f16: 74 e0 ldi r23, 0x04 ; 4
- f18: a7 0e add r10, r23
- f1a: b1 1c adc r11, r1
- f1c: f6 01 movw r30, r12
- f1e: 60 81 ld r22, Z
- f20: 71 81 ldd r23, Z+1 ; 0x01
- f22: 82 81 ldd r24, Z+2 ; 0x02
- f24: 93 81 ldd r25, Z+3 ; 0x03
- f26: 04 2d mov r16, r4
- f28: a4 01 movw r20, r8
- f2a: 0e 94 99 0a call 0x1532 ; 0x1532 <__ftoa_engine>
- f2e: 6c 01 movw r12, r24
- f30: 09 81 ldd r16, Y+1 ; 0x01
- f32: 00 ff sbrs r16, 0
- f34: 02 c0 rjmp .+4 ; 0xf3a <vfprintf+0x16c>
- f36: 03 ff sbrs r16, 3
- f38: 06 c0 rjmp .+12 ; 0xf46 <vfprintf+0x178>
- f3a: 71 fc sbrc r7, 1
- f3c: 07 c0 rjmp .+14 ; 0xf4c <vfprintf+0x17e>
- f3e: 72 fc sbrc r7, 2
- f40: 08 c0 rjmp .+16 ; 0xf52 <vfprintf+0x184>
- f42: 61 2c mov r6, r1
- f44: 08 c0 rjmp .+16 ; 0xf56 <vfprintf+0x188>
- f46: 3d e2 ldi r19, 0x2D ; 45
- f48: 63 2e mov r6, r19
- f4a: 05 c0 rjmp .+10 ; 0xf56 <vfprintf+0x188>
- f4c: 2b e2 ldi r18, 0x2B ; 43
- f4e: 62 2e mov r6, r18
- f50: 02 c0 rjmp .+4 ; 0xf56 <vfprintf+0x188>
- f52: 90 e2 ldi r25, 0x20 ; 32
- f54: 69 2e mov r6, r25
- f56: 80 2f mov r24, r16
- f58: 8c 70 andi r24, 0x0C ; 12
- f5a: 99 f1 breq .+102 ; 0xfc2 <vfprintf+0x1f4>
- f5c: 66 20 and r6, r6
- f5e: 11 f0 breq .+4 ; 0xf64 <vfprintf+0x196>
- f60: 84 e0 ldi r24, 0x04 ; 4
- f62: 01 c0 rjmp .+2 ; 0xf66 <vfprintf+0x198>
- f64: 83 e0 ldi r24, 0x03 ; 3
- f66: 85 15 cp r24, r5
- f68: 10 f0 brcs .+4 ; 0xf6e <vfprintf+0x1a0>
- f6a: 51 2c mov r5, r1
- f6c: 0b c0 rjmp .+22 ; 0xf84 <vfprintf+0x1b6>
- f6e: 58 1a sub r5, r24
- f70: 73 fc sbrc r7, 3
- f72: 08 c0 rjmp .+16 ; 0xf84 <vfprintf+0x1b6>
- f74: b7 01 movw r22, r14
- f76: 80 e2 ldi r24, 0x20 ; 32
- f78: 90 e0 ldi r25, 0x00 ; 0
- f7a: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- f7e: 5a 94 dec r5
- f80: c9 f7 brne .-14 ; 0xf74 <vfprintf+0x1a6>
- f82: f3 cf rjmp .-26 ; 0xf6a <vfprintf+0x19c>
- f84: 66 20 and r6, r6
- f86: 29 f0 breq .+10 ; 0xf92 <vfprintf+0x1c4>
- f88: b7 01 movw r22, r14
- f8a: 86 2d mov r24, r6
- f8c: 90 e0 ldi r25, 0x00 ; 0
- f8e: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- f92: 03 fd sbrc r16, 3
- f94: 03 c0 rjmp .+6 ; 0xf9c <vfprintf+0x1ce>
- f96: 00 e8 ldi r16, 0x80 ; 128
- f98: 10 e0 ldi r17, 0x00 ; 0
- f9a: 02 c0 rjmp .+4 ; 0xfa0 <vfprintf+0x1d2>
- f9c: 0c e7 ldi r16, 0x7C ; 124
- f9e: 10 e0 ldi r17, 0x00 ; 0
- fa0: f7 2d mov r31, r7
- fa2: f0 71 andi r31, 0x10 ; 16
- fa4: 7f 2e mov r7, r31
- fa6: f8 01 movw r30, r16
- fa8: 84 91 lpm r24, Z
- faa: 88 23 and r24, r24
- fac: 09 f4 brne .+2 ; 0xfb0 <vfprintf+0x1e2>
- fae: 76 c2 rjmp .+1260 ; 0x149c <__stack+0x39d>
- fb0: 71 10 cpse r7, r1
- fb2: 80 52 subi r24, 0x20 ; 32
- fb4: b7 01 movw r22, r14
- fb6: 90 e0 ldi r25, 0x00 ; 0
- fb8: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- fbc: 0f 5f subi r16, 0xFF ; 255
- fbe: 1f 4f sbci r17, 0xFF ; 255
- fc0: f2 cf rjmp .-28 ; 0xfa6 <vfprintf+0x1d8>
- fc2: 77 fe sbrs r7, 7
- fc4: 0f c0 rjmp .+30 ; 0xfe4 <vfprintf+0x216>
- fc6: 4c 0c add r4, r12
- fc8: 04 ff sbrs r16, 4
- fca: 04 c0 rjmp .+8 ; 0xfd4 <vfprintf+0x206>
- fcc: 8a 81 ldd r24, Y+2 ; 0x02
- fce: 81 33 cpi r24, 0x31 ; 49
- fd0: 09 f4 brne .+2 ; 0xfd4 <vfprintf+0x206>
- fd2: 4a 94 dec r4
- fd4: 14 14 cp r1, r4
- fd6: 74 f5 brge .+92 ; 0x1034 <vfprintf+0x266>
- fd8: f8 e0 ldi r31, 0x08 ; 8
- fda: f4 15 cp r31, r4
- fdc: 78 f5 brcc .+94 ; 0x103c <vfprintf+0x26e>
- fde: 88 e0 ldi r24, 0x08 ; 8
- fe0: 48 2e mov r4, r24
- fe2: 2c c0 rjmp .+88 ; 0x103c <vfprintf+0x26e>
- fe4: 76 fc sbrc r7, 6
- fe6: 2a c0 rjmp .+84 ; 0x103c <vfprintf+0x26e>
- fe8: 81 2f mov r24, r17
- fea: 90 e0 ldi r25, 0x00 ; 0
- fec: 8c 15 cp r24, r12
- fee: 9d 05 cpc r25, r13
- ff0: 9c f0 brlt .+38 ; 0x1018 <vfprintf+0x24a>
- ff2: 6c ef ldi r22, 0xFC ; 252
- ff4: c6 16 cp r12, r22
- ff6: 6f ef ldi r22, 0xFF ; 255
- ff8: d6 06 cpc r13, r22
- ffa: 74 f0 brlt .+28 ; 0x1018 <vfprintf+0x24a>
- ffc: 77 2d mov r23, r7
- ffe: 70 68 ori r23, 0x80 ; 128
- 1000: 77 2e mov r7, r23
- 1002: 0a c0 rjmp .+20 ; 0x1018 <vfprintf+0x24a>
- 1004: e2 e0 ldi r30, 0x02 ; 2
- 1006: f0 e0 ldi r31, 0x00 ; 0
- 1008: ec 0f add r30, r28
- 100a: fd 1f adc r31, r29
- 100c: e1 0f add r30, r17
- 100e: f1 1d adc r31, r1
- 1010: 80 81 ld r24, Z
- 1012: 80 33 cpi r24, 0x30 ; 48
- 1014: 19 f4 brne .+6 ; 0x101c <vfprintf+0x24e>
- 1016: 11 50 subi r17, 0x01 ; 1
- 1018: 11 11 cpse r17, r1
- 101a: f4 cf rjmp .-24 ; 0x1004 <vfprintf+0x236>
- 101c: 77 fe sbrs r7, 7
- 101e: 0e c0 rjmp .+28 ; 0x103c <vfprintf+0x26e>
- 1020: 44 24 eor r4, r4
- 1022: 43 94 inc r4
- 1024: 41 0e add r4, r17
- 1026: 81 2f mov r24, r17
- 1028: 90 e0 ldi r25, 0x00 ; 0
- 102a: c8 16 cp r12, r24
- 102c: d9 06 cpc r13, r25
- 102e: 2c f4 brge .+10 ; 0x103a <vfprintf+0x26c>
- 1030: 1c 19 sub r17, r12
- 1032: 04 c0 rjmp .+8 ; 0x103c <vfprintf+0x26e>
- 1034: 44 24 eor r4, r4
- 1036: 43 94 inc r4
- 1038: 01 c0 rjmp .+2 ; 0x103c <vfprintf+0x26e>
- 103a: 10 e0 ldi r17, 0x00 ; 0
- 103c: 77 fe sbrs r7, 7
- 103e: 07 c0 rjmp .+14 ; 0x104e <vfprintf+0x280>
- 1040: 1c 14 cp r1, r12
- 1042: 1d 04 cpc r1, r13
- 1044: 3c f4 brge .+14 ; 0x1054 <vfprintf+0x286>
- 1046: 96 01 movw r18, r12
- 1048: 2f 5f subi r18, 0xFF ; 255
- 104a: 3f 4f sbci r19, 0xFF ; 255
- 104c: 05 c0 rjmp .+10 ; 0x1058 <vfprintf+0x28a>
- 104e: 25 e0 ldi r18, 0x05 ; 5
- 1050: 30 e0 ldi r19, 0x00 ; 0
- 1052: 02 c0 rjmp .+4 ; 0x1058 <vfprintf+0x28a>
- 1054: 21 e0 ldi r18, 0x01 ; 1
- 1056: 30 e0 ldi r19, 0x00 ; 0
- 1058: 66 20 and r6, r6
- 105a: 11 f0 breq .+4 ; 0x1060 <vfprintf+0x292>
- 105c: 2f 5f subi r18, 0xFF ; 255
- 105e: 3f 4f sbci r19, 0xFF ; 255
- 1060: 11 23 and r17, r17
- 1062: 31 f0 breq .+12 ; 0x1070 <vfprintf+0x2a2>
- 1064: 41 2f mov r20, r17
- 1066: 50 e0 ldi r21, 0x00 ; 0
- 1068: 4f 5f subi r20, 0xFF ; 255
- 106a: 5f 4f sbci r21, 0xFF ; 255
- 106c: 24 0f add r18, r20
- 106e: 35 1f adc r19, r21
- 1070: 45 2d mov r20, r5
- 1072: 50 e0 ldi r21, 0x00 ; 0
- 1074: 24 17 cp r18, r20
- 1076: 35 07 cpc r19, r21
- 1078: 14 f4 brge .+4 ; 0x107e <vfprintf+0x2b0>
- 107a: 52 1a sub r5, r18
- 107c: 01 c0 rjmp .+2 ; 0x1080 <vfprintf+0x2b2>
- 107e: 51 2c mov r5, r1
- 1080: 87 2d mov r24, r7
- 1082: 89 70 andi r24, 0x09 ; 9
- 1084: 49 f4 brne .+18 ; 0x1098 <vfprintf+0x2ca>
- 1086: 55 20 and r5, r5
- 1088: 39 f0 breq .+14 ; 0x1098 <vfprintf+0x2ca>
- 108a: b7 01 movw r22, r14
- 108c: 80 e2 ldi r24, 0x20 ; 32
- 108e: 90 e0 ldi r25, 0x00 ; 0
- 1090: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 1094: 5a 94 dec r5
- 1096: f7 cf rjmp .-18 ; 0x1086 <vfprintf+0x2b8>
- 1098: 66 20 and r6, r6
- 109a: 29 f0 breq .+10 ; 0x10a6 <vfprintf+0x2d8>
- 109c: b7 01 movw r22, r14
- 109e: 86 2d mov r24, r6
- 10a0: 90 e0 ldi r25, 0x00 ; 0
- 10a2: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 10a6: 73 fc sbrc r7, 3
- 10a8: 09 c0 rjmp .+18 ; 0x10bc <vfprintf+0x2ee>
- 10aa: 55 20 and r5, r5
- 10ac: 39 f0 breq .+14 ; 0x10bc <vfprintf+0x2ee>
- 10ae: b7 01 movw r22, r14
- 10b0: 80 e3 ldi r24, 0x30 ; 48
- 10b2: 90 e0 ldi r25, 0x00 ; 0
- 10b4: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 10b8: 5a 94 dec r5
- 10ba: f7 cf rjmp .-18 ; 0x10aa <vfprintf+0x2dc>
- 10bc: 77 fe sbrs r7, 7
- 10be: 5f c0 rjmp .+190 ; 0x117e <__stack+0x7f>
- 10c0: 9c 2d mov r25, r12
- 10c2: 8d 2d mov r24, r13
- 10c4: d7 fe sbrs r13, 7
- 10c6: 02 c0 rjmp .+4 ; 0x10cc <vfprintf+0x2fe>
- 10c8: 90 e0 ldi r25, 0x00 ; 0
- 10ca: 80 e0 ldi r24, 0x00 ; 0
- 10cc: 69 2e mov r6, r25
- 10ce: 78 2e mov r7, r24
- 10d0: 40 e0 ldi r20, 0x00 ; 0
- 10d2: 50 e0 ldi r21, 0x00 ; 0
- 10d4: c6 01 movw r24, r12
- 10d6: 84 19 sub r24, r4
- 10d8: 91 09 sbc r25, r1
- 10da: 9d 87 std Y+13, r25 ; 0x0d
- 10dc: 8c 87 std Y+12, r24 ; 0x0c
- 10de: 96 01 movw r18, r12
- 10e0: 26 19 sub r18, r6
- 10e2: 37 09 sbc r19, r7
- 10e4: 28 0d add r18, r8
- 10e6: 39 1d adc r19, r9
- 10e8: 81 2f mov r24, r17
- 10ea: 90 e0 ldi r25, 0x00 ; 0
- 10ec: ee 27 eor r30, r30
- 10ee: ff 27 eor r31, r31
- 10f0: e8 1b sub r30, r24
- 10f2: f9 0b sbc r31, r25
- 10f4: ff 87 std Y+15, r31 ; 0x0f
- 10f6: ee 87 std Y+14, r30 ; 0x0e
- 10f8: ff ef ldi r31, 0xFF ; 255
- 10fa: 6f 16 cp r6, r31
- 10fc: 7f 06 cpc r7, r31
- 10fe: 69 f4 brne .+26 ; 0x111a <__stack+0x1b>
- 1100: b7 01 movw r22, r14
- 1102: 8e e2 ldi r24, 0x2E ; 46
- 1104: 90 e0 ldi r25, 0x00 ; 0
- 1106: 2b 8b std Y+19, r18 ; 0x13
- 1108: 3a 8b std Y+18, r19 ; 0x12
- 110a: 48 8b std Y+16, r20 ; 0x10
- 110c: 59 8b std Y+17, r21 ; 0x11
- 110e: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 1112: 59 89 ldd r21, Y+17 ; 0x11
- 1114: 48 89 ldd r20, Y+16 ; 0x10
- 1116: 3a 89 ldd r19, Y+18 ; 0x12
- 1118: 2b 89 ldd r18, Y+19 ; 0x13
- 111a: c6 14 cp r12, r6
- 111c: d7 04 cpc r13, r7
- 111e: 54 f0 brlt .+20 ; 0x1134 <__stack+0x35>
- 1120: 6c 85 ldd r22, Y+12 ; 0x0c
- 1122: 7d 85 ldd r23, Y+13 ; 0x0d
- 1124: 66 15 cp r22, r6
- 1126: 77 05 cpc r23, r7
- 1128: 2c f4 brge .+10 ; 0x1134 <__stack+0x35>
- 112a: f9 01 movw r30, r18
- 112c: e4 0f add r30, r20
- 112e: f5 1f adc r31, r21
- 1130: 81 81 ldd r24, Z+1 ; 0x01
- 1132: 01 c0 rjmp .+2 ; 0x1136 <__stack+0x37>
- 1134: 80 e3 ldi r24, 0x30 ; 48
- 1136: 71 e0 ldi r23, 0x01 ; 1
- 1138: 67 1a sub r6, r23
- 113a: 71 08 sbc r7, r1
- 113c: 4f 5f subi r20, 0xFF ; 255
- 113e: 5f 4f sbci r21, 0xFF ; 255
- 1140: ee 85 ldd r30, Y+14 ; 0x0e
- 1142: ff 85 ldd r31, Y+15 ; 0x0f
- 1144: 6e 16 cp r6, r30
- 1146: 7f 06 cpc r7, r31
- 1148: 6c f0 brlt .+26 ; 0x1164 <__stack+0x65>
- 114a: b7 01 movw r22, r14
- 114c: 90 e0 ldi r25, 0x00 ; 0
- 114e: 2b 8b std Y+19, r18 ; 0x13
- 1150: 3a 8b std Y+18, r19 ; 0x12
- 1152: 48 8b std Y+16, r20 ; 0x10
- 1154: 59 8b std Y+17, r21 ; 0x11
- 1156: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 115a: 2b 89 ldd r18, Y+19 ; 0x13
- 115c: 3a 89 ldd r19, Y+18 ; 0x12
- 115e: 48 89 ldd r20, Y+16 ; 0x10
- 1160: 59 89 ldd r21, Y+17 ; 0x11
- 1162: ca cf rjmp .-108 ; 0x10f8 <vfprintf+0x32a>
- 1164: 6c 14 cp r6, r12
- 1166: 7d 04 cpc r7, r13
- 1168: 39 f4 brne .+14 ; 0x1178 <__stack+0x79>
- 116a: 9a 81 ldd r25, Y+2 ; 0x02
- 116c: 96 33 cpi r25, 0x36 ; 54
- 116e: 18 f4 brcc .+6 ; 0x1176 <__stack+0x77>
- 1170: 95 33 cpi r25, 0x35 ; 53
- 1172: 11 f4 brne .+4 ; 0x1178 <__stack+0x79>
- 1174: 04 ff sbrs r16, 4
- 1176: 81 e3 ldi r24, 0x31 ; 49
- 1178: b7 01 movw r22, r14
- 117a: 90 e0 ldi r25, 0x00 ; 0
- 117c: 4b c0 rjmp .+150 ; 0x1214 <__stack+0x115>
- 117e: 8a 81 ldd r24, Y+2 ; 0x02
- 1180: 81 33 cpi r24, 0x31 ; 49
- 1182: 09 f0 breq .+2 ; 0x1186 <__stack+0x87>
- 1184: 0f 7e andi r16, 0xEF ; 239
- 1186: b7 01 movw r22, r14
- 1188: 90 e0 ldi r25, 0x00 ; 0
- 118a: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 118e: 11 11 cpse r17, r1
- 1190: 05 c0 rjmp .+10 ; 0x119c <__stack+0x9d>
- 1192: 74 fe sbrs r7, 4
- 1194: 18 c0 rjmp .+48 ; 0x11c6 <__stack+0xc7>
- 1196: 85 e4 ldi r24, 0x45 ; 69
- 1198: 90 e0 ldi r25, 0x00 ; 0
- 119a: 17 c0 rjmp .+46 ; 0x11ca <__stack+0xcb>
- 119c: b7 01 movw r22, r14
- 119e: 8e e2 ldi r24, 0x2E ; 46
- 11a0: 90 e0 ldi r25, 0x00 ; 0
- 11a2: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 11a6: 82 e0 ldi r24, 0x02 ; 2
- 11a8: 66 24 eor r6, r6
- 11aa: 63 94 inc r6
- 11ac: 68 0e add r6, r24
- 11ae: f4 01 movw r30, r8
- 11b0: e8 0f add r30, r24
- 11b2: f1 1d adc r31, r1
- 11b4: 80 81 ld r24, Z
- 11b6: b7 01 movw r22, r14
- 11b8: 90 e0 ldi r25, 0x00 ; 0
- 11ba: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 11be: 11 50 subi r17, 0x01 ; 1
- 11c0: 41 f3 breq .-48 ; 0x1192 <__stack+0x93>
- 11c2: 86 2d mov r24, r6
- 11c4: f1 cf rjmp .-30 ; 0x11a8 <__stack+0xa9>
- 11c6: 85 e6 ldi r24, 0x65 ; 101
- 11c8: 90 e0 ldi r25, 0x00 ; 0
- 11ca: b7 01 movw r22, r14
- 11cc: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 11d0: d7 fc sbrc r13, 7
- 11d2: 05 c0 rjmp .+10 ; 0x11de <__stack+0xdf>
- 11d4: c1 14 cp r12, r1
- 11d6: d1 04 cpc r13, r1
- 11d8: 39 f4 brne .+14 ; 0x11e8 <__stack+0xe9>
- 11da: 04 ff sbrs r16, 4
- 11dc: 05 c0 rjmp .+10 ; 0x11e8 <__stack+0xe9>
- 11de: d1 94 neg r13
- 11e0: c1 94 neg r12
- 11e2: d1 08 sbc r13, r1
- 11e4: 8d e2 ldi r24, 0x2D ; 45
- 11e6: 01 c0 rjmp .+2 ; 0x11ea <__stack+0xeb>
- 11e8: 8b e2 ldi r24, 0x2B ; 43
- 11ea: b7 01 movw r22, r14
- 11ec: 90 e0 ldi r25, 0x00 ; 0
- 11ee: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 11f2: 80 e3 ldi r24, 0x30 ; 48
- 11f4: 6a e0 ldi r22, 0x0A ; 10
- 11f6: c6 16 cp r12, r22
- 11f8: d1 04 cpc r13, r1
- 11fa: 2c f0 brlt .+10 ; 0x1206 <__stack+0x107>
- 11fc: 8f 5f subi r24, 0xFF ; 255
- 11fe: fa e0 ldi r31, 0x0A ; 10
- 1200: cf 1a sub r12, r31
- 1202: d1 08 sbc r13, r1
- 1204: f7 cf rjmp .-18 ; 0x11f4 <__stack+0xf5>
- 1206: b7 01 movw r22, r14
- 1208: 90 e0 ldi r25, 0x00 ; 0
- 120a: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 120e: b7 01 movw r22, r14
- 1210: c6 01 movw r24, r12
- 1212: c0 96 adiw r24, 0x30 ; 48
- 1214: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 1218: 41 c1 rjmp .+642 ; 0x149c <__stack+0x39d>
- 121a: 83 36 cpi r24, 0x63 ; 99
- 121c: 31 f0 breq .+12 ; 0x122a <__stack+0x12b>
- 121e: 83 37 cpi r24, 0x73 ; 115
- 1220: 79 f0 breq .+30 ; 0x1240 <__stack+0x141>
- 1222: 83 35 cpi r24, 0x53 ; 83
- 1224: 09 f0 breq .+2 ; 0x1228 <__stack+0x129>
- 1226: 58 c0 rjmp .+176 ; 0x12d8 <__stack+0x1d9>
- 1228: 21 c0 rjmp .+66 ; 0x126c <__stack+0x16d>
- 122a: 56 01 movw r10, r12
- 122c: 72 e0 ldi r23, 0x02 ; 2
- 122e: a7 0e add r10, r23
- 1230: b1 1c adc r11, r1
- 1232: f6 01 movw r30, r12
- 1234: 80 81 ld r24, Z
- 1236: 89 83 std Y+1, r24 ; 0x01
- 1238: 01 e0 ldi r16, 0x01 ; 1
- 123a: 10 e0 ldi r17, 0x00 ; 0
- 123c: 64 01 movw r12, r8
- 123e: 14 c0 rjmp .+40 ; 0x1268 <__stack+0x169>
- 1240: 56 01 movw r10, r12
- 1242: f2 e0 ldi r31, 0x02 ; 2
- 1244: af 0e add r10, r31
- 1246: b1 1c adc r11, r1
- 1248: f6 01 movw r30, r12
- 124a: c0 80 ld r12, Z
- 124c: d1 80 ldd r13, Z+1 ; 0x01
- 124e: 26 ff sbrs r18, 6
- 1250: 03 c0 rjmp .+6 ; 0x1258 <__stack+0x159>
- 1252: 61 2f mov r22, r17
- 1254: 70 e0 ldi r23, 0x00 ; 0
- 1256: 02 c0 rjmp .+4 ; 0x125c <__stack+0x15d>
- 1258: 6f ef ldi r22, 0xFF ; 255
- 125a: 7f ef ldi r23, 0xFF ; 255
- 125c: c6 01 movw r24, r12
- 125e: 2b 8b std Y+19, r18 ; 0x13
- 1260: 0e 94 7c 0b call 0x16f8 ; 0x16f8 <strnlen>
- 1264: 8c 01 movw r16, r24
- 1266: 2b 89 ldd r18, Y+19 ; 0x13
- 1268: 2f 77 andi r18, 0x7F ; 127
- 126a: 15 c0 rjmp .+42 ; 0x1296 <__stack+0x197>
- 126c: 56 01 movw r10, r12
- 126e: f2 e0 ldi r31, 0x02 ; 2
- 1270: af 0e add r10, r31
- 1272: b1 1c adc r11, r1
- 1274: f6 01 movw r30, r12
- 1276: c0 80 ld r12, Z
- 1278: d1 80 ldd r13, Z+1 ; 0x01
- 127a: 26 ff sbrs r18, 6
- 127c: 03 c0 rjmp .+6 ; 0x1284 <__stack+0x185>
- 127e: 61 2f mov r22, r17
- 1280: 70 e0 ldi r23, 0x00 ; 0
- 1282: 02 c0 rjmp .+4 ; 0x1288 <__stack+0x189>
- 1284: 6f ef ldi r22, 0xFF ; 255
- 1286: 7f ef ldi r23, 0xFF ; 255
- 1288: c6 01 movw r24, r12
- 128a: 2b 8b std Y+19, r18 ; 0x13
- 128c: 0e 94 71 0b call 0x16e2 ; 0x16e2 <strnlen_P>
- 1290: 8c 01 movw r16, r24
- 1292: 2b 89 ldd r18, Y+19 ; 0x13
- 1294: 20 68 ori r18, 0x80 ; 128
- 1296: 72 2e mov r7, r18
- 1298: 23 fd sbrc r18, 3
- 129a: 1a c0 rjmp .+52 ; 0x12d0 <__stack+0x1d1>
- 129c: 85 2d mov r24, r5
- 129e: 90 e0 ldi r25, 0x00 ; 0
- 12a0: 08 17 cp r16, r24
- 12a2: 19 07 cpc r17, r25
- 12a4: a8 f4 brcc .+42 ; 0x12d0 <__stack+0x1d1>
- 12a6: b7 01 movw r22, r14
- 12a8: 80 e2 ldi r24, 0x20 ; 32
- 12aa: 90 e0 ldi r25, 0x00 ; 0
- 12ac: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 12b0: 5a 94 dec r5
- 12b2: f4 cf rjmp .-24 ; 0x129c <__stack+0x19d>
- 12b4: f6 01 movw r30, r12
- 12b6: 77 fc sbrc r7, 7
- 12b8: 85 91 lpm r24, Z+
- 12ba: 77 fe sbrs r7, 7
- 12bc: 81 91 ld r24, Z+
- 12be: 6f 01 movw r12, r30
- 12c0: b7 01 movw r22, r14
- 12c2: 90 e0 ldi r25, 0x00 ; 0
- 12c4: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 12c8: 51 10 cpse r5, r1
- 12ca: 5a 94 dec r5
- 12cc: 01 50 subi r16, 0x01 ; 1
- 12ce: 11 09 sbc r17, r1
- 12d0: 01 15 cp r16, r1
- 12d2: 11 05 cpc r17, r1
- 12d4: 79 f7 brne .-34 ; 0x12b4 <__stack+0x1b5>
- 12d6: e2 c0 rjmp .+452 ; 0x149c <__stack+0x39d>
- 12d8: 84 36 cpi r24, 0x64 ; 100
- 12da: 11 f0 breq .+4 ; 0x12e0 <__stack+0x1e1>
- 12dc: 89 36 cpi r24, 0x69 ; 105
- 12de: 51 f5 brne .+84 ; 0x1334 <__stack+0x235>
- 12e0: 56 01 movw r10, r12
- 12e2: 27 ff sbrs r18, 7
- 12e4: 09 c0 rjmp .+18 ; 0x12f8 <__stack+0x1f9>
- 12e6: f4 e0 ldi r31, 0x04 ; 4
- 12e8: af 0e add r10, r31
- 12ea: b1 1c adc r11, r1
- 12ec: f6 01 movw r30, r12
- 12ee: 60 81 ld r22, Z
- 12f0: 71 81 ldd r23, Z+1 ; 0x01
- 12f2: 82 81 ldd r24, Z+2 ; 0x02
- 12f4: 93 81 ldd r25, Z+3 ; 0x03
- 12f6: 0a c0 rjmp .+20 ; 0x130c <__stack+0x20d>
- 12f8: f2 e0 ldi r31, 0x02 ; 2
- 12fa: af 0e add r10, r31
- 12fc: b1 1c adc r11, r1
- 12fe: f6 01 movw r30, r12
- 1300: 60 81 ld r22, Z
- 1302: 71 81 ldd r23, Z+1 ; 0x01
- 1304: 88 27 eor r24, r24
- 1306: 77 fd sbrc r23, 7
- 1308: 80 95 com r24
- 130a: 98 2f mov r25, r24
- 130c: 02 2f mov r16, r18
- 130e: 0f 76 andi r16, 0x6F ; 111
- 1310: 97 ff sbrs r25, 7
- 1312: 08 c0 rjmp .+16 ; 0x1324 <__stack+0x225>
- 1314: 90 95 com r25
- 1316: 80 95 com r24
- 1318: 70 95 com r23
- 131a: 61 95 neg r22
- 131c: 7f 4f sbci r23, 0xFF ; 255
- 131e: 8f 4f sbci r24, 0xFF ; 255
- 1320: 9f 4f sbci r25, 0xFF ; 255
- 1322: 00 68 ori r16, 0x80 ; 128
- 1324: 2a e0 ldi r18, 0x0A ; 10
- 1326: 30 e0 ldi r19, 0x00 ; 0
- 1328: a4 01 movw r20, r8
- 132a: 0e 94 1a 0c call 0x1834 ; 0x1834 <__ultoa_invert>
- 132e: c8 2e mov r12, r24
- 1330: c8 18 sub r12, r8
- 1332: 3e c0 rjmp .+124 ; 0x13b0 <__stack+0x2b1>
- 1334: 02 2f mov r16, r18
- 1336: 85 37 cpi r24, 0x75 ; 117
- 1338: 21 f4 brne .+8 ; 0x1342 <__stack+0x243>
- 133a: 0f 7e andi r16, 0xEF ; 239
- 133c: 2a e0 ldi r18, 0x0A ; 10
- 133e: 30 e0 ldi r19, 0x00 ; 0
- 1340: 1d c0 rjmp .+58 ; 0x137c <__stack+0x27d>
- 1342: 09 7f andi r16, 0xF9 ; 249
- 1344: 8f 36 cpi r24, 0x6F ; 111
- 1346: 91 f0 breq .+36 ; 0x136c <__stack+0x26d>
- 1348: 18 f4 brcc .+6 ; 0x1350 <__stack+0x251>
- 134a: 88 35 cpi r24, 0x58 ; 88
- 134c: 59 f0 breq .+22 ; 0x1364 <__stack+0x265>
- 134e: b0 c0 rjmp .+352 ; 0x14b0 <__stack+0x3b1>
- 1350: 80 37 cpi r24, 0x70 ; 112
- 1352: 19 f0 breq .+6 ; 0x135a <__stack+0x25b>
- 1354: 88 37 cpi r24, 0x78 ; 120
- 1356: 11 f0 breq .+4 ; 0x135c <__stack+0x25d>
- 1358: ab c0 rjmp .+342 ; 0x14b0 <__stack+0x3b1>
- 135a: 00 61 ori r16, 0x10 ; 16
- 135c: 04 ff sbrs r16, 4
- 135e: 09 c0 rjmp .+18 ; 0x1372 <__stack+0x273>
- 1360: 04 60 ori r16, 0x04 ; 4
- 1362: 07 c0 rjmp .+14 ; 0x1372 <__stack+0x273>
- 1364: 24 ff sbrs r18, 4
- 1366: 08 c0 rjmp .+16 ; 0x1378 <__stack+0x279>
- 1368: 06 60 ori r16, 0x06 ; 6
- 136a: 06 c0 rjmp .+12 ; 0x1378 <__stack+0x279>
- 136c: 28 e0 ldi r18, 0x08 ; 8
- 136e: 30 e0 ldi r19, 0x00 ; 0
- 1370: 05 c0 rjmp .+10 ; 0x137c <__stack+0x27d>
- 1372: 20 e1 ldi r18, 0x10 ; 16
- 1374: 30 e0 ldi r19, 0x00 ; 0
- 1376: 02 c0 rjmp .+4 ; 0x137c <__stack+0x27d>
- 1378: 20 e1 ldi r18, 0x10 ; 16
- 137a: 32 e0 ldi r19, 0x02 ; 2
- 137c: 56 01 movw r10, r12
- 137e: 07 ff sbrs r16, 7
- 1380: 09 c0 rjmp .+18 ; 0x1394 <__stack+0x295>
- 1382: f4 e0 ldi r31, 0x04 ; 4
- 1384: af 0e add r10, r31
- 1386: b1 1c adc r11, r1
- 1388: f6 01 movw r30, r12
- 138a: 60 81 ld r22, Z
- 138c: 71 81 ldd r23, Z+1 ; 0x01
- 138e: 82 81 ldd r24, Z+2 ; 0x02
- 1390: 93 81 ldd r25, Z+3 ; 0x03
- 1392: 08 c0 rjmp .+16 ; 0x13a4 <__stack+0x2a5>
- 1394: f2 e0 ldi r31, 0x02 ; 2
- 1396: af 0e add r10, r31
- 1398: b1 1c adc r11, r1
- 139a: f6 01 movw r30, r12
- 139c: 60 81 ld r22, Z
- 139e: 71 81 ldd r23, Z+1 ; 0x01
- 13a0: 80 e0 ldi r24, 0x00 ; 0
- 13a2: 90 e0 ldi r25, 0x00 ; 0
- 13a4: a4 01 movw r20, r8
- 13a6: 0e 94 1a 0c call 0x1834 ; 0x1834 <__ultoa_invert>
- 13aa: c8 2e mov r12, r24
- 13ac: c8 18 sub r12, r8
- 13ae: 0f 77 andi r16, 0x7F ; 127
- 13b0: 06 ff sbrs r16, 6
- 13b2: 0b c0 rjmp .+22 ; 0x13ca <__stack+0x2cb>
- 13b4: 20 2f mov r18, r16
- 13b6: 2e 7f andi r18, 0xFE ; 254
- 13b8: c1 16 cp r12, r17
- 13ba: 50 f4 brcc .+20 ; 0x13d0 <__stack+0x2d1>
- 13bc: 04 ff sbrs r16, 4
- 13be: 0a c0 rjmp .+20 ; 0x13d4 <__stack+0x2d5>
- 13c0: 02 fd sbrc r16, 2
- 13c2: 08 c0 rjmp .+16 ; 0x13d4 <__stack+0x2d5>
- 13c4: 20 2f mov r18, r16
- 13c6: 2e 7e andi r18, 0xEE ; 238
- 13c8: 05 c0 rjmp .+10 ; 0x13d4 <__stack+0x2d5>
- 13ca: dc 2c mov r13, r12
- 13cc: 20 2f mov r18, r16
- 13ce: 03 c0 rjmp .+6 ; 0x13d6 <__stack+0x2d7>
- 13d0: dc 2c mov r13, r12
- 13d2: 01 c0 rjmp .+2 ; 0x13d6 <__stack+0x2d7>
- 13d4: d1 2e mov r13, r17
- 13d6: 24 ff sbrs r18, 4
- 13d8: 0d c0 rjmp .+26 ; 0x13f4 <__stack+0x2f5>
- 13da: fe 01 movw r30, r28
- 13dc: ec 0d add r30, r12
- 13de: f1 1d adc r31, r1
- 13e0: 80 81 ld r24, Z
- 13e2: 80 33 cpi r24, 0x30 ; 48
- 13e4: 11 f4 brne .+4 ; 0x13ea <__stack+0x2eb>
- 13e6: 29 7e andi r18, 0xE9 ; 233
- 13e8: 09 c0 rjmp .+18 ; 0x13fc <__stack+0x2fd>
- 13ea: 22 ff sbrs r18, 2
- 13ec: 06 c0 rjmp .+12 ; 0x13fa <__stack+0x2fb>
- 13ee: d3 94 inc r13
- 13f0: d3 94 inc r13
- 13f2: 04 c0 rjmp .+8 ; 0x13fc <__stack+0x2fd>
- 13f4: 82 2f mov r24, r18
- 13f6: 86 78 andi r24, 0x86 ; 134
- 13f8: 09 f0 breq .+2 ; 0x13fc <__stack+0x2fd>
- 13fa: d3 94 inc r13
- 13fc: 23 fd sbrc r18, 3
- 13fe: 13 c0 rjmp .+38 ; 0x1426 <__stack+0x327>
- 1400: 20 ff sbrs r18, 0
- 1402: 06 c0 rjmp .+12 ; 0x1410 <__stack+0x311>
- 1404: 1c 2d mov r17, r12
- 1406: d5 14 cp r13, r5
- 1408: 18 f4 brcc .+6 ; 0x1410 <__stack+0x311>
- 140a: 15 0d add r17, r5
- 140c: 1d 19 sub r17, r13
- 140e: d5 2c mov r13, r5
- 1410: d5 14 cp r13, r5
- 1412: 68 f4 brcc .+26 ; 0x142e <__stack+0x32f>
- 1414: b7 01 movw r22, r14
- 1416: 80 e2 ldi r24, 0x20 ; 32
- 1418: 90 e0 ldi r25, 0x00 ; 0
- 141a: 2b 8b std Y+19, r18 ; 0x13
- 141c: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 1420: d3 94 inc r13
- 1422: 2b 89 ldd r18, Y+19 ; 0x13
- 1424: f5 cf rjmp .-22 ; 0x1410 <__stack+0x311>
- 1426: d5 14 cp r13, r5
- 1428: 10 f4 brcc .+4 ; 0x142e <__stack+0x32f>
- 142a: 5d 18 sub r5, r13
- 142c: 01 c0 rjmp .+2 ; 0x1430 <__stack+0x331>
- 142e: 51 2c mov r5, r1
- 1430: 24 ff sbrs r18, 4
- 1432: 12 c0 rjmp .+36 ; 0x1458 <__stack+0x359>
- 1434: b7 01 movw r22, r14
- 1436: 80 e3 ldi r24, 0x30 ; 48
- 1438: 90 e0 ldi r25, 0x00 ; 0
- 143a: 2b 8b std Y+19, r18 ; 0x13
- 143c: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 1440: 2b 89 ldd r18, Y+19 ; 0x13
- 1442: 22 ff sbrs r18, 2
- 1444: 17 c0 rjmp .+46 ; 0x1474 <__stack+0x375>
- 1446: 21 ff sbrs r18, 1
- 1448: 03 c0 rjmp .+6 ; 0x1450 <__stack+0x351>
- 144a: 88 e5 ldi r24, 0x58 ; 88
- 144c: 90 e0 ldi r25, 0x00 ; 0
- 144e: 02 c0 rjmp .+4 ; 0x1454 <__stack+0x355>
- 1450: 88 e7 ldi r24, 0x78 ; 120
- 1452: 90 e0 ldi r25, 0x00 ; 0
- 1454: b7 01 movw r22, r14
- 1456: 0c c0 rjmp .+24 ; 0x1470 <__stack+0x371>
- 1458: 82 2f mov r24, r18
- 145a: 86 78 andi r24, 0x86 ; 134
- 145c: 59 f0 breq .+22 ; 0x1474 <__stack+0x375>
- 145e: 21 fd sbrc r18, 1
- 1460: 02 c0 rjmp .+4 ; 0x1466 <__stack+0x367>
- 1462: 80 e2 ldi r24, 0x20 ; 32
- 1464: 01 c0 rjmp .+2 ; 0x1468 <__stack+0x369>
- 1466: 8b e2 ldi r24, 0x2B ; 43
- 1468: 27 fd sbrc r18, 7
- 146a: 8d e2 ldi r24, 0x2D ; 45
- 146c: b7 01 movw r22, r14
- 146e: 90 e0 ldi r25, 0x00 ; 0
- 1470: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 1474: c1 16 cp r12, r17
- 1476: 38 f4 brcc .+14 ; 0x1486 <__stack+0x387>
- 1478: b7 01 movw r22, r14
- 147a: 80 e3 ldi r24, 0x30 ; 48
- 147c: 90 e0 ldi r25, 0x00 ; 0
- 147e: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 1482: 11 50 subi r17, 0x01 ; 1
- 1484: f7 cf rjmp .-18 ; 0x1474 <__stack+0x375>
- 1486: ca 94 dec r12
- 1488: f4 01 movw r30, r8
- 148a: ec 0d add r30, r12
- 148c: f1 1d adc r31, r1
- 148e: 80 81 ld r24, Z
- 1490: b7 01 movw r22, r14
- 1492: 90 e0 ldi r25, 0x00 ; 0
- 1494: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 1498: c1 10 cpse r12, r1
- 149a: f5 cf rjmp .-22 ; 0x1486 <__stack+0x387>
- 149c: 55 20 and r5, r5
- 149e: 09 f4 brne .+2 ; 0x14a2 <__stack+0x3a3>
- 14a0: c2 cc rjmp .-1660 ; 0xe26 <vfprintf+0x58>
- 14a2: b7 01 movw r22, r14
- 14a4: 80 e2 ldi r24, 0x20 ; 32
- 14a6: 90 e0 ldi r25, 0x00 ; 0
- 14a8: 0e 94 87 0b call 0x170e ; 0x170e <fputc>
- 14ac: 5a 94 dec r5
- 14ae: f6 cf rjmp .-20 ; 0x149c <__stack+0x39d>
- 14b0: f7 01 movw r30, r14
- 14b2: 86 81 ldd r24, Z+6 ; 0x06
- 14b4: 97 81 ldd r25, Z+7 ; 0x07
- 14b6: 02 c0 rjmp .+4 ; 0x14bc <__stack+0x3bd>
- 14b8: 8f ef ldi r24, 0xFF ; 255
- 14ba: 9f ef ldi r25, 0xFF ; 255
- 14bc: 63 96 adiw r28, 0x13 ; 19
- 14be: e2 e1 ldi r30, 0x12 ; 18
- 14c0: 0c 94 7e 0a jmp 0x14fc ; 0x14fc <__epilogue_restores__>
- 000014c4 <__prologue_saves__>:
- 14c4: 2f 92 push r2
- 14c6: 3f 92 push r3
- 14c8: 4f 92 push r4
- 14ca: 5f 92 push r5
- 14cc: 6f 92 push r6
- 14ce: 7f 92 push r7
- 14d0: 8f 92 push r8
- 14d2: 9f 92 push r9
- 14d4: af 92 push r10
- 14d6: bf 92 push r11
- 14d8: cf 92 push r12
- 14da: df 92 push r13
- 14dc: ef 92 push r14
- 14de: ff 92 push r15
- 14e0: 0f 93 push r16
- 14e2: 1f 93 push r17
- 14e4: cf 93 push r28
- 14e6: df 93 push r29
- 14e8: cd b7 in r28, 0x3d ; 61
- 14ea: de b7 in r29, 0x3e ; 62
- 14ec: ca 1b sub r28, r26
- 14ee: db 0b sbc r29, r27
- 14f0: 0f b6 in r0, 0x3f ; 63
- 14f2: f8 94 cli
- 14f4: de bf out 0x3e, r29 ; 62
- 14f6: 0f be out 0x3f, r0 ; 63
- 14f8: cd bf out 0x3d, r28 ; 61
- 14fa: 09 94 ijmp
- 000014fc <__epilogue_restores__>:
- 14fc: 2a 88 ldd r2, Y+18 ; 0x12
- 14fe: 39 88 ldd r3, Y+17 ; 0x11
- 1500: 48 88 ldd r4, Y+16 ; 0x10
- 1502: 5f 84 ldd r5, Y+15 ; 0x0f
- 1504: 6e 84 ldd r6, Y+14 ; 0x0e
- 1506: 7d 84 ldd r7, Y+13 ; 0x0d
- 1508: 8c 84 ldd r8, Y+12 ; 0x0c
- 150a: 9b 84 ldd r9, Y+11 ; 0x0b
- 150c: aa 84 ldd r10, Y+10 ; 0x0a
- 150e: b9 84 ldd r11, Y+9 ; 0x09
- 1510: c8 84 ldd r12, Y+8 ; 0x08
- 1512: df 80 ldd r13, Y+7 ; 0x07
- 1514: ee 80 ldd r14, Y+6 ; 0x06
- 1516: fd 80 ldd r15, Y+5 ; 0x05
- 1518: 0c 81 ldd r16, Y+4 ; 0x04
- 151a: 1b 81 ldd r17, Y+3 ; 0x03
- 151c: aa 81 ldd r26, Y+2 ; 0x02
- 151e: b9 81 ldd r27, Y+1 ; 0x01
- 1520: ce 0f add r28, r30
- 1522: d1 1d adc r29, r1
- 1524: 0f b6 in r0, 0x3f ; 63
- 1526: f8 94 cli
- 1528: de bf out 0x3e, r29 ; 62
- 152a: 0f be out 0x3f, r0 ; 63
- 152c: cd bf out 0x3d, r28 ; 61
- 152e: ed 01 movw r28, r26
- 1530: 08 95 ret
- 00001532 <__ftoa_engine>:
- 1532: 28 30 cpi r18, 0x08 ; 8
- 1534: 08 f0 brcs .+2 ; 0x1538 <__ftoa_engine+0x6>
- 1536: 27 e0 ldi r18, 0x07 ; 7
- 1538: 33 27 eor r19, r19
- 153a: da 01 movw r26, r20
- 153c: 99 0f add r25, r25
- 153e: 31 1d adc r19, r1
- 1540: 87 fd sbrc r24, 7
- 1542: 91 60 ori r25, 0x01 ; 1
- 1544: 00 96 adiw r24, 0x00 ; 0
- 1546: 61 05 cpc r22, r1
- 1548: 71 05 cpc r23, r1
- 154a: 39 f4 brne .+14 ; 0x155a <__ftoa_engine+0x28>
- 154c: 32 60 ori r19, 0x02 ; 2
- 154e: 2e 5f subi r18, 0xFE ; 254
- 1550: 3d 93 st X+, r19
- 1552: 30 e3 ldi r19, 0x30 ; 48
- 1554: 2a 95 dec r18
- 1556: e1 f7 brne .-8 ; 0x1550 <__ftoa_engine+0x1e>
- 1558: 08 95 ret
- 155a: 9f 3f cpi r25, 0xFF ; 255
- 155c: 30 f0 brcs .+12 ; 0x156a <__ftoa_engine+0x38>
- 155e: 80 38 cpi r24, 0x80 ; 128
- 1560: 71 05 cpc r23, r1
- 1562: 61 05 cpc r22, r1
- 1564: 09 f0 breq .+2 ; 0x1568 <__ftoa_engine+0x36>
- 1566: 3c 5f subi r19, 0xFC ; 252
- 1568: 3c 5f subi r19, 0xFC ; 252
- 156a: 3d 93 st X+, r19
- 156c: 91 30 cpi r25, 0x01 ; 1
- 156e: 08 f0 brcs .+2 ; 0x1572 <__ftoa_engine+0x40>
- 1570: 80 68 ori r24, 0x80 ; 128
- 1572: 91 1d adc r25, r1
- 1574: df 93 push r29
- 1576: cf 93 push r28
- 1578: 1f 93 push r17
- 157a: 0f 93 push r16
- 157c: ff 92 push r15
- 157e: ef 92 push r14
- 1580: 19 2f mov r17, r25
- 1582: 98 7f andi r25, 0xF8 ; 248
- 1584: 96 95 lsr r25
- 1586: e9 2f mov r30, r25
- 1588: 96 95 lsr r25
- 158a: 96 95 lsr r25
- 158c: e9 0f add r30, r25
- 158e: ff 27 eor r31, r31
- 1590: e2 52 subi r30, 0x22 ; 34
- 1592: ff 4f sbci r31, 0xFF ; 255
- 1594: 99 27 eor r25, r25
- 1596: 33 27 eor r19, r19
- 1598: ee 24 eor r14, r14
- 159a: ff 24 eor r15, r15
- 159c: a7 01 movw r20, r14
- 159e: e7 01 movw r28, r14
- 15a0: 05 90 lpm r0, Z+
- 15a2: 08 94 sec
- 15a4: 07 94 ror r0
- 15a6: 28 f4 brcc .+10 ; 0x15b2 <__ftoa_engine+0x80>
- 15a8: 36 0f add r19, r22
- 15aa: e7 1e adc r14, r23
- 15ac: f8 1e adc r15, r24
- 15ae: 49 1f adc r20, r25
- 15b0: 51 1d adc r21, r1
- 15b2: 66 0f add r22, r22
- 15b4: 77 1f adc r23, r23
- 15b6: 88 1f adc r24, r24
- 15b8: 99 1f adc r25, r25
- 15ba: 06 94 lsr r0
- 15bc: a1 f7 brne .-24 ; 0x15a6 <__ftoa_engine+0x74>
- 15be: 05 90 lpm r0, Z+
- 15c0: 07 94 ror r0
- 15c2: 28 f4 brcc .+10 ; 0x15ce <__ftoa_engine+0x9c>
- 15c4: e7 0e add r14, r23
- 15c6: f8 1e adc r15, r24
- 15c8: 49 1f adc r20, r25
- 15ca: 56 1f adc r21, r22
- 15cc: c1 1d adc r28, r1
- 15ce: 77 0f add r23, r23
- 15d0: 88 1f adc r24, r24
- 15d2: 99 1f adc r25, r25
- 15d4: 66 1f adc r22, r22
- 15d6: 06 94 lsr r0
- 15d8: a1 f7 brne .-24 ; 0x15c2 <__ftoa_engine+0x90>
- 15da: 05 90 lpm r0, Z+
- 15dc: 07 94 ror r0
- 15de: 28 f4 brcc .+10 ; 0x15ea <__ftoa_engine+0xb8>
- 15e0: f8 0e add r15, r24
- 15e2: 49 1f adc r20, r25
- 15e4: 56 1f adc r21, r22
- 15e6: c7 1f adc r28, r23
- 15e8: d1 1d adc r29, r1
- 15ea: 88 0f add r24, r24
- 15ec: 99 1f adc r25, r25
- 15ee: 66 1f adc r22, r22
- 15f0: 77 1f adc r23, r23
- 15f2: 06 94 lsr r0
- 15f4: a1 f7 brne .-24 ; 0x15de <__ftoa_engine+0xac>
- 15f6: 05 90 lpm r0, Z+
- 15f8: 07 94 ror r0
- 15fa: 20 f4 brcc .+8 ; 0x1604 <__ftoa_engine+0xd2>
- 15fc: 49 0f add r20, r25
- 15fe: 56 1f adc r21, r22
- 1600: c7 1f adc r28, r23
- 1602: d8 1f adc r29, r24
- 1604: 99 0f add r25, r25
- 1606: 66 1f adc r22, r22
- 1608: 77 1f adc r23, r23
- 160a: 88 1f adc r24, r24
- 160c: 06 94 lsr r0
- 160e: a9 f7 brne .-22 ; 0x15fa <__ftoa_engine+0xc8>
- 1610: 84 91 lpm r24, Z
- 1612: 10 95 com r17
- 1614: 17 70 andi r17, 0x07 ; 7
- 1616: 41 f0 breq .+16 ; 0x1628 <__ftoa_engine+0xf6>
- 1618: d6 95 lsr r29
- 161a: c7 95 ror r28
- 161c: 57 95 ror r21
- 161e: 47 95 ror r20
- 1620: f7 94 ror r15
- 1622: e7 94 ror r14
- 1624: 1a 95 dec r17
- 1626: c1 f7 brne .-16 ; 0x1618 <__ftoa_engine+0xe6>
- 1628: e4 e8 ldi r30, 0x84 ; 132
- 162a: f0 e0 ldi r31, 0x00 ; 0
- 162c: 68 94 set
- 162e: 15 90 lpm r1, Z+
- 1630: 15 91 lpm r17, Z+
- 1632: 35 91 lpm r19, Z+
- 1634: 65 91 lpm r22, Z+
- 1636: 95 91 lpm r25, Z+
- 1638: 05 90 lpm r0, Z+
- 163a: 7f e2 ldi r23, 0x2F ; 47
- 163c: 73 95 inc r23
- 163e: e1 18 sub r14, r1
- 1640: f1 0a sbc r15, r17
- 1642: 43 0b sbc r20, r19
- 1644: 56 0b sbc r21, r22
- 1646: c9 0b sbc r28, r25
- 1648: d0 09 sbc r29, r0
- 164a: c0 f7 brcc .-16 ; 0x163c <__ftoa_engine+0x10a>
- 164c: e1 0c add r14, r1
- 164e: f1 1e adc r15, r17
- 1650: 43 1f adc r20, r19
- 1652: 56 1f adc r21, r22
- 1654: c9 1f adc r28, r25
- 1656: d0 1d adc r29, r0
- 1658: 7e f4 brtc .+30 ; 0x1678 <__ftoa_engine+0x146>
- 165a: 70 33 cpi r23, 0x30 ; 48
- 165c: 11 f4 brne .+4 ; 0x1662 <__ftoa_engine+0x130>
- 165e: 8a 95 dec r24
- 1660: e6 cf rjmp .-52 ; 0x162e <__ftoa_engine+0xfc>
- 1662: e8 94 clt
- 1664: 01 50 subi r16, 0x01 ; 1
- 1666: 30 f0 brcs .+12 ; 0x1674 <__ftoa_engine+0x142>
- 1668: 08 0f add r16, r24
- 166a: 0a f4 brpl .+2 ; 0x166e <__ftoa_engine+0x13c>
- 166c: 00 27 eor r16, r16
- 166e: 02 17 cp r16, r18
- 1670: 08 f4 brcc .+2 ; 0x1674 <__ftoa_engine+0x142>
- 1672: 20 2f mov r18, r16
- 1674: 23 95 inc r18
- 1676: 02 2f mov r16, r18
- 1678: 7a 33 cpi r23, 0x3A ; 58
- 167a: 28 f0 brcs .+10 ; 0x1686 <__ftoa_engine+0x154>
- 167c: 79 e3 ldi r23, 0x39 ; 57
- 167e: 7d 93 st X+, r23
- 1680: 2a 95 dec r18
- 1682: e9 f7 brne .-6 ; 0x167e <__ftoa_engine+0x14c>
- 1684: 10 c0 rjmp .+32 ; 0x16a6 <__ftoa_engine+0x174>
- 1686: 7d 93 st X+, r23
- 1688: 2a 95 dec r18
- 168a: 89 f6 brne .-94 ; 0x162e <__ftoa_engine+0xfc>
- 168c: 06 94 lsr r0
- 168e: 97 95 ror r25
- 1690: 67 95 ror r22
- 1692: 37 95 ror r19
- 1694: 17 95 ror r17
- 1696: 17 94 ror r1
- 1698: e1 18 sub r14, r1
- 169a: f1 0a sbc r15, r17
- 169c: 43 0b sbc r20, r19
- 169e: 56 0b sbc r21, r22
- 16a0: c9 0b sbc r28, r25
- 16a2: d0 09 sbc r29, r0
- 16a4: 98 f0 brcs .+38 ; 0x16cc <__ftoa_engine+0x19a>
- 16a6: 23 95 inc r18
- 16a8: 7e 91 ld r23, -X
- 16aa: 73 95 inc r23
- 16ac: 7a 33 cpi r23, 0x3A ; 58
- 16ae: 08 f0 brcs .+2 ; 0x16b2 <__ftoa_engine+0x180>
- 16b0: 70 e3 ldi r23, 0x30 ; 48
- 16b2: 7c 93 st X, r23
- 16b4: 20 13 cpse r18, r16
- 16b6: b8 f7 brcc .-18 ; 0x16a6 <__ftoa_engine+0x174>
- 16b8: 7e 91 ld r23, -X
- 16ba: 70 61 ori r23, 0x10 ; 16
- 16bc: 7d 93 st X+, r23
- 16be: 30 f0 brcs .+12 ; 0x16cc <__ftoa_engine+0x19a>
- 16c0: 83 95 inc r24
- 16c2: 71 e3 ldi r23, 0x31 ; 49
- 16c4: 7d 93 st X+, r23
- 16c6: 70 e3 ldi r23, 0x30 ; 48
- 16c8: 2a 95 dec r18
- 16ca: e1 f7 brne .-8 ; 0x16c4 <__ftoa_engine+0x192>
- 16cc: 11 24 eor r1, r1
- 16ce: ef 90 pop r14
- 16d0: ff 90 pop r15
- 16d2: 0f 91 pop r16
- 16d4: 1f 91 pop r17
- 16d6: cf 91 pop r28
- 16d8: df 91 pop r29
- 16da: 99 27 eor r25, r25
- 16dc: 87 fd sbrc r24, 7
- 16de: 90 95 com r25
- 16e0: 08 95 ret
- 000016e2 <strnlen_P>:
- 16e2: fc 01 movw r30, r24
- 16e4: 05 90 lpm r0, Z+
- 16e6: 61 50 subi r22, 0x01 ; 1
- 16e8: 70 40 sbci r23, 0x00 ; 0
- 16ea: 01 10 cpse r0, r1
- 16ec: d8 f7 brcc .-10 ; 0x16e4 <strnlen_P+0x2>
- 16ee: 80 95 com r24
- 16f0: 90 95 com r25
- 16f2: 8e 0f add r24, r30
- 16f4: 9f 1f adc r25, r31
- 16f6: 08 95 ret
- 000016f8 <strnlen>:
- 16f8: fc 01 movw r30, r24
- 16fa: 61 50 subi r22, 0x01 ; 1
- 16fc: 70 40 sbci r23, 0x00 ; 0
- 16fe: 01 90 ld r0, Z+
- 1700: 01 10 cpse r0, r1
- 1702: d8 f7 brcc .-10 ; 0x16fa <strnlen+0x2>
- 1704: 80 95 com r24
- 1706: 90 95 com r25
- 1708: 8e 0f add r24, r30
- 170a: 9f 1f adc r25, r31
- 170c: 08 95 ret
- 0000170e <fputc>:
- 170e: 0f 93 push r16
- 1710: 1f 93 push r17
- 1712: cf 93 push r28
- 1714: df 93 push r29
- 1716: 18 2f mov r17, r24
- 1718: 09 2f mov r16, r25
- 171a: eb 01 movw r28, r22
- 171c: 8b 81 ldd r24, Y+3 ; 0x03
- 171e: 81 fd sbrc r24, 1
- 1720: 03 c0 rjmp .+6 ; 0x1728 <fputc+0x1a>
- 1722: 8f ef ldi r24, 0xFF ; 255
- 1724: 9f ef ldi r25, 0xFF ; 255
- 1726: 20 c0 rjmp .+64 ; 0x1768 <fputc+0x5a>
- 1728: 82 ff sbrs r24, 2
- 172a: 10 c0 rjmp .+32 ; 0x174c <fputc+0x3e>
- 172c: 4e 81 ldd r20, Y+6 ; 0x06
- 172e: 5f 81 ldd r21, Y+7 ; 0x07
- 1730: 2c 81 ldd r18, Y+4 ; 0x04
- 1732: 3d 81 ldd r19, Y+5 ; 0x05
- 1734: 42 17 cp r20, r18
- 1736: 53 07 cpc r21, r19
- 1738: 7c f4 brge .+30 ; 0x1758 <fputc+0x4a>
- 173a: e8 81 ld r30, Y
- 173c: f9 81 ldd r31, Y+1 ; 0x01
- 173e: 9f 01 movw r18, r30
- 1740: 2f 5f subi r18, 0xFF ; 255
- 1742: 3f 4f sbci r19, 0xFF ; 255
- 1744: 39 83 std Y+1, r19 ; 0x01
- 1746: 28 83 st Y, r18
- 1748: 10 83 st Z, r17
- 174a: 06 c0 rjmp .+12 ; 0x1758 <fputc+0x4a>
- 174c: e8 85 ldd r30, Y+8 ; 0x08
- 174e: f9 85 ldd r31, Y+9 ; 0x09
- 1750: 81 2f mov r24, r17
- 1752: 09 95 icall
- 1754: 89 2b or r24, r25
- 1756: 29 f7 brne .-54 ; 0x1722 <fputc+0x14>
- 1758: 2e 81 ldd r18, Y+6 ; 0x06
- 175a: 3f 81 ldd r19, Y+7 ; 0x07
- 175c: 2f 5f subi r18, 0xFF ; 255
- 175e: 3f 4f sbci r19, 0xFF ; 255
- 1760: 3f 83 std Y+7, r19 ; 0x07
- 1762: 2e 83 std Y+6, r18 ; 0x06
- 1764: 81 2f mov r24, r17
- 1766: 90 2f mov r25, r16
- 1768: df 91 pop r29
- 176a: cf 91 pop r28
- 176c: 1f 91 pop r17
- 176e: 0f 91 pop r16
- 1770: 08 95 ret
- 00001772 <fwrite>:
- 1772: a0 e0 ldi r26, 0x00 ; 0
- 1774: b0 e0 ldi r27, 0x00 ; 0
- 1776: ef eb ldi r30, 0xBF ; 191
- 1778: fb e0 ldi r31, 0x0B ; 11
- 177a: 0c 94 68 0a jmp 0x14d0 ; 0x14d0 <__prologue_saves__+0xc>
- 177e: 6b 01 movw r12, r22
- 1780: 4a 01 movw r8, r20
- 1782: 79 01 movw r14, r18
- 1784: d9 01 movw r26, r18
- 1786: 13 96 adiw r26, 0x03 ; 3
- 1788: 2c 91 ld r18, X
- 178a: 21 ff sbrs r18, 1
- 178c: 1d c0 rjmp .+58 ; 0x17c8 <fwrite+0x56>
- 178e: c0 e0 ldi r28, 0x00 ; 0
- 1790: d0 e0 ldi r29, 0x00 ; 0
- 1792: c8 15 cp r28, r8
- 1794: d9 05 cpc r29, r9
- 1796: d9 f0 breq .+54 ; 0x17ce <fwrite+0x5c>
- 1798: 8c 01 movw r16, r24
- 179a: 5c 01 movw r10, r24
- 179c: ac 0c add r10, r12
- 179e: bd 1c adc r11, r13
- 17a0: c8 01 movw r24, r16
- 17a2: 0a 15 cp r16, r10
- 17a4: 1b 05 cpc r17, r11
- 17a6: 71 f0 breq .+28 ; 0x17c4 <fwrite+0x52>
- 17a8: 0f 5f subi r16, 0xFF ; 255
- 17aa: 1f 4f sbci r17, 0xFF ; 255
- 17ac: d7 01 movw r26, r14
- 17ae: 18 96 adiw r26, 0x08 ; 8
- 17b0: ed 91 ld r30, X+
- 17b2: fc 91 ld r31, X
- 17b4: 19 97 sbiw r26, 0x09 ; 9
- 17b6: b7 01 movw r22, r14
- 17b8: dc 01 movw r26, r24
- 17ba: 8c 91 ld r24, X
- 17bc: 09 95 icall
- 17be: 89 2b or r24, r25
- 17c0: 79 f3 breq .-34 ; 0x17a0 <fwrite+0x2e>
- 17c2: 05 c0 rjmp .+10 ; 0x17ce <fwrite+0x5c>
- 17c4: 21 96 adiw r28, 0x01 ; 1
- 17c6: e5 cf rjmp .-54 ; 0x1792 <fwrite+0x20>
- 17c8: 80 e0 ldi r24, 0x00 ; 0
- 17ca: 90 e0 ldi r25, 0x00 ; 0
- 17cc: 01 c0 rjmp .+2 ; 0x17d0 <fwrite+0x5e>
- 17ce: ce 01 movw r24, r28
- 17d0: cd b7 in r28, 0x3d ; 61
- 17d2: de b7 in r29, 0x3e ; 62
- 17d4: ec e0 ldi r30, 0x0C ; 12
- 17d6: 0c 94 84 0a jmp 0x1508 ; 0x1508 <__epilogue_restores__+0xc>
- 000017da <puts>:
- 17da: 0f 93 push r16
- 17dc: 1f 93 push r17
- 17de: cf 93 push r28
- 17e0: df 93 push r29
- 17e2: e0 91 d6 01 lds r30, 0x01D6
- 17e6: f0 91 d7 01 lds r31, 0x01D7
- 17ea: 23 81 ldd r18, Z+3 ; 0x03
- 17ec: 21 ff sbrs r18, 1
- 17ee: 1b c0 rjmp .+54 ; 0x1826 <puts+0x4c>
- 17f0: ec 01 movw r28, r24
- 17f2: 00 e0 ldi r16, 0x00 ; 0
- 17f4: 10 e0 ldi r17, 0x00 ; 0
- 17f6: 89 91 ld r24, Y+
- 17f8: 60 91 d6 01 lds r22, 0x01D6
- 17fc: 70 91 d7 01 lds r23, 0x01D7
- 1800: db 01 movw r26, r22
- 1802: 18 96 adiw r26, 0x08 ; 8
- 1804: ed 91 ld r30, X+
- 1806: fc 91 ld r31, X
- 1808: 19 97 sbiw r26, 0x09 ; 9
- 180a: 88 23 and r24, r24
- 180c: 31 f0 breq .+12 ; 0x181a <puts+0x40>
- 180e: 09 95 icall
- 1810: 89 2b or r24, r25
- 1812: 89 f3 breq .-30 ; 0x17f6 <puts+0x1c>
- 1814: 0f ef ldi r16, 0xFF ; 255
- 1816: 1f ef ldi r17, 0xFF ; 255
- 1818: ee cf rjmp .-36 ; 0x17f6 <puts+0x1c>
- 181a: 8a e0 ldi r24, 0x0A ; 10
- 181c: 09 95 icall
- 181e: 89 2b or r24, r25
- 1820: 11 f4 brne .+4 ; 0x1826 <puts+0x4c>
- 1822: c8 01 movw r24, r16
- 1824: 02 c0 rjmp .+4 ; 0x182a <puts+0x50>
- 1826: 8f ef ldi r24, 0xFF ; 255
- 1828: 9f ef ldi r25, 0xFF ; 255
- 182a: df 91 pop r29
- 182c: cf 91 pop r28
- 182e: 1f 91 pop r17
- 1830: 0f 91 pop r16
- 1832: 08 95 ret
- 00001834 <__ultoa_invert>:
- 1834: fa 01 movw r30, r20
- 1836: aa 27 eor r26, r26
- 1838: 28 30 cpi r18, 0x08 ; 8
- 183a: 51 f1 breq .+84 ; 0x1890 <__ultoa_invert+0x5c>
- 183c: 20 31 cpi r18, 0x10 ; 16
- 183e: 81 f1 breq .+96 ; 0x18a0 <__ultoa_invert+0x6c>
- 1840: e8 94 clt
- 1842: 6f 93 push r22
- 1844: 6e 7f andi r22, 0xFE ; 254
- 1846: 6e 5f subi r22, 0xFE ; 254
- 1848: 7f 4f sbci r23, 0xFF ; 255
- 184a: 8f 4f sbci r24, 0xFF ; 255
- 184c: 9f 4f sbci r25, 0xFF ; 255
- 184e: af 4f sbci r26, 0xFF ; 255
- 1850: b1 e0 ldi r27, 0x01 ; 1
- 1852: 3e d0 rcall .+124 ; 0x18d0 <__ultoa_invert+0x9c>
- 1854: b4 e0 ldi r27, 0x04 ; 4
- 1856: 3c d0 rcall .+120 ; 0x18d0 <__ultoa_invert+0x9c>
- 1858: 67 0f add r22, r23
- 185a: 78 1f adc r23, r24
- 185c: 89 1f adc r24, r25
- 185e: 9a 1f adc r25, r26
- 1860: a1 1d adc r26, r1
- 1862: 68 0f add r22, r24
- 1864: 79 1f adc r23, r25
- 1866: 8a 1f adc r24, r26
- 1868: 91 1d adc r25, r1
- 186a: a1 1d adc r26, r1
- 186c: 6a 0f add r22, r26
- 186e: 71 1d adc r23, r1
- 1870: 81 1d adc r24, r1
- 1872: 91 1d adc r25, r1
- 1874: a1 1d adc r26, r1
- 1876: 20 d0 rcall .+64 ; 0x18b8 <__ultoa_invert+0x84>
- 1878: 09 f4 brne .+2 ; 0x187c <__ultoa_invert+0x48>
- 187a: 68 94 set
- 187c: 3f 91 pop r19
- 187e: 2a e0 ldi r18, 0x0A ; 10
- 1880: 26 9f mul r18, r22
- 1882: 11 24 eor r1, r1
- 1884: 30 19 sub r19, r0
- 1886: 30 5d subi r19, 0xD0 ; 208
- 1888: 31 93 st Z+, r19
- 188a: de f6 brtc .-74 ; 0x1842 <__ultoa_invert+0xe>
- 188c: cf 01 movw r24, r30
- 188e: 08 95 ret
- 1890: 46 2f mov r20, r22
- 1892: 47 70 andi r20, 0x07 ; 7
- 1894: 40 5d subi r20, 0xD0 ; 208
- 1896: 41 93 st Z+, r20
- 1898: b3 e0 ldi r27, 0x03 ; 3
- 189a: 0f d0 rcall .+30 ; 0x18ba <__ultoa_invert+0x86>
- 189c: c9 f7 brne .-14 ; 0x1890 <__ultoa_invert+0x5c>
- 189e: f6 cf rjmp .-20 ; 0x188c <__ultoa_invert+0x58>
- 18a0: 46 2f mov r20, r22
- 18a2: 4f 70 andi r20, 0x0F ; 15
- 18a4: 40 5d subi r20, 0xD0 ; 208
- 18a6: 4a 33 cpi r20, 0x3A ; 58
- 18a8: 18 f0 brcs .+6 ; 0x18b0 <__ultoa_invert+0x7c>
- 18aa: 49 5d subi r20, 0xD9 ; 217
- 18ac: 31 fd sbrc r19, 1
- 18ae: 40 52 subi r20, 0x20 ; 32
- 18b0: 41 93 st Z+, r20
- 18b2: 02 d0 rcall .+4 ; 0x18b8 <__ultoa_invert+0x84>
- 18b4: a9 f7 brne .-22 ; 0x18a0 <__ultoa_invert+0x6c>
- 18b6: ea cf rjmp .-44 ; 0x188c <__ultoa_invert+0x58>
- 18b8: b4 e0 ldi r27, 0x04 ; 4
- 18ba: a6 95 lsr r26
- 18bc: 97 95 ror r25
- 18be: 87 95 ror r24
- 18c0: 77 95 ror r23
- 18c2: 67 95 ror r22
- 18c4: ba 95 dec r27
- 18c6: c9 f7 brne .-14 ; 0x18ba <__ultoa_invert+0x86>
- 18c8: 00 97 sbiw r24, 0x00 ; 0
- 18ca: 61 05 cpc r22, r1
- 18cc: 71 05 cpc r23, r1
- 18ce: 08 95 ret
- 18d0: 9b 01 movw r18, r22
- 18d2: ac 01 movw r20, r24
- 18d4: 0a 2e mov r0, r26
- 18d6: 06 94 lsr r0
- 18d8: 57 95 ror r21
- 18da: 47 95 ror r20
- 18dc: 37 95 ror r19
- 18de: 27 95 ror r18
- 18e0: ba 95 dec r27
- 18e2: c9 f7 brne .-14 ; 0x18d6 <__ultoa_invert+0xa2>
- 18e4: 62 0f add r22, r18
- 18e6: 73 1f adc r23, r19
- 18e8: 84 1f adc r24, r20
- 18ea: 95 1f adc r25, r21
- 18ec: a0 1d adc r26, r0
- 18ee: 08 95 ret
- 000018f0 <_exit>:
- 18f0: f8 94 cli
- 000018f2 <__stop_program>:
- 18f2: ff cf rjmp .-2 ; 0x18f2 <__stop_program>
|