diff --git a/AVR Code/.vs/USB_BULK_TEST/v14/.atsuo b/AVR Code/.vs/USB_BULK_TEST/v14/.atsuo index ded6bb5f..6eab70d0 100644 Binary files a/AVR Code/.vs/USB_BULK_TEST/v14/.atsuo and b/AVR Code/.vs/USB_BULK_TEST/v14/.atsuo differ diff --git a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.elf b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.elf index e5695ecc..0e9b3c69 100644 Binary files a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.elf and b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.elf differ diff --git a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.hex b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.hex index ba2671f7..1515e38d 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.hex +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.hex @@ -4,7 +4,7 @@ :1000300030C100002EC100002CC100002AC1000008 :1000400028C1000026C1000024C1000022C1000018 :1000500020C100001EC100001CC100001AC1000028 -:1000600018C1000016C1000014C1000012C1000038 +:1000600040C7000016C1000014C1000012C100000A :1000700010C100000EC100000CC100000AC1000048 :1000800008C1000006C1000004C1000002C1000058 :1000900000C10000FEC00000FCC00000FAC000006B @@ -18,7 +18,7 @@ :10011000C0C00000BEC00000BCC00000BAC00000EB :10012000B8C00000B6C00000B4C00000B2C00000FB :10013000B0C00000AEC00000ACC00000AAC000000B -:10014000A8C00000A6C00000A4C0000041C6000076 +:10014000A8C00000A6C00000A4C000002AC600008D :10015000A0C000009EC000009CC000009AC000002B :1001600098C0000096C0000094C0000092C000003B :1001700090C000008EC000008CC000008AC000004B @@ -29,651 +29,650 @@ :1001C00068C0000066C0000064C0000062C000009B :1001D00060C000005EC000005CC000005AC00000AB :1001E00058C0000056C0000054C0000052C00000BB -:1001F00050C000000C9404130C94BE13930195019D -:10020000970199019B01A0019D019F01E709E9095F -:10021000250A650A6E0A730AC50ACA0A150A170A68 -:10022000190A1B0A1D0A1F0A210A230A550A570A1E -:10023000590A5B0A5D0A5F0A610A630A7F0A8A0A31 -:10024000940AA20AA40AA60AB00ABA0A420E450EE5 -:10025000480E4B0E4E0E510E540E11241FBECFEF02 -:10026000CDBFDFE2DEBF10E2A0E0B0E2EAE9F9E2F2 +:1001F00050C000000C94FD120C94B71393019501AC +:10020000970199019B01A0019D019F01E009E2096D +:100210001E0A5E0A670A6C0ABE0AC30A0E0A100AA0 +:10022000120A140A160A180A1A0A1C0A4E0A500A56 +:10023000520A540A560A580A5A0A5C0A780A830A69 +:100240008D0A9B0A9D0A9F0AA90AB30A3B0E3E0E1D +:10025000410E440E470E4A0E4D0E11241FBECFEF25 +:10026000CDBFDFE2DEBF10E2A0E0B0E2ECE8F9E2F1 :1002700002C005900D92A23BB107D9F72CE2A2EB88 :10028000B0E201C01D92A834B207E1F71CD00C9473 -:10029000CB14B6CEE0E8F6E08FE0808385E084837F +:10029000C414B6CEE0E8F6E08FE0808385E0848386 :1002A000089508958091B420882319F080E090E0AB :1002B00002C08EEE92E042E551E06EEE72E08A59A5 -:1002C000994D0EC7089587E08093A20078941BD6BD -:1002D000E8DFFDD7B9D0DCD060E080E078D064D032 -:1002E0008CE058D03AD5EBD502D6D4DF0000000020 +:1002C000994D07C7089587E08093A200789414D6CB +:1002D000E8DFF6D7BFD0E2D060E080E07ED06AD021 +:1002E0008CE05ED023D5D4D5EDD5D4DF000000005E :1002F00000000000000000000000000000000000FE :100300000000000000000000F1CF08950895E09182 :1003100000208E2F90E08830910590F4FC01E2508F -:10032000FF4F0C94BC1417D10BC093D109C032D22B -:1003300007C0EED205C082D303C06AD401C0DFD4A7 +:10032000FF4F0C94B5141DD10BC099D109C038D220 +:1003300007C0F4D205C060D303C053D401C0C8D4F1 :100340009091B42081E0911180E08093B4200895D1 :1003500081E08093B52042E551E06EEE72E086E6E2 -:1003600096E2BED681E008951092B520089581E00E +:1003600096E2B7D681E008951092B520089581E015 :10037000089581E00895E0E0F2E010A2982F9C71CA -:10038000936890A3881F8827881F880F81A312A2D3 -:1003900016A20895E0E0F2E010AA836880AB80E145 -:1003A00081AB12AA16AA0895E0E0F2E010A683E855 -:1003B00080A78FE281A712A616A60895AAECB1E045 -:1003C00092E09C93E82FF0E084911C920895CF93E3 -:1003D000DF93E0E7F0E091819D7F9183109200022E -:1003E000623031F1E0E0F2E09CE1918390E49283AD -:1003F000811102C080E401C080EC8093030261306F -:1004000011F083E001C082E0C0E0D2E08C8380E2A2 -:10041000D5DF8C8781E2D2DF8D87188E198E81E03F -:100420008883C2DF0EC080EC8093030283E0ECCFB0 -:10043000E0E0F2E09EE1918390E492838111F3CFBA -:10044000D9CFDF91CF910895CF93DF93E0E7F0E02C -:1004500082818B7F8283C0E2D3E08DE0888380E459 -:10046000898389E08A8383E3A9DF888782E3A6DF23 -:10047000898787E3A3DF8A8786E3A0DF8B87E0E2B3 -:10048000F6E08081836080831482DF91CF910895AC -:10049000E0E7F0E080818E7F808380E88093000138 -:1004A0000895E0E0F1E0108A80E4808B10A280A340 -:1004B00010AA80ABE0E4F1E0108280831092B420B7 -:1004C0001092B320089510920020EBDFE0E0F1E0FD -:1004D00016AA34E230AB11AA29E522AB82E083AB45 -:1004E000809102209091032084AB95AB86E694E244 -:1004F00080AF91AF12AE8BE384AF83E080933D0178 -:1005000010923E0190A9906890AB10924601E0E4F1 -:10051000F1E0308310924101209342018093430126 -:10052000209104203091052020934401309345010F -:1005300026E532E2209348013093490110924A01A6 -:1005400099E390934C0180934D0110924E0180816C -:10055000806880830895E0E0F1E0108A80E4808B79 -:1005600084E0808B118A81E9828B80E1838B87E72D -:1005700091E0848B958B84E2808F82E0818F128E54 -:100580004091B4202EEE32E0429FC001439F900D77 -:1005900011248A59994D848F4091B420429FC00103 -:1005A000439F900D11248A59994D958F168E8089FD -:1005B0008068808B089581E08093002072DFE0E006 -:1005C000F1E010AA80E480AB84E080AB11AA12AA0B -:1005D0008BE483AB14AA15AA16AA81E090E280AF3F -:1005E00091AF12AE80EA84AF88E080933D01109213 -:1005F0003E0180A9806A80AB85E58093A0081092B7 -:100600004601E0E4F1E084E280831092410189E553 -:100610008093420182E08093430180910220909177 -:100620000320809344019093450186E694E28093F1 -:1006300048019093490110924A018BE380934C0149 -:1006400083E080934D0110924E0180818068808309 -:100650000895E0E0F1E0108AA0E4A08B74E0708BD4 -:10066000118A61E9628B80E1838B47E751E0448B1B -:10067000558B84E2808F82E0818F128EB091B420FE -:100680008EEE92E0B89F9001B99F300D11242A5947 -:10069000394D248FB091B420B89F9001B99F300D8F -:1006A00011242A59394D358F168E20892068208BC8 -:1006B00010A2A0A370A311A262A32BE423A344A3BE -:1006C00055A320EA20A728E021A712A64091B42034 -:1006D000489F9001499F300D11242352384D24A783 -:1006E0004091B420489F9001499F300D1124C901C9 -:1006F0008352984D95A716A680A1806880A308957F -:10070000CF93C2E0C0930020CCDEE0E0F1E016AA77 -:1007100034E230AB11AA29E522AB83E083AB4091F0 -:1007200004205091052044AB55AB46E552E240AF62 -:1007300051AF12AE99E394AF80933D0110923E0108 -:1007400090A9906890AB10924601E0E4F1E030830C -:100750001092410120934201C09343012091022055 -:1007600030910320209344013093450126E634E282 -:10077000209348013093490110924A019BE39093E2 -:100780004C0180934D0110924E01808180688083DE -:10079000CF910895CF93E0E0F1E0108AB0E4B08B00 -:1007A000A4E0A08B118A51E9528B80E1838B67E72B -:1007B00071E0648B758B84E2808F42E0418F128EF2 -:1007C000C091B4208EEE92E0C89F9001C99F300D79 -:1007D00011242A59394D248FC091B420C89F90010B -:1007E000C99F300D11242A59394D358F168E208915 -:1007F0002068208B10A2B0A3A0A311A252A322E1D3 -:1008000023A364A375A324E320A741A712A64091C4 -:10081000B420489F9001499F300D11242352384D38 -:1008200024A74091B420489F9001499F300D112486 -:10083000C9018352984D95A716A680A1806880A310 -:10084000CF910895CF93C3E0C09300202ADEE0E06B -:10085000F1E010A280E480A384E080A311A212A2A0 -:100860008BE483A314A215A216A281E090E280A7D4 -:1008700091A712A680EA84A788E085A716A680A182 -:10088000806A80A385E58093A00816AA24E220ABA5 -:1008900011AA99E592AB82E083AB4091022050917E -:1008A000032044AB55AB46E654E240AF51AF12AE25 -:1008B0008BE384AFC0933D0110923E0180A9806814 -:1008C00080AB10924601E0E4F1E0208310924101F8 -:1008D00090934201C09343018091042090910520A0 -:1008E000809344019093450186E592E2809348010C -:1008F0009093490110924A0189E380934C01C0937F -:100900004D0110924E01808180688083CF910895BF -:10091000E0E0F1E0108A80E4808B84E0808B118A33 -:1009200081E9828B8BE4838B87E791E0848B958BC5 -:1009300080EA808F88E0818F128E4091B4202EEE65 -:1009400032E0429FC001439F900D11248A59994D76 -:10095000848F4091B420429FC001439F900D112489 -:100960008A59994D958F168E80898068808B08955D -:10097000CF93C4E0C093002094DDE0E0F1E010A24A -:1009800080E480A3C0A311A212A28BE483A314A2CB -:1009900015A216A281E090E280A791A712A680EA94 -:1009A00084A788E085A716A680A1806A80A385E534 -:1009B0008093A00816AA34E230AB11AA29E522AB35 -:1009C00083E083AB409104205091052044AB55ABAC -:1009D00046E552E240AF51AF12AE99E394AF809337 -:1009E0003D0110923E0190A9906890AB1092460193 -:1009F000E0E4F1E03083109241012093420192E063 -:100A000090934301209102203091032020934401D0 -:100A10003093450126E634E22093480130934901A2 -:100A200010924A019BE390934C0180934D011092E8 -:100A30004E01808180688083CF910895CF93E0E05C -:100A4000F1E0108AB0E4B08BA4E0A08B118A51E9E8 -:100A5000528B8BE4838B67E771E0648B758B80EA44 -:100A6000808F48E0418F128EC091B4208EEE92E0CC -:100A7000C89F9001C99F300D11242A59394D248FE8 -:100A8000C091B420C89F9001C99F300D11242A59EC -:100A9000394D358F168E20892068208B10AAB0AB77 -:100AA000A0AB11AA52AB2AE423AB64AB75AB23EC29 -:100AB00020AF41AF12AE4091B420489F9001499FB2 -:100AC000300D11242352384D24AF4091B420489F5B -:100AD0009001499F300D1124C9018352984D909384 -:100AE0003D0110923E0180A9806880ABCF910895AE -:100AF00085E080930020D5DCE0E0F1E016AA44E236 -:100B000040AB11AA39E532AB83E083AB609104209E -:100B10007091052064AB75AB66E572E260AF71AFB2 -:100B200012AE29E324AF80933D0110923E0190A9BB -:100B3000906890AB10924601E0E4F1E0408310929F -:100B40004101309342018093430140910420509130 -:100B50000520409344015093450146E656E24093F8 -:100B600048015093490110924A0120934C0180930F -:100B70004D0110924E01808180688083089586E047 -:100B8000809300208EDCE0E0F1E016AA34E230AB86 -:100B900011AA29E522AB83E083AB40910420509158 -:100BA000052044AB55AB46E552E240AF51AF12AE23 -:100BB00099E394AF80933D0110923E0190A9906813 -:100BC00090AB10924601E0E4F1E0308310924101D5 -:100BD0002093420192E090934301209102203091B2 -:100BE0000320209344013093450126E634E220930C -:100BF00048013093490110924A019BE390934C01C4 -:100C000080934D0110924E01808180688083089509 -:100C1000E0E0F1E0108A80E4808B84E0808B118A30 -:100C200081E9828B80E1838B2EEE32E0248B358B41 -:100C300084E2808F82E0818F128E4091B420429FA7 -:100C4000C001439F900D11248A59994D848F409182 -:100C5000B420429FC001439F900D11248A59994DA1 -:100C6000958F168E80898068808B089587E08093A9 -:100C7000002017DCE0E0F1E016AA34E230AB11AA64 -:100C800029E522AB83E083AB4091042050910520FD -:100C900044AB55AB46E552E240AF51AF12AE99E3DB -:100CA00094AF80933D0110923E0190A9906890AB63 -:100CB00010924601E0E4F1E030831092410120936C -:100CC000420192E090934301209102203091032051 -:100CD000209344013093450126E634E220934801F5 -:100CE0003093490110924A019BE390934C01809309 -:100CF0004D0110924E018081806880830895E0E06C -:100D0000F1E0108A80E4808B85E0808B118A81E994 -:100D1000828B80E1838B2EEE32E0248B358B84E254 -:100D2000808F82E0818F128E4091B420429FC0015B -:100D3000439F900D11248A59994D848F4091B4207E -:100D4000429FC001439F900D11248A59994D958F60 -:100D5000168E80898068808B0895E0E7F0E08381BB -:100D60008C7F838384818C7F848380818D7F80834B -:100D7000E0E8F1E080EC8283128688EC81831186C2 -:100D8000E0E0F8E034E0308323E02183148285ED55 -:100D900091E086A397A31682E0E4F8E030832183F4 -:100DA000148286A397A31682E0E6F6E08081806134 -:100DB0008083E0E4F9E083E18183148281E086832B -:100DC00028EB3BE026A337A310A611A68083089545 -:100DD0001F920F920FB60F9211242F933F934F93B0 -:100DE0005F938F939F93EF93FF93CF93DF931F9224 -:100DF000CDB7DEB780910020873031F4E0E0F2E03B -:100E000084A5898395A502C090912C028091B2207F -:100E1000891B209168093091690991E082300CF4B6 -:100E200090E09923C9F091E0223B3B4008F090E02C -:100E3000992391F0209168093091690989301CF457 -:100E400081E090E002C086E090E0820F931F8093E3 -:100E500078099093790923C0209168093091690934 -:100E600091E08F3F0CF090E09923C9F091E027309A -:100E7000310508F490E0992391F0209168093091B0 -:100E80006909883F1CF081E090E002C086E090E0B4 -:100E9000A901481B590B40937809509379090F9089 -:100EA000DF91CF91FF91EF919F918F915F914F9142 -:100EB0003F912F910F900FBE0F901F901895E0E774 -:100EC000F0E083818F7E8383E0E4F6E080818A6AAC -:100ED00080838FEF848388E5828BE0EAF8E084ECFE -:100EE000858383E08683178288E184830895E0E721 -:100EF000F0E08381877F838380E48093C00888E566 -:100F00008093550608950F931F93CF93DF9300D0DE -:100F100000D0CDB7DEB78FEF809370008093710063 -:100F200080937200809373008093740080937500A7 -:100F30008093760064E081E490E0A6D56CE170E0F7 -:100F400082E0A8D58A836DE170E082E0A3D5898331 -:100F500089819A81019621F480E493E289839A83BE -:100F600089819A818B839C83E0E6F0E082838C8187 -:100F700083839FB7F894E0E5F0E08081826080830E -:100F80009FBF818181FFFDCF9FB7F89400E510E0FE -:100F9000D80116968C911697897F16968C93169782 -:100FA000E0E6F0E080E885838BEB868316968C91F3 -:100FB0001697846016968C938081816080839FBF92 -:100FC00061E080E490E060D59FB7F894F8018081FB -:100FD0008E7F80839FBF2496CDBFDEBFDF91CF91F0 -:100FE0001F910F9108959FB7F894E82FF0E0E05912 -:100FF000FF4F60958081682360839FBF089586308E -:1010000011F060E001C068E18091510081FD26C0CF -:101010009FB7F894E0E5F0E08081826080839FBF15 -:10102000818181FFFDCF9FB7F894A0E5B0E01696CF -:101030008C911697897F16968C931697E0E6F0E0D0 -:1010400080E885838BEB868316968C911697846057 -:1010500016968C938081816080839FBF636084E457 -:1010600090E012D560E480E0BECF08958091B62074 -:10107000089528D1FC0183818093B620811102C09C -:1010800067C9089581E008958091B620813009F400 -:101090006BC908958091562488234CF4807680345F -:1010A000A9F480915724811113C063C908958076F3 -:1010B000803481F48091572481110EC080915C248A -:1010C00090915D24892B51F052C9089580E00895D4 -:1010D00080E0089580E0089580E0089580E008951C -:1010E0000F931F939B018A01AC0160E083E80E948B -:1010F000B8111F910F910895E091BB20F091BC2091 -:101100000190F081E02D228133812E0F3F1FFC01E1 -:101110004081E40FF11DE217F307B8F481818430B8 -:10112000B9F0861309C005C081818430A1F086130F -:1011300003C08E2F9F2F08958081E80FF11DE217C5 -:10114000F30790F380E090E0089580E090E0089548 -:1011500080E090E0089580E090E008958091582428 -:101160008F770C94E61008959091BE20992381F119 -:10117000E091BB20F091BC200190F081E02D9481A2 -:10118000891740F5E093B920F093BA20228133818A -:101190002E0F3F1FE217F307F8F49181943061F4AA -:1011A0009281981309C09381961306C0E093B920E9 -:1011B000F093BA2081E008959081E90FF11DE217C4 -:1011C000F30758F3E093B920F093BA2080E0089534 -:1011D00080E0089580E0089580E00895EF92FF9206 -:1011E0001F93CF93DF93C82F60E0BEDF182F8823B3 -:1011F00081F1A091BB20B091BC20EC2FF0E0EE0F6C -:10120000FF1F12968D919C911397E80FF91FE080B4 -:10121000F180D7011696ED91FC9117970995682FEB -:101220008C2FA2DF182F8823A1F0C091B920D09174 -:10123000BA2065E0CE0160DFEC01892B21F08A81C4 -:101240000E94BB12F6CFD7011296ED91FC91139735 -:101250000995812FDF91CF911F91FF90EF90089515 -:101260001F93CF93DF93182F7FDF882339F1C0912D -:10127000B920D091BA2065E0CE013EDFEC01892B88 -:1012800041F04C815D816B818A81ADD78111F3CFB3 -:1012900015C0A091BB20B091BC20E12FF0E0EE0F73 -:1012A000FF1F12968D919C911397E80FF91F0190E3 -:1012B000F081E02D0190F081E02D0995DF91CF9133 -:1012C0001F9108958091B9209091BA200895F9C690 -:1012D0000895CF938091BE208823C1F0E091BB2078 -:1012E000F091BC200190F081E02D8481882371F081 -:1012F000C0E08C2F73DFCF5FE091BB20F091BC206A -:101300000190F081E02D8481C81798F31092BE20DF -:101310001092C2201092C320CF910895CF93809154 -:10132000BE20882349F1A091BB20B091BC20ED9153 -:10133000FC91119784818823F9F0C0E0EC2FF0E054 -:10134000EE0FFF1F12968D919C911397E80FF91FD6 -:101350000190F081E02D0084F185E02D309709F0B7 -:101360000995CF5FA091BB20B091BC20ED91FC917D -:1013700011978481C81710F3CF9108950F931F938D -:10138000CF93DF93E6E5F4E2128613861486158682 -:1013900016861786808188233CF420915C24309146 -:1013A0005D24232B09F464C38076803409F002C1E4 -:1013B000E09157248E2F90E0FC01E05AF109E830CB -:1013C000F10508F0EEC0EA5FFE4F0C94BC1400007B -:1013D00053C3E0E0F8E01082C6E5D4E28A819B8145 -:1013E00086AB97AB8C818F7080836E817F8186E521 -:1013F00092E2F2D68E819F812091042030910520C7 -:101400008217930709F438C3809304209093052032 -:10141000E09100208E2F90E08830910508F0C3C045 -:10142000FC01E25FFE4F0C94BC144DD825C3C3D819 -:1014300023C366D921C306DA1FC39ADA1DC358DB5A -:101440001BC39DDB19C312DC17C3E0E4F8E0108274 -:10145000C6E5D4E26E817F81609302207093032001 -:101460008A819B8186AB97AB8C818F70808386E667 -:1014700094E2B2D68E819F81209104203091052084 -:101480008217930709F4F8C28093042090930520F3 -:10149000E09100208E2F90E08830910508F085C003 -:1014A000FC01EA5EFE4F0C94BC140DD8E5C283D853 -:1014B000E3C226D9E1C2C6D9DFC25ADADDC218DBDF -:1014C000DBC25DDBD9C2D2DBD7C2109268091092B1 -:1014D0006909809158248093B220CEC2809158240B -:1014E00080932406C9C2E0915824F0915924E83031 -:1014F000F10508F05CC0E25EFE4F0C94BC1460E0A5 -:1015000080E00E94E70180915A240E94BB010E9462 -:101510006302B2C260E080E00E94E70180915A2439 -:101520000E94BB0148D8A8C261E081E00E94E701A7 -:10153000C6E5D4E28C810E94BB018D810E94CA0164 -:10154000DFD89AC27FD998C213DA96C260E080E0F1 -:101550000E94E70180915A240E94BB01C9DA8CC223 -:1015600061E080E00E94E70180915A240E94BB0163 -:1015700006DB82C262E080E00E94E70180915A248B -:1015800080680E94BB0172DB77C2809158248093EF -:10159000840672C2E9E7F0E091E088EDF89484BF38 -:1015A000908380E005C081E003C081E001C080E05D -:1015B000811165C280915624982F907609F0E1C17F -:1015C00088230CF005C120915C2430915D24211505 -:1015D000310509F4D6C18F7109F0A3C09091572449 -:1015E000963079F0983009F492C091119AC0223067 -:1015F000310509F0C6C162E070E082EC90E2ECD502 -:101600003DC28091582490915924292F33272230AC -:101610003105A9F024F42130310541F0A9C123306E -:101620003105D9F12F30310551F1A2C1809110203F -:1016300090911120DC016C9170E0CED559C0E09101 -:101640001020F09111202189821708F09AC1992762 -:10165000880F991F880F991FE0911220F091132095 -:10166000E80FF91F80819181FC0162817381B4D5FB -:10167000E0915E24F0915F2482E0818339C0809103 -:10168000142090911520009709F47BC1DC0112967B -:101690006D917C911397A0D52BC09927813091052E -:1016A00071F038F0029709F06CC18AE890E228E105 -:1016B00009C064E070E08EEA90E28ED519C083EA3A -:1016C00090E229E0382FAAE5B0E2E82FF92F8191C6 -:1016D00090E08D939D938E2F831B8217C0F3622F12 -:1016E000660F6E5F6093582070E088E590E274D5D5 -:1016F000E6E5F4E286819781228533858217930798 -:1017000008F0BCC18093602490936124B7C121305C -:10171000310509F036C161E070E08EEB90E25CD5F6 -:10172000ADC18130E1F5909157249A30C1F5213057 -:10173000310509F026C18091BE20882309F421C11A -:10174000C0915A24D0915B240091BB201091BC2001 -:10175000D801ED91FC918481C81708F012C160E0B6 -:101760008C2F02DD882309F40CC1CE019927880F44 -:10177000991FD8011296ED91FC911397E80FF91F6C -:101780000190F081E02D86819781FC01099580937D -:10179000C02061E070E080EC90E21ED56FC1823025 -:1017A00009F0EFC0809157248111E4C02230310547 -:1017B00009F0E7C080915A248BD590E08093B72040 -:1017C0009093B82062E070E087EB90E205D556C1B7 -:1017D0008F7109F083C090915724933009F4CCC0E5 -:1017E00018F49130A1F07AC0953019F0993039F1A0 -:1017F00075C080915C2490915D24892B09F0C1C053 -:101800008EEA98E0809362249093632437C180919C -:101810005C2490915D24892B09F0B3C080915824F9 -:1018200090915924019709F0ACC08091C220909109 -:10183000C3208D7F8093C2209093C3201FC18091CD -:101840005C2490915D24892B09F09BC0C2D488232D -:1018500009F497C020915824309159243327E091FE -:101860001020F0911120818990E08217930708F4ED -:1018700088C02FDD80915824909159248093BE20F8 -:10188000882309F4FBC099278150904C880F991F39 -:10189000880F991FE0911220F0911320E80FF91F93 -:1018A000E093BB20F093BC200190F081E02D848177 -:1018B000882309F4E3C0C0E060E08C2FD1DC8823EA -:1018C00009F45FC0CF5FE091BB20F091BC20019094 -:1018D000F081E02D8481C81778F3D0C08130E1F425 -:1018E000909157249B30C1F480915C2490915D24A9 -:1018F000892B09F046C08091BE20882309F441C09D -:10190000E6E5F4E2C481D2818C2F68DC8823C9F13A -:101910006D2F8C2FA5DC33C0823099F58091572430 -:10192000813019F0833089F029C080915C24909136 -:101930005D24892B31F58091582490915924892B6D -:1019400001F580915A24DFD41AC080915C249091D3 -:101950005D24892BB1F48091582490915924892BCE -:1019600081F4C6E5D4E28C81BDD58C8120D607C038 -:1019700080E005C080E003C080E001C080E081110C -:101980007EC0809156248F71813071F58091BE2088 -:10199000882351F100915A2410915B24C091BB20FF -:1019A000D091BC20E881F98184810817E8F460E0D7 -:1019B000802FDADB8823C1F0F801FF27CF01880FE1 -:1019C000991FEA81FB81E80FF91FC081D181EE8167 -:1019D000FF810995682F802FC7DB882329F0EC81D0 -:1019E000FD81099581114BC0809156248F71823001 -:1019F00009F040C08091BE208823B1F1A091BB20A6 -:101A0000B091BC20ED91FC9111978481882371F1F4 -:101A1000C0E0EC2FF0E0EE0FFF1F12968D919C912D -:101A20001397E80FF91F00811181D8011696ED91E7 -:101A3000FC9117970995682F8C2F96DB8823F9F076 -:101A4000D8011496ED91FC9115970995811117C055 -:101A5000CF5FA091BB20B091BC20ED91FC9111977C -:101A60009481C917B0F20BC080E009C080E007C0C4 -:101A700080E005C080E003C081E001C081E0DF912B -:101A8000CF911F910F9108951BBEFC0128ED24BF3B -:101A9000608308954091CA01E62FF72F8093CA0111 -:101AA00084914093CA010895811122C090915422DB -:101AB0009923D9F09091432C911101C0FFCF2FB7FA -:101AC000F894E2E4FCE29181915091832FBF0DC024 -:101AD0009091432C9F3F09F4FFCF2FB7F894E2E495 -:101AE000FCE291819F5F91832FBF809354220895E0 -:101AF00090915422992361F3F8CF0F93E8ECF4E02E -:101B000080818F7D808380818F7D8083E8E1F2E218 -:101B100002E0059310921A2210921B2200E2069313 -:101B200000E40693E0E1F2E200E2069300E40693AB -:101B3000E6E5F4E214861586168617861286138665 -:101B40001092FF210F9108950F9385E08093FF215C -:101B5000E9E1F2E204E00593E1E1F2E204E0059359 -:101B60000F9108950F9383E08093FF2110921A2222 -:101B700010921B22E8E1F2E202E006930F91089531 -:101B8000E0916224F0916324309709F0099508955B -:101B90000F93CF93DF938091FF21833019F4F0DF0F -:101BA000ACDF5EC08091FB219091FC21C09160244C -:101BB000D0916124C81BD90B71F52091FD21309182 -:101BC000FE21820F931F8093FD219093FE2120918F -:101BD0005C2430915D248217930721F08091C4200A -:101BE000882341F084E08093FF21E0E1F2E202E00B -:101BF000069336C0E0916424F0916524309799F003 -:101C00000995882381F01092FB211092FC21C0914C -:101C10006024D0916124C034D10528F01092C420F2 -:101C2000C0E4D0E003C081E08093C420E0E0F2E2B1 -:101C3000C28FD38F8091FB219091FC2120915E2453 -:101C400030915F24280F391F248F358FC80FD91F7B -:101C5000C093FB21D093FC21E8E1F2E202E006937D -:101C6000DF91CF910F910895FC018181E82FE770FA -:101C70008E2F90E0FC013197E730F105C0F4EA5D6A -:101C8000FE4F7AC680E190E0089580E290E00895EA -:101C900080E490E0089580E890E0089580E091E08D -:101CA000089580E092E008958FEF93E0089588E032 -:101CB00090E00895282F2F7030E0220F331F082E58 -:101CC000000C990B8827990F881F9927820F931F63 -:101CD00002979C01220F331F220F331F220F331F45 -:101CE000820F931F8B579E4D08950F93CF93809132 -:101CF000CC0480FF62C081E08093CC04E0E1F2E29A -:101D000000E80693E8E1F2E200E806938093CA0453 -:101D1000E0E1F2E200E106938091FF21882329F0BF -:101D20008350823008F42CDFE8DE809112229091FB -:101D30001322089709F043C088E0EBEBF1E2A6E537 -:101D4000B4E201900D928A95E1F7E8ECF4E080812D -:101D50008062808380818062808310DBC82F811144 -:101D600003C0F2DEC1E02CC08091562488236CF4BD -:101D70001092FD211092FE211092FB211092FC2165 -:101D800082E08093FF2104DF1BC080915C2490914E -:101D90005D24892B11F4E6DE13C01092FD21109210 -:101DA000FE211092FB211092FC2181E08093FF2103 -:101DB000E0E1F2E202E0069303C0C0E001C0C1E04E -:101DC0008C2FCF910F9108958F929F92AF92BF92D7 -:101DD000DF92EF92FF920F931F93CF93DF93D82E52 -:101DE00069DF8C01BD2CBB1CBB24BB1CCD2DCF706F -:101DF000D0E0CC0FDD1FCB0DD11DCE01880F991F78 -:101E0000880F991F880F991F9C01205F3D4D790114 -:101E1000C9012ADF4C01BB2009F470C0FE01EE0F9E -:101E2000FF1FEE0FFF1FEE0FFF1FE050FE4D268934 -:101E30003789D80115968D919C911697820F931F23 -:101E400015968D939C93169713962D913C9114970C -:101E50008217930709F43CC0281B390B2115B4E005 -:101E60003B0738F02FEF33E0C901B40171D5281BCF -:101E7000390BF801808181FF09C0C901B40168D51F -:101E800041E0892B09F040E0842F01C080E0D801B7 -:101E90009C9180FB91F99C93CC0FDD1FCC0FDD1F33 -:101EA000CC0FDD1FC050DE4D1E8A1F8A2A8B3B8B54 -:101EB00011962D913C91129715968D919C911697A4 -:101EC000820F931F8C8B9D8BF70102E00693CAC093 -:101ED000D8018C9181FFB3C08D7F8C93CC0FDD1F17 -:101EE000CC0FDD1FCC0FDD1FC050DE4D1E8A1F8AB8 -:101EF0001A8A1B8AF70102E00693B4C0FE01EE0FB6 -:101F0000FF1FEE0FFF1FEE0FFF1FE050FE4DA288D8 -:101F1000B388D8018C9182FF19C01196ED91FC9184 -:101F2000129715962D913C91169713968D919C9131 -:101F30001497B4010DD5B0E4DB9EB00111246B57AA -:101F40007F4DAC01CF01820F931F1CD5F801258175 -:101F500036812A0D3B1D2583368383819481821728 -:101F6000930768F485839683CC0FDD1FCC0FDD1FAC -:101F7000CC0FDD1FC050DE4D8E899F8960C0FE01F1 -:101F8000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D85 -:101F9000468957894A155B0509F051C0281739074A -:101FA00009F44DC0AC01421B530B9A01211554E0BA -:101FB000350750F02FEF33E0C901B401C9D4D9017E -:101FC000A81BB90BCD0107C0C901B401C1D4F901E7 -:101FD000E81BF90BCF01FE01EE0FFF1FEE0FFF1FF5 -:101FE000EE0FFF1FE050FE4D128A138A88159905E7 -:101FF00078F4D8018C9184608C93B0E4DB9EC001AE -:1020000011248B579F4D848B958B868A978A13C09A -:10201000F8014181528125813681240F351FCC0F73 -:10202000DD1FCC0FDD1FCC0FDD1FC050DE4D2C8B14 -:102030003D8B8E8B9F8BF70102E0069313C0D80176 -:102040008C9180FF0FC08E7F8C931796ED91FC9141 -:102050001897309739F015966D917C9116974D2D04 -:1020600080E00995DF91CF911F910F91FF90EF9044 -:10207000DF90BF90AF909F908F900895CF93CFB790 -:10208000F89481E011DDEAECF4E080E4808380E202 -:102090008083E1ECF4E0808181608083A9ECB4E08E -:1020A0008C9182608C93E8ECF4E080818064808382 -:1020B0008C9181608C93808180688083CFBFCF9129 -:1020C0000895CF93DF93C0E6D0E0188280E30E94AA -:1020D000FF07E0ECF4E080818064808381E0888306 -:1020E000CFB7F89480E090E0FC01EE0FFF1FEE0FF9 -:1020F000FF1FEE0FFF1FE050FE4D118A0196883042 -:10210000910591F7E5E8F1E280818E7F8083EEE82A -:10211000F1E280818E7F8083E7E9F1E280818E7F2A -:102120008083E0EAF1E280818E7F8083E9EAF1E258 -:1021300080818E7F8083E2EBF1E280818E7F8083DD -:102140006AE170E082E0A6DC8F3F19F08093FA0428 -:1021500003C08FE18093FA046BE170E082E09ADCC7 -:102160008F3F19F08093FB0403C08FE18093FB0441 -:10217000E0ECF4E0808183608083808180688083EC -:1021800080818061808380E192E286839783808171 -:10219000806280838FEF8093C504E8ECF4E0808157 -:1021A00082608083109254228091472C8F3F09F4E3 -:1021B000FFCF9FB7F894E2E4FCE285818F5F8583CF -:1021C0009FBF5CDFCFBFDF91CF9108958093C304A1 -:1021D00008958091C3040895E6E5F4E2808791872D -:1021E000628773870895282F2F7030E0220F331FE6 -:1021F000082E000C990B8827990F881F9927820FAA -:10220000931FFC01EE0FFF1FEE0FFF1FEE0FFF1FCE -:10221000E050FE4D2189207C09F058C06370613088 -:1022200011F018F404C020EC03C020E801C020E441 -:1022300040385105E9F050F440325105A9F04034DE -:102240005105A1F040315105D9F40CC0411532E0DF -:10225000530791F04F3F33E0530781F04115514050 -:1022600079F408C041E00DC042E00BC043E009C072 -:1022700044E007C045E005C046E003C047E001C0B8 -:1022800040E0FC01EE0FFF1FEE0FFF1FEE0FFF1FE0 -:10229000E050FE4D118ADC01AA0FBB1FAA0FBB1F25 -:1022A000AA0FBB1FA05FBD4D36E03C93242B218BB2 -:1022B000880F991F880F991F880F991FFC01E05004 -:1022C000FE4D81898062818B81E0089580E00895D0 -:1022D000E82FEF70F0E0EE0FFF1F082E000C990BB7 -:1022E0008827990F881F9927E80FF91FEE0FFF1F06 -:1022F000EE0FFF1FEE0FFF1FE050FE4D818982FBA6 -:10230000882780F90895282F2F7030E0A901440F05 -:10231000551F282F082E000C330B2227330F221FA6 -:102320003327240F351FF901EE0FFF1FEE0FFF1F9C -:10233000EE0FFF1FE050FE4D918992FF17C0220F54 -:10234000331F220F331F220F331FF901E050FE4DC0 -:1023500091899B7F918BAEDCFC01808180FF06C060 -:102360008E7F80830780F085E02D099581E00895B8 -:102370007F928F929F92AF92BF92CF92DF92EF9215 -:10238000FF920F931F93CF93DF93982E862E6A01AF -:10239000790190DC5C01792C771C7724771CC92D9E -:1023A000CF70D0E0CC0FDD1FC70DD11DFE01EE0FA9 -:1023B000FF1FEE0FFF1FEE0FFF1FE050FE4D818944 -:1023C000807C09F47DC0FE01EE0FFF1FEE0FFF1FA2 -:1023D000EE0FFF1FE050FE4D8189807C803C61F054 -:1023E000FE01EE0FFF1FEE0FFF1FEE0FFF1FE0506D -:1023F000FE4D818982FD66C08FB7F894F50190810A -:1024000090FF03C08FBF712C5EC0F5019081916079 -:1024100090838FBFC182D282E382F48215821682BA -:1024200007831087811006C091E0E114F10419F0D0 -:1024300090E001C091E0F501808190FB81F98B7FF4 -:102440008083772059F0CC0FDD1FCC0FDD1FCC0F20 -:10245000DD1FC050DE4D1E8A1F8A2DC0FE01EE0F0B -:10246000FF1FEE0FFF1FEE0FFF1FE050FE4D818993 -:10247000807C803CA1F4CE01880F991F880F991FA2 -:10248000880F991F805F9D4DEFDBBC01C70160D2B3 -:10249000892B29F0F50180818E7F808314C0CC0FB9 -:1024A000DD1FCC0FDD1FCC0FDD1FC050DE4D1A8AA3 -:1024B0001B8A1E8A1F8A892D87DC7724739403C0A8 -:1024C000712C01C0712C872DDF91CF911F910F913D -:1024D000FF90EF90DF90CF90BF90AF909F908F9044 -:1024E0007F900895FF920F931F93CF93DF93182F40 -:1024F000F82EFF1CFF24FF1CC82FCF70D0E0CC0F9C -:10250000DD1FCF0DD11DD6DBDC01FE01EE0FFF1F5D -:10251000EE0FFF1FEE0FFF1FE05FFD4D02E0059382 -:102520008C9180FF22C08E7F8C931796ED91FC9149 -:1025300018973097D1F0FF2059F0CC0FDD1FCC0F4A -:10254000DD1FCC0FDD1FC050DE4D6E897F890AC0B4 -:10255000CC0FDD1FCC0FDD1FCC0FDD1FC050DE4DBB -:102560006A897B89412F81E00995DF91CF911F9185 -:102570000F91FF900895CF93C82FB4DFEC2FEF7029 -:10258000F0E0EE0FFF1F8C2FCC0F990B8827990FCF -:10259000881F9927E80FF91FEE0FFF1FEE0FFF1F8F -:1025A000EE0FFF1FE050FE4D118ACF9108950F935B -:1025B000E82FEF70F0E0EE0FFF1F282F082E000C21 -:1025C000330B2227330F221F3327E20FF31FDF01C4 -:1025D000AA0FBB1FAA0FBB1FAA0FBB1FA050BE4D47 -:1025E00051969C915197946051969C93EE0FFF1FCA -:1025F000EE0FFF1FEE0FFF1FE05FFD4D01E00693A2 -:1026000071DF81E00F9108951F920F920FB60F9224 -:1026100011240F932F933F934F935F936F937F9367 -:102620008F939F93AF93BF93EF93FF938091CB04CE -:10263000882344F480E88093CA040E948E090E9493 -:1026400087018AC08091CB0482FF20C084E0809300 -:10265000CA048091182286FF7FC08091CC0481FD3E -:102660007BC043DB811178C08091FF21813011F460 -:1026700079DA72C0843009F06FC0E9E1F2E204E077 -:102680000593E1E1F2E204E0059366C08091CB049A -:1026900081FF5DC082E08093CA048091102286FF92 -:1026A0005BC08091CC0481FD57C01FDB811154C0F9 -:1026B0008091FF21823041F484E08093FF21E0E1AA -:1026C000F2E202E0069348C0833009F045C0E9E138 -:1026D000F2E204E00593E1E1F2E204E005933CC09C -:1026E00080E18093CA0481E0FDDE81E8FBDE82E0C8 -:1026F000F9DE82E8F7DE0E9469091092C304E0E087 -:10270000F2E2118A96E0908B83E4818B118E908F98 -:10271000818F8BEB91E2848B958BEFD91DC08091DB -:10272000CB0486FF08C080E48093CA0480E0BCD953 -:102730000E94850111C08091CB0485FF0DC080E20D -:102740008093CA0481E0B0D90E94860105C08091BF -:10275000CB0484FDC5CFE3CFFF91EF91BF91AF9143 -:102760009F918F917F916F915F914F913F912F91A9 -:102770000F910F900FBE0F901F9018951F920F9200 -:102780000FB60F9211240F931F932F933F934F93E4 -:102790005F936F937F938F939F93AF93BF93CF93E9 -:1027A000DF93EF93FF938091CC0481FD03C09DDA0A -:1027B0008111B9C082E08093CC048091C5048195D9 -:1027C000880FE0E1F2E2E81BF1092081318120511C -:1027D0003242369527953695279536952795822F3F -:1027E000869520FD02C090E001C090E8890FE82F97 -:1027F000EF70F0E0EE0FFF1F282F082E000C330BB8 -:102800002227330F221F3327E20FF31FDF01AA0F06 -:10281000BB1FAA0FBB1FAA0FBB1FA05FBD4D9C9182 -:1028200095FF81C0FD0100E20693811177C0809180 -:10283000FF21843019F4A4D960D975C00091122207 -:10284000109113228091602490916124C091FB210A -:10285000D091FC219E01200F311F8217930718F49D -:102860008C010C1B1D0B80915E2490915F24A801AC -:102870006BEB71E28C0F9D1F85D0C00FD11FC093F1 -:10288000FB21D093FC210034110569F48091FD21D6 -:102890009091FE218C0F9D1F20915C2430915D242E -:1028A0008217930780F0E6E5F4E2C287D3870684B7 -:1028B000F785E02D309729F00995811102C044D9A0 -:1028C00032C050D930C08091602490916124C817E3 -:1028D000D907F9F4E0916424F0916524309711F45C -:1028E00033D921C00995811102C02ED91CC0209175 -:1028F000FD213091FE218091FB219091FC21820FDE -:10290000931F8093FD219093FE211092FB21109242 -:10291000FC21E0E1F2E202E0069305C0803811F408 -:1029200037D901C051DAFF91EF91DF91CF91BF917B -:10293000AF919F918F917F916F915F914F913F9157 -:102940002F911F910F910F900FBE0F901F90189510 -:10295000AA1BBB1B51E107C0AA1FBB1FA617B707C5 -:1029600010F0A61BB70B881F991F5A95A9F78095E1 -:102970009095BC01CD010895EE0FFF1F0590F491D5 -:10298000E02D0994FB01DC0102C001900D92415041 -:0A2990005040D8F70895F894FFCFE7 -:10299A00FF5580008000390844084A0836080000BC -:1029AA004420162000001C201A20062009022700B5 -:1029BA0001010080FA0904000003FFFFFF00070578 -:1029CA00810240000007050202400000070583015A -:1029DA00FF0301001201000200000040EB0300A007 -:1029EA0000020102000100000003000000000000D4 -:1029FA0000000000000000000000000000000000CD -:102A0A0000000000000000000000000000000000BC -:102A1A0000000000000000000000555342476F62AA -:102A2A00696E6461722044756D6D792044657669BA -:102A3A006365005461706972546563680000040339 -:022A4A0009047D +:10038000936890A388231CF490E182E002C090E07F +:1003900080E0892BE0E0F2E081A312A216A208958A +:1003A000E0E0F2E010AA836880AB80E181AB12AAA2 +:1003B00016AA0895E0E0F2E010A683E880A78FE295 +:1003C00081A712A616A60895AAECB1E092E09C932C +:1003D000E82FF0E084911C920895CF93DF93E0E73B +:1003E000F0E091819D7F918310920002623031F1A3 +:1003F000E0E0F2E09CE1918390E49283811102C0FD +:1004000080E401C080EC80930302613011F083E04E +:1004100001C082E0C0E0D2E08C8380E2D5DF8C872F +:1004200081E2D2DF8D87188E198E81E08883C2DF4A +:100430000EC080EC8093030283E0ECCFE0E0F2E0BA +:100440009EE1918390E492838111F3CFD9CFDF9124 +:10045000CF910895CF93DF93E0E7F0E082818B7F27 +:100460008283C0E2D3E08DE0888380E4898389E0E1 +:100470008A8383E3A9DF888782E3A6DF898787E30E +:10048000A3DF8A8786E3A0DF8B87E0E2F6E0808146 +:10049000836080831482DF91CF910895E0E7F0E0DC +:1004A00080818E7F808380E8809300010895E0E062 +:1004B000F1E0108A80E4808B10A280A310AA80ABA8 +:1004C000E0E4F1E0108280831092B4201092B32017 +:1004D000089510920020EBDFE0E0F1E016AA34E28C +:1004E00030AB11AA29E522AB82E083AB80910220D8 +:1004F0009091032084AB95AB86E694E280AF91AFF8 +:1005000012AE8BE384AF83E080933D0110923E01F5 +:1005100090A9906890AB10924601E0E4F1E030833E +:1005200010924101209342018093430120910420C5 +:1005300030910520209344013093450126E532E2B5 +:10054000209348013093490110924A0199E3909316 +:100550004C0180934D0110924E0180818068808310 +:100560000895E0E0F1E0108A80E4808B84E0808BE5 +:10057000118A81E9828B80E1838B87E791E0848B0C +:10058000958B84E2808F82E0818F128E4091B4201F +:100590002EEE32E0429FC001439F900D11248A59F4 +:1005A000994D848F4091B420429FC001439F900D8C +:1005B00011248A59994D958F168E80898068808B79 +:1005C000089581E08093002072DFE0E0F1E010AA5E +:1005D00080E480AB84E080AB11AA12AA8BE483ABE9 +:1005E00014AA15AA16AA81E090E280AF91AF12AECC +:1005F00080EA84AF88E080933D0110923E0180A99B +:10060000806A80AB85E58093A00810924601E0E403 +:10061000F1E084E280831092410189E580934201F8 +:1006200082E0809343018091022090910320809387 +:1006300044019093450186E694E2809348019093AB +:10064000490110924A018BE380934C0183E080932F +:100650004D0110924E018081806880830895E0E012 +:10066000F1E0108AA0E4A08B74E0708B118A61E93C +:10067000628B80E1838B47E751E0448B558B84E2AA +:10068000808F82E0818F128EB091B4208EEE92E046 +:10069000B89F9001B99F300D11242A59394D248FEC +:1006A000B091B420B89F9001B99F300D11242A5900 +:1006B000394D358F168E20892068208B10A2A0A37B +:1006C00070A311A262A32BE423A344A355A320EAA1 +:1006D00020A728E021A712A64091B420489F9001AE +:1006E000499F300D11242352384D24A74091B42046 +:1006F000489F9001499F300D1124C9018352984DA4 +:1007000095A716A680A1806880A30895CF93C2E024 +:10071000C0930020CCDEE0E0F1E016AA34E230AB7A +:1007200011AA29E522AB83E083AB409104205091CC +:10073000052044AB55AB46E552E240AF51AF12AE97 +:1007400099E394AF80933D0110923E0190A9906887 +:1007500090AB10924601E0E4F1E030831092410149 +:1007600020934201C0934301209102203091032045 +:10077000209344013093450126E634E2209348015A +:100780003093490110924A019BE390934C0180936E +:100790004D0110924E01808180688083CF91089531 +:1007A000CF93E0E0F1E0108AB0E4B08BA4E0A08B3E +:1007B000118A51E9528B80E1838B67E771E0648B8A +:1007C000758B84E2808F42E0418F128EC091B420FD +:1007D0008EEE92E0C89F9001C99F300D11242A59D6 +:1007E000394D248FC091B420C89F9001C99F300D0E +:1007F00011242A59394D358F168E20892068208B77 +:1008000010A2B0A3A0A311A252A322E123A364A328 +:1008100075A324E320A741A712A64091B420489FC6 +:100820009001499F300D11242352384D24A7409147 +:10083000B420489F9001499F300D1124C901835273 +:10084000984D95A716A680A1806880A3CF910895A2 +:10085000CF93C3E0C09300202ADEE0E0F1E010A2D5 +:1008600080E480A384E080A311A212A28BE483A37E +:1008700014A215A216A281E090E280A791A712A669 +:1008800080EA84A788E085A716A680A1806A80A355 +:1008900085E58093A00816AA24E220AB11AA99E569 +:1008A00092AB82E083AB409102205091032044AB95 +:1008B00055AB46E654E240AF51AF12AE8BE384AF86 +:1008C000C0933D0110923E0180A9806880AB1092D8 +:1008D0004601E0E4F1E0208310924101909342014F +:1008E000C09343018091042090910520809344019E +:1008F0009093450186E592E28093480190934901E7 +:1009000010924A0189E380934C01C0934D011092EB +:100910004E01808180688083CF910895E0E0F1E00E +:10092000108A80E4808B84E0808B118A81E9828B3D +:100930008BE4838B87E791E0848B958B80EA808FB3 +:1009400088E0818F128E4091B4202EEE32E0429FDB +:10095000C001439F900D11248A59994D848F409175 +:10096000B420429FC001439F900D11248A59994D94 +:10097000958F168E80898068808B0895CF93C4E010 +:10098000C093002094DDE0E0F1E010A280E480A3B9 +:10099000C0A311A212A28BE483A314A215A216A2D3 +:1009A00081E090E280A791A712A680EA84A788E060 +:1009B00085A716A680A1806A80A316AA84E280ABD0 +:1009C00011AA89E582AB82E083AB809102209091ED +:1009D000032084AB95AB86E694E280AF91AF12AE74 +:1009E0008BE384AF83E080933D0110923E0180A9A8 +:1009F000806880ABCF910895CF93E0E0F1E0108A5A +:100A0000B0E4B08BA4E0A08B118A51E9528B8BE447 +:100A1000838B67E771E0648B758B80EA808F48E099 +:100A2000418F128EC091B4208EEE92E0C89F90014B +:100A3000C99F300D11242A59394D248FC091B420FB +:100A4000C89F9001C99F300D11242A59394D358F07 +:100A5000168E20892068208BE0E4F1E01082B083BC +:100A6000A08310924101509342012AE42093430154 +:100A7000609344017093450123EC20934801409317 +:100A8000490110924A014091B420489F9001499F2A +:100A9000300D11242352384D20934C014091B42045 +:100AA000489F9001499F300D1124C9018352984DF0 +:100AB00090934D0110924E01808180688083CF9188 +:100AC000089585E080930020F2DCE0E0F1E016AAD2 +:100AD00044E240AB11AA39E532AB83E083AB6091CD +:100AE00004207091052064AB75AB66E572E260AFDF +:100AF00071AF12AE29E324AF80933D0110923E0105 +:100B000090A9906890AB10924601E0E4F1E0408338 +:100B1000109241013093420180934301409104209F +:100B200050910520409344015093450146E656E21A +:100B3000409348015093490110924A0120934C017F +:100B400080934D0110924E018081806880830895CA +:100B500086E080930020ABDCE0E0F1E016AA34E20E +:100B600030AB11AA29E522AB83E083AB409104208E +:100B70005091052044AB55AB46E552E240AF51AF32 +:100B800012AE99E394AF80933D0110923E0190A97B +:100B9000906890AB10924601E0E4F1E0308310924F +:100BA00041012093420192E0909343012091022061 +:100BB00030910320209344013093450126E634E22E +:100BC000209348013093490110924A019BE390938E +:100BD0004C0180934D0110924E018081806880838A +:100BE0000895E0E0F1E0108A80E4808B84E0808B5F +:100BF000118A81E9828B80E1838B2EEE32E0248B97 +:100C0000358B84E2808F82E0818F128E4091B420F8 +:100C1000429FC001439F900D11248A59994D848FA2 +:100C20004091B420429FC001439F900D11248A59E6 +:100C3000994D958F168E80898068808B089587E006 +:100C40008093002034DCE0E0F1E016AA34E230AB1F +:100C500011AA29E522AB83E083AB40910420509197 +:100C6000052044AB55AB46E552E240AF51AF12AE62 +:100C700099E394AF80933D0110923E0190A9906852 +:100C800090AB10924601E0E4F1E030831092410114 +:100C90002093420192E090934301209102203091F1 +:100CA0000320209344013093450126E634E220934B +:100CB00048013093490110924A019BE390934C0103 +:100CC00080934D0110924E01808180688083089549 +:100CD000E0E0F1E0108A80E4808B85E0808B118A6F +:100CE00081E9828B80E1838B2EEE32E0248B358B81 +:100CF00084E2808F82E0818F128E4091B420429FE7 +:100D0000C001439F900D11248A59994D848F4091C1 +:100D1000B420429FC001439F900D11248A59994DE0 +:100D2000958F168E80898068808B0895E0E7F0E0CB +:100D300083818C7F838384818C7F848380818D7F7A +:100D40008083E0E8F1E080EC8283128688EC818386 +:100D50001186E0E0F8E034E0308323E02183148260 +:100D600085ED91E086A397A31682E0E4F8E0308356 +:100D70002183148286A397A31682E0E6F6E08081A1 +:100D800080618083E0E4F9E083E18183148281E083 +:100D9000868328EB3BE026A337A310A611A6808309 +:100DA00008951F920F920FB60F9211242F933F9325 +:100DB0004F935F938F939F93EF93FF93CF93DF9323 +:100DC0001F92CDB7DEB780910020873031F4E0E08C +:100DD000F2E084A5898395A502C090912C028091B0 +:100DE000B220891B209168093091690991E0823015 +:100DF0000CF490E09923C9F091E0223B3B4008F0CD +:100E000090E0992391F02091680930916909893027 +:100E10001CF481E090E002C086E090E0820F931F16 +:100E2000809378099093790923C0209168093091C3 +:100E3000690991E08F3F0CF090E09923C9F091E0AF +:100E40002730310508F490E0992391F0209168094A +:100E500030916909883F1CF081E090E002C086E093 +:100E600090E0A901481B590B4093780950937909E8 +:100E70000F90DF91CF91FF91EF919F918F915F91B3 +:100E80004F913F912F910F900FBE0F901F9018958B +:100E9000E0E7F0E083818F7E8383E0E4F6E0808109 +:100EA0008A6480838FEF848388E5828B80E28687E3 +:100EB000E0EAF8E084EC858383E08683178288E1AA +:100EC00084830895E0E7F0E08381877F8383E0EC0B +:100ED000F8E080E4808383E0818388E5809357068F +:100EE00008951F920F920FB60F92112400000F90D9 +:100EF0000FBE0F901F9018950F931F93CF93DF9302 +:100F000000D000D0CDB7DEB78FEF80937000809314 +:100F100071008093720080937300809374008093BB +:100F200075008093760064E081E490E0A6D56CE1E2 +:100F300070E082E0A8D58A836DE170E082E0A3D5FD +:100F4000898389819A81019621F480E493E28983DF +:100F50009A8389819A818B839C83E0E6F0E0828387 +:100F60008C8183839FB7F894E0E5F0E08081826014 +:100F700080839FBF818181FFFDCF9FB7F89400E5FB +:100F800010E0D80116968C911697897F16968C934F +:100F90001697E0E6F0E080E885838BEB8683169673 +:100FA0008C911697846016968C93808181608083E3 +:100FB0009FBF61E080E490E060D59FB7F894F801AE +:100FC00080818E7F80839FBF2496CDBFDEBFDF915F +:100FD000CF911F910F9108959FB7F894E82FF0E0FB +:100FE000E059FF4F60958081682360839FBF08951B +:100FF000863011F060E001C068E18091510081FD10 +:1010000026C09FB7F894E0E5F0E08081826080839D +:101010009FBF818181FFFDCF9FB7F894A0E5B0E02D +:1010200016968C911697897F16968C931697E0E604 +:10103000F0E080E885838BEB868316968C9116977B +:10104000846016968C938081816080839FBF6360EB +:1010500084E490E012D560E480E0BECF08958091F2 +:10106000B620089528D1FC0183818093B620811198 +:1010700002C06EC9089581E008958091B620813044 +:1010800009F472C908958091562488234CF480761F +:101090008034A9F480915724811113C06AC908953E +:1010A0008076803481F48091572481110EC0809124 +:1010B0005C2490915D24892B51F059C9089580E0FA +:1010C000089580E0089580E0089580E0089580E02C +:1010D00008950F931F939B018A01AC0160E083E8A0 +:1010E0000E94B1111F910F910895E091BB20F091E2 +:1010F000BC200190F081E02D228133812E0F3F1F13 +:10110000FC014081E40FF11DE217F307B8F481817F +:101110008430B9F0861309C005C081818430A1F004 +:10112000861303C08E2F9F2F08958081E80FF11D35 +:10113000E217F30790F380E090E0089580E090E0FC +:10114000089580E090E0089580E090E00895809117 +:1011500058248F770C94DF1008959091BE20992326 +:1011600081F1E091BB20F091BC200190F081E02D55 +:101170009481891740F5E093B920F093BA20228139 +:1011800033812E0F3F1FE217F307F8F4918194305B +:1011900061F49281981309C09381961306C0E0937D +:1011A000B920F093BA2081E008959081E90FF11DF4 +:1011B000E217F30758F3E093B920F093BA2080E0E8 +:1011C000089580E0089580E0089580E00895EF920A +:1011D000FF921F93CF93DF93C82F60E0BEDF182FDD +:1011E000882381F1A091BB20B091BC20EC2FF0E0CE +:1011F000EE0FFF1F12968D919C911397E80FF91F28 +:10120000E080F180D7011696ED91FC911797099532 +:10121000682F8C2FA2DF182F8823A1F0C091B9204E +:10122000D091BA2065E0CE0160DFEC01892B21F07E +:101230008A810E94B412F6CFD7011296ED91FC91EB +:1012400013970995812FDF91CF911F91FF90EF9018 +:1012500008951F93CF93DF93182F7FDF882339F1F1 +:10126000C091B920D091BA2065E0CE013EDFEC01FB +:10127000892B41F04C815D816B818A81ADD78111D1 +:10128000F3CF15C0A091BB20B091BC20E12FF0E0BE +:10129000EE0FFF1F12968D919C911397E80FF91F87 +:1012A0000190F081E02D0190F081E02D0995DF9112 +:1012B000CF911F9108958091B9209091BA200895FF +:1012C000F9C60895CF938091BE208823C1F0E091A4 +:1012D000BB20F091BC200190F081E02D8481882317 +:1012E00071F0C0E08C2F73DFCF5FE091BB20F091F5 +:1012F000BC200190F081E02D8481C81798F31092F2 +:10130000BE201092C2201092C320CF910895CF9397 +:101310008091BE20882349F1A091BB20B091BC20D0 +:10132000ED91FC91119784818823F9F0C0E0EC2FB6 +:10133000F0E0EE0FFF1F12968D919C911397E80F2E +:10134000F91F0190F081E02D0084F185E02D3097A8 +:1013500009F00995CF5FA091BB20B091BC20ED9121 +:10136000FC9111978481C81710F3CF9108950F93C2 +:101370001F93CF93DF93E6E5F4E21286138614867B +:10138000158616861786808188233CF420915C247C +:1013900030915D24232B09F464C38076803409F0F6 +:1013A00002C1E09157248E2F90E0FC01E05AF10930 +:1013B000E830F10508F0EEC0EA5FFE4F0C94B5147A +:1013C000000053C3E0E0F8E01082C6E5D4E28A8171 +:1013D0009B8186AB97AB8C818F7080836E817F8180 +:1013E00086E592E2F2D68E819F8120910420309191 +:1013F00005208217930709F438C380930420909343 +:101400000520E09100208E2F90E08830910508F0B3 +:10141000C3C0FC01E25FFE4F0C94B5145AD825C33B +:10142000D0D823C373D921C313DA1FC3A7DA1DC3CE +:1014300048DB1BC38DDB19C302DC17C3E0E4F8E013 +:101440001082C6E5D4E26E817F81609302207093A2 +:1014500003208A819B8186AB97AB8C818F708083C0 +:1014600086E694E2B2D68E819F812091042030914D +:1014700005208217930709F4F8C280930420909303 +:101480000520E09100208E2F90E08830910508F033 +:1014900085C0FC01EA5EFE4F0C94B5141AD8E5C273 +:1014A00090D8E3C233D9E1C2D3D9DFC267DADDC253 +:1014B00008DBDBC24DDBD9C2C2DBD7C210926809A0 +:1014C00010926909809158248093B220CEC28091F5 +:1014D000582480932406C9C2E0915824F0915924DD +:1014E000E830F10508F05CC0E25EFE4F0C94B514E4 +:1014F00060E080E00E94ED0180915A240E94BB01CF +:101500000E946902B2C260E080E00E94ED01809119 +:101510005A240E94BB0155D8A8C261E081E00E9414 +:10152000ED01C6E5D4E28C810E94BB018D810E9451 +:10153000D001ECD89AC28CD998C220DA96C260E069 +:1015400080E00E94ED0180915A240E94BB01B9DA2B +:101550008CC261E080E00E94ED0180915A240E94DB +:10156000BB01F6DA82C262E080E00E94ED01809168 +:101570005A2480680E94BB0162DB77C280915824A4 +:101580008093840672C2E9E7F0E091E088EDF89478 +:1015900084BF908380E005C081E003C081E001C08A +:1015A00080E0811165C280915624982F907609F0D1 +:1015B000E1C188230CF005C120915C2430915D24A9 +:1015C0002115310509F4D6C18F7109F0A3C090919E +:1015D0005724963079F0983009F492C091119AC04E +:1015E0002230310509F0C6C162E070E082EC90E281 +:1015F000ECD53DC28091582490915924292F33274E +:1016000022303105A9F024F42130310541F0A9C17F +:1016100023303105D9F12F30310551F1A2C180912C +:10162000102090911120DC016C9170E0CED559C052 +:10163000E0911020F09111202189821708F09AC1C1 +:101640009927880F991F880F991FE0911220F09118 +:101650001320E80FF91F80819181FC016281738161 +:10166000B4D5E0915E24F0915F2482E0818339C09B +:101670008091142090911520009709F47BC1DC0122 +:1016800012966D917C911397A0D52BC0992781302C +:10169000910571F038F0029709F06CC18AE890E288 +:1016A00028E109C064E070E08EEA90E28ED519C0AE +:1016B00083EA90E229E0382FAAE5B0E2E82FF92F7B +:1016C000819190E08D939D938E2F831B8217C0F3A1 +:1016D000622F660F6E5F6093582070E088E590E29D +:1016E00074D5E6E5F4E286819781228533858217F9 +:1016F000930708F0BCC18093602490936124B7C124 +:101700002130310509F036C161E070E08EEB90E2E6 +:101710005CD5ADC18130E1F5909157249A30C1F587 +:101720002130310509F026C18091BE20882309F4BB +:1017300021C1C0915A24D0915B240091BB2010910B +:10174000BC20D801ED91FC918481C81708F012C12A +:1017500060E08C2F02DD882309F40CC1CE019927AB +:10176000880F991FD8011296ED91FC911397E80FFD +:10177000F91F0190F081E02D86819781FC01099588 +:101780008093C02061E070E080EC90E21ED56FC1D4 +:10179000823009F0EFC0809157248111E4C02230DB +:1017A000310509F0E7C080915A248BD590E08093F1 +:1017B000B7209093B82062E070E087EB90E205D507 +:1017C00056C18F7109F083C090915724933009F46A +:1017D000CCC018F49130A1F07AC0953019F099304E +:1017E00039F175C080915C2490915D24892B09F0BA +:1017F000C1C087EA98E0809362249093632437C144 +:1018000080915C2490915D24892B09F0B3C0809174 +:10181000582490915924019709F0ACC08091C220BE +:101820009091C3208D7F8093C2209093C3201FC1CD +:1018300080915C2490915D24892B09F09BC0C2D4D7 +:10184000882309F497C020915824309159243327D4 +:10185000E0911020F0911120818990E08217930788 +:1018600008F488C02FDD80915824909159248093EA +:10187000BE20882309F4FBC099278150904C880F23 +:10188000991F880F991FE0911220F0911320E80F03 +:10189000F91FE093BB20F093BC200190F081E02D74 +:1018A0008481882309F4E3C0C0E060E08C2FD1DCA0 +:1018B000882309F45FC0CF5FE091BB20F091BC208A +:1018C0000190F081E02D8481C81778F3D0C0813079 +:1018D000E1F4909157249B30C1F480915C24909165 +:1018E0005D24892B09F046C08091BE20882309F42D +:1018F00041C0E6E5F4E2C481D2818C2F68DC882304 +:10190000C9F16D2F8C2FA5DC33C0823099F5809101 +:101910005724813019F0833089F029C080915C24EC +:1019200090915D24892B31F5809158249091592410 +:10193000892B01F580915A24DFD41AC080915C2450 +:1019400090915D24892BB1F4809158249091592471 +:10195000892B81F4C6E5D4E28C81BDD58C8120D65B +:1019600007C080E005C080E003C080E001C080E0E7 +:1019700081117EC0809156248F71813071F58091E4 +:10198000BE20882351F100915A2410915B24C0910C +:10199000BB20D091BC20E881F98184810817E8F44C +:1019A00060E0802FDADB8823C1F0F801FF27CF0148 +:1019B000880F991FEA81FB81E80FF91FC081D1814F +:1019C000EE81FF810995682F802FC7DB882329F0DE +:1019D000EC81FD81099581114BC0809156248F7156 +:1019E000823009F040C08091BE208823B1F1A091DF +:1019F000BB20B091BC20ED91FC911197848188238C +:101A000071F1C0E0EC2FF0E0EE0FFF1F12968D9108 +:101A10009C911397E80FF91F00811181D801169648 +:101A2000ED91FC9117970995682F8C2F96DB8823F1 +:101A3000F9F0D8011496ED91FC9115970995811153 +:101A400017C0CF5FA091BB20B091BC20ED91FC915D +:101A500011979481C917B0F20BC080E009C080E0F3 +:101A600007C080E005C080E003C081E001C081E0E4 +:101A7000DF91CF911F910F9108951BBEFC0128EDBE +:101A800024BF608308954091CA01E62FF72F809309 +:101A9000CA0184914093CA010895811122C0909196 +:101AA00054229923D9F09091432C911101C0FFCF7A +:101AB0002FB7F894E2E4FCE29181915091832FBF1B +:101AC0000DC09091432C9F3F09F4FFCF2FB7F8949E +:101AD000E2E4FCE291819F5F91832FBF80935422C7 +:101AE000089590915422992361F3F8CF0F93E8EC75 +:101AF000F4E080818F7D808380818F7D8083E8E129 +:101B0000F2E202E0059310921A2210921B2200E2E8 +:101B1000069300E40693E0E1F2E200E2069300E4BB +:101B20000693E6E5F4E21486158616861786128675 +:101B300013861092FF210F9108950F9385E08093F3 +:101B4000FF21E9E1F2E204E00593E1E1F2E204E0E1 +:101B500005930F9108950F9383E08093FF211092D6 +:101B60001A2210921B22E8E1F2E202E006930F91A2 +:101B70000895E0916224F0916324309709F009956B +:101B800008950F93CF93DF938091FF21833019F451 +:101B9000F0DFACDF5EC08091FB219091FC21C09111 +:101BA0006024D0916124C81BD90B71F52091FD21CF +:101BB0003091FE21820F931F8093FD219093FE218F +:101BC00020915C2430915D248217930721F080914D +:101BD000C420882341F084E08093FF21E0E1F2E219 +:101BE00002E0069336C0E0916424F09165243097BA +:101BF00099F00995882381F01092FB211092FC2125 +:101C0000C0916024D0916124C034D10528F0109295 +:101C1000C420C0E4D0E003C081E08093C420E0E0B1 +:101C2000F2E2C28FD38F8091FB219091FC21209111 +:101C30005E2430915F24280F391F248F358FC80F01 +:101C4000D91FC093FB21D093FC21E8E1F2E202E02E +:101C50000693DF91CF910F910895FC018181E82FC8 +:101C6000E7708E2F90E0FC013197E730F105C0F46A +:101C7000EA5DFE4F7AC680E190E0089580E290E050 +:101C8000089580E490E0089580E890E0089580E071 +:101C900091E0089580E092E008958FEF93E0089539 +:101CA00088E090E00895282F2F7030E0220F331F36 +:101CB000082E000C990B8827990F881F9927820FEF +:101CC000931F02979C01220F331F220F331F220FF5 +:101CD000331F820F931F8B579E4D08950F93CF9301 +:101CE0008091CC0480FF62C081E08093CC04E0E16D +:101CF000F2E200E80693E8E1F2E200E8069380935E +:101D0000CA04E0E1F2E200E106938091FF2188231A +:101D100029F08350823008F42CDFE8DE8091122213 +:101D200090911322089709F043C088E0EBEBF1E2B1 +:101D3000A6E5B4E201900D928A95E1F7E8ECF4E0B3 +:101D400080818062808380818062808310DBC82FE5 +:101D5000811103C0F2DEC1E02CC08091562488239B +:101D60006CF41092FD211092FE211092FB21109232 +:101D7000FC2182E08093FF2104DF1BC080915C2462 +:101D800090915D24892B11F4E6DE13C01092FD21A1 +:101D90001092FE211092FB211092FC2181E0809391 +:101DA000FF21E0E1F2E202E0069303C0C0E001C0DF +:101DB000C1E08C2FCF910F9108958F929F92AF9297 +:101DC000BF92DF92EF92FF920F931F93CF93DF9317 +:101DD000D82E69DF8C01BD2CBB1CBB24BB1CCD2DB8 +:101DE000CF70D0E0CC0FDD1FCB0DD11DCE01880F01 +:101DF000991F880F991F880F991F9C01205F3D4DE7 +:101E00007901C9012ADF4C01BB2009F470C0FE0131 +:101E1000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DF6 +:101E200026893789D80115968D919C911697820F36 +:101E3000931F15968D939C93169713962D913C9115 +:101E400014978217930709F43CC0281B390B2115FE +:101E5000B4E03B0738F02FEF33E0C901B40171D58E +:101E6000281B390BF801808181FF09C0C901B40129 +:101E700068D541E0892B09F040E0842F01C080E063 +:101E8000D8019C9180FB91F99C93CC0FDD1FCC0F66 +:101E9000DD1FCC0FDD1FC050DE4D1E8A1F8A2A8B2E +:101EA0003B8B11962D913C91129715968D919C919B +:101EB0001697820F931F8C8B9D8BF70102E0069380 +:101EC000CAC0D8018C9181FFB3C08D7F8C93CC0F99 +:101ED000DD1FCC0FDD1FCC0FDD1FC050DE4D1E8A75 +:101EE0001F8A1A8A1B8AF70102E00693B4C0FE011A +:101EF000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D16 +:101F0000A288B388D8018C9182FF19C01196ED91F7 +:101F1000FC91129715962D913C91169713968D91E1 +:101F20009C911497B4010DD5B0E4DB9EB00111244F +:101F30006B577F4DAC01CF01820F931F1CD5F80169 +:101F4000258136812A0D3B1D25833683838194812B +:101F50008217930768F485839683CC0FDD1FCC0F1F +:101F6000DD1FCC0FDD1FC050DE4D8E899F8960C004 +:101F7000FE01EE0FFF1FEE0FFF1FEE0FFF1FE050E1 +:101F8000FE4D468957894A155B0509F051C028174F +:101F9000390709F44DC0AC01421B530B9A012115BE +:101FA00054E0350750F02FEF33E0C901B401C9D434 +:101FB000D901A81BB90BCD0107C0C901B401C1D417 +:101FC000F901E81BF90BCF01FE01EE0FFF1FEE0F29 +:101FD000FF1FEE0FFF1FE050FE4D128A138A881577 +:101FE000990578F4D8018C9184608C93B0E4DB9EE1 +:101FF000C00111248B579F4D848B958B868A978ABD +:1020000013C0F8014181528125813681240F351F8B +:10201000CC0FDD1FCC0FDD1FCC0FDD1FC050DE4D00 +:102020002C8B3D8B8E8B9F8BF70102E0069313C0A8 +:10203000D8018C9180FF0FC08E7F8C931796ED9105 +:10204000FC911897309739F015966D917C91169701 +:102050004D2D80E00995DF91CF911F910F91FF9059 +:10206000EF90DF90BF90AF909F908F900895CF93A7 +:10207000CFB7F89481E011DDEAECF4E080E48083EE +:1020800080E28083E1ECF4E0808181608083A9ECD0 +:10209000B4E08C9182608C93E8ECF4E08081806401 +:1020A00080838C9181608C93808180688083CFBF96 +:1020B000CF910895CF93DF93C0E6D0E0188280E3FC +:1020C0000E94F807E0ECF4E080818064808381E086 +:1020D0008883CFB7F89480E090E0FC01EE0FFF1FFB +:1020E000EE0FFF1FEE0FFF1FE050FE4D118A01960D +:1020F0008830910591F7E5E8F1E280818E7F808359 +:10210000EEE8F1E280818E7F8083E7E9F1E2808171 +:102110008E7F8083E0EAF1E280818E7F8083E9EA2E +:10212000F1E280818E7F8083E2EBF1E280818E7F1D +:1021300080836AE170E082E0A6DC8F3F19F0809333 +:10214000FA0403C08FE18093FA046BE170E082E04F +:102150009ADC8F3F19F08093FB0403C08FE18093DA +:10216000FB04E0ECF4E08081836080838081806800 +:10217000808380818061808380E192E2868397837F +:102180008081806280838FEF8093C504E8ECF4E067 +:10219000808182608083109254228091472C8F3FEF +:1021A00009F4FFCF9FB7F894E2E4FCE285818F5FEA +:1021B00085839FBF5CDFCFBFDF91CF910895809370 +:1021C000C30408958091C3040895E6E5F4E280878E +:1021D0009187628773870895282F2F7030E0220F30 +:1021E000331F082E000C990B8827990F881F9927F9 +:1021F000820F931FFC01EE0FFF1FEE0FFF1FEE0F6C +:10220000FF1FE050FE4D2189207C09F058C063700B +:10221000613011F018F404C020EC03C020E801C0C4 +:1022200020E440385105E9F050F440325105A9F05E +:1022300040345105A1F040315105D9F40CC041158D +:1022400032E0530791F04F3F33E0530781F04115DF +:10225000514079F408C041E00DC042E00BC043E0BA +:1022600009C044E007C045E005C046E003C047E0C0 +:1022700001C040E0FC01EE0FFF1FEE0FFF1FEE0F4D +:10228000FF1FE050FE4D118ADC01AA0FBB1FAA0FF1 +:10229000BB1FAA0FBB1FA05FBD4D36E03C93242B94 +:1022A000218B880F991F880F991F880F991FFC0198 +:1022B000E050FE4D81898062818B81E0089580E04D +:1022C0000895E82FEF70F0E0EE0FFF1F082E000CCE +:1022D000990B8827990F881F9927E80FF91FEE0F90 +:1022E000FF1FEE0FFF1FEE0FFF1FE050FE4D818915 +:1022F00082FB882780F90895282F2F7030E0A901EC +:10230000440F551F282F082E000C330B2227330FA4 +:10231000221F3327240F351FF901EE0FFF1FEE0F89 +:10232000FF1FEE0FFF1FE050FE4D918992FF17C077 +:10233000220F331F220F331F220F331FF901E050EA +:10234000FE4D91899B7F918BAEDCFC01808180FFEB +:1023500006C08E7F80830780F085E02D099581E09F +:1023600008957F928F929F92AF92BF92CF92DF9209 +:10237000EF92FF920F931F93CF93DF93982E862EA9 +:102380006A01790190DC5C01792C771C7724771C39 +:10239000C92DCF70D0E0CC0FDD1FC70DD11DFE01C0 +:1023A000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D61 +:1023B0008189807C09F47DC0FE01EE0FFF1FEE0FC6 +:1023C000FF1FEE0FFF1FE050FE4D8189807C803C97 +:1023D00061F0FE01EE0FFF1FEE0FFF1FEE0FFF1F5C +:1023E000E050FE4D818982FD66C08FB7F894F501FB +:1023F000908190FF03C08FBF712C5EC0F50190816A +:10240000916090838FBFC182D282E382F482158271 +:10241000168207831087811006C091E0E114F10451 +:1024200019F090E001C091E0F501808190FB81F905 +:102430008B7F8083772059F0CC0FDD1FCC0FDD1F01 +:10244000CC0FDD1FC050DE4D1E8A1F8A2DC0FE013D +:10245000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DB0 +:102460008189807C803CA1F4CE01880F991F880F60 +:10247000991F880F991F805F9D4DEFDBBC01C7013D +:1024800060D2892B29F0F50180818E7F808314C072 +:10249000CC0FDD1FCC0FDD1FCC0FDD1FC050DE4D7C +:1024A0001A8A1B8A1E8A1F8A892D87DC77247394D7 +:1024B00003C0712C01C0712C872DDF91CF911F912A +:1024C0000F91FF90EF90DF90CF90BF90AF909F90D3 +:1024D0008F907F900895FF920F931F93CF93DF9378 +:1024E000182FF82EFF1CFF24FF1CC82FCF70D0E040 +:1024F000CC0FDD1FCF0DD11DD6DBDC01FE01EE0FB1 +:10250000FF1FEE0FFF1FEE0FFF1FE05FFD4D02E00C +:1025100005938C9180FF22C08E7F8C931796ED914E +:10252000FC9118973097D1F0FF2059F0CC0FDD1FA8 +:10253000CC0FDD1FCC0FDD1FC050DE4D6E897F89B3 +:102540000AC0CC0FDD1FCC0FDD1FCC0FDD1FC0502C +:10255000DE4D6A897B89412F81E00995DF91CF911A +:102560001F910F91FF900895CF93C82FB4DFEC2FE8 +:10257000EF70F0E0EE0FFF1F8C2FCC0F990B882728 +:10258000990F881F9927E80FF91FEE0FFF1FEE0F15 +:10259000FF1FEE0FFF1FE050FE4D118ACF910895EF +:1025A0000F93E82FEF70F0E0EE0FFF1F282F082E9B +:1025B000000C330B2227330F221F3327E20FF31FA8 +:1025C000DF01AA0FBB1FAA0FBB1FAA0FBB1FA05082 +:1025D000BE4D51969C915197946051969C93EE0FED +:1025E000FF1FEE0FFF1FEE0FFF1FE05FFD4D01E02D +:1025F000069371DF81E00F9108951F920F920FB63D +:102600000F9211240F932F933F934F935F936F93E8 +:102610007F938F939F93AF93BF93EF93FF9380919B +:10262000CB04882344F480E88093CA040E9487097D +:102630000E9487018AC08091CB0482FF20C084E081 +:102640008093CA048091182286FF7FC08091CC04B9 +:1026500081FD7BC043DB811178C08091FF218130F7 +:1026600011F479DA72C0843009F06FC0E9E1F2E266 +:1026700004E00593E1E1F2E204E0059366C0809195 +:10268000CB0481FF5DC082E08093CA048091102258 +:1026900086FF5BC08091CC0481FD57C01FDB811198 +:1026A00054C08091FF21823041F484E08093FF2167 +:1026B000E0E1F2E202E0069348C0833009F045C051 +:1026C000E9E1F2E204E00593E1E1F2E204E00593DE +:1026D0003CC080E18093CA0481E0FDDE81E8FBDE3E +:1026E00082E0F9DE82E8F7DE0E9462091092C304FC +:1026F000E0E0F2E2118A96E0908B83E4818B118E08 +:10270000908F818F8BEB91E2848B958BEFD91DC0DD +:102710008091CB0486FF08C080E48093CA0480E0E7 +:10272000BCD90E94850111C08091CB0485FF0DC0EA +:1027300080E28093CA0481E0B0D90E94860105C07E +:102740008091CB0484FDC5CFE3CFFF91EF91BF9182 +:10275000AF919F918F917F916F915F914F913F9139 +:102760002F910F910F900FBE0F901F9018951F92F1 +:102770000F920FB60F9211240F931F932F933F9335 +:102780004F935F936F937F938F939F93AF93BF9379 +:10279000CF93DF93EF93FF938091CC0481FD03C02F +:1027A0009DDA8111B9C082E08093CC048091C50488 +:1027B0008195880FE0E1F2E2E81BF1092081318187 +:1027C000205132423695279536952795369527958F +:1027D000822F869520FD02C090E001C090E8890F0D +:1027E000E82FEF70F0E0EE0FFF1F282F082E000CEF +:1027F000330B2227330F221F3327E20FF31FDF0192 +:10280000AA0FBB1FAA0FBB1FAA0FBB1FA05FBD4D06 +:102810009C9195FF81C0FD0100E20693811177C074 +:102820008091FF21843019F4A4D960D975C000913A +:102830001222109113228091602490916124C09102 +:10284000FB21D091FC219E01200F311F821793079D +:1028500018F48C010C1B1D0B80915E2490915F2459 +:10286000A8016BEB71E28C0F9D1F85D0C00FD11FAB +:10287000C093FB21D093FC210034110569F48091B1 +:10288000FD219091FE218C0F9D1F20915C243091A1 +:102890005D248217930780F0E6E5F4E2C287D387D0 +:1028A0000684F785E02D309729F00995811102C043 +:1028B00044D932C050D930C08091602490916124B5 +:1028C000C817D907F9F4E0916424F0916524309792 +:1028D00011F433D921C00995811102C02ED91CC031 +:1028E0002091FD213091FE218091FB219091FC21CE +:1028F000820F931F8093FD219093FE211092FB2164 +:102900001092FC21E0E1F2E202E0069305C080387B +:1029100011F437D901C051DAFF91EF91DF91CF91D6 +:10292000BF91AF919F918F917F916F915F914F91E7 +:102930003F912F911F910F910F900FBE0F901F90FD +:102940001895AA1BBB1B51E107C0AA1FBB1FA617E6 +:10295000B70710F0A61BB70B881F991F5A95A9F748 +:1029600080959095BC01CD010895EE0FFF1F059055 +:10297000F491E02D0994FB01DC0102C001900D925D +:0C29800041505040D8F70895F894FFCF64 +:10298C00FF558000800032083D0843082F080000E6 +:10299C004420162000001C201A20062009022700C3 +:1029AC0001010080FA0904000003FFFFFF00070586 +:1029BC008102400000070502024000000705830168 +:1029CC00FF0301001201000200000040EB0300A015 +:1029DC0000020102000100000003000000000000E2 +:1029EC0000000000000000000000000000000000DB +:1029FC0000000000000000000000000000000000CB +:102A0C0000000000000000000000555342476F62B8 +:102A1C00696E6461722044756D6D792044657669C8 +:102A2C006365005461706972546563680000040347 +:022A3C0009048B :00000001FF diff --git a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.lss b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.lss index 4b5b57a8..3185fa5d 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.lss +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.lss @@ -3,33 +3,33 @@ USB_BULK_TEST.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 0000299a 00000000 00000000 00000094 2**1 + 0 .text 0000298c 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 000000b2 00802000 0000299a 00002a30 2**2 + 1 .data 000000b2 00802000 0000298c 00002a20 2**2 CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000b96 008020b2 008020b2 00002ae2 2**2 + 2 .bss 00000b96 008020b2 008020b2 00002ad2 2**2 ALLOC - 3 .comment 00000030 00000000 00000000 00002ae2 2**0 + 3 .comment 00000030 00000000 00000000 00002ad2 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 00002b14 2**2 + 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 00002b04 2**2 CONTENTS, READONLY - 5 .debug_aranges 00000490 00000000 00000000 00002b58 2**3 + 5 .debug_aranges 00000498 00000000 00000000 00002b48 2**3 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 0000a23b 00000000 00000000 00002fe8 2**0 + 6 .debug_info 0000a277 00000000 00000000 00002fe0 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00001b8a 00000000 00000000 0000d223 2**0 + 7 .debug_abbrev 00001ba2 00000000 00000000 0000d257 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 000089ea 00000000 00000000 0000edad 2**0 + 8 .debug_line 000089d2 00000000 00000000 0000edf9 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 000009b4 00000000 00000000 00017798 2**2 + 9 .debug_frame 000009d0 00000000 00000000 000177cc 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 0002f58b 00000000 00000000 0001814c 2**0 + 10 .debug_str 0002f5e7 00000000 00000000 0001819c 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 000020bd 00000000 00000000 000476d7 2**0 + 11 .debug_loc 00002105 00000000 00000000 00047783 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 000003c0 00000000 00000000 00049798 2**3 + 12 .debug_ranges 000003c8 00000000 00000000 00049888 2**3 CONTENTS, READONLY, DEBUGGING - 13 .debug_macro 0000b8df 00000000 00000000 00049b58 2**0 + 13 .debug_macro 0000b8d9 00000000 00000000 00049c50 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -83,7 +83,7 @@ Disassembly of section .text: 5a: 00 00 nop 5c: 1a c1 rjmp .+564 ; 0x292 <__bad_interrupt> 5e: 00 00 nop - 60: 18 c1 rjmp .+560 ; 0x292 <__bad_interrupt> + 60: 40 c7 rjmp .+3712 ; 0xee2 <__vector_24> 62: 00 00 nop 64: 16 c1 rjmp .+556 ; 0x292 <__bad_interrupt> 66: 00 00 nop @@ -201,7 +201,7 @@ Disassembly of section .text: 146: 00 00 nop 148: a4 c0 rjmp .+328 ; 0x292 <__bad_interrupt> 14a: 00 00 nop - 14c: 41 c6 rjmp .+3202 ; 0xdd0 <__vector_83> + 14c: 2a c6 rjmp .+3156 ; 0xda2 <__vector_83> 14e: 00 00 nop 150: a0 c0 rjmp .+320 ; 0x292 <__bad_interrupt> 152: 00 00 nop @@ -285,8 +285,8 @@ Disassembly of section .text: 1ee: 00 00 nop 1f0: 50 c0 rjmp .+160 ; 0x292 <__bad_interrupt> 1f2: 00 00 nop - 1f4: 0c 94 04 13 jmp 0x2608 ; 0x2608 <__vector_125> - 1f8: 0c 94 be 13 jmp 0x277c ; 0x277c <__vector_126> + 1f4: 0c 94 fd 12 jmp 0x25fa ; 0x25fa <__vector_125> + 1f8: 0c 94 b7 13 jmp 0x276e ; 0x276e <__vector_126> 1fc: 93 01 movw r18, r6 1fe: 95 01 movw r18, r10 200: 97 01 movw r18, r14 @@ -295,45 +295,45 @@ Disassembly of section .text: 206: a0 01 movw r20, r0 208: 9d 01 movw r18, r26 20a: 9f 01 movw r18, r30 - 20c: e7 09 sbc r30, r7 - 20e: e9 09 sbc r30, r9 - 210: 25 0a sbc r2, r21 - 212: 65 0a sbc r6, r21 - 214: 6e 0a sbc r6, r30 - 216: 73 0a sbc r7, r19 - 218: c5 0a sbc r12, r21 - 21a: ca 0a sbc r12, r26 - 21c: 15 0a sbc r1, r21 - 21e: 17 0a sbc r1, r23 - 220: 19 0a sbc r1, r25 - 222: 1b 0a sbc r1, r27 - 224: 1d 0a sbc r1, r29 - 226: 1f 0a sbc r1, r31 - 228: 21 0a sbc r2, r17 - 22a: 23 0a sbc r2, r19 - 22c: 55 0a sbc r5, r21 - 22e: 57 0a sbc r5, r23 - 230: 59 0a sbc r5, r25 - 232: 5b 0a sbc r5, r27 - 234: 5d 0a sbc r5, r29 - 236: 5f 0a sbc r5, r31 - 238: 61 0a sbc r6, r17 - 23a: 63 0a sbc r6, r19 - 23c: 7f 0a sbc r7, r31 - 23e: 8a 0a sbc r8, r26 - 240: 94 0a sbc r9, r20 - 242: a2 0a sbc r10, r18 - 244: a4 0a sbc r10, r20 - 246: a6 0a sbc r10, r22 - 248: b0 0a sbc r11, r16 - 24a: ba 0a sbc r11, r26 - 24c: 42 0e add r4, r18 - 24e: 45 0e add r4, r21 - 250: 48 0e add r4, r24 - 252: 4b 0e add r4, r27 - 254: 4e 0e add r4, r30 - 256: 51 0e add r5, r17 - 258: 54 0e add r5, r20 + 20c: e0 09 sbc r30, r0 + 20e: e2 09 sbc r30, r2 + 210: 1e 0a sbc r1, r30 + 212: 5e 0a sbc r5, r30 + 214: 67 0a sbc r6, r23 + 216: 6c 0a sbc r6, r28 + 218: be 0a sbc r11, r30 + 21a: c3 0a sbc r12, r19 + 21c: 0e 0a sbc r0, r30 + 21e: 10 0a sbc r1, r16 + 220: 12 0a sbc r1, r18 + 222: 14 0a sbc r1, r20 + 224: 16 0a sbc r1, r22 + 226: 18 0a sbc r1, r24 + 228: 1a 0a sbc r1, r26 + 22a: 1c 0a sbc r1, r28 + 22c: 4e 0a sbc r4, r30 + 22e: 50 0a sbc r5, r16 + 230: 52 0a sbc r5, r18 + 232: 54 0a sbc r5, r20 + 234: 56 0a sbc r5, r22 + 236: 58 0a sbc r5, r24 + 238: 5a 0a sbc r5, r26 + 23a: 5c 0a sbc r5, r28 + 23c: 78 0a sbc r7, r24 + 23e: 83 0a sbc r8, r19 + 240: 8d 0a sbc r8, r29 + 242: 9b 0a sbc r9, r27 + 244: 9d 0a sbc r9, r29 + 246: 9f 0a sbc r9, r31 + 248: a9 0a sbc r10, r25 + 24a: b3 0a sbc r11, r19 + 24c: 3b 0e add r3, r27 + 24e: 3e 0e add r3, r30 + 250: 41 0e add r4, r17 + 252: 44 0e add r4, r20 + 254: 47 0e add r4, r23 + 256: 4a 0e add r4, r26 + 258: 4d 0e add r4, r29 0000025a <__ctors_end>: 25a: 11 24 eor r1, r1 @@ -347,7 +347,7 @@ Disassembly of section .text: 266: 10 e2 ldi r17, 0x20 ; 32 268: a0 e0 ldi r26, 0x00 ; 0 26a: b0 e2 ldi r27, 0x20 ; 32 - 26c: ea e9 ldi r30, 0x9A ; 154 + 26c: ec e8 ldi r30, 0x8C ; 140 26e: f9 e2 ldi r31, 0x29 ; 41 270: 02 c0 rjmp .+4 ; 0x276 <__do_copy_data+0x10> 272: 05 90 lpm r0, Z+ @@ -370,7 +370,7 @@ Disassembly of section .text: 288: b2 07 cpc r27, r18 28a: e1 f7 brne .-8 ; 0x284 <.do_clear_bss_loop> 28c: 1c d0 rcall .+56 ; 0x2c6
- 28e: 0c 94 cb 14 jmp 0x2996 ; 0x2996 <_exit> + 28e: 0c 94 c4 14 jmp 0x2988 ; 0x2988 <_exit> 00000292 <__bad_interrupt>: 292: b6 ce rjmp .-660 ; 0x0 <__vectors> @@ -421,7 +421,7 @@ void iso_callback(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_t 2bc: 72 e0 ldi r23, 0x02 ; 2 2be: 8a 59 subi r24, 0x9A ; 154 2c0: 99 4d sbci r25, 0xD9 ; 217 - 2c2: 0e c7 rjmp .+3612 ; 0x10e0 + 2c2: 07 c7 rjmp .+3598 ; 0x10d2 2c4: 08 95 ret 000002c6
: @@ -436,30 +436,30 @@ int main(void){ cpu_irq_enable(); 2cc: 78 94 sei sysclk_init(); - 2ce: 1b d6 rcall .+3126 ; 0xf06 + 2ce: 14 d6 rcall .+3112 ; 0xef8 board_init(); 2d0: e8 df rcall .-48 ; 0x2a2 udc_start(); - 2d2: fd d7 rcall .+4090 ; 0x12ce + 2d2: f6 d7 rcall .+4076 ; 0x12c0 tiny_dac_setup(); - 2d4: b9 d0 rcall .+370 ; 0x448 + 2d4: bf d0 rcall .+382 ; 0x454 tiny_dma_setup(); - 2d6: dc d0 rcall .+440 ; 0x490 + 2d6: e2 d0 rcall .+452 ; 0x49c tiny_adc_setup(0, 0); 2d8: 60 e0 ldi r22, 0x00 ; 0 2da: 80 e0 ldi r24, 0x00 ; 0 - 2dc: 78 d0 rcall .+240 ; 0x3ce + 2dc: 7e d0 rcall .+252 ; 0x3da tiny_adc_pid_setup(); - 2de: 64 d0 rcall .+200 ; 0x3a8 + 2de: 6a d0 rcall .+212 ; 0x3b4 tiny_adc_ch1setup(12); 2e0: 8c e0 ldi r24, 0x0C ; 12 - 2e2: 58 d0 rcall .+176 ; 0x394 + 2e2: 5e d0 rcall .+188 ; 0x3a0 tiny_timer_setup(); - 2e4: 3a d5 rcall .+2676 ; 0xd5a + 2e4: 23 d5 rcall .+2630 ; 0xd2c tiny_uart_setup(); - 2e6: eb d5 rcall .+3030 ; 0xebe + 2e6: d4 d5 rcall .+2984 ; 0xe90 tiny_spi_setup(); - 2e8: 02 d6 rcall .+3076 ; 0xeee + 2e8: ed d5 rcall .+3034 ; 0xec4 tiny_dig_setup(); 2ea: d4 df rcall .-88 ; 0x294 ... @@ -504,40 +504,40 @@ void main_sof_action(void) 31c: fc 01 movw r30, r24 31e: e2 50 subi r30, 0x02 ; 2 320: ff 4f sbci r31, 0xFF ; 255 - 322: 0c 94 bc 14 jmp 0x2978 ; 0x2978 <__tablejump2__> + 322: 0c 94 b5 14 jmp 0x296a ; 0x296a <__tablejump2__> case 0: tiny_dma_loop_mode_0(); - 326: 17 d1 rcall .+558 ; 0x556 + 326: 1d d1 rcall .+570 ; 0x562 break; 328: 0b c0 rjmp .+22 ; 0x340 case 1: tiny_dma_loop_mode_1(); - 32a: 93 d1 rcall .+806 ; 0x652 + 32a: 99 d1 rcall .+818 ; 0x65e break; 32c: 09 c0 rjmp .+18 ; 0x340 case 2: tiny_dma_loop_mode_2(); - 32e: 32 d2 rcall .+1124 ; 0x794 + 32e: 38 d2 rcall .+1136 ; 0x7a0 break; 330: 07 c0 rjmp .+14 ; 0x340 case 3: tiny_dma_loop_mode_3(); - 332: ee d2 rcall .+1500 ; 0x910 + 332: f4 d2 rcall .+1512 ; 0x91c break; 334: 05 c0 rjmp .+10 ; 0x340 case 4: tiny_dma_loop_mode_4(); - 336: 82 d3 rcall .+1796 ; 0xa3c + 336: 60 d3 rcall .+1728 ; 0x9f8 break; 338: 03 c0 rjmp .+6 ; 0x340 case 6: tiny_dma_loop_mode_6(); - 33a: 6a d4 rcall .+2260 ; 0xc10 + 33a: 53 d4 rcall .+2214 ; 0xbe2 break; 33c: 01 c0 rjmp .+2 ; 0x340 case 7: tiny_dma_loop_mode_7(); - 33e: df d4 rcall .+2494 ; 0xcfe + 33e: c8 d4 rcall .+2448 ; 0xcd0 break; default: break; @@ -566,7 +566,7 @@ bool main_vendor_enable(void) 35c: 72 e0 ldi r23, 0x02 ; 2 35e: 86 e6 ldi r24, 0x66 ; 102 360: 96 e2 ldi r25, 0x26 ; 38 - 362: be d6 rcall .+3452 ; 0x10e0 + 362: b7 d6 rcall .+3438 ; 0x10d2 return true; } 364: 81 e0 ldi r24, 0x01 ; 1 @@ -616,6576 +616,6568 @@ void tiny_adc_ch0setup(unsigned char gain_mask){ 382: 90 a3 std Z+32, r25 ; 0x20 #ifdef VERO ADCA.CH0.MUXCTRL = ADC_CH_MUXPOS_PIN0_gc | ((gain_mask&0x80) ? ADC_CH_MUXNEG_PIN6_gc : ADC_CH_MUXNEG_PIN4_gc); - 384: 88 1f adc r24, r24 - 386: 88 27 eor r24, r24 - 388: 88 1f adc r24, r24 - 38a: 88 0f add r24, r24 - 38c: 81 a3 std Z+33, r24 ; 0x21 #else ADCA.CH0.MUXCTRL = ((gain_mask&0x80) ? ADC_CH_MUXPOS_PIN2_gc : ADC_CH_MUXPOS_PIN0_gc) | ((gain_mask&0x80) ? ADC_CH_MUXNEG_PIN6_gc : ADC_CH_MUXNEG_PIN4_gc); + 384: 88 23 and r24, r24 + 386: 1c f4 brge .+6 ; 0x38e + 388: 90 e1 ldi r25, 0x10 ; 16 + 38a: 82 e0 ldi r24, 0x02 ; 2 + 38c: 02 c0 rjmp .+4 ; 0x392 + 38e: 90 e0 ldi r25, 0x00 ; 0 + 390: 80 e0 ldi r24, 0x00 ; 0 + 392: 89 2b or r24, r25 + 394: e0 e0 ldi r30, 0x00 ; 0 + 396: f2 e0 ldi r31, 0x02 ; 2 + 398: 81 a3 std Z+33, r24 ; 0x21 #endif ADCA.CH0.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 38e: 12 a2 std Z+34, r1 ; 0x22 + 39a: 12 a2 std Z+34, r1 ; 0x22 ADCA.CH0.SCAN = 0x00; //Disable scanning - 390: 16 a2 std Z+38, r1 ; 0x26 - 392: 08 95 ret + 39c: 16 a2 std Z+38, r1 ; 0x26 + 39e: 08 95 ret -00000394 : +000003a0 : } void tiny_adc_ch1setup(unsigned char gain_mask){ ADCA.CH2.CTRL = 0x00; //Reset - 394: e0 e0 ldi r30, 0x00 ; 0 - 396: f2 e0 ldi r31, 0x02 ; 2 - 398: 10 aa std Z+48, r1 ; 0x30 + 3a0: e0 e0 ldi r30, 0x00 ; 0 + 3a2: f2 e0 ldi r31, 0x02 ; 2 + 3a4: 10 aa std Z+48, r1 ; 0x30 ADCA.CH2.CTRL = ADC_CH_START_bm | gain_mask | ADC_CH_INPUTMODE_DIFFWGAIN_gc; - 39a: 83 68 ori r24, 0x83 ; 131 - 39c: 80 ab std Z+48, r24 ; 0x30 + 3a6: 83 68 ori r24, 0x83 ; 131 + 3a8: 80 ab std Z+48, r24 ; 0x30 ADCA.CH2.MUXCTRL = ADC_CH_MUXPOS_PIN2_gc | ADC_CH_MUXNEG_PIN4_gc; - 39e: 80 e1 ldi r24, 0x10 ; 16 - 3a0: 81 ab std Z+49, r24 ; 0x31 + 3aa: 80 e1 ldi r24, 0x10 ; 16 + 3ac: 81 ab std Z+49, r24 ; 0x31 ADCA.CH2.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 3a2: 12 aa std Z+50, r1 ; 0x32 + 3ae: 12 aa std Z+50, r1 ; 0x32 ADCA.CH2.SCAN = 0x00; //Disable scanning - 3a4: 16 aa std Z+54, r1 ; 0x36 - 3a6: 08 95 ret + 3b0: 16 aa std Z+54, r1 ; 0x36 + 3b2: 08 95 ret -000003a8 : +000003b4 : } void tiny_adc_pid_setup(void){ ADCA.CH1.CTRL = 0x00; //Reset - 3a8: e0 e0 ldi r30, 0x00 ; 0 - 3aa: f2 e0 ldi r31, 0x02 ; 2 - 3ac: 10 a6 std Z+40, r1 ; 0x28 + 3b4: e0 e0 ldi r30, 0x00 ; 0 + 3b6: f2 e0 ldi r31, 0x02 ; 2 + 3b8: 10 a6 std Z+40, r1 ; 0x28 ADCA.CH1.CTRL = ADC_CH_START_bm | ADC_CH_GAIN_1X_gc | ADC_CH_INPUTMODE_DIFFWGAIN_gc; - 3ae: 83 e8 ldi r24, 0x83 ; 131 - 3b0: 80 a7 std Z+40, r24 ; 0x28 + 3ba: 83 e8 ldi r24, 0x83 ; 131 + 3bc: 80 a7 std Z+40, r24 ; 0x28 ADCA.CH1.MUXCTRL = ADC_CH_MUXPOS_PIN5_gc | 0b00000111; - 3b2: 8f e2 ldi r24, 0x2F ; 47 - 3b4: 81 a7 std Z+41, r24 ; 0x29 + 3be: 8f e2 ldi r24, 0x2F ; 47 + 3c0: 81 a7 std Z+41, r24 ; 0x29 ADCA.CH1.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 3b6: 12 a6 std Z+42, r1 ; 0x2a + 3c2: 12 a6 std Z+42, r1 ; 0x2a ADCA.CH1.SCAN = 0x00; //Disable scanning - 3b8: 16 a6 std Z+46, r1 ; 0x2e - 3ba: 08 95 ret + 3c4: 16 a6 std Z+46, r1 ; 0x2e + 3c6: 08 95 ret -000003bc : +000003c8 : //FROM: http://www.avrfreaks.net/forum/xmega-production-signature-row uint8_t ReadCalibrationByte(uint8_t index){ uint8_t result; /* Load the NVM Command register to read the calibration row. */ NVM_CMD = NVM_CMD_READ_CALIB_ROW_gc; - 3bc: aa ec ldi r26, 0xCA ; 202 - 3be: b1 e0 ldi r27, 0x01 ; 1 - 3c0: 92 e0 ldi r25, 0x02 ; 2 - 3c2: 9c 93 st X, r25 + 3c8: aa ec ldi r26, 0xCA ; 202 + 3ca: b1 e0 ldi r27, 0x01 ; 1 + 3cc: 92 e0 ldi r25, 0x02 ; 2 + 3ce: 9c 93 st X, r25 result = pgm_read_byte(index); - 3c4: e8 2f mov r30, r24 - 3c6: f0 e0 ldi r31, 0x00 ; 0 - 3c8: 84 91 lpm r24, Z + 3d0: e8 2f mov r30, r24 + 3d2: f0 e0 ldi r31, 0x00 ; 0 + 3d4: 84 91 lpm r24, Z /* Clean up NVM Command register. */ NVM_CMD = NVM_CMD_NO_OPERATION_gc; - 3ca: 1c 92 st X, r1 + 3d6: 1c 92 st X, r1 return( result ); - 3cc: 08 95 ret + 3d8: 08 95 ret -000003ce : +000003da : // These 2 files need to be included in order to read // the production calibration values from EEPROM #include #include void tiny_adc_setup(unsigned char ch2_enable, unsigned char seven_fiddy_ksps){ - 3ce: cf 93 push r28 - 3d0: df 93 push r29 + 3da: cf 93 push r28 + 3dc: df 93 push r29 PR.PRPA &=0b11111101; - 3d2: e0 e7 ldi r30, 0x70 ; 112 - 3d4: f0 e0 ldi r31, 0x00 ; 0 - 3d6: 91 81 ldd r25, Z+1 ; 0x01 - 3d8: 9d 7f andi r25, 0xFD ; 253 - 3da: 91 83 std Z+1, r25 ; 0x01 + 3de: e0 e7 ldi r30, 0x70 ; 112 + 3e0: f0 e0 ldi r31, 0x00 ; 0 + 3e2: 91 81 ldd r25, Z+1 ; 0x01 + 3e4: 9d 7f andi r25, 0xFD ; 253 + 3e6: 91 83 std Z+1, r25 ; 0x01 ADCA.CTRLA = 0x00; //Turn off - 3dc: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> + 3e8: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> ADCA.CTRLB = ADC_FREERUN_bm | (seven_fiddy_ksps == 2 ? ADC_RESOLUTION_LEFT12BIT_gc : ADC_RESOLUTION_8BIT_gc) | ADC_CONMODE_bm ; - 3e0: 62 30 cpi r22, 0x02 ; 2 - 3e2: 31 f1 breq .+76 ; 0x430 <__FUSE_REGION_LENGTH__+0x30> - 3e4: e0 e0 ldi r30, 0x00 ; 0 - 3e6: f2 e0 ldi r31, 0x02 ; 2 - 3e8: 9c e1 ldi r25, 0x1C ; 28 - 3ea: 91 83 std Z+1, r25 ; 0x01 + 3ec: 62 30 cpi r22, 0x02 ; 2 + 3ee: 31 f1 breq .+76 ; 0x43c <__FUSE_REGION_LENGTH__+0x3c> + 3f0: e0 e0 ldi r30, 0x00 ; 0 + 3f2: f2 e0 ldi r31, 0x02 ; 2 + 3f4: 9c e1 ldi r25, 0x1C ; 28 + 3f6: 91 83 std Z+1, r25 ; 0x01 ADCA.REFCTRL = ADC_REFSEL_INTVCC2_gc; - 3ec: 90 e4 ldi r25, 0x40 ; 64 - 3ee: 92 83 std Z+2, r25 ; 0x02 + 3f8: 90 e4 ldi r25, 0x40 ; 64 + 3fa: 92 83 std Z+2, r25 ; 0x02 ADCA.EVCTRL = ch2_enable ? ADC_SWEEP_0123_gc : ADC_SWEEP_01_gc; //Non-zero causes issues with interrupts! ;.; - 3f0: 81 11 cpse r24, r1 - 3f2: 02 c0 rjmp .+4 ; 0x3f8 - 3f4: 80 e4 ldi r24, 0x40 ; 64 - 3f6: 01 c0 rjmp .+2 ; 0x3fa - 3f8: 80 ec ldi r24, 0xC0 ; 192 - 3fa: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> + 3fc: 81 11 cpse r24, r1 + 3fe: 02 c0 rjmp .+4 ; 0x404 <__FUSE_REGION_LENGTH__+0x4> + 400: 80 e4 ldi r24, 0x40 ; 64 + 402: 01 c0 rjmp .+2 ; 0x406 <__FUSE_REGION_LENGTH__+0x6> + 404: 80 ec ldi r24, 0xC0 ; 192 + 406: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> ADCA.PRESCALER = seven_fiddy_ksps == 1 ? ADC_PRESCALER_DIV16_gc : ADC_PRESCALER_DIV32_gc; //ADC Clock = Sysclock/128 - 3fe: 61 30 cpi r22, 0x01 ; 1 - 400: 11 f0 breq .+4 ; 0x406 <__FUSE_REGION_LENGTH__+0x6> - 402: 83 e0 ldi r24, 0x03 ; 3 - 404: 01 c0 rjmp .+2 ; 0x408 <__FUSE_REGION_LENGTH__+0x8> - 406: 82 e0 ldi r24, 0x02 ; 2 - 408: c0 e0 ldi r28, 0x00 ; 0 - 40a: d2 e0 ldi r29, 0x02 ; 2 - 40c: 8c 83 std Y+4, r24 ; 0x04 + 40a: 61 30 cpi r22, 0x01 ; 1 + 40c: 11 f0 breq .+4 ; 0x412 <__FUSE_REGION_LENGTH__+0x12> + 40e: 83 e0 ldi r24, 0x03 ; 3 + 410: 01 c0 rjmp .+2 ; 0x414 <__FUSE_REGION_LENGTH__+0x14> + 412: 82 e0 ldi r24, 0x02 ; 2 + 414: c0 e0 ldi r28, 0x00 ; 0 + 416: d2 e0 ldi r29, 0x02 ; 2 + 418: 8c 83 std Y+4, r24 ; 0x04 ADCA.CALL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, ADCACAL0)); //Load calibration bytes from production row. - 40e: 80 e2 ldi r24, 0x20 ; 32 - 410: d5 df rcall .-86 ; 0x3bc - 412: 8c 87 std Y+12, r24 ; 0x0c + 41a: 80 e2 ldi r24, 0x20 ; 32 + 41c: d5 df rcall .-86 ; 0x3c8 + 41e: 8c 87 std Y+12, r24 ; 0x0c ADCA.CALH = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, ADCACAL1)); //Load calibration bytes from production row. - 414: 81 e2 ldi r24, 0x21 ; 33 - 416: d2 df rcall .-92 ; 0x3bc - 418: 8d 87 std Y+13, r24 ; 0x0d + 420: 81 e2 ldi r24, 0x21 ; 33 + 422: d2 df rcall .-92 ; 0x3c8 + 424: 8d 87 std Y+13, r24 ; 0x0d ADCA.CMP = 0x0000; //No compare used - 41a: 18 8e std Y+24, r1 ; 0x18 - 41c: 19 8e std Y+25, r1 ; 0x19 + 426: 18 8e std Y+24, r1 ; 0x18 + 428: 19 8e std Y+25, r1 ; 0x19 ADCA.CTRLA = ADC_ENABLE_bm; - 41e: 81 e0 ldi r24, 0x01 ; 1 - 420: 88 83 st Y, r24 + 42a: 81 e0 ldi r24, 0x01 ; 1 + 42c: 88 83 st Y, r24 tiny_adc_pid_setup(); - 422: c2 df rcall .-124 ; 0x3a8 - 424: 0e c0 rjmp .+28 ; 0x442 <__FUSE_REGION_LENGTH__+0x42> + 42e: c2 df rcall .-124 ; 0x3b4 + 430: 0e c0 rjmp .+28 ; 0x44e <__FUSE_REGION_LENGTH__+0x4e> PR.PRPA &=0b11111101; ADCA.CTRLA = 0x00; //Turn off ADCA.CTRLB = ADC_FREERUN_bm | (seven_fiddy_ksps == 2 ? ADC_RESOLUTION_LEFT12BIT_gc : ADC_RESOLUTION_8BIT_gc) | ADC_CONMODE_bm ; ADCA.REFCTRL = ADC_REFSEL_INTVCC2_gc; ADCA.EVCTRL = ch2_enable ? ADC_SWEEP_0123_gc : ADC_SWEEP_01_gc; //Non-zero causes issues with interrupts! ;.; - 426: 80 ec ldi r24, 0xC0 ; 192 - 428: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> + 432: 80 ec ldi r24, 0xC0 ; 192 + 434: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> ADCA.PRESCALER = seven_fiddy_ksps == 1 ? ADC_PRESCALER_DIV16_gc : ADC_PRESCALER_DIV32_gc; //ADC Clock = Sysclock/128 - 42c: 83 e0 ldi r24, 0x03 ; 3 - 42e: ec cf rjmp .-40 ; 0x408 <__FUSE_REGION_LENGTH__+0x8> + 438: 83 e0 ldi r24, 0x03 ; 3 + 43a: ec cf rjmp .-40 ; 0x414 <__FUSE_REGION_LENGTH__+0x14> void tiny_adc_setup(unsigned char ch2_enable, unsigned char seven_fiddy_ksps){ PR.PRPA &=0b11111101; ADCA.CTRLA = 0x00; //Turn off ADCA.CTRLB = ADC_FREERUN_bm | (seven_fiddy_ksps == 2 ? ADC_RESOLUTION_LEFT12BIT_gc : ADC_RESOLUTION_8BIT_gc) | ADC_CONMODE_bm ; - 430: e0 e0 ldi r30, 0x00 ; 0 - 432: f2 e0 ldi r31, 0x02 ; 2 - 434: 9e e1 ldi r25, 0x1E ; 30 - 436: 91 83 std Z+1, r25 ; 0x01 + 43c: e0 e0 ldi r30, 0x00 ; 0 + 43e: f2 e0 ldi r31, 0x02 ; 2 + 440: 9e e1 ldi r25, 0x1E ; 30 + 442: 91 83 std Z+1, r25 ; 0x01 ADCA.REFCTRL = ADC_REFSEL_INTVCC2_gc; - 438: 90 e4 ldi r25, 0x40 ; 64 - 43a: 92 83 std Z+2, r25 ; 0x02 + 444: 90 e4 ldi r25, 0x40 ; 64 + 446: 92 83 std Z+2, r25 ; 0x02 ADCA.EVCTRL = ch2_enable ? ADC_SWEEP_0123_gc : ADC_SWEEP_01_gc; //Non-zero causes issues with interrupts! ;.; - 43c: 81 11 cpse r24, r1 - 43e: f3 cf rjmp .-26 ; 0x426 <__FUSE_REGION_LENGTH__+0x26> - 440: d9 cf rjmp .-78 ; 0x3f4 + 448: 81 11 cpse r24, r1 + 44a: f3 cf rjmp .-26 ; 0x432 <__FUSE_REGION_LENGTH__+0x32> + 44c: d9 cf rjmp .-78 ; 0x400 <__FUSE_REGION_LENGTH__> ADCA.CTRLA = ADC_ENABLE_bm; tiny_adc_pid_setup(); return; } - 442: df 91 pop r29 - 444: cf 91 pop r28 - 446: 08 95 ret + 44e: df 91 pop r29 + 450: cf 91 pop r28 + 452: 08 95 ret -00000448 : +00000454 : #include "tiny_adc.h" #include #include void tiny_dac_setup(void){ - 448: cf 93 push r28 - 44a: df 93 push r29 + 454: cf 93 push r28 + 456: df 93 push r29 //Turn on in PR PR.PRPB &=0b11111011; - 44c: e0 e7 ldi r30, 0x70 ; 112 - 44e: f0 e0 ldi r31, 0x00 ; 0 - 450: 82 81 ldd r24, Z+2 ; 0x02 - 452: 8b 7f andi r24, 0xFB ; 251 - 454: 82 83 std Z+2, r24 ; 0x02 + 458: e0 e7 ldi r30, 0x70 ; 112 + 45a: f0 e0 ldi r31, 0x00 ; 0 + 45c: 82 81 ldd r24, Z+2 ; 0x02 + 45e: 8b 7f andi r24, 0xFB ; 251 + 460: 82 83 std Z+2, r24 ; 0x02 DACB.CTRLA = DAC_CH1EN_bm | DAC_CH0EN_bm | DAC_ENABLE_bm; - 456: c0 e2 ldi r28, 0x20 ; 32 - 458: d3 e0 ldi r29, 0x03 ; 3 - 45a: 8d e0 ldi r24, 0x0D ; 13 - 45c: 88 83 st Y, r24 + 462: c0 e2 ldi r28, 0x20 ; 32 + 464: d3 e0 ldi r29, 0x03 ; 3 + 466: 8d e0 ldi r24, 0x0D ; 13 + 468: 88 83 st Y, r24 DACB.CTRLB = DAC_CHSEL_DUAL_gc; - 45e: 80 e4 ldi r24, 0x40 ; 64 - 460: 89 83 std Y+1, r24 ; 0x01 + 46a: 80 e4 ldi r24, 0x40 ; 64 + 46c: 89 83 std Y+1, r24 ; 0x01 DACB.CTRLC = DAC_REFSEL_AVCC_gc | DAC_LEFTADJ_bm; - 462: 89 e0 ldi r24, 0x09 ; 9 - 464: 8a 83 std Y+2, r24 ; 0x02 + 46e: 89 e0 ldi r24, 0x09 ; 9 + 470: 8a 83 std Y+2, r24 ; 0x02 //EVCTRL unset //DACB.CH0DATAH = 127;//contains (8-bit) sample, assuming left adjust! //TODO: Calibrate DACB.CH0GAINCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB0GAINCAL)); //Load calibration bytes from production row. - 466: 83 e3 ldi r24, 0x33 ; 51 - 468: a9 df rcall .-174 ; 0x3bc - 46a: 88 87 std Y+8, r24 ; 0x08 + 472: 83 e3 ldi r24, 0x33 ; 51 + 474: a9 df rcall .-174 ; 0x3c8 + 476: 88 87 std Y+8, r24 ; 0x08 DACB.CH0OFFSETCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB0OFFCAL)); //Load calibration bytes from production row. - 46c: 82 e3 ldi r24, 0x32 ; 50 - 46e: a6 df rcall .-180 ; 0x3bc - 470: 89 87 std Y+9, r24 ; 0x09 + 478: 82 e3 ldi r24, 0x32 ; 50 + 47a: a6 df rcall .-180 ; 0x3c8 + 47c: 89 87 std Y+9, r24 ; 0x09 DACB.CH1GAINCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB1GAINCAL)); //Load calibration bytes from production row. - 472: 87 e3 ldi r24, 0x37 ; 55 - 474: a3 df rcall .-186 ; 0x3bc - 476: 8a 87 std Y+10, r24 ; 0x0a + 47e: 87 e3 ldi r24, 0x37 ; 55 + 480: a3 df rcall .-186 ; 0x3c8 + 482: 8a 87 std Y+10, r24 ; 0x0a DACB.CH1OFFSETCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB1OFFCAL)); //Load calibration bytes from production row. - 478: 86 e3 ldi r24, 0x36 ; 54 - 47a: a0 df rcall .-192 ; 0x3bc - 47c: 8b 87 std Y+11, r24 ; 0x0b + 484: 86 e3 ldi r24, 0x36 ; 54 + 486: a0 df rcall .-192 ; 0x3c8 + 488: 8b 87 std Y+11, r24 ; 0x0b //Set up for triple mode! PORTB.DIR |= 0x03; - 47e: e0 e2 ldi r30, 0x20 ; 32 - 480: f6 e0 ldi r31, 0x06 ; 6 - 482: 80 81 ld r24, Z - 484: 83 60 ori r24, 0x03 ; 3 - 486: 80 83 st Z, r24 + 48a: e0 e2 ldi r30, 0x20 ; 32 + 48c: f6 e0 ldi r31, 0x06 ; 6 + 48e: 80 81 ld r24, Z + 490: 83 60 ori r24, 0x03 ; 3 + 492: 80 83 st Z, r24 PORTB.OUT = 0x00; - 488: 14 82 std Z+4, r1 ; 0x04 + 494: 14 82 std Z+4, r1 ; 0x04 - 48a: df 91 pop r29 - 48c: cf 91 pop r28 - 48e: 08 95 ret + 496: df 91 pop r29 + 498: cf 91 pop r28 + 49a: 08 95 ret -00000490 : +0000049c : #include "globals.h" void tiny_dma_setup(void){ //Turn on DMA PR.PRGEN &=0b111111110; //Turn on DMA clk - 490: e0 e7 ldi r30, 0x70 ; 112 - 492: f0 e0 ldi r31, 0x00 ; 0 - 494: 80 81 ld r24, Z - 496: 8e 7f andi r24, 0xFE ; 254 - 498: 80 83 st Z, r24 + 49c: e0 e7 ldi r30, 0x70 ; 112 + 49e: f0 e0 ldi r31, 0x00 ; 0 + 4a0: 80 81 ld r24, Z + 4a2: 8e 7f andi r24, 0xFE ; 254 + 4a4: 80 83 st Z, r24 DMA.CTRL = DMA_ENABLE_bm | DMA_PRIMODE_RR0123_gc; - 49a: 80 e8 ldi r24, 0x80 ; 128 - 49c: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> - 4a0: 08 95 ret + 4a6: 80 e8 ldi r24, 0x80 ; 128 + 4a8: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> + 4ac: 08 95 ret -000004a2 : +000004ae : } void tiny_dma_flush(void){ DMA.CH0.CTRLA = 0x00; - 4a2: e0 e0 ldi r30, 0x00 ; 0 - 4a4: f1 e0 ldi r31, 0x01 ; 1 - 4a6: 10 8a std Z+16, r1 ; 0x10 + 4ae: e0 e0 ldi r30, 0x00 ; 0 + 4b0: f1 e0 ldi r31, 0x01 ; 1 + 4b2: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 4a8: 80 e4 ldi r24, 0x40 ; 64 - 4aa: 80 8b std Z+16, r24 ; 0x10 + 4b4: 80 e4 ldi r24, 0x40 ; 64 + 4b6: 80 8b std Z+16, r24 ; 0x10 DMA.CH1.CTRLA = 0x00; - 4ac: 10 a2 std Z+32, r1 ; 0x20 + 4b8: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 4ae: 80 a3 std Z+32, r24 ; 0x20 + 4ba: 80 a3 std Z+32, r24 ; 0x20 DMA.CH2.CTRLA = 0x00; - 4b0: 10 aa std Z+48, r1 ; 0x30 + 4bc: 10 aa std Z+48, r1 ; 0x30 DMA.CH2.CTRLA = DMA_CH_RESET_bm; - 4b2: 80 ab std Z+48, r24 ; 0x30 + 4be: 80 ab std Z+48, r24 ; 0x30 DMA.CH3.CTRLA = 0x00; - 4b4: e0 e4 ldi r30, 0x40 ; 64 - 4b6: f1 e0 ldi r31, 0x01 ; 1 - 4b8: 10 82 st Z, r1 + 4c0: e0 e4 ldi r30, 0x40 ; 64 + 4c2: f1 e0 ldi r31, 0x01 ; 1 + 4c4: 10 82 st Z, r1 DMA.CH3.CTRLA = DMA_CH_RESET_bm; - 4ba: 80 83 st Z, r24 + 4c6: 80 83 st Z, r24 b1_state = 0; - 4bc: 10 92 b4 20 sts 0x20B4, r1 ; 0x8020b4 + 4c8: 10 92 b4 20 sts 0x20B4, r1 ; 0x8020b4 b2_state = 0; - 4c0: 10 92 b3 20 sts 0x20B3, r1 ; 0x8020b3 - 4c4: 08 95 ret + 4cc: 10 92 b3 20 sts 0x20B3, r1 ; 0x8020b3 + 4d0: 08 95 ret -000004c6 : +000004d2 : } void tiny_dma_set_mode_0(void){ global_mode = 0; - 4c6: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> + 4d2: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> tiny_dma_flush(); - 4ca: eb df rcall .-42 ; 0x4a2 + 4d6: eb df rcall .-42 ; 0x4ae DMA.CH2.REPCNT = 0; //Repeat forever! - 4cc: e0 e0 ldi r30, 0x00 ; 0 - 4ce: f1 e0 ldi r31, 0x01 ; 1 - 4d0: 16 aa std Z+54, r1 ; 0x36 + 4d8: e0 e0 ldi r30, 0x00 ; 0 + 4da: f1 e0 ldi r31, 0x01 ; 1 + 4dc: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 4d2: 34 e2 ldi r19, 0x24 ; 36 - 4d4: 30 ab std Z+48, r19 ; 0x30 + 4de: 34 e2 ldi r19, 0x24 ; 36 + 4e0: 30 ab std Z+48, r19 ; 0x30 DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! - 4d6: 11 aa std Z+49, r1 ; 0x31 + 4e2: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 4d8: 29 e5 ldi r18, 0x59 ; 89 - 4da: 22 ab std Z+50, r18 ; 0x32 + 4e4: 29 e5 ldi r18, 0x59 ; 89 + 4e6: 22 ab std Z+50, r18 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 4dc: 82 e0 ldi r24, 0x02 ; 2 - 4de: 83 ab std Z+51, r24 ; 0x33 + 4e8: 82 e0 ldi r24, 0x02 ; 2 + 4ea: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = auxDacBufLen; - 4e0: 80 91 02 20 lds r24, 0x2002 ; 0x802002 - 4e4: 90 91 03 20 lds r25, 0x2003 ; 0x802003 - 4e8: 84 ab std Z+52, r24 ; 0x34 - 4ea: 95 ab std Z+53, r25 ; 0x35 + 4ec: 80 91 02 20 lds r24, 0x2002 ; 0x802002 + 4f0: 90 91 03 20 lds r25, 0x2003 ; 0x802003 + 4f4: 84 ab std Z+52, r24 ; 0x34 + 4f6: 95 ab std Z+53, r25 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 4ec: 86 e6 ldi r24, 0x66 ; 102 - 4ee: 94 e2 ldi r25, 0x24 ; 36 - 4f0: 80 af std Z+56, r24 ; 0x38 + 4f8: 86 e6 ldi r24, 0x66 ; 102 + 4fa: 94 e2 ldi r25, 0x24 ; 36 + 4fc: 80 af std Z+56, r24 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 4f2: 91 af std Z+57, r25 ; 0x39 + 4fe: 91 af std Z+57, r25 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 4f4: 12 ae std Z+58, r1 ; 0x3a + 500: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 4f6: 8b e3 ldi r24, 0x3B ; 59 - 4f8: 84 af std Z+60, r24 ; 0x3c + 502: 8b e3 ldi r24, 0x3B ; 59 + 504: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 4fa: 83 e0 ldi r24, 0x03 ; 3 - 4fc: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 506: 83 e0 ldi r24, 0x03 ; 3 + 508: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 500: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 50c: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 504: 90 a9 ldd r25, Z+48 ; 0x30 - 506: 90 68 ori r25, 0x80 ; 128 - 508: 90 ab std Z+48, r25 ; 0x30 + 510: 90 a9 ldd r25, Z+48 ; 0x30 + 512: 90 68 ori r25, 0x80 ; 128 + 514: 90 ab std Z+48, r25 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 50a: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 516: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 50e: e0 e4 ldi r30, 0x40 ; 64 - 510: f1 e0 ldi r31, 0x01 ; 1 - 512: 30 83 st Z, r19 + 51a: e0 e4 ldi r30, 0x40 ; 64 + 51c: f1 e0 ldi r31, 0x01 ; 1 + 51e: 30 83 st Z, r19 DMA.CH3.CTRLB = 0x00; //Hi interrupt on block complete - 514: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 520: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 518: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 524: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 51c: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 528: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = dacBuf_len; - 520: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 524: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 528: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 52c: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 52c: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + 530: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + 534: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 538: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 530: 26 e5 ldi r18, 0x56 ; 86 - 532: 32 e2 ldi r19, 0x22 ; 34 - 534: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 53c: 26 e5 ldi r18, 0x56 ; 86 + 53e: 32 e2 ldi r19, 0x22 ; 34 + 540: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 538: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 544: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 53c: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 548: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 540: 99 e3 ldi r25, 0x39 ; 57 - 542: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 54c: 99 e3 ldi r25, 0x39 ; 57 + 54e: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 546: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 552: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 54a: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 556: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 54e: 80 81 ld r24, Z - 550: 80 68 ori r24, 0x80 ; 128 - 552: 80 83 st Z, r24 - 554: 08 95 ret + 55a: 80 81 ld r24, Z + 55c: 80 68 ori r24, 0x80 ; 128 + 55e: 80 83 st Z, r24 + 560: 08 95 ret -00000556 : +00000562 : } void tiny_dma_loop_mode_0(void){ DMA.CH0.CTRLA = 0x00; - 556: e0 e0 ldi r30, 0x00 ; 0 - 558: f1 e0 ldi r31, 0x01 ; 1 - 55a: 10 8a std Z+16, r1 ; 0x10 + 562: e0 e0 ldi r30, 0x00 ; 0 + 564: f1 e0 ldi r31, 0x01 ; 1 + 566: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 55c: 80 e4 ldi r24, 0x40 ; 64 - 55e: 80 8b std Z+16, r24 ; 0x10 + 568: 80 e4 ldi r24, 0x40 ; 64 + 56a: 80 8b std Z+16, r24 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 560: 84 e0 ldi r24, 0x04 ; 4 - 562: 80 8b std Z+16, r24 ; 0x10 + 56c: 84 e0 ldi r24, 0x04 ; 4 + 56e: 80 8b std Z+16, r24 ; 0x10 DMA.CH0.CTRLB = 0x00; //No interrupt! - 564: 11 8a std Z+17, r1 ; 0x11 + 570: 11 8a std Z+17, r1 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 566: 81 e9 ldi r24, 0x91 ; 145 - 568: 82 8b std Z+18, r24 ; 0x12 + 572: 81 e9 ldi r24, 0x91 ; 145 + 574: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 56a: 80 e1 ldi r24, 0x10 ; 16 - 56c: 83 8b std Z+19, r24 ; 0x13 + 576: 80 e1 ldi r24, 0x10 ; 16 + 578: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 56e: 87 e7 ldi r24, 0x77 ; 119 - 570: 91 e0 ldi r25, 0x01 ; 1 - 572: 84 8b std Z+20, r24 ; 0x14 - 574: 95 8b std Z+21, r25 ; 0x15 + 57a: 87 e7 ldi r24, 0x77 ; 119 + 57c: 91 e0 ldi r25, 0x01 ; 1 + 57e: 84 8b std Z+20, r24 ; 0x14 + 580: 95 8b std Z+21, r25 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 576: 84 e2 ldi r24, 0x24 ; 36 - 578: 80 8f std Z+24, r24 ; 0x18 + 582: 84 e2 ldi r24, 0x24 ; 36 + 584: 80 8f std Z+24, r24 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 57a: 82 e0 ldi r24, 0x02 ; 2 - 57c: 81 8f std Z+25, r24 ; 0x19 + 586: 82 e0 ldi r24, 0x02 ; 2 + 588: 81 8f std Z+25, r24 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 57e: 12 8e std Z+26, r1 ; 0x1a + 58a: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 580: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 584: 2e ee ldi r18, 0xEE ; 238 - 586: 32 e0 ldi r19, 0x02 ; 2 - 588: 42 9f mul r20, r18 - 58a: c0 01 movw r24, r0 - 58c: 43 9f mul r20, r19 - 58e: 90 0d add r25, r0 - 590: 11 24 eor r1, r1 - 592: 8a 59 subi r24, 0x9A ; 154 - 594: 99 4d sbci r25, 0xD9 ; 217 - 596: 84 8f std Z+28, r24 ; 0x1c + 58c: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + 590: 2e ee ldi r18, 0xEE ; 238 + 592: 32 e0 ldi r19, 0x02 ; 2 + 594: 42 9f mul r20, r18 + 596: c0 01 movw r24, r0 + 598: 43 9f mul r20, r19 + 59a: 90 0d add r25, r0 + 59c: 11 24 eor r1, r1 + 59e: 8a 59 subi r24, 0x9A ; 154 + 5a0: 99 4d sbci r25, 0xD9 ; 217 + 5a2: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - 598: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 59c: 42 9f mul r20, r18 - 59e: c0 01 movw r24, r0 - 5a0: 43 9f mul r20, r19 - 5a2: 90 0d add r25, r0 - 5a4: 11 24 eor r1, r1 - 5a6: 8a 59 subi r24, 0x9A ; 154 - 5a8: 99 4d sbci r25, 0xD9 ; 217 - 5aa: 95 8f std Z+29, r25 ; 0x1d + 5a4: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + 5a8: 42 9f mul r20, r18 + 5aa: c0 01 movw r24, r0 + 5ac: 43 9f mul r20, r19 + 5ae: 90 0d add r25, r0 + 5b0: 11 24 eor r1, r1 + 5b2: 8a 59 subi r24, 0x9A ; 154 + 5b4: 99 4d sbci r25, 0xD9 ; 217 + 5b6: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 5ac: 16 8e std Z+30, r1 ; 0x1e + 5b8: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 5ae: 80 89 ldd r24, Z+16 ; 0x10 - 5b0: 80 68 ori r24, 0x80 ; 128 - 5b2: 80 8b std Z+16, r24 ; 0x10 - 5b4: 08 95 ret + 5ba: 80 89 ldd r24, Z+16 ; 0x10 + 5bc: 80 68 ori r24, 0x80 ; 128 + 5be: 80 8b std Z+16, r24 ; 0x10 + 5c0: 08 95 ret -000005b6 : +000005c2 : } void tiny_dma_set_mode_1(void){ global_mode = 1; - 5b6: 81 e0 ldi r24, 0x01 ; 1 - 5b8: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + 5c2: 81 e0 ldi r24, 0x01 ; 1 + 5c4: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - 5bc: 72 df rcall .-284 ; 0x4a2 + 5c8: 72 df rcall .-284 ; 0x4ae //AUX channel (to keep it tx, therefore always rx) DMA.CH2.CTRLA = 0x00; - 5be: e0 e0 ldi r30, 0x00 ; 0 - 5c0: f1 e0 ldi r31, 0x01 ; 1 - 5c2: 10 aa std Z+48, r1 ; 0x30 + 5ca: e0 e0 ldi r30, 0x00 ; 0 + 5cc: f1 e0 ldi r31, 0x01 ; 1 + 5ce: 10 aa std Z+48, r1 ; 0x30 DMA.CH2.CTRLA = DMA_CH_RESET_bm; - 5c4: 80 e4 ldi r24, 0x40 ; 64 - 5c6: 80 ab std Z+48, r24 ; 0x30 + 5d0: 80 e4 ldi r24, 0x40 ; 64 + 5d2: 80 ab std Z+48, r24 ; 0x30 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 5c8: 84 e0 ldi r24, 0x04 ; 4 - 5ca: 80 ab std Z+48, r24 ; 0x30 + 5d4: 84 e0 ldi r24, 0x04 ; 4 + 5d6: 80 ab std Z+48, r24 ; 0x30 DMA.CH2.CTRLB = 0x00; //No int - 5cc: 11 aa std Z+49, r1 ; 0x31 + 5d8: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 5ce: 12 aa std Z+50, r1 ; 0x32 + 5da: 12 aa std Z+50, r1 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 5d0: 8b e4 ldi r24, 0x4B ; 75 - 5d2: 83 ab std Z+51, r24 ; 0x33 + 5dc: 8b e4 ldi r24, 0x4B ; 75 + 5de: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = 0; - 5d4: 14 aa std Z+52, r1 ; 0x34 - 5d6: 15 aa std Z+53, r1 ; 0x35 + 5e0: 14 aa std Z+52, r1 ; 0x34 + 5e2: 15 aa std Z+53, r1 ; 0x35 DMA.CH2.REPCNT = 0; - 5d8: 16 aa std Z+54, r1 ; 0x36 + 5e4: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 5da: 81 e0 ldi r24, 0x01 ; 1 - 5dc: 90 e2 ldi r25, 0x20 ; 32 - 5de: 80 af std Z+56, r24 ; 0x38 + 5e6: 81 e0 ldi r24, 0x01 ; 1 + 5e8: 90 e2 ldi r25, 0x20 ; 32 + 5ea: 80 af std Z+56, r24 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 5e0: 91 af std Z+57, r25 ; 0x39 + 5ec: 91 af std Z+57, r25 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 5e2: 12 ae std Z+58, r1 ; 0x3a + 5ee: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 5e4: 80 ea ldi r24, 0xA0 ; 160 - 5e6: 84 af std Z+60, r24 ; 0x3c + 5f0: 80 ea ldi r24, 0xA0 ; 160 + 5f2: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 5e8: 88 e0 ldi r24, 0x08 ; 8 - 5ea: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 5f4: 88 e0 ldi r24, 0x08 ; 8 + 5f6: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 5ee: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 5fa: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_REPEAT_bm | DMA_CH_ENABLE_bm; //Enable! - 5f2: 80 a9 ldd r24, Z+48 ; 0x30 - 5f4: 80 6a ori r24, 0xA0 ; 160 - 5f6: 80 ab std Z+48, r24 ; 0x30 + 5fe: 80 a9 ldd r24, Z+48 ; 0x30 + 600: 80 6a ori r24, 0xA0 ; 160 + 602: 80 ab std Z+48, r24 ; 0x30 USARTC0.DATA = 0x55; - 5f8: 85 e5 ldi r24, 0x55 ; 85 - 5fa: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 604: 85 e5 ldi r24, 0x55 ; 85 + 606: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> DMA.CH3.REPCNT = 0; //Repeat forever! - 5fe: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 60a: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 602: e0 e4 ldi r30, 0x40 ; 64 - 604: f1 e0 ldi r31, 0x01 ; 1 - 606: 84 e2 ldi r24, 0x24 ; 36 - 608: 80 83 st Z, r24 + 60e: e0 e4 ldi r30, 0x40 ; 64 + 610: f1 e0 ldi r31, 0x01 ; 1 + 612: 84 e2 ldi r24, 0x24 ; 36 + 614: 80 83 st Z, r24 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 60a: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 616: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 60e: 89 e5 ldi r24, 0x59 ; 89 - 610: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 61a: 89 e5 ldi r24, 0x59 ; 89 + 61c: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 614: 82 e0 ldi r24, 0x02 ; 2 - 616: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 620: 82 e0 ldi r24, 0x02 ; 2 + 622: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - 61a: 80 91 02 20 lds r24, 0x2002 ; 0x802002 - 61e: 90 91 03 20 lds r25, 0x2003 ; 0x802003 - 622: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 626: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 626: 80 91 02 20 lds r24, 0x2002 ; 0x802002 + 62a: 90 91 03 20 lds r25, 0x2003 ; 0x802003 + 62e: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 632: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 62a: 86 e6 ldi r24, 0x66 ; 102 - 62c: 94 e2 ldi r25, 0x24 ; 36 - 62e: 80 93 48 01 sts 0x0148, r24 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 636: 86 e6 ldi r24, 0x66 ; 102 + 638: 94 e2 ldi r25, 0x24 ; 36 + 63a: 80 93 48 01 sts 0x0148, r24 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 632: 90 93 49 01 sts 0x0149, r25 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 63e: 90 93 49 01 sts 0x0149, r25 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 636: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 642: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 63a: 8b e3 ldi r24, 0x3B ; 59 - 63c: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 646: 8b e3 ldi r24, 0x3B ; 59 + 648: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 640: 83 e0 ldi r24, 0x03 ; 3 - 642: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 64c: 83 e0 ldi r24, 0x03 ; 3 + 64e: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 646: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 652: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 64a: 80 81 ld r24, Z - 64c: 80 68 ori r24, 0x80 ; 128 - 64e: 80 83 st Z, r24 - 650: 08 95 ret + 656: 80 81 ld r24, Z + 658: 80 68 ori r24, 0x80 ; 128 + 65a: 80 83 st Z, r24 + 65c: 08 95 ret -00000652 : +0000065e : } void tiny_dma_loop_mode_1(void){ DMA.CH0.CTRLA = 0x00; - 652: e0 e0 ldi r30, 0x00 ; 0 - 654: f1 e0 ldi r31, 0x01 ; 1 - 656: 10 8a std Z+16, r1 ; 0x10 + 65e: e0 e0 ldi r30, 0x00 ; 0 + 660: f1 e0 ldi r31, 0x01 ; 1 + 662: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 658: a0 e4 ldi r26, 0x40 ; 64 - 65a: a0 8b std Z+16, r26 ; 0x10 + 664: a0 e4 ldi r26, 0x40 ; 64 + 666: a0 8b std Z+16, r26 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 65c: 74 e0 ldi r23, 0x04 ; 4 - 65e: 70 8b std Z+16, r23 ; 0x10 + 668: 74 e0 ldi r23, 0x04 ; 4 + 66a: 70 8b std Z+16, r23 ; 0x10 DMA.CH0.CTRLB = 0x00; //No interrupt! - 660: 11 8a std Z+17, r1 ; 0x11 + 66c: 11 8a std Z+17, r1 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 662: 61 e9 ldi r22, 0x91 ; 145 - 664: 62 8b std Z+18, r22 ; 0x12 + 66e: 61 e9 ldi r22, 0x91 ; 145 + 670: 62 8b std Z+18, r22 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 666: 80 e1 ldi r24, 0x10 ; 16 - 668: 83 8b std Z+19, r24 ; 0x13 + 672: 80 e1 ldi r24, 0x10 ; 16 + 674: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 66a: 47 e7 ldi r20, 0x77 ; 119 - 66c: 51 e0 ldi r21, 0x01 ; 1 - 66e: 44 8b std Z+20, r20 ; 0x14 - 670: 55 8b std Z+21, r21 ; 0x15 + 676: 47 e7 ldi r20, 0x77 ; 119 + 678: 51 e0 ldi r21, 0x01 ; 1 + 67a: 44 8b std Z+20, r20 ; 0x14 + 67c: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 672: 84 e2 ldi r24, 0x24 ; 36 - 674: 80 8f std Z+24, r24 ; 0x18 + 67e: 84 e2 ldi r24, 0x24 ; 36 + 680: 80 8f std Z+24, r24 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 676: 82 e0 ldi r24, 0x02 ; 2 - 678: 81 8f std Z+25, r24 ; 0x19 + 682: 82 e0 ldi r24, 0x02 ; 2 + 684: 81 8f std Z+25, r24 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 67a: 12 8e std Z+26, r1 ; 0x1a + 686: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 67c: b0 91 b4 20 lds r27, 0x20B4 ; 0x8020b4 - 680: 8e ee ldi r24, 0xEE ; 238 - 682: 92 e0 ldi r25, 0x02 ; 2 - 684: b8 9f mul r27, r24 - 686: 90 01 movw r18, r0 - 688: b9 9f mul r27, r25 - 68a: 30 0d add r19, r0 - 68c: 11 24 eor r1, r1 - 68e: 2a 59 subi r18, 0x9A ; 154 - 690: 39 4d sbci r19, 0xD9 ; 217 - 692: 24 8f std Z+28, r18 ; 0x1c + 688: b0 91 b4 20 lds r27, 0x20B4 ; 0x8020b4 + 68c: 8e ee ldi r24, 0xEE ; 238 + 68e: 92 e0 ldi r25, 0x02 ; 2 + 690: b8 9f mul r27, r24 + 692: 90 01 movw r18, r0 + 694: b9 9f mul r27, r25 + 696: 30 0d add r19, r0 + 698: 11 24 eor r1, r1 + 69a: 2a 59 subi r18, 0x9A ; 154 + 69c: 39 4d sbci r19, 0xD9 ; 217 + 69e: 24 8f std Z+28, r18 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - 694: b0 91 b4 20 lds r27, 0x20B4 ; 0x8020b4 - 698: b8 9f mul r27, r24 - 69a: 90 01 movw r18, r0 - 69c: b9 9f mul r27, r25 - 69e: 30 0d add r19, r0 - 6a0: 11 24 eor r1, r1 - 6a2: 2a 59 subi r18, 0x9A ; 154 - 6a4: 39 4d sbci r19, 0xD9 ; 217 - 6a6: 35 8f std Z+29, r19 ; 0x1d + 6a0: b0 91 b4 20 lds r27, 0x20B4 ; 0x8020b4 + 6a4: b8 9f mul r27, r24 + 6a6: 90 01 movw r18, r0 + 6a8: b9 9f mul r27, r25 + 6aa: 30 0d add r19, r0 + 6ac: 11 24 eor r1, r1 + 6ae: 2a 59 subi r18, 0x9A ; 154 + 6b0: 39 4d sbci r19, 0xD9 ; 217 + 6b2: 35 8f std Z+29, r19 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 6a8: 16 8e std Z+30, r1 ; 0x1e + 6b4: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 6aa: 20 89 ldd r18, Z+16 ; 0x10 - 6ac: 20 68 ori r18, 0x80 ; 128 - 6ae: 20 8b std Z+16, r18 ; 0x10 + 6b6: 20 89 ldd r18, Z+16 ; 0x10 + 6b8: 20 68 ori r18, 0x80 ; 128 + 6ba: 20 8b std Z+16, r18 ; 0x10 DMA.CH1.CTRLA = 0x00; - 6b0: 10 a2 std Z+32, r1 ; 0x20 + 6bc: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 6b2: a0 a3 std Z+32, r26 ; 0x20 + 6be: a0 a3 std Z+32, r26 ; 0x20 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 6b4: 70 a3 std Z+32, r23 ; 0x20 + 6c0: 70 a3 std Z+32, r23 ; 0x20 DMA.CH1.CTRLB = 0x00; //No interrupt - 6b6: 11 a2 std Z+33, r1 ; 0x21 + 6c2: 11 a2 std Z+33, r1 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 6b8: 62 a3 std Z+34, r22 ; 0x22 + 6c4: 62 a3 std Z+34, r22 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 6ba: 2b e4 ldi r18, 0x4B ; 75 - 6bc: 23 a3 std Z+35, r18 ; 0x23 + 6c6: 2b e4 ldi r18, 0x4B ; 75 + 6c8: 23 a3 std Z+35, r18 ; 0x23 DMA.CH1.TRFCNT = HALFPACKET_SIZE; - 6be: 44 a3 std Z+36, r20 ; 0x24 - 6c0: 55 a3 std Z+37, r21 ; 0x25 + 6ca: 44 a3 std Z+36, r20 ; 0x24 + 6cc: 55 a3 std Z+37, r21 ; 0x25 DMA.CH1.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; //Source address is ADC - 6c2: 20 ea ldi r18, 0xA0 ; 160 - 6c4: 20 a7 std Z+40, r18 ; 0x28 + 6ce: 20 ea ldi r18, 0xA0 ; 160 + 6d0: 20 a7 std Z+40, r18 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 6c6: 28 e0 ldi r18, 0x08 ; 8 - 6c8: 21 a7 std Z+41, r18 ; 0x29 + 6d2: 28 e0 ldi r18, 0x08 ; 8 + 6d4: 21 a7 std Z+41, r18 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 6ca: 12 a6 std Z+42, r1 ; 0x2a + 6d6: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 6cc: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 6d0: 48 9f mul r20, r24 - 6d2: 90 01 movw r18, r0 - 6d4: 49 9f mul r20, r25 - 6d6: 30 0d add r19, r0 - 6d8: 11 24 eor r1, r1 - 6da: 23 52 subi r18, 0x23 ; 35 - 6dc: 38 4d sbci r19, 0xD8 ; 216 - 6de: 24 a7 std Z+44, r18 ; 0x2c + 6d8: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + 6dc: 48 9f mul r20, r24 + 6de: 90 01 movw r18, r0 + 6e0: 49 9f mul r20, r25 + 6e2: 30 0d add r19, r0 + 6e4: 11 24 eor r1, r1 + 6e6: 23 52 subi r18, 0x23 ; 35 + 6e8: 38 4d sbci r19, 0xD8 ; 216 + 6ea: 24 a7 std Z+44, r18 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - 6e0: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 6e4: 48 9f mul r20, r24 - 6e6: 90 01 movw r18, r0 - 6e8: 49 9f mul r20, r25 - 6ea: 30 0d add r19, r0 - 6ec: 11 24 eor r1, r1 - 6ee: c9 01 movw r24, r18 - 6f0: 83 52 subi r24, 0x23 ; 35 - 6f2: 98 4d sbci r25, 0xD8 ; 216 - 6f4: 95 a7 std Z+45, r25 ; 0x2d + 6ec: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + 6f0: 48 9f mul r20, r24 + 6f2: 90 01 movw r18, r0 + 6f4: 49 9f mul r20, r25 + 6f6: 30 0d add r19, r0 + 6f8: 11 24 eor r1, r1 + 6fa: c9 01 movw r24, r18 + 6fc: 83 52 subi r24, 0x23 ; 35 + 6fe: 98 4d sbci r25, 0xD8 ; 216 + 700: 95 a7 std Z+45, r25 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 6f6: 16 a6 std Z+46, r1 ; 0x2e + 702: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 6f8: 80 a1 ldd r24, Z+32 ; 0x20 - 6fa: 80 68 ori r24, 0x80 ; 128 - 6fc: 80 a3 std Z+32, r24 ; 0x20 - 6fe: 08 95 ret + 704: 80 a1 ldd r24, Z+32 ; 0x20 + 706: 80 68 ori r24, 0x80 ; 128 + 708: 80 a3 std Z+32, r24 ; 0x20 + 70a: 08 95 ret -00000700 : +0000070c : } void tiny_dma_set_mode_2(void){ - 700: cf 93 push r28 + 70c: cf 93 push r28 global_mode = 2; - 702: c2 e0 ldi r28, 0x02 ; 2 - 704: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 70e: c2 e0 ldi r28, 0x02 ; 2 + 710: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 708: cc de rcall .-616 ; 0x4a2 + 714: cc de rcall .-616 ; 0x4ae DMA.CH2.REPCNT = 0; //Repeat forever! - 70a: e0 e0 ldi r30, 0x00 ; 0 - 70c: f1 e0 ldi r31, 0x01 ; 1 - 70e: 16 aa std Z+54, r1 ; 0x36 + 716: e0 e0 ldi r30, 0x00 ; 0 + 718: f1 e0 ldi r31, 0x01 ; 1 + 71a: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 710: 34 e2 ldi r19, 0x24 ; 36 - 712: 30 ab std Z+48, r19 ; 0x30 + 71c: 34 e2 ldi r19, 0x24 ; 36 + 71e: 30 ab std Z+48, r19 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - 714: 11 aa std Z+49, r1 ; 0x31 + 720: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 716: 29 e5 ldi r18, 0x59 ; 89 - 718: 22 ab std Z+50, r18 ; 0x32 + 722: 29 e5 ldi r18, 0x59 ; 89 + 724: 22 ab std Z+50, r18 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 71a: 83 e0 ldi r24, 0x03 ; 3 - 71c: 83 ab std Z+51, r24 ; 0x33 + 726: 83 e0 ldi r24, 0x03 ; 3 + 728: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - 71e: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 722: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 726: 44 ab std Z+52, r20 ; 0x34 - 728: 55 ab std Z+53, r21 ; 0x35 + 72a: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 72e: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 732: 44 ab std Z+52, r20 ; 0x34 + 734: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 72a: 46 e5 ldi r20, 0x56 ; 86 - 72c: 52 e2 ldi r21, 0x22 ; 34 - 72e: 40 af std Z+56, r20 ; 0x38 + 736: 46 e5 ldi r20, 0x56 ; 86 + 738: 52 e2 ldi r21, 0x22 ; 34 + 73a: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 730: 51 af std Z+57, r21 ; 0x39 + 73c: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 732: 12 ae std Z+58, r1 ; 0x3a + 73e: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 734: 99 e3 ldi r25, 0x39 ; 57 - 736: 94 af std Z+60, r25 ; 0x3c + 740: 99 e3 ldi r25, 0x39 ; 57 + 742: 94 af std Z+60, r25 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 738: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 744: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 73c: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 748: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 740: 90 a9 ldd r25, Z+48 ; 0x30 - 742: 90 68 ori r25, 0x80 ; 128 - 744: 90 ab std Z+48, r25 ; 0x30 + 74c: 90 a9 ldd r25, Z+48 ; 0x30 + 74e: 90 68 ori r25, 0x80 ; 128 + 750: 90 ab std Z+48, r25 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 746: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 752: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 74a: e0 e4 ldi r30, 0x40 ; 64 - 74c: f1 e0 ldi r31, 0x01 ; 1 - 74e: 30 83 st Z, r19 + 756: e0 e4 ldi r30, 0x40 ; 64 + 758: f1 e0 ldi r31, 0x01 ; 1 + 75a: 30 83 st Z, r19 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 750: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 75c: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 754: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 760: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 758: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 764: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - 75c: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 760: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 764: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 768: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 768: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 76c: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 770: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 774: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 76c: 26 e6 ldi r18, 0x66 ; 102 - 76e: 34 e2 ldi r19, 0x24 ; 36 - 770: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 778: 26 e6 ldi r18, 0x66 ; 102 + 77a: 34 e2 ldi r19, 0x24 ; 36 + 77c: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 774: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 780: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 778: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 784: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 77c: 9b e3 ldi r25, 0x3B ; 59 - 77e: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 788: 9b e3 ldi r25, 0x3B ; 59 + 78a: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 782: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 78e: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 786: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 792: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 78a: 80 81 ld r24, Z - 78c: 80 68 ori r24, 0x80 ; 128 - 78e: 80 83 st Z, r24 + 796: 80 81 ld r24, Z + 798: 80 68 ori r24, 0x80 ; 128 + 79a: 80 83 st Z, r24 } - 790: cf 91 pop r28 - 792: 08 95 ret + 79c: cf 91 pop r28 + 79e: 08 95 ret -00000794 : +000007a0 : void tiny_dma_loop_mode_2(void){ - 794: cf 93 push r28 + 7a0: cf 93 push r28 DMA.CH0.CTRLA = 0x00; - 796: e0 e0 ldi r30, 0x00 ; 0 - 798: f1 e0 ldi r31, 0x01 ; 1 - 79a: 10 8a std Z+16, r1 ; 0x10 + 7a2: e0 e0 ldi r30, 0x00 ; 0 + 7a4: f1 e0 ldi r31, 0x01 ; 1 + 7a6: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 79c: b0 e4 ldi r27, 0x40 ; 64 - 79e: b0 8b std Z+16, r27 ; 0x10 + 7a8: b0 e4 ldi r27, 0x40 ; 64 + 7aa: b0 8b std Z+16, r27 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 7a0: a4 e0 ldi r26, 0x04 ; 4 - 7a2: a0 8b std Z+16, r26 ; 0x10 + 7ac: a4 e0 ldi r26, 0x04 ; 4 + 7ae: a0 8b std Z+16, r26 ; 0x10 DMA.CH0.CTRLB = 0x00; //No interrupt! - 7a4: 11 8a std Z+17, r1 ; 0x11 + 7b0: 11 8a std Z+17, r1 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 7a6: 51 e9 ldi r21, 0x91 ; 145 - 7a8: 52 8b std Z+18, r21 ; 0x12 + 7b2: 51 e9 ldi r21, 0x91 ; 145 + 7b4: 52 8b std Z+18, r21 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 7aa: 80 e1 ldi r24, 0x10 ; 16 - 7ac: 83 8b std Z+19, r24 ; 0x13 + 7b6: 80 e1 ldi r24, 0x10 ; 16 + 7b8: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 7ae: 67 e7 ldi r22, 0x77 ; 119 - 7b0: 71 e0 ldi r23, 0x01 ; 1 - 7b2: 64 8b std Z+20, r22 ; 0x14 - 7b4: 75 8b std Z+21, r23 ; 0x15 + 7ba: 67 e7 ldi r22, 0x77 ; 119 + 7bc: 71 e0 ldi r23, 0x01 ; 1 + 7be: 64 8b std Z+20, r22 ; 0x14 + 7c0: 75 8b std Z+21, r23 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 7b6: 84 e2 ldi r24, 0x24 ; 36 - 7b8: 80 8f std Z+24, r24 ; 0x18 + 7c2: 84 e2 ldi r24, 0x24 ; 36 + 7c4: 80 8f std Z+24, r24 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 7ba: 42 e0 ldi r20, 0x02 ; 2 - 7bc: 41 8f std Z+25, r20 ; 0x19 + 7c6: 42 e0 ldi r20, 0x02 ; 2 + 7c8: 41 8f std Z+25, r20 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 7be: 12 8e std Z+26, r1 ; 0x1a + 7ca: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 7c0: c0 91 b4 20 lds r28, 0x20B4 ; 0x8020b4 - 7c4: 8e ee ldi r24, 0xEE ; 238 - 7c6: 92 e0 ldi r25, 0x02 ; 2 - 7c8: c8 9f mul r28, r24 - 7ca: 90 01 movw r18, r0 - 7cc: c9 9f mul r28, r25 - 7ce: 30 0d add r19, r0 - 7d0: 11 24 eor r1, r1 - 7d2: 2a 59 subi r18, 0x9A ; 154 - 7d4: 39 4d sbci r19, 0xD9 ; 217 - 7d6: 24 8f std Z+28, r18 ; 0x1c + 7cc: c0 91 b4 20 lds r28, 0x20B4 ; 0x8020b4 + 7d0: 8e ee ldi r24, 0xEE ; 238 + 7d2: 92 e0 ldi r25, 0x02 ; 2 + 7d4: c8 9f mul r28, r24 + 7d6: 90 01 movw r18, r0 + 7d8: c9 9f mul r28, r25 + 7da: 30 0d add r19, r0 + 7dc: 11 24 eor r1, r1 + 7de: 2a 59 subi r18, 0x9A ; 154 + 7e0: 39 4d sbci r19, 0xD9 ; 217 + 7e2: 24 8f std Z+28, r18 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - 7d8: c0 91 b4 20 lds r28, 0x20B4 ; 0x8020b4 - 7dc: c8 9f mul r28, r24 - 7de: 90 01 movw r18, r0 - 7e0: c9 9f mul r28, r25 - 7e2: 30 0d add r19, r0 - 7e4: 11 24 eor r1, r1 - 7e6: 2a 59 subi r18, 0x9A ; 154 - 7e8: 39 4d sbci r19, 0xD9 ; 217 - 7ea: 35 8f std Z+29, r19 ; 0x1d + 7e4: c0 91 b4 20 lds r28, 0x20B4 ; 0x8020b4 + 7e8: c8 9f mul r28, r24 + 7ea: 90 01 movw r18, r0 + 7ec: c9 9f mul r28, r25 + 7ee: 30 0d add r19, r0 + 7f0: 11 24 eor r1, r1 + 7f2: 2a 59 subi r18, 0x9A ; 154 + 7f4: 39 4d sbci r19, 0xD9 ; 217 + 7f6: 35 8f std Z+29, r19 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 7ec: 16 8e std Z+30, r1 ; 0x1e + 7f8: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 7ee: 20 89 ldd r18, Z+16 ; 0x10 - 7f0: 20 68 ori r18, 0x80 ; 128 - 7f2: 20 8b std Z+16, r18 ; 0x10 + 7fa: 20 89 ldd r18, Z+16 ; 0x10 + 7fc: 20 68 ori r18, 0x80 ; 128 + 7fe: 20 8b std Z+16, r18 ; 0x10 DMA.CH1.CTRLA = 0x00; - 7f4: 10 a2 std Z+32, r1 ; 0x20 + 800: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 7f6: b0 a3 std Z+32, r27 ; 0x20 + 802: b0 a3 std Z+32, r27 ; 0x20 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 7f8: a0 a3 std Z+32, r26 ; 0x20 + 804: a0 a3 std Z+32, r26 ; 0x20 DMA.CH1.CTRLB = 0x00; //No interrupt! - 7fa: 11 a2 std Z+33, r1 ; 0x21 + 806: 11 a2 std Z+33, r1 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 7fc: 52 a3 std Z+34, r21 ; 0x22 + 808: 52 a3 std Z+34, r21 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH2_gc; //Triggered from ADCA channel 0 - 7fe: 22 e1 ldi r18, 0x12 ; 18 - 800: 23 a3 std Z+35, r18 ; 0x23 + 80a: 22 e1 ldi r18, 0x12 ; 18 + 80c: 23 a3 std Z+35, r18 ; 0x23 DMA.CH1.TRFCNT = HALFPACKET_SIZE; - 802: 64 a3 std Z+36, r22 ; 0x24 - 804: 75 a3 std Z+37, r23 ; 0x25 + 80e: 64 a3 std Z+36, r22 ; 0x24 + 810: 75 a3 std Z+37, r23 ; 0x25 DMA.CH1.SRCADDR0 = (( (uint16_t) &ADCA.CH2.RESL) >> 0) & 0xFF; //Source address is ADC - 806: 24 e3 ldi r18, 0x34 ; 52 - 808: 20 a7 std Z+40, r18 ; 0x28 + 812: 24 e3 ldi r18, 0x34 ; 52 + 814: 20 a7 std Z+40, r18 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &ADCA.CH2.RESL) >> 8) & 0xFF; - 80a: 41 a7 std Z+41, r20 ; 0x29 + 816: 41 a7 std Z+41, r20 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 80c: 12 a6 std Z+42, r1 ; 0x2a + 818: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 80e: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 812: 48 9f mul r20, r24 - 814: 90 01 movw r18, r0 - 816: 49 9f mul r20, r25 - 818: 30 0d add r19, r0 - 81a: 11 24 eor r1, r1 - 81c: 23 52 subi r18, 0x23 ; 35 - 81e: 38 4d sbci r19, 0xD8 ; 216 - 820: 24 a7 std Z+44, r18 ; 0x2c + 81a: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + 81e: 48 9f mul r20, r24 + 820: 90 01 movw r18, r0 + 822: 49 9f mul r20, r25 + 824: 30 0d add r19, r0 + 826: 11 24 eor r1, r1 + 828: 23 52 subi r18, 0x23 ; 35 + 82a: 38 4d sbci r19, 0xD8 ; 216 + 82c: 24 a7 std Z+44, r18 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - 822: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 826: 48 9f mul r20, r24 - 828: 90 01 movw r18, r0 - 82a: 49 9f mul r20, r25 - 82c: 30 0d add r19, r0 - 82e: 11 24 eor r1, r1 - 830: c9 01 movw r24, r18 - 832: 83 52 subi r24, 0x23 ; 35 - 834: 98 4d sbci r25, 0xD8 ; 216 - 836: 95 a7 std Z+45, r25 ; 0x2d + 82e: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + 832: 48 9f mul r20, r24 + 834: 90 01 movw r18, r0 + 836: 49 9f mul r20, r25 + 838: 30 0d add r19, r0 + 83a: 11 24 eor r1, r1 + 83c: c9 01 movw r24, r18 + 83e: 83 52 subi r24, 0x23 ; 35 + 840: 98 4d sbci r25, 0xD8 ; 216 + 842: 95 a7 std Z+45, r25 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 838: 16 a6 std Z+46, r1 ; 0x2e + 844: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 83a: 80 a1 ldd r24, Z+32 ; 0x20 - 83c: 80 68 ori r24, 0x80 ; 128 - 83e: 80 a3 std Z+32, r24 ; 0x20 + 846: 80 a1 ldd r24, Z+32 ; 0x20 + 848: 80 68 ori r24, 0x80 ; 128 + 84a: 80 a3 std Z+32, r24 ; 0x20 } - 840: cf 91 pop r28 - 842: 08 95 ret + 84c: cf 91 pop r28 + 84e: 08 95 ret -00000844 : +00000850 : void tiny_dma_set_mode_3(void){ - 844: cf 93 push r28 + 850: cf 93 push r28 global_mode = 3; - 846: c3 e0 ldi r28, 0x03 ; 3 - 848: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 852: c3 e0 ldi r28, 0x03 ; 3 + 854: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 84c: 2a de rcall .-940 ; 0x4a2 + 858: 2a de rcall .-940 ; 0x4ae //AUX channel (to keep it tx, therefore always rx) DMA.CH1.CTRLA = 0x00; - 84e: e0 e0 ldi r30, 0x00 ; 0 - 850: f1 e0 ldi r31, 0x01 ; 1 - 852: 10 a2 std Z+32, r1 ; 0x20 + 85a: e0 e0 ldi r30, 0x00 ; 0 + 85c: f1 e0 ldi r31, 0x01 ; 1 + 85e: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 854: 80 e4 ldi r24, 0x40 ; 64 - 856: 80 a3 std Z+32, r24 ; 0x20 + 860: 80 e4 ldi r24, 0x40 ; 64 + 862: 80 a3 std Z+32, r24 ; 0x20 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 858: 84 e0 ldi r24, 0x04 ; 4 - 85a: 80 a3 std Z+32, r24 ; 0x20 + 864: 84 e0 ldi r24, 0x04 ; 4 + 866: 80 a3 std Z+32, r24 ; 0x20 DMA.CH1.CTRLB = 0x00; //No int - 85c: 11 a2 std Z+33, r1 ; 0x21 + 868: 11 a2 std Z+33, r1 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 85e: 12 a2 std Z+34, r1 ; 0x22 + 86a: 12 a2 std Z+34, r1 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 860: 8b e4 ldi r24, 0x4B ; 75 - 862: 83 a3 std Z+35, r24 ; 0x23 + 86c: 8b e4 ldi r24, 0x4B ; 75 + 86e: 83 a3 std Z+35, r24 ; 0x23 DMA.CH1.TRFCNT = 0; - 864: 14 a2 std Z+36, r1 ; 0x24 - 866: 15 a2 std Z+37, r1 ; 0x25 + 870: 14 a2 std Z+36, r1 ; 0x24 + 872: 15 a2 std Z+37, r1 ; 0x25 DMA.CH1.REPCNT = 0; - 868: 16 a2 std Z+38, r1 ; 0x26 + 874: 16 a2 std Z+38, r1 ; 0x26 DMA.CH1.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 86a: 81 e0 ldi r24, 0x01 ; 1 - 86c: 90 e2 ldi r25, 0x20 ; 32 - 86e: 80 a7 std Z+40, r24 ; 0x28 + 876: 81 e0 ldi r24, 0x01 ; 1 + 878: 90 e2 ldi r25, 0x20 ; 32 + 87a: 80 a7 std Z+40, r24 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 870: 91 a7 std Z+41, r25 ; 0x29 + 87c: 91 a7 std Z+41, r25 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 872: 12 a6 std Z+42, r1 ; 0x2a + 87e: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 874: 80 ea ldi r24, 0xA0 ; 160 - 876: 84 a7 std Z+44, r24 ; 0x2c + 880: 80 ea ldi r24, 0xA0 ; 160 + 882: 84 a7 std Z+44, r24 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 878: 88 e0 ldi r24, 0x08 ; 8 - 87a: 85 a7 std Z+45, r24 ; 0x2d + 884: 88 e0 ldi r24, 0x08 ; 8 + 886: 85 a7 std Z+45, r24 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 87c: 16 a6 std Z+46, r1 ; 0x2e + 888: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_REPEAT_bm | DMA_CH_ENABLE_bm; //Enable! - 87e: 80 a1 ldd r24, Z+32 ; 0x20 - 880: 80 6a ori r24, 0xA0 ; 160 - 882: 80 a3 std Z+32, r24 ; 0x20 + 88a: 80 a1 ldd r24, Z+32 ; 0x20 + 88c: 80 6a ori r24, 0xA0 ; 160 + 88e: 80 a3 std Z+32, r24 ; 0x20 USARTC0.DATA = 0x55; - 884: 85 e5 ldi r24, 0x55 ; 85 - 886: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 890: 85 e5 ldi r24, 0x55 ; 85 + 892: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> DMA.CH2.REPCNT = 0; //Repeat forever! - 88a: 16 aa std Z+54, r1 ; 0x36 + 896: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 88c: 24 e2 ldi r18, 0x24 ; 36 - 88e: 20 ab std Z+48, r18 ; 0x30 + 898: 24 e2 ldi r18, 0x24 ; 36 + 89a: 20 ab std Z+48, r18 ; 0x30 DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! - 890: 11 aa std Z+49, r1 ; 0x31 + 89c: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 892: 99 e5 ldi r25, 0x59 ; 89 - 894: 92 ab std Z+50, r25 ; 0x32 + 89e: 99 e5 ldi r25, 0x59 ; 89 + 8a0: 92 ab std Z+50, r25 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 896: 82 e0 ldi r24, 0x02 ; 2 - 898: 83 ab std Z+51, r24 ; 0x33 + 8a2: 82 e0 ldi r24, 0x02 ; 2 + 8a4: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = auxDacBufLen; - 89a: 40 91 02 20 lds r20, 0x2002 ; 0x802002 - 89e: 50 91 03 20 lds r21, 0x2003 ; 0x802003 - 8a2: 44 ab std Z+52, r20 ; 0x34 - 8a4: 55 ab std Z+53, r21 ; 0x35 + 8a6: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + 8aa: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + 8ae: 44 ab std Z+52, r20 ; 0x34 + 8b0: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 8a6: 46 e6 ldi r20, 0x66 ; 102 - 8a8: 54 e2 ldi r21, 0x24 ; 36 - 8aa: 40 af std Z+56, r20 ; 0x38 + 8b2: 46 e6 ldi r20, 0x66 ; 102 + 8b4: 54 e2 ldi r21, 0x24 ; 36 + 8b6: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 8ac: 51 af std Z+57, r21 ; 0x39 + 8b8: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 8ae: 12 ae std Z+58, r1 ; 0x3a + 8ba: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 8b0: 8b e3 ldi r24, 0x3B ; 59 - 8b2: 84 af std Z+60, r24 ; 0x3c + 8bc: 8b e3 ldi r24, 0x3B ; 59 + 8be: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 8b4: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 8c0: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 8b8: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 8c4: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 8bc: 80 a9 ldd r24, Z+48 ; 0x30 - 8be: 80 68 ori r24, 0x80 ; 128 - 8c0: 80 ab std Z+48, r24 ; 0x30 + 8c8: 80 a9 ldd r24, Z+48 ; 0x30 + 8ca: 80 68 ori r24, 0x80 ; 128 + 8cc: 80 ab std Z+48, r24 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 8c2: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 8ce: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 8c6: e0 e4 ldi r30, 0x40 ; 64 - 8c8: f1 e0 ldi r31, 0x01 ; 1 - 8ca: 20 83 st Z, r18 + 8d2: e0 e4 ldi r30, 0x40 ; 64 + 8d4: f1 e0 ldi r31, 0x01 ; 1 + 8d6: 20 83 st Z, r18 DMA.CH3.CTRLB = 0x00; //Hi interrupt on block complete - 8cc: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 8d8: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 8d0: 90 93 42 01 sts 0x0142, r25 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 8dc: 90 93 42 01 sts 0x0142, r25 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 8d4: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 8e0: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = dacBuf_len; - 8d8: 80 91 04 20 lds r24, 0x2004 ; 0x802004 - 8dc: 90 91 05 20 lds r25, 0x2005 ; 0x802005 - 8e0: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 8e4: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 8e4: 80 91 04 20 lds r24, 0x2004 ; 0x802004 + 8e8: 90 91 05 20 lds r25, 0x2005 ; 0x802005 + 8ec: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 8f0: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 8e8: 86 e5 ldi r24, 0x56 ; 86 - 8ea: 92 e2 ldi r25, 0x22 ; 34 - 8ec: 80 93 48 01 sts 0x0148, r24 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 8f4: 86 e5 ldi r24, 0x56 ; 86 + 8f6: 92 e2 ldi r25, 0x22 ; 34 + 8f8: 80 93 48 01 sts 0x0148, r24 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 8f0: 90 93 49 01 sts 0x0149, r25 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 8fc: 90 93 49 01 sts 0x0149, r25 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 8f4: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 900: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 8f8: 89 e3 ldi r24, 0x39 ; 57 - 8fa: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 904: 89 e3 ldi r24, 0x39 ; 57 + 906: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 8fe: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 90a: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 902: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 90e: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 906: 80 81 ld r24, Z - 908: 80 68 ori r24, 0x80 ; 128 - 90a: 80 83 st Z, r24 + 912: 80 81 ld r24, Z + 914: 80 68 ori r24, 0x80 ; 128 + 916: 80 83 st Z, r24 } - 90c: cf 91 pop r28 - 90e: 08 95 ret + 918: cf 91 pop r28 + 91a: 08 95 ret -00000910 : +0000091c : void tiny_dma_loop_mode_3(void){ //Actual data being transferred DMA.CH0.CTRLA = 0x00; - 910: e0 e0 ldi r30, 0x00 ; 0 - 912: f1 e0 ldi r31, 0x01 ; 1 - 914: 10 8a std Z+16, r1 ; 0x10 + 91c: e0 e0 ldi r30, 0x00 ; 0 + 91e: f1 e0 ldi r31, 0x01 ; 1 + 920: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 916: 80 e4 ldi r24, 0x40 ; 64 - 918: 80 8b std Z+16, r24 ; 0x10 + 922: 80 e4 ldi r24, 0x40 ; 64 + 924: 80 8b std Z+16, r24 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 91a: 84 e0 ldi r24, 0x04 ; 4 - 91c: 80 8b std Z+16, r24 ; 0x10 + 926: 84 e0 ldi r24, 0x04 ; 4 + 928: 80 8b std Z+16, r24 ; 0x10 DMA.CH0.CTRLB = 0x00; //No interrupt - 91e: 11 8a std Z+17, r1 ; 0x11 + 92a: 11 8a std Z+17, r1 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 920: 81 e9 ldi r24, 0x91 ; 145 - 922: 82 8b std Z+18, r24 ; 0x12 + 92c: 81 e9 ldi r24, 0x91 ; 145 + 92e: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 924: 8b e4 ldi r24, 0x4B ; 75 - 926: 83 8b std Z+19, r24 ; 0x13 + 930: 8b e4 ldi r24, 0x4B ; 75 + 932: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 928: 87 e7 ldi r24, 0x77 ; 119 - 92a: 91 e0 ldi r25, 0x01 ; 1 - 92c: 84 8b std Z+20, r24 ; 0x14 - 92e: 95 8b std Z+21, r25 ; 0x15 + 934: 87 e7 ldi r24, 0x77 ; 119 + 936: 91 e0 ldi r25, 0x01 ; 1 + 938: 84 8b std Z+20, r24 ; 0x14 + 93a: 95 8b std Z+21, r25 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; //Source address is ADC - 930: 80 ea ldi r24, 0xA0 ; 160 - 932: 80 8f std Z+24, r24 ; 0x18 + 93c: 80 ea ldi r24, 0xA0 ; 160 + 93e: 80 8f std Z+24, r24 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 934: 88 e0 ldi r24, 0x08 ; 8 - 936: 81 8f std Z+25, r24 ; 0x19 + 940: 88 e0 ldi r24, 0x08 ; 8 + 942: 81 8f std Z+25, r24 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 938: 12 8e std Z+26, r1 ; 0x1a + 944: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state*PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 93a: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 93e: 2e ee ldi r18, 0xEE ; 238 - 940: 32 e0 ldi r19, 0x02 ; 2 - 942: 42 9f mul r20, r18 - 944: c0 01 movw r24, r0 - 946: 43 9f mul r20, r19 - 948: 90 0d add r25, r0 - 94a: 11 24 eor r1, r1 - 94c: 8a 59 subi r24, 0x9A ; 154 - 94e: 99 4d sbci r25, 0xD9 ; 217 - 950: 84 8f std Z+28, r24 ; 0x1c + 946: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + 94a: 2e ee ldi r18, 0xEE ; 238 + 94c: 32 e0 ldi r19, 0x02 ; 2 + 94e: 42 9f mul r20, r18 + 950: c0 01 movw r24, r0 + 952: 43 9f mul r20, r19 + 954: 90 0d add r25, r0 + 956: 11 24 eor r1, r1 + 958: 8a 59 subi r24, 0x9A ; 154 + 95a: 99 4d sbci r25, 0xD9 ; 217 + 95c: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state*PACKET_SIZE]) >> 8) & 0xFF; - 952: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 956: 42 9f mul r20, r18 - 958: c0 01 movw r24, r0 - 95a: 43 9f mul r20, r19 - 95c: 90 0d add r25, r0 - 95e: 11 24 eor r1, r1 - 960: 8a 59 subi r24, 0x9A ; 154 - 962: 99 4d sbci r25, 0xD9 ; 217 - 964: 95 8f std Z+29, r25 ; 0x1d + 95e: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + 962: 42 9f mul r20, r18 + 964: c0 01 movw r24, r0 + 966: 43 9f mul r20, r19 + 968: 90 0d add r25, r0 + 96a: 11 24 eor r1, r1 + 96c: 8a 59 subi r24, 0x9A ; 154 + 96e: 99 4d sbci r25, 0xD9 ; 217 + 970: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 966: 16 8e std Z+30, r1 ; 0x1e + 972: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 968: 80 89 ldd r24, Z+16 ; 0x10 - 96a: 80 68 ori r24, 0x80 ; 128 - 96c: 80 8b std Z+16, r24 ; 0x10 - 96e: 08 95 ret + 974: 80 89 ldd r24, Z+16 ; 0x10 + 976: 80 68 ori r24, 0x80 ; 128 + 978: 80 8b std Z+16, r24 ; 0x10 + 97a: 08 95 ret -00000970 : +0000097c : } void tiny_dma_set_mode_4(void){ - 970: cf 93 push r28 + 97c: cf 93 push r28 global_mode = 4; - 972: c4 e0 ldi r28, 0x04 ; 4 - 974: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 97e: c4 e0 ldi r28, 0x04 ; 4 + 980: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 978: 94 dd rcall .-1240 ; 0x4a2 + 984: 94 dd rcall .-1240 ; 0x4ae //AUX channel (to keep it tx, therefore always rx) DMA.CH1.CTRLA = 0x00; - 97a: e0 e0 ldi r30, 0x00 ; 0 - 97c: f1 e0 ldi r31, 0x01 ; 1 - 97e: 10 a2 std Z+32, r1 ; 0x20 + 986: e0 e0 ldi r30, 0x00 ; 0 + 988: f1 e0 ldi r31, 0x01 ; 1 + 98a: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 980: 80 e4 ldi r24, 0x40 ; 64 - 982: 80 a3 std Z+32, r24 ; 0x20 + 98c: 80 e4 ldi r24, 0x40 ; 64 + 98e: 80 a3 std Z+32, r24 ; 0x20 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 984: c0 a3 std Z+32, r28 ; 0x20 + 990: c0 a3 std Z+32, r28 ; 0x20 DMA.CH1.CTRLB = 0x00; //No int - 986: 11 a2 std Z+33, r1 ; 0x21 + 992: 11 a2 std Z+33, r1 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 988: 12 a2 std Z+34, r1 ; 0x22 + 994: 12 a2 std Z+34, r1 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 98a: 8b e4 ldi r24, 0x4B ; 75 - 98c: 83 a3 std Z+35, r24 ; 0x23 + 996: 8b e4 ldi r24, 0x4B ; 75 + 998: 83 a3 std Z+35, r24 ; 0x23 DMA.CH1.TRFCNT = 0; - 98e: 14 a2 std Z+36, r1 ; 0x24 - 990: 15 a2 std Z+37, r1 ; 0x25 + 99a: 14 a2 std Z+36, r1 ; 0x24 + 99c: 15 a2 std Z+37, r1 ; 0x25 DMA.CH1.REPCNT = 0; - 992: 16 a2 std Z+38, r1 ; 0x26 + 99e: 16 a2 std Z+38, r1 ; 0x26 DMA.CH1.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 994: 81 e0 ldi r24, 0x01 ; 1 - 996: 90 e2 ldi r25, 0x20 ; 32 - 998: 80 a7 std Z+40, r24 ; 0x28 + 9a0: 81 e0 ldi r24, 0x01 ; 1 + 9a2: 90 e2 ldi r25, 0x20 ; 32 + 9a4: 80 a7 std Z+40, r24 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 99a: 91 a7 std Z+41, r25 ; 0x29 + 9a6: 91 a7 std Z+41, r25 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 99c: 12 a6 std Z+42, r1 ; 0x2a + 9a8: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 99e: 80 ea ldi r24, 0xA0 ; 160 - 9a0: 84 a7 std Z+44, r24 ; 0x2c + 9aa: 80 ea ldi r24, 0xA0 ; 160 + 9ac: 84 a7 std Z+44, r24 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 9a2: 88 e0 ldi r24, 0x08 ; 8 - 9a4: 85 a7 std Z+45, r24 ; 0x2d + 9ae: 88 e0 ldi r24, 0x08 ; 8 + 9b0: 85 a7 std Z+45, r24 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 9a6: 16 a6 std Z+46, r1 ; 0x2e + 9b2: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_REPEAT_bm | DMA_CH_ENABLE_bm; //Enable! - 9a8: 80 a1 ldd r24, Z+32 ; 0x20 - 9aa: 80 6a ori r24, 0xA0 ; 160 - 9ac: 80 a3 std Z+32, r24 ; 0x20 - - USARTC0.DATA = 0x55; - 9ae: 85 e5 ldi r24, 0x55 ; 85 - 9b0: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> - + 9b4: 80 a1 ldd r24, Z+32 ; 0x20 + 9b6: 80 6a ori r24, 0xA0 ; 160 + 9b8: 80 a3 std Z+32, r24 ; 0x20 + DMA.CH2.REPCNT = 0; //Repeat forever! - 9b4: 16 aa std Z+54, r1 ; 0x36 + 9ba: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 9b6: 34 e2 ldi r19, 0x24 ; 36 - 9b8: 30 ab std Z+48, r19 ; 0x30 - DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - 9ba: 11 aa std Z+49, r1 ; 0x31 + 9bc: 84 e2 ldi r24, 0x24 ; 36 + 9be: 80 ab std Z+48, r24 ; 0x30 + DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! + 9c0: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 9bc: 29 e5 ldi r18, 0x59 ; 89 - 9be: 22 ab std Z+50, r18 ; 0x32 - DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 9c0: 83 e0 ldi r24, 0x03 ; 3 - 9c2: 83 ab std Z+51, r24 ; 0x33 - DMA.CH2.TRFCNT = dacBuf_len; - 9c4: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 9c8: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 9cc: 44 ab std Z+52, r20 ; 0x34 - 9ce: 55 ab std Z+53, r21 ; 0x35 + 9c2: 89 e5 ldi r24, 0x59 ; 89 + 9c4: 82 ab std Z+50, r24 ; 0x32 + DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER + 9c6: 82 e0 ldi r24, 0x02 ; 2 + 9c8: 83 ab std Z+51, r24 ; 0x33 + DMA.CH2.TRFCNT = auxDacBufLen; + 9ca: 80 91 02 20 lds r24, 0x2002 ; 0x802002 + 9ce: 90 91 03 20 lds r25, 0x2003 ; 0x802003 + 9d2: 84 ab std Z+52, r24 ; 0x34 + 9d4: 95 ab std Z+53, r25 ; 0x35 - DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 9d0: 46 e5 ldi r20, 0x56 ; 86 - 9d2: 52 e2 ldi r21, 0x22 ; 34 - 9d4: 40 af std Z+56, r20 ; 0x38 - DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 9d6: 51 af std Z+57, r21 ; 0x39 + DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf + 9d6: 86 e6 ldi r24, 0x66 ; 102 + 9d8: 94 e2 ldi r25, 0x24 ; 36 + 9da: 80 af std Z+56, r24 ; 0x38 + DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; + 9dc: 91 af std Z+57, r25 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 9d8: 12 ae std Z+58, r1 ; 0x3a - - DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 9da: 99 e3 ldi r25, 0x39 ; 57 - 9dc: 94 af std Z+60, r25 ; 0x3c - DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 9de: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 9de: 12 ae std Z+58, r1 ; 0x3a + + DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register + 9e0: 8b e3 ldi r24, 0x3B ; 59 + 9e2: 84 af std Z+60, r24 ; 0x3c + DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; + 9e4: 83 e0 ldi r24, 0x03 ; 3 + 9e6: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 9e2: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - + 9ea: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 9e6: 90 a9 ldd r25, Z+48 ; 0x30 - 9e8: 90 68 ori r25, 0x80 ; 128 - 9ea: 90 ab std Z+48, r25 ; 0x30 - - - DMA.CH3.REPCNT = 0; //Repeat forever! - 9ec: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 9f0: e0 e4 ldi r30, 0x40 ; 64 - 9f2: f1 e0 ldi r31, 0x01 ; 1 - 9f4: 30 83 st Z, r19 - DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 9f6: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 9fa: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 9fe: 92 e0 ldi r25, 0x02 ; 2 - a00: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - DMA.CH3.TRFCNT = auxDacBufLen; - a04: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - a08: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - a0c: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - a10: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - - DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - a14: 26 e6 ldi r18, 0x66 ; 102 - a16: 34 e2 ldi r19, 0x24 ; 36 - a18: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - a1c: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - DMA.CH3.SRCADDR2 = 0x00; - a20: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - - DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - a24: 9b e3 ldi r25, 0x3B ; 59 - a26: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - a2a: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - DMA.CH3.DESTADDR2 = 0x00; - a2e: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - - //Must enable last for REPCNT won't work! - DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - a32: 80 81 ld r24, Z - a34: 80 68 ori r24, 0x80 ; 128 - a36: 80 83 st Z, r24 + 9ee: 80 a9 ldd r24, Z+48 ; 0x30 + 9f0: 80 68 ori r24, 0x80 ; 128 + 9f2: 80 ab std Z+48, r24 ; 0x30 } - a38: cf 91 pop r28 - a3a: 08 95 ret + 9f4: cf 91 pop r28 + 9f6: 08 95 ret -00000a3c : +000009f8 : void tiny_dma_loop_mode_4(void){ - a3c: cf 93 push r28 + 9f8: cf 93 push r28 //Actual data being transferred DMA.CH0.CTRLA = 0x00; - a3e: e0 e0 ldi r30, 0x00 ; 0 - a40: f1 e0 ldi r31, 0x01 ; 1 - a42: 10 8a std Z+16, r1 ; 0x10 + 9fa: e0 e0 ldi r30, 0x00 ; 0 + 9fc: f1 e0 ldi r31, 0x01 ; 1 + 9fe: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - a44: b0 e4 ldi r27, 0x40 ; 64 - a46: b0 8b std Z+16, r27 ; 0x10 + a00: b0 e4 ldi r27, 0x40 ; 64 + a02: b0 8b std Z+16, r27 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - a48: a4 e0 ldi r26, 0x04 ; 4 - a4a: a0 8b std Z+16, r26 ; 0x10 + a04: a4 e0 ldi r26, 0x04 ; 4 + a06: a0 8b std Z+16, r26 ; 0x10 DMA.CH0.CTRLB = 0x00; //No interrupt - a4c: 11 8a std Z+17, r1 ; 0x11 + a08: 11 8a std Z+17, r1 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - a4e: 51 e9 ldi r21, 0x91 ; 145 - a50: 52 8b std Z+18, r21 ; 0x12 + a0a: 51 e9 ldi r21, 0x91 ; 145 + a0c: 52 8b std Z+18, r21 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - a52: 8b e4 ldi r24, 0x4B ; 75 - a54: 83 8b std Z+19, r24 ; 0x13 + a0e: 8b e4 ldi r24, 0x4B ; 75 + a10: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - a56: 67 e7 ldi r22, 0x77 ; 119 - a58: 71 e0 ldi r23, 0x01 ; 1 - a5a: 64 8b std Z+20, r22 ; 0x14 - a5c: 75 8b std Z+21, r23 ; 0x15 + a12: 67 e7 ldi r22, 0x77 ; 119 + a14: 71 e0 ldi r23, 0x01 ; 1 + a16: 64 8b std Z+20, r22 ; 0x14 + a18: 75 8b std Z+21, r23 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; //Source address is ADC - a5e: 80 ea ldi r24, 0xA0 ; 160 - a60: 80 8f std Z+24, r24 ; 0x18 + a1a: 80 ea ldi r24, 0xA0 ; 160 + a1c: 80 8f std Z+24, r24 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - a62: 48 e0 ldi r20, 0x08 ; 8 - a64: 41 8f std Z+25, r20 ; 0x19 + a1e: 48 e0 ldi r20, 0x08 ; 8 + a20: 41 8f std Z+25, r20 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - a66: 12 8e std Z+26, r1 ; 0x1a + a22: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state*PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - a68: c0 91 b4 20 lds r28, 0x20B4 ; 0x8020b4 - a6c: 8e ee ldi r24, 0xEE ; 238 - a6e: 92 e0 ldi r25, 0x02 ; 2 - a70: c8 9f mul r28, r24 - a72: 90 01 movw r18, r0 - a74: c9 9f mul r28, r25 - a76: 30 0d add r19, r0 - a78: 11 24 eor r1, r1 - a7a: 2a 59 subi r18, 0x9A ; 154 - a7c: 39 4d sbci r19, 0xD9 ; 217 - a7e: 24 8f std Z+28, r18 ; 0x1c + a24: c0 91 b4 20 lds r28, 0x20B4 ; 0x8020b4 + a28: 8e ee ldi r24, 0xEE ; 238 + a2a: 92 e0 ldi r25, 0x02 ; 2 + a2c: c8 9f mul r28, r24 + a2e: 90 01 movw r18, r0 + a30: c9 9f mul r28, r25 + a32: 30 0d add r19, r0 + a34: 11 24 eor r1, r1 + a36: 2a 59 subi r18, 0x9A ; 154 + a38: 39 4d sbci r19, 0xD9 ; 217 + a3a: 24 8f std Z+28, r18 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state*PACKET_SIZE]) >> 8) & 0xFF; - a80: c0 91 b4 20 lds r28, 0x20B4 ; 0x8020b4 - a84: c8 9f mul r28, r24 - a86: 90 01 movw r18, r0 - a88: c9 9f mul r28, r25 - a8a: 30 0d add r19, r0 - a8c: 11 24 eor r1, r1 - a8e: 2a 59 subi r18, 0x9A ; 154 - a90: 39 4d sbci r19, 0xD9 ; 217 - a92: 35 8f std Z+29, r19 ; 0x1d + a3c: c0 91 b4 20 lds r28, 0x20B4 ; 0x8020b4 + a40: c8 9f mul r28, r24 + a42: 90 01 movw r18, r0 + a44: c9 9f mul r28, r25 + a46: 30 0d add r19, r0 + a48: 11 24 eor r1, r1 + a4a: 2a 59 subi r18, 0x9A ; 154 + a4c: 39 4d sbci r19, 0xD9 ; 217 + a4e: 35 8f std Z+29, r19 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - a94: 16 8e std Z+30, r1 ; 0x1e + a50: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - a96: 20 89 ldd r18, Z+16 ; 0x10 - a98: 20 68 ori r18, 0x80 ; 128 - a9a: 20 8b std Z+16, r18 ; 0x10 + a52: 20 89 ldd r18, Z+16 ; 0x10 + a54: 20 68 ori r18, 0x80 ; 128 + a56: 20 8b std Z+16, r18 ; 0x10 + + //Actual data being transferred + DMA.CH3.CTRLA = 0x00; + a58: e0 e4 ldi r30, 0x40 ; 64 + a5a: f1 e0 ldi r31, 0x01 ; 1 + a5c: 10 82 st Z, r1 + DMA.CH3.CTRLA = DMA_CH_RESET_bm; + a5e: b0 83 st Z, r27 + + DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! + a60: a0 83 st Z, r26 + DMA.CH3.CTRLB = 0x00; //No interrupt + a62: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + DMA.CH3.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. + a66: 50 93 42 01 sts 0x0142, r21 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_SPIC_gc; + a6a: 2a e4 ldi r18, 0x4A ; 74 + a6c: 20 93 43 01 sts 0x0143, r18 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + DMA.CH3.TRFCNT = HALFPACKET_SIZE; + a70: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + a74: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + + DMA.CH3.SRCADDR0 = (( (uint16_t) &SPIC.DATA) >> 0) & 0xFF; //Source address is ADC + a78: 23 ec ldi r18, 0xC3 ; 195 + a7a: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + DMA.CH3.SRCADDR1 = (( (uint16_t) &SPIC.DATA) >> 8) & 0xFF; + a7e: 40 93 49 01 sts 0x0149, r20 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + DMA.CH3.SRCADDR2 = 0x00; + a82: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + + DMA.CH3.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf + a86: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + a8a: 48 9f mul r20, r24 + a8c: 90 01 movw r18, r0 + a8e: 49 9f mul r20, r25 + a90: 30 0d add r19, r0 + a92: 11 24 eor r1, r1 + a94: 23 52 subi r18, 0x23 ; 35 + a96: 38 4d sbci r19, 0xD8 ; 216 + a98: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + DMA.CH3.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 8) & 0xFF; + a9c: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + aa0: 48 9f mul r20, r24 + aa2: 90 01 movw r18, r0 + aa4: 49 9f mul r20, r25 + aa6: 30 0d add r19, r0 + aa8: 11 24 eor r1, r1 + aaa: c9 01 movw r24, r18 + aac: 83 52 subi r24, 0x23 ; 35 + aae: 98 4d sbci r25, 0xD8 ; 216 + ab0: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + DMA.CH3.DESTADDR2 = 0x00; + ab4: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - DMA.CH2.CTRLA = 0x00; - a9c: 10 aa std Z+48, r1 ; 0x30 - DMA.CH2.CTRLA = DMA_CH_RESET_bm; - a9e: b0 ab std Z+48, r27 ; 0x30 - - DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - aa0: a0 ab std Z+48, r26 ; 0x30 - DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - aa2: 11 aa std Z+49, r1 ; 0x31 - DMA.CH2.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - aa4: 52 ab std Z+50, r21 ; 0x32 - DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_SPIC_gc; - aa6: 2a e4 ldi r18, 0x4A ; 74 - aa8: 23 ab std Z+51, r18 ; 0x33 - DMA.CH2.TRFCNT = HALFPACKET_SIZE; - aaa: 64 ab std Z+52, r22 ; 0x34 - aac: 75 ab std Z+53, r23 ; 0x35 - - DMA.CH2.SRCADDR0 = (( (uint16_t) &SPIC.DATA) >> 0) & 0xFF; //Source address is ADC - aae: 23 ec ldi r18, 0xC3 ; 195 - ab0: 20 af std Z+56, r18 ; 0x38 - DMA.CH2.SRCADDR1 = (( (uint16_t) &SPIC.DATA) >> 8) & 0xFF; - ab2: 41 af std Z+57, r20 ; 0x39 - DMA.CH2.SRCADDR2 = 0x00; - ab4: 12 ae std Z+58, r1 ; 0x3a - - DMA.CH2.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - ab6: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - aba: 48 9f mul r20, r24 - abc: 90 01 movw r18, r0 - abe: 49 9f mul r20, r25 - ac0: 30 0d add r19, r0 - ac2: 11 24 eor r1, r1 - ac4: 23 52 subi r18, 0x23 ; 35 - ac6: 38 4d sbci r19, 0xD8 ; 216 - ac8: 24 af std Z+60, r18 ; 0x3c - DMA.CH2.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - aca: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - ace: 48 9f mul r20, r24 - ad0: 90 01 movw r18, r0 - ad2: 49 9f mul r20, r25 - ad4: 30 0d add r19, r0 - ad6: 11 24 eor r1, r1 - ad8: c9 01 movw r24, r18 - ada: 83 52 subi r24, 0x23 ; 35 - adc: 98 4d sbci r25, 0xD8 ; 216 - ade: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - DMA.CH2.DESTADDR2 = 0x00; - ae2: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - //Must enable last for REPCNT won't work! - DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - ae6: 80 a9 ldd r24, Z+48 ; 0x30 - ae8: 80 68 ori r24, 0x80 ; 128 - aea: 80 ab std Z+48, r24 ; 0x30 -} - aec: cf 91 pop r28 - aee: 08 95 ret + DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + ab8: 80 81 ld r24, Z + aba: 80 68 ori r24, 0x80 ; 128 + abc: 80 83 st Z, r24 +} + abe: cf 91 pop r28 + ac0: 08 95 ret -00000af0 : - +00000ac2 : void tiny_dma_set_mode_5(void){ global_mode = 5; - af0: 85 e0 ldi r24, 0x05 ; 5 - af2: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + ac2: 85 e0 ldi r24, 0x05 ; 5 + ac4: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - af6: d5 dc rcall .-1622 ; 0x4a2 + ac8: f2 dc rcall .-1564 ; 0x4ae DMA.CH2.REPCNT = 0; //Repeat forever! - af8: e0 e0 ldi r30, 0x00 ; 0 - afa: f1 e0 ldi r31, 0x01 ; 1 - afc: 16 aa std Z+54, r1 ; 0x36 + aca: e0 e0 ldi r30, 0x00 ; 0 + acc: f1 e0 ldi r31, 0x01 ; 1 + ace: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - afe: 44 e2 ldi r20, 0x24 ; 36 - b00: 40 ab std Z+48, r20 ; 0x30 + ad0: 44 e2 ldi r20, 0x24 ; 36 + ad2: 40 ab std Z+48, r20 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - b02: 11 aa std Z+49, r1 ; 0x31 + ad4: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - b04: 39 e5 ldi r19, 0x59 ; 89 - b06: 32 ab std Z+50, r19 ; 0x32 + ad6: 39 e5 ldi r19, 0x59 ; 89 + ad8: 32 ab std Z+50, r19 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - b08: 83 e0 ldi r24, 0x03 ; 3 - b0a: 83 ab std Z+51, r24 ; 0x33 + ada: 83 e0 ldi r24, 0x03 ; 3 + adc: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - b0c: 60 91 04 20 lds r22, 0x2004 ; 0x802004 - b10: 70 91 05 20 lds r23, 0x2005 ; 0x802005 - b14: 64 ab std Z+52, r22 ; 0x34 - b16: 75 ab std Z+53, r23 ; 0x35 + ade: 60 91 04 20 lds r22, 0x2004 ; 0x802004 + ae2: 70 91 05 20 lds r23, 0x2005 ; 0x802005 + ae6: 64 ab std Z+52, r22 ; 0x34 + ae8: 75 ab std Z+53, r23 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - b18: 66 e5 ldi r22, 0x56 ; 86 - b1a: 72 e2 ldi r23, 0x22 ; 34 - b1c: 60 af std Z+56, r22 ; 0x38 + aea: 66 e5 ldi r22, 0x56 ; 86 + aec: 72 e2 ldi r23, 0x22 ; 34 + aee: 60 af std Z+56, r22 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - b1e: 71 af std Z+57, r23 ; 0x39 + af0: 71 af std Z+57, r23 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - b20: 12 ae std Z+58, r1 ; 0x3a + af2: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - b22: 29 e3 ldi r18, 0x39 ; 57 - b24: 24 af std Z+60, r18 ; 0x3c + af4: 29 e3 ldi r18, 0x39 ; 57 + af6: 24 af std Z+60, r18 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - b26: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + af8: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - b2a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + afc: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - b2e: 90 a9 ldd r25, Z+48 ; 0x30 - b30: 90 68 ori r25, 0x80 ; 128 - b32: 90 ab std Z+48, r25 ; 0x30 + b00: 90 a9 ldd r25, Z+48 ; 0x30 + b02: 90 68 ori r25, 0x80 ; 128 + b04: 90 ab std Z+48, r25 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - b34: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + b06: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - b38: e0 e4 ldi r30, 0x40 ; 64 - b3a: f1 e0 ldi r31, 0x01 ; 1 - b3c: 40 83 st Z, r20 + b0a: e0 e4 ldi r30, 0x40 ; 64 + b0c: f1 e0 ldi r31, 0x01 ; 1 + b0e: 40 83 st Z, r20 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - b3e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + b10: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - b42: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + b14: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - b46: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + b18: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = dacBuf_len; - b4a: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - b4e: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - b52: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - b56: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + b1c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + b20: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + b24: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + b28: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Source address is dacbuf - b5a: 46 e6 ldi r20, 0x66 ; 102 - b5c: 56 e2 ldi r21, 0x26 ; 38 - b5e: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + b2c: 46 e6 ldi r20, 0x66 ; 102 + b2e: 56 e2 ldi r21, 0x26 ; 38 + b30: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - b62: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + b34: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - b66: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + b38: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - b6a: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + b3c: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - b6e: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + b40: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - b72: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + b44: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - b76: 80 81 ld r24, Z - b78: 80 68 ori r24, 0x80 ; 128 - b7a: 80 83 st Z, r24 - b7c: 08 95 ret + b48: 80 81 ld r24, Z + b4a: 80 68 ori r24, 0x80 ; 128 + b4c: 80 83 st Z, r24 + b4e: 08 95 ret -00000b7e : +00000b50 : } void tiny_dma_set_mode_6(void){ global_mode = 6; - b7e: 86 e0 ldi r24, 0x06 ; 6 - b80: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + b50: 86 e0 ldi r24, 0x06 ; 6 + b52: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - b84: 8e dc rcall .-1764 ; 0x4a2 + b56: ab dc rcall .-1706 ; 0x4ae DMA.CH2.REPCNT = 0; //Repeat forever! - b86: e0 e0 ldi r30, 0x00 ; 0 - b88: f1 e0 ldi r31, 0x01 ; 1 - b8a: 16 aa std Z+54, r1 ; 0x36 + b58: e0 e0 ldi r30, 0x00 ; 0 + b5a: f1 e0 ldi r31, 0x01 ; 1 + b5c: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - b8c: 34 e2 ldi r19, 0x24 ; 36 - b8e: 30 ab std Z+48, r19 ; 0x30 + b5e: 34 e2 ldi r19, 0x24 ; 36 + b60: 30 ab std Z+48, r19 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - b90: 11 aa std Z+49, r1 ; 0x31 + b62: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - b92: 29 e5 ldi r18, 0x59 ; 89 - b94: 22 ab std Z+50, r18 ; 0x32 + b64: 29 e5 ldi r18, 0x59 ; 89 + b66: 22 ab std Z+50, r18 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - b96: 83 e0 ldi r24, 0x03 ; 3 - b98: 83 ab std Z+51, r24 ; 0x33 + b68: 83 e0 ldi r24, 0x03 ; 3 + b6a: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - b9a: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - b9e: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - ba2: 44 ab std Z+52, r20 ; 0x34 - ba4: 55 ab std Z+53, r21 ; 0x35 + b6c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + b70: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + b74: 44 ab std Z+52, r20 ; 0x34 + b76: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - ba6: 46 e5 ldi r20, 0x56 ; 86 - ba8: 52 e2 ldi r21, 0x22 ; 34 - baa: 40 af std Z+56, r20 ; 0x38 + b78: 46 e5 ldi r20, 0x56 ; 86 + b7a: 52 e2 ldi r21, 0x22 ; 34 + b7c: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - bac: 51 af std Z+57, r21 ; 0x39 + b7e: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - bae: 12 ae std Z+58, r1 ; 0x3a + b80: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - bb0: 99 e3 ldi r25, 0x39 ; 57 - bb2: 94 af std Z+60, r25 ; 0x3c + b82: 99 e3 ldi r25, 0x39 ; 57 + b84: 94 af std Z+60, r25 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - bb4: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + b86: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - bb8: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + b8a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - bbc: 90 a9 ldd r25, Z+48 ; 0x30 - bbe: 90 68 ori r25, 0x80 ; 128 - bc0: 90 ab std Z+48, r25 ; 0x30 + b8e: 90 a9 ldd r25, Z+48 ; 0x30 + b90: 90 68 ori r25, 0x80 ; 128 + b92: 90 ab std Z+48, r25 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - bc2: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + b94: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - bc6: e0 e4 ldi r30, 0x40 ; 64 - bc8: f1 e0 ldi r31, 0x01 ; 1 - bca: 30 83 st Z, r19 + b98: e0 e4 ldi r30, 0x40 ; 64 + b9a: f1 e0 ldi r31, 0x01 ; 1 + b9c: 30 83 st Z, r19 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - bcc: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + b9e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - bd0: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + ba2: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - bd4: 92 e0 ldi r25, 0x02 ; 2 - bd6: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + ba6: 92 e0 ldi r25, 0x02 ; 2 + ba8: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - bda: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - bde: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - be2: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - be6: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + bac: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + bb0: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + bb4: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + bb8: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - bea: 26 e6 ldi r18, 0x66 ; 102 - bec: 34 e2 ldi r19, 0x24 ; 36 - bee: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + bbc: 26 e6 ldi r18, 0x66 ; 102 + bbe: 34 e2 ldi r19, 0x24 ; 36 + bc0: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - bf2: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + bc4: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - bf6: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + bc8: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - bfa: 9b e3 ldi r25, 0x3B ; 59 - bfc: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + bcc: 9b e3 ldi r25, 0x3B ; 59 + bce: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - c00: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + bd2: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - c04: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + bd6: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - c08: 80 81 ld r24, Z - c0a: 80 68 ori r24, 0x80 ; 128 - c0c: 80 83 st Z, r24 - c0e: 08 95 ret + bda: 80 81 ld r24, Z + bdc: 80 68 ori r24, 0x80 ; 128 + bde: 80 83 st Z, r24 + be0: 08 95 ret -00000c10 : +00000be2 : } void tiny_dma_loop_mode_6(void){ DMA.CH0.CTRLA = 0x00; - c10: e0 e0 ldi r30, 0x00 ; 0 - c12: f1 e0 ldi r31, 0x01 ; 1 - c14: 10 8a std Z+16, r1 ; 0x10 + be2: e0 e0 ldi r30, 0x00 ; 0 + be4: f1 e0 ldi r31, 0x01 ; 1 + be6: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - c16: 80 e4 ldi r24, 0x40 ; 64 - c18: 80 8b std Z+16, r24 ; 0x10 + be8: 80 e4 ldi r24, 0x40 ; 64 + bea: 80 8b std Z+16, r24 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - c1a: 84 e0 ldi r24, 0x04 ; 4 - c1c: 80 8b std Z+16, r24 ; 0x10 + bec: 84 e0 ldi r24, 0x04 ; 4 + bee: 80 8b std Z+16, r24 ; 0x10 DMA.CH0.CTRLB = 0x00; //No interrupt! - c1e: 11 8a std Z+17, r1 ; 0x11 + bf0: 11 8a std Z+17, r1 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - c20: 81 e9 ldi r24, 0x91 ; 145 - c22: 82 8b std Z+18, r24 ; 0x12 + bf2: 81 e9 ldi r24, 0x91 ; 145 + bf4: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - c24: 80 e1 ldi r24, 0x10 ; 16 - c26: 83 8b std Z+19, r24 ; 0x13 + bf6: 80 e1 ldi r24, 0x10 ; 16 + bf8: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = PACKET_SIZE; - c28: 2e ee ldi r18, 0xEE ; 238 - c2a: 32 e0 ldi r19, 0x02 ; 2 - c2c: 24 8b std Z+20, r18 ; 0x14 - c2e: 35 8b std Z+21, r19 ; 0x15 + bfa: 2e ee ldi r18, 0xEE ; 238 + bfc: 32 e0 ldi r19, 0x02 ; 2 + bfe: 24 8b std Z+20, r18 ; 0x14 + c00: 35 8b std Z+21, r19 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - c30: 84 e2 ldi r24, 0x24 ; 36 - c32: 80 8f std Z+24, r24 ; 0x18 + c02: 84 e2 ldi r24, 0x24 ; 36 + c04: 80 8f std Z+24, r24 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - c34: 82 e0 ldi r24, 0x02 ; 2 - c36: 81 8f std Z+25, r24 ; 0x19 + c06: 82 e0 ldi r24, 0x02 ; 2 + c08: 81 8f std Z+25, r24 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - c38: 12 8e std Z+26, r1 ; 0x1a + c0a: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - c3a: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - c3e: 42 9f mul r20, r18 - c40: c0 01 movw r24, r0 - c42: 43 9f mul r20, r19 - c44: 90 0d add r25, r0 - c46: 11 24 eor r1, r1 - c48: 8a 59 subi r24, 0x9A ; 154 - c4a: 99 4d sbci r25, 0xD9 ; 217 - c4c: 84 8f std Z+28, r24 ; 0x1c + c0c: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + c10: 42 9f mul r20, r18 + c12: c0 01 movw r24, r0 + c14: 43 9f mul r20, r19 + c16: 90 0d add r25, r0 + c18: 11 24 eor r1, r1 + c1a: 8a 59 subi r24, 0x9A ; 154 + c1c: 99 4d sbci r25, 0xD9 ; 217 + c1e: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - c4e: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - c52: 42 9f mul r20, r18 - c54: c0 01 movw r24, r0 - c56: 43 9f mul r20, r19 - c58: 90 0d add r25, r0 - c5a: 11 24 eor r1, r1 - c5c: 8a 59 subi r24, 0x9A ; 154 - c5e: 99 4d sbci r25, 0xD9 ; 217 - c60: 95 8f std Z+29, r25 ; 0x1d + c20: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + c24: 42 9f mul r20, r18 + c26: c0 01 movw r24, r0 + c28: 43 9f mul r20, r19 + c2a: 90 0d add r25, r0 + c2c: 11 24 eor r1, r1 + c2e: 8a 59 subi r24, 0x9A ; 154 + c30: 99 4d sbci r25, 0xD9 ; 217 + c32: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - c62: 16 8e std Z+30, r1 ; 0x1e + c34: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - c64: 80 89 ldd r24, Z+16 ; 0x10 - c66: 80 68 ori r24, 0x80 ; 128 - c68: 80 8b std Z+16, r24 ; 0x10 - c6a: 08 95 ret + c36: 80 89 ldd r24, Z+16 ; 0x10 + c38: 80 68 ori r24, 0x80 ; 128 + c3a: 80 8b std Z+16, r24 ; 0x10 + c3c: 08 95 ret -00000c6c : +00000c3e : } void tiny_dma_set_mode_7(void){ global_mode = 7; - c6c: 87 e0 ldi r24, 0x07 ; 7 - c6e: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + c3e: 87 e0 ldi r24, 0x07 ; 7 + c40: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - c72: 17 dc rcall .-2002 ; 0x4a2 + c44: 34 dc rcall .-1944 ; 0x4ae DMA.CH2.REPCNT = 0; //Repeat forever! - c74: e0 e0 ldi r30, 0x00 ; 0 - c76: f1 e0 ldi r31, 0x01 ; 1 - c78: 16 aa std Z+54, r1 ; 0x36 + c46: e0 e0 ldi r30, 0x00 ; 0 + c48: f1 e0 ldi r31, 0x01 ; 1 + c4a: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - c7a: 34 e2 ldi r19, 0x24 ; 36 - c7c: 30 ab std Z+48, r19 ; 0x30 + c4c: 34 e2 ldi r19, 0x24 ; 36 + c4e: 30 ab std Z+48, r19 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - c7e: 11 aa std Z+49, r1 ; 0x31 + c50: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - c80: 29 e5 ldi r18, 0x59 ; 89 - c82: 22 ab std Z+50, r18 ; 0x32 + c52: 29 e5 ldi r18, 0x59 ; 89 + c54: 22 ab std Z+50, r18 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - c84: 83 e0 ldi r24, 0x03 ; 3 - c86: 83 ab std Z+51, r24 ; 0x33 + c56: 83 e0 ldi r24, 0x03 ; 3 + c58: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - c88: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - c8c: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - c90: 44 ab std Z+52, r20 ; 0x34 - c92: 55 ab std Z+53, r21 ; 0x35 + c5a: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + c5e: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + c62: 44 ab std Z+52, r20 ; 0x34 + c64: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - c94: 46 e5 ldi r20, 0x56 ; 86 - c96: 52 e2 ldi r21, 0x22 ; 34 - c98: 40 af std Z+56, r20 ; 0x38 + c66: 46 e5 ldi r20, 0x56 ; 86 + c68: 52 e2 ldi r21, 0x22 ; 34 + c6a: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - c9a: 51 af std Z+57, r21 ; 0x39 + c6c: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - c9c: 12 ae std Z+58, r1 ; 0x3a + c6e: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - c9e: 99 e3 ldi r25, 0x39 ; 57 - ca0: 94 af std Z+60, r25 ; 0x3c + c70: 99 e3 ldi r25, 0x39 ; 57 + c72: 94 af std Z+60, r25 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - ca2: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + c74: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - ca6: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + c78: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - caa: 90 a9 ldd r25, Z+48 ; 0x30 - cac: 90 68 ori r25, 0x80 ; 128 - cae: 90 ab std Z+48, r25 ; 0x30 + c7c: 90 a9 ldd r25, Z+48 ; 0x30 + c7e: 90 68 ori r25, 0x80 ; 128 + c80: 90 ab std Z+48, r25 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - cb0: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + c82: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - cb4: e0 e4 ldi r30, 0x40 ; 64 - cb6: f1 e0 ldi r31, 0x01 ; 1 - cb8: 30 83 st Z, r19 + c86: e0 e4 ldi r30, 0x40 ; 64 + c88: f1 e0 ldi r31, 0x01 ; 1 + c8a: 30 83 st Z, r19 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - cba: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + c8c: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - cbe: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + c90: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - cc2: 92 e0 ldi r25, 0x02 ; 2 - cc4: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + c94: 92 e0 ldi r25, 0x02 ; 2 + c96: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - cc8: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - ccc: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - cd0: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - cd4: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + c9a: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + c9e: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + ca2: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + ca6: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - cd8: 26 e6 ldi r18, 0x66 ; 102 - cda: 34 e2 ldi r19, 0x24 ; 36 - cdc: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + caa: 26 e6 ldi r18, 0x66 ; 102 + cac: 34 e2 ldi r19, 0x24 ; 36 + cae: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - ce0: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + cb2: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - ce4: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + cb6: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - ce8: 9b e3 ldi r25, 0x3B ; 59 - cea: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + cba: 9b e3 ldi r25, 0x3B ; 59 + cbc: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - cee: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + cc0: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - cf2: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + cc4: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - cf6: 80 81 ld r24, Z - cf8: 80 68 ori r24, 0x80 ; 128 - cfa: 80 83 st Z, r24 - cfc: 08 95 ret + cc8: 80 81 ld r24, Z + cca: 80 68 ori r24, 0x80 ; 128 + ccc: 80 83 st Z, r24 + cce: 08 95 ret -00000cfe : +00000cd0 : } void tiny_dma_loop_mode_7(void){ DMA.CH0.CTRLA = 0x00; - cfe: e0 e0 ldi r30, 0x00 ; 0 - d00: f1 e0 ldi r31, 0x01 ; 1 - d02: 10 8a std Z+16, r1 ; 0x10 + cd0: e0 e0 ldi r30, 0x00 ; 0 + cd2: f1 e0 ldi r31, 0x01 ; 1 + cd4: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - d04: 80 e4 ldi r24, 0x40 ; 64 - d06: 80 8b std Z+16, r24 ; 0x10 + cd6: 80 e4 ldi r24, 0x40 ; 64 + cd8: 80 8b std Z+16, r24 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_2BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - d08: 85 e0 ldi r24, 0x05 ; 5 - d0a: 80 8b std Z+16, r24 ; 0x10 + cda: 85 e0 ldi r24, 0x05 ; 5 + cdc: 80 8b std Z+16, r24 ; 0x10 DMA.CH0.CTRLB = 0x00; //No interrupt! - d0c: 11 8a std Z+17, r1 ; 0x11 + cde: 11 8a std Z+17, r1 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - d0e: 81 e9 ldi r24, 0x91 ; 145 - d10: 82 8b std Z+18, r24 ; 0x12 + ce0: 81 e9 ldi r24, 0x91 ; 145 + ce2: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - d12: 80 e1 ldi r24, 0x10 ; 16 - d14: 83 8b std Z+19, r24 ; 0x13 + ce4: 80 e1 ldi r24, 0x10 ; 16 + ce6: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = PACKET_SIZE; - d16: 2e ee ldi r18, 0xEE ; 238 - d18: 32 e0 ldi r19, 0x02 ; 2 - d1a: 24 8b std Z+20, r18 ; 0x14 - d1c: 35 8b std Z+21, r19 ; 0x15 + ce8: 2e ee ldi r18, 0xEE ; 238 + cea: 32 e0 ldi r19, 0x02 ; 2 + cec: 24 8b std Z+20, r18 ; 0x14 + cee: 35 8b std Z+21, r19 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - d1e: 84 e2 ldi r24, 0x24 ; 36 - d20: 80 8f std Z+24, r24 ; 0x18 + cf0: 84 e2 ldi r24, 0x24 ; 36 + cf2: 80 8f std Z+24, r24 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - d22: 82 e0 ldi r24, 0x02 ; 2 - d24: 81 8f std Z+25, r24 ; 0x19 + cf4: 82 e0 ldi r24, 0x02 ; 2 + cf6: 81 8f std Z+25, r24 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - d26: 12 8e std Z+26, r1 ; 0x1a + cf8: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - d28: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - d2c: 42 9f mul r20, r18 - d2e: c0 01 movw r24, r0 - d30: 43 9f mul r20, r19 - d32: 90 0d add r25, r0 - d34: 11 24 eor r1, r1 - d36: 8a 59 subi r24, 0x9A ; 154 - d38: 99 4d sbci r25, 0xD9 ; 217 - d3a: 84 8f std Z+28, r24 ; 0x1c + cfa: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + cfe: 42 9f mul r20, r18 + d00: c0 01 movw r24, r0 + d02: 43 9f mul r20, r19 + d04: 90 0d add r25, r0 + d06: 11 24 eor r1, r1 + d08: 8a 59 subi r24, 0x9A ; 154 + d0a: 99 4d sbci r25, 0xD9 ; 217 + d0c: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - d3c: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - d40: 42 9f mul r20, r18 - d42: c0 01 movw r24, r0 - d44: 43 9f mul r20, r19 - d46: 90 0d add r25, r0 - d48: 11 24 eor r1, r1 - d4a: 8a 59 subi r24, 0x9A ; 154 - d4c: 99 4d sbci r25, 0xD9 ; 217 - d4e: 95 8f std Z+29, r25 ; 0x1d + d0e: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + d12: 42 9f mul r20, r18 + d14: c0 01 movw r24, r0 + d16: 43 9f mul r20, r19 + d18: 90 0d add r25, r0 + d1a: 11 24 eor r1, r1 + d1c: 8a 59 subi r24, 0x9A ; 154 + d1e: 99 4d sbci r25, 0xD9 ; 217 + d20: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - d50: 16 8e std Z+30, r1 ; 0x1e + d22: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - d52: 80 89 ldd r24, Z+16 ; 0x10 - d54: 80 68 ori r24, 0x80 ; 128 - d56: 80 8b std Z+16, r24 ; 0x10 - d58: 08 95 ret + d24: 80 89 ldd r24, Z+16 ; 0x10 + d26: 80 68 ori r24, 0x80 ; 128 + d28: 80 8b std Z+16, r24 ; 0x10 + d2a: 08 95 ret -00000d5a : +00000d2c : #define PSU_PER 3000 #define jump 6 void tiny_timer_setup(void){ //Turn everything on! PR.PRPC &= 0b11111100; //Enable TCC0, TCC1 - d5a: e0 e7 ldi r30, 0x70 ; 112 - d5c: f0 e0 ldi r31, 0x00 ; 0 - d5e: 83 81 ldd r24, Z+3 ; 0x03 - d60: 8c 7f andi r24, 0xFC ; 252 - d62: 83 83 std Z+3, r24 ; 0x03 + d2c: e0 e7 ldi r30, 0x70 ; 112 + d2e: f0 e0 ldi r31, 0x00 ; 0 + d30: 83 81 ldd r24, Z+3 ; 0x03 + d32: 8c 7f andi r24, 0xFC ; 252 + d34: 83 83 std Z+3, r24 ; 0x03 PR.PRPD &= 0b11111100; //Enable TCD0, TCD1 - d64: 84 81 ldd r24, Z+4 ; 0x04 - d66: 8c 7f andi r24, 0xFC ; 252 - d68: 84 83 std Z+4, r24 ; 0x04 + d36: 84 81 ldd r24, Z+4 ; 0x04 + d38: 8c 7f andi r24, 0xFC ; 252 + d3a: 84 83 std Z+4, r24 ; 0x04 PR.PRGEN &= 0b11111101; //Enable EVSYS - d6a: 80 81 ld r24, Z - d6c: 8d 7f andi r24, 0xFD ; 253 - d6e: 80 83 st Z, r24 + d3c: 80 81 ld r24, Z + d3e: 8d 7f andi r24, 0xFD ; 253 + d40: 80 83 st Z, r24 //Set up EVSYS EVSYS.CH2MUX = TCDAC_OVF; - d70: e0 e8 ldi r30, 0x80 ; 128 - d72: f1 e0 ldi r31, 0x01 ; 1 - d74: 80 ec ldi r24, 0xC0 ; 192 - d76: 82 83 std Z+2, r24 ; 0x02 + d42: e0 e8 ldi r30, 0x80 ; 128 + d44: f1 e0 ldi r31, 0x01 ; 1 + d46: 80 ec ldi r24, 0xC0 ; 192 + d48: 82 83 std Z+2, r24 ; 0x02 EVSYS.CH2CTRL = 0x00; //No filtering or Quadrature stuff - d78: 12 86 std Z+10, r1 ; 0x0a + d4a: 12 86 std Z+10, r1 ; 0x0a EVSYS.CH1MUX = TCDAC_AUX_OVF; - d7a: 88 ec ldi r24, 0xC8 ; 200 - d7c: 81 83 std Z+1, r24 ; 0x01 + d4c: 88 ec ldi r24, 0xC8 ; 200 + d4e: 81 83 std Z+1, r24 ; 0x01 EVSYS.CH1CTRL = 0x00; //No filtering or Quadrature stuff - d7e: 11 86 std Z+9, r1 ; 0x09 + d50: 11 86 std Z+9, r1 ; 0x09 //Waveform (50Hz sin wave) TC_DAC.CTRLA = 0x04; //Some clk setting - not 100% sure since it was SW generated - d80: e0 e0 ldi r30, 0x00 ; 0 - d82: f8 e0 ldi r31, 0x08 ; 8 - d84: 34 e0 ldi r19, 0x04 ; 4 - d86: 30 83 st Z, r19 + d52: e0 e0 ldi r30, 0x00 ; 0 + d54: f8 e0 ldi r31, 0x08 ; 8 + d56: 34 e0 ldi r19, 0x04 ; 4 + d58: 30 83 st Z, r19 TC_DAC.CTRLB = TC_WGMODE_SINGLESLOPE_gc; //No enable is set - d88: 23 e0 ldi r18, 0x03 ; 3 - d8a: 21 83 std Z+1, r18 ; 0x01 + d5a: 23 e0 ldi r18, 0x03 ; 3 + d5c: 21 83 std Z+1, r18 ; 0x01 TC_DAC.CTRLE = TC_BYTEM_NORMAL_gc; - d8c: 14 82 std Z+4, r1 ; 0x04 + d5e: 14 82 std Z+4, r1 ; 0x04 TC_DAC.PER = 469; - d8e: 85 ed ldi r24, 0xD5 ; 213 - d90: 91 e0 ldi r25, 0x01 ; 1 - d92: 86 a3 std Z+38, r24 ; 0x26 - d94: 97 a3 std Z+39, r25 ; 0x27 + d60: 85 ed ldi r24, 0xD5 ; 213 + d62: 91 e0 ldi r25, 0x01 ; 1 + d64: 86 a3 std Z+38, r24 ; 0x26 + d66: 97 a3 std Z+39, r25 ; 0x27 TC_DAC.INTCTRLA = 0x00; - d96: 16 82 std Z+6, r1 ; 0x06 + d68: 16 82 std Z+6, r1 ; 0x06 //Aux channel (blank 50Hz) TC_AUXDAC.CTRLA = 0x04; //Some clk setting - not 100% sure since it was SW generated - d98: e0 e4 ldi r30, 0x40 ; 64 - d9a: f8 e0 ldi r31, 0x08 ; 8 - d9c: 30 83 st Z, r19 + d6a: e0 e4 ldi r30, 0x40 ; 64 + d6c: f8 e0 ldi r31, 0x08 ; 8 + d6e: 30 83 st Z, r19 TC_AUXDAC.CTRLB = TC_WGMODE_SINGLESLOPE_gc; //No enable is set - d9e: 21 83 std Z+1, r18 ; 0x01 + d70: 21 83 std Z+1, r18 ; 0x01 TC_AUXDAC.CTRLE = TC_BYTEM_NORMAL_gc; - da0: 14 82 std Z+4, r1 ; 0x04 + d72: 14 82 std Z+4, r1 ; 0x04 TC_AUXDAC.PER = 469; - da2: 86 a3 std Z+38, r24 ; 0x26 - da4: 97 a3 std Z+39, r25 ; 0x27 + d74: 86 a3 std Z+38, r24 ; 0x26 + d76: 97 a3 std Z+39, r25 ; 0x27 TC_AUXDAC.INTCTRLA = 0x00; - da6: 16 82 std Z+6, r1 ; 0x06 + d78: 16 82 std Z+6, r1 ; 0x06 //PSU PORTD.DIR |= 0b00010000; - da8: e0 e6 ldi r30, 0x60 ; 96 - daa: f6 e0 ldi r31, 0x06 ; 6 - dac: 80 81 ld r24, Z - dae: 80 61 ori r24, 0x10 ; 16 - db0: 80 83 st Z, r24 + d7a: e0 e6 ldi r30, 0x60 ; 96 + d7c: f6 e0 ldi r31, 0x06 ; 6 + d7e: 80 81 ld r24, Z + d80: 80 61 ori r24, 0x10 ; 16 + d82: 80 83 st Z, r24 TC_PSU.CTRLB = 0x10 | TC_WGMODE_SINGLESLOPE_gc; //CCAEN is set - db2: e0 e4 ldi r30, 0x40 ; 64 - db4: f9 e0 ldi r31, 0x09 ; 9 - db6: 83 e1 ldi r24, 0x13 ; 19 - db8: 81 83 std Z+1, r24 ; 0x01 + d84: e0 e4 ldi r30, 0x40 ; 64 + d86: f9 e0 ldi r31, 0x09 ; 9 + d88: 83 e1 ldi r24, 0x13 ; 19 + d8a: 81 83 std Z+1, r24 ; 0x01 TC_PSU.CTRLE = TC_BYTEM_NORMAL_gc; - dba: 14 82 std Z+4, r1 ; 0x04 + d8c: 14 82 std Z+4, r1 ; 0x04 TC_PSU.INTCTRLA = TC_OVFINTLVL_LO_gc; - dbc: 81 e0 ldi r24, 0x01 ; 1 - dbe: 86 83 std Z+6, r24 ; 0x06 + d8e: 81 e0 ldi r24, 0x01 ; 1 + d90: 86 83 std Z+6, r24 ; 0x06 TC_PSU.PER = PSU_PER; // Max value of CNT - dc0: 28 eb ldi r18, 0xB8 ; 184 - dc2: 3b e0 ldi r19, 0x0B ; 11 - dc4: 26 a3 std Z+38, r18 ; 0x26 - dc6: 37 a3 std Z+39, r19 ; 0x27 + d92: 28 eb ldi r18, 0xB8 ; 184 + d94: 3b e0 ldi r19, 0x0B ; 11 + d96: 26 a3 std Z+38, r18 ; 0x26 + d98: 37 a3 std Z+39, r19 ; 0x27 TC_PSU.CCA = 0; //Initial Duty cycle of 0% - dc8: 10 a6 std Z+40, r1 ; 0x28 - dca: 11 a6 std Z+41, r1 ; 0x29 + d9a: 10 a6 std Z+40, r1 ; 0x28 + d9c: 11 a6 std Z+41, r1 ; 0x29 TC_PSU.CTRLA = TC_CLKSEL_DIV1_gc; - dcc: 80 83 st Z, r24 - dce: 08 95 ret + d9e: 80 83 st Z, r24 + da0: 08 95 ret -00000dd0 <__vector_83>: +00000da2 <__vector_83>: TCC1.PER = 1800; // Max value of CNT TCC1.CTRLA = TC_CLKSEL_DIV1_gc; */ } ISR(TC_PSU_OVF){ - dd0: 1f 92 push r1 - dd2: 0f 92 push r0 - dd4: 0f b6 in r0, 0x3f ; 63 - dd6: 0f 92 push r0 - dd8: 11 24 eor r1, r1 - dda: 2f 93 push r18 - ddc: 3f 93 push r19 - dde: 4f 93 push r20 - de0: 5f 93 push r21 - de2: 8f 93 push r24 - de4: 9f 93 push r25 - de6: ef 93 push r30 - de8: ff 93 push r31 - dea: cf 93 push r28 - dec: df 93 push r29 - dee: 1f 92 push r1 - df0: cd b7 in r28, 0x3d ; 61 - df2: de b7 in r29, 0x3e ; 62 + da2: 1f 92 push r1 + da4: 0f 92 push r0 + da6: 0f b6 in r0, 0x3f ; 63 + da8: 0f 92 push r0 + daa: 11 24 eor r1, r1 + dac: 2f 93 push r18 + dae: 3f 93 push r19 + db0: 4f 93 push r20 + db2: 5f 93 push r21 + db4: 8f 93 push r24 + db6: 9f 93 push r25 + db8: ef 93 push r30 + dba: ff 93 push r31 + dbc: cf 93 push r28 + dbe: df 93 push r29 + dc0: 1f 92 push r1 + dc2: cd b7 in r28, 0x3d ; 61 + dc4: de b7 in r29, 0x3e ; 62 char tempvar; char err; volatile char nothing; if (global_mode == 7){ - df4: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - df8: 87 30 cpi r24, 0x07 ; 7 - dfa: 31 f4 brne .+12 ; 0xe08 <__vector_83+0x38> + dc6: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> + dca: 87 30 cpi r24, 0x07 ; 7 + dcc: 31 f4 brne .+12 ; 0xdda <__vector_83+0x38> nothing = ADCA.CH1.RESL; - dfc: e0 e0 ldi r30, 0x00 ; 0 - dfe: f2 e0 ldi r31, 0x02 ; 2 - e00: 84 a5 ldd r24, Z+44 ; 0x2c - e02: 89 83 std Y+1, r24 ; 0x01 + dce: e0 e0 ldi r30, 0x00 ; 0 + dd0: f2 e0 ldi r31, 0x02 ; 2 + dd2: 84 a5 ldd r24, Z+44 ; 0x2c + dd4: 89 83 std Y+1, r24 ; 0x01 tempvar = ADCA.CH1.RESH; - e04: 95 a5 ldd r25, Z+45 ; 0x2d - e06: 02 c0 rjmp .+4 ; 0xe0c <__vector_83+0x3c> + dd6: 95 a5 ldd r25, Z+45 ; 0x2d + dd8: 02 c0 rjmp .+4 ; 0xdde <__vector_83+0x3c> } else{ tempvar = ADCA.CH1.RESL; - e08: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + dda: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> } //tempvar = (global_mode == 7 ? (char) ADCA.CH1.RESH : (char) ADCA.CH1.RESL); //test_byte = tempvar; err = (char) (PSU_target - tempvar); - e0c: 80 91 b2 20 lds r24, 0x20B2 ; 0x8020b2 <__data_end> - e10: 89 1b sub r24, r25 + dde: 80 91 b2 20 lds r24, 0x20B2 ; 0x8020b2 <__data_end> + de2: 89 1b sub r24, r25 if ((err > 1) & ((unsigned short) TC_PSU.CCA < PSU_PER - jump) ){ - e12: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e16: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e1a: 91 e0 ldi r25, 0x01 ; 1 - e1c: 82 30 cpi r24, 0x02 ; 2 - e1e: 0c f4 brge .+2 ; 0xe22 <__vector_83+0x52> - e20: 90 e0 ldi r25, 0x00 ; 0 - e22: 99 23 and r25, r25 - e24: c9 f0 breq .+50 ; 0xe58 <__vector_83+0x88> - e26: 91 e0 ldi r25, 0x01 ; 1 - e28: 22 3b cpi r18, 0xB2 ; 178 - e2a: 3b 40 sbci r19, 0x0B ; 11 - e2c: 08 f0 brcs .+2 ; 0xe30 <__vector_83+0x60> - e2e: 90 e0 ldi r25, 0x00 ; 0 - e30: 99 23 and r25, r25 - e32: 91 f0 breq .+36 ; 0xe58 <__vector_83+0x88> + de4: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + de8: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + dec: 91 e0 ldi r25, 0x01 ; 1 + dee: 82 30 cpi r24, 0x02 ; 2 + df0: 0c f4 brge .+2 ; 0xdf4 <__vector_83+0x52> + df2: 90 e0 ldi r25, 0x00 ; 0 + df4: 99 23 and r25, r25 + df6: c9 f0 breq .+50 ; 0xe2a <__vector_83+0x88> + df8: 91 e0 ldi r25, 0x01 ; 1 + dfa: 22 3b cpi r18, 0xB2 ; 178 + dfc: 3b 40 sbci r19, 0x0B ; 11 + dfe: 08 f0 brcs .+2 ; 0xe02 <__vector_83+0x60> + e00: 90 e0 ldi r25, 0x00 ; 0 + e02: 99 23 and r25, r25 + e04: 91 f0 breq .+36 ; 0xe2a <__vector_83+0x88> TC_PSU.CCABUF = TC_PSU.CCA + ((err > 8) ? jump : 1); - e34: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e38: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e3c: 89 30 cpi r24, 0x09 ; 9 - e3e: 1c f4 brge .+6 ; 0xe46 <__vector_83+0x76> - e40: 81 e0 ldi r24, 0x01 ; 1 - e42: 90 e0 ldi r25, 0x00 ; 0 - e44: 02 c0 rjmp .+4 ; 0xe4a <__vector_83+0x7a> - e46: 86 e0 ldi r24, 0x06 ; 6 - e48: 90 e0 ldi r25, 0x00 ; 0 - e4a: 82 0f add r24, r18 - e4c: 93 1f adc r25, r19 - e4e: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - e52: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> - e56: 23 c0 rjmp .+70 ; 0xe9e <__vector_83+0xce> + e06: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + e0a: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + e0e: 89 30 cpi r24, 0x09 ; 9 + e10: 1c f4 brge .+6 ; 0xe18 <__vector_83+0x76> + e12: 81 e0 ldi r24, 0x01 ; 1 + e14: 90 e0 ldi r25, 0x00 ; 0 + e16: 02 c0 rjmp .+4 ; 0xe1c <__vector_83+0x7a> + e18: 86 e0 ldi r24, 0x06 ; 6 + e1a: 90 e0 ldi r25, 0x00 ; 0 + e1c: 82 0f add r24, r18 + e1e: 93 1f adc r25, r19 + e20: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + e24: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + e28: 23 c0 rjmp .+70 ; 0xe70 <__vector_83+0xce> } else if ((err < -1) & ((unsigned short) TC_PSU.CCA > jump)){ - e58: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e5c: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e60: 91 e0 ldi r25, 0x01 ; 1 - e62: 8f 3f cpi r24, 0xFF ; 255 - e64: 0c f0 brlt .+2 ; 0xe68 <__vector_83+0x98> - e66: 90 e0 ldi r25, 0x00 ; 0 - e68: 99 23 and r25, r25 - e6a: c9 f0 breq .+50 ; 0xe9e <__vector_83+0xce> - e6c: 91 e0 ldi r25, 0x01 ; 1 - e6e: 27 30 cpi r18, 0x07 ; 7 - e70: 31 05 cpc r19, r1 - e72: 08 f4 brcc .+2 ; 0xe76 <__vector_83+0xa6> - e74: 90 e0 ldi r25, 0x00 ; 0 - e76: 99 23 and r25, r25 - e78: 91 f0 breq .+36 ; 0xe9e <__vector_83+0xce> + e2a: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + e2e: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + e32: 91 e0 ldi r25, 0x01 ; 1 + e34: 8f 3f cpi r24, 0xFF ; 255 + e36: 0c f0 brlt .+2 ; 0xe3a <__vector_83+0x98> + e38: 90 e0 ldi r25, 0x00 ; 0 + e3a: 99 23 and r25, r25 + e3c: c9 f0 breq .+50 ; 0xe70 <__vector_83+0xce> + e3e: 91 e0 ldi r25, 0x01 ; 1 + e40: 27 30 cpi r18, 0x07 ; 7 + e42: 31 05 cpc r19, r1 + e44: 08 f4 brcc .+2 ; 0xe48 <__vector_83+0xa6> + e46: 90 e0 ldi r25, 0x00 ; 0 + e48: 99 23 and r25, r25 + e4a: 91 f0 breq .+36 ; 0xe70 <__vector_83+0xce> TC_PSU.CCABUF = TC_PSU.CCA - ((err < -8) ? jump : 1); - e7a: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e7e: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e82: 88 3f cpi r24, 0xF8 ; 248 - e84: 1c f0 brlt .+6 ; 0xe8c <__vector_83+0xbc> - e86: 81 e0 ldi r24, 0x01 ; 1 - e88: 90 e0 ldi r25, 0x00 ; 0 - e8a: 02 c0 rjmp .+4 ; 0xe90 <__vector_83+0xc0> - e8c: 86 e0 ldi r24, 0x06 ; 6 - e8e: 90 e0 ldi r25, 0x00 ; 0 - e90: a9 01 movw r20, r18 - e92: 48 1b sub r20, r24 - e94: 59 0b sbc r21, r25 - e96: 40 93 78 09 sts 0x0978, r20 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - e9a: 50 93 79 09 sts 0x0979, r21 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + e4c: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + e50: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + e54: 88 3f cpi r24, 0xF8 ; 248 + e56: 1c f0 brlt .+6 ; 0xe5e <__vector_83+0xbc> + e58: 81 e0 ldi r24, 0x01 ; 1 + e5a: 90 e0 ldi r25, 0x00 ; 0 + e5c: 02 c0 rjmp .+4 ; 0xe62 <__vector_83+0xc0> + e5e: 86 e0 ldi r24, 0x06 ; 6 + e60: 90 e0 ldi r25, 0x00 ; 0 + e62: a9 01 movw r20, r18 + e64: 48 1b sub r20, r24 + e66: 59 0b sbc r21, r25 + e68: 40 93 78 09 sts 0x0978, r20 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + e6c: 50 93 79 09 sts 0x0979, r21 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> } - e9e: 0f 90 pop r0 - ea0: df 91 pop r29 - ea2: cf 91 pop r28 - ea4: ff 91 pop r31 - ea6: ef 91 pop r30 - ea8: 9f 91 pop r25 - eaa: 8f 91 pop r24 - eac: 5f 91 pop r21 - eae: 4f 91 pop r20 - eb0: 3f 91 pop r19 - eb2: 2f 91 pop r18 - eb4: 0f 90 pop r0 - eb6: 0f be out 0x3f, r0 ; 63 - eb8: 0f 90 pop r0 - eba: 1f 90 pop r1 - ebc: 18 95 reti + e70: 0f 90 pop r0 + e72: df 91 pop r29 + e74: cf 91 pop r28 + e76: ff 91 pop r31 + e78: ef 91 pop r30 + e7a: 9f 91 pop r25 + e7c: 8f 91 pop r24 + e7e: 5f 91 pop r21 + e80: 4f 91 pop r20 + e82: 3f 91 pop r19 + e84: 2f 91 pop r18 + e86: 0f 90 pop r0 + e88: 0f be out 0x3f, r0 ; 63 + e8a: 0f 90 pop r0 + e8c: 1f 90 pop r1 + e8e: 18 95 reti -00000ebe : +00000e90 : #include "tiny_uart.h" #include "globals.h" void tiny_uart_setup(void){ PR.PRPC &= 0b11101111; - ebe: e0 e7 ldi r30, 0x70 ; 112 - ec0: f0 e0 ldi r31, 0x00 ; 0 - ec2: 83 81 ldd r24, Z+3 ; 0x03 - ec4: 8f 7e andi r24, 0xEF ; 239 - ec6: 83 83 std Z+3, r24 ; 0x03 + e90: e0 e7 ldi r30, 0x70 ; 112 + e92: f0 e0 ldi r31, 0x00 ; 0 + e94: 83 81 ldd r24, Z+3 ; 0x03 + e96: 8f 7e andi r24, 0xEF ; 239 + e98: 83 83 std Z+3, r24 ; 0x03 //PR.PRPE &= 0b11111110; ??? - PORTC.DIR |= 0b10101010; - ec8: e0 e4 ldi r30, 0x40 ; 64 - eca: f6 e0 ldi r31, 0x06 ; 6 - ecc: 80 81 ld r24, Z - ece: 8a 6a ori r24, 0xAA ; 170 - ed0: 80 83 st Z, r24 + PORTC.DIR |= 0b01001010; + e9a: e0 e4 ldi r30, 0x40 ; 64 + e9c: f6 e0 ldi r31, 0x06 ; 6 + e9e: 80 81 ld r24, Z + ea0: 8a 64 ori r24, 0x4A ; 74 + ea2: 80 83 st Z, r24 PORTC.OUT = 0xff; - ed2: 8f ef ldi r24, 0xFF ; 255 - ed4: 84 83 std Z+4, r24 ; 0x04 + ea4: 8f ef ldi r24, 0xFF ; 255 + ea6: 84 83 std Z+4, r24 ; 0x04 PORTC.PIN2CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; - ed6: 88 e5 ldi r24, 0x58 ; 88 - ed8: 82 8b std Z+18, r24 ; 0x12 + ea8: 88 e5 ldi r24, 0x58 ; 88 + eaa: 82 8b std Z+18, r24 ; 0x12 //PORTC.REMAP = 0x10; //Remap USART to [7:4] #ifndef VERO PORTC.REMAP = 0x20; //Swap MOSI and SCK - for small boards only!!! + eac: 80 e2 ldi r24, 0x20 ; 32 + eae: 86 87 std Z+14, r24 ; 0x0e #endif USARTC0.CTRLC = USART_CMODE_MSPI_gc | 0b00000100; //LSB received first, UPCHA disabled - eda: e0 ea ldi r30, 0xA0 ; 160 - edc: f8 e0 ldi r31, 0x08 ; 8 - ede: 84 ec ldi r24, 0xC4 ; 196 - ee0: 85 83 std Z+5, r24 ; 0x05 + eb0: e0 ea ldi r30, 0xA0 ; 160 + eb2: f8 e0 ldi r31, 0x08 ; 8 + eb4: 84 ec ldi r24, 0xC4 ; 196 + eb6: 85 83 std Z+5, r24 ; 0x05 USARTC0.BAUDCTRLA = 3; //BSEL = fper/(2fbaud) -1; 24/(2*3) - 1 = 3 - ee2: 83 e0 ldi r24, 0x03 ; 3 - ee4: 86 83 std Z+6, r24 ; 0x06 + eb8: 83 e0 ldi r24, 0x03 ; 3 + eba: 86 83 std Z+6, r24 ; 0x06 USARTC0.BAUDCTRLB = 0x00;//USART_BSCALE0_bm; - ee6: 17 82 std Z+7, r1 ; 0x07 + ebc: 17 82 std Z+7, r1 ; 0x07 USARTC0.CTRLB = USART_RXEN_bm | USART_TXEN_bm; - ee8: 88 e1 ldi r24, 0x18 ; 24 - eea: 84 83 std Z+4, r24 ; 0x04 - eec: 08 95 ret + ebe: 88 e1 ldi r24, 0x18 ; 24 + ec0: 84 83 std Z+4, r24 ; 0x04 + ec2: 08 95 ret -00000eee : +00000ec4 : } void tiny_spi_setup(void){ //Power Reduction disable PR.PRPC &= 0b11110111; - eee: e0 e7 ldi r30, 0x70 ; 112 - ef0: f0 e0 ldi r31, 0x00 ; 0 - ef2: 83 81 ldd r24, Z+3 ; 0x03 - ef4: 87 7f andi r24, 0xF7 ; 247 - ef6: 83 83 std Z+3, r24 ; 0x03 + ec4: e0 e7 ldi r30, 0x70 ; 112 + ec6: f0 e0 ldi r31, 0x00 ; 0 + ec8: 83 81 ldd r24, Z+3 ; 0x03 + eca: 87 7f andi r24, 0xF7 ; 247 + ecc: 83 83 std Z+3, r24 ; 0x03 //SPI enable SPIC.CTRL = SPI_ENABLE_bm; //Slave mode - ef8: 80 e4 ldi r24, 0x40 ; 64 - efa: 80 93 c0 08 sts 0x08C0, r24 ; 0x8008c0 <__TEXT_REGION_LENGTH__+0x7008c0> + ece: e0 ec ldi r30, 0xC0 ; 192 + ed0: f8 e0 ldi r31, 0x08 ; 8 + ed2: 80 e4 ldi r24, 0x40 ; 64 + ed4: 80 83 st Z, r24 + SPIC.INTCTRL = SPI_INTLVL_HI_gc; + ed6: 83 e0 ldi r24, 0x03 ; 3 + ed8: 81 83 std Z+1, r24 ; 0x01 #ifdef VERO - PORTC.PIN5CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //Pin5 if not swapped - efe: 88 e5 ldi r24, 0x58 ; 88 - f00: 80 93 55 06 sts 0x0655, r24 ; 0x800655 <__TEXT_REGION_LENGTH__+0x700655> - f04: 08 95 ret + PORTC.PIN5CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; + #else + PORTC.PIN7CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //Pin5 if not swapped + eda: 88 e5 ldi r24, 0x58 ; 88 + edc: 80 93 57 06 sts 0x0657, r24 ; 0x800657 <__TEXT_REGION_LENGTH__+0x700657> + ee0: 08 95 ret -00000f06 : +00000ee2 <__vector_24>: + #endif + + return; +} + +ISR(SPIC_INT_vect){ + ee2: 1f 92 push r1 + ee4: 0f 92 push r0 + ee6: 0f b6 in r0, 0x3f ; 63 + ee8: 0f 92 push r0 + eea: 11 24 eor r1, r1 + asm("nop"); + eec: 00 00 nop +} + eee: 0f 90 pop r0 + ef0: 0f be out 0x3f, r0 ; 63 + ef2: 0f 90 pop r0 + ef4: 1f 90 pop r1 + ef6: 18 95 reti + +00000ef8 : } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; - f06: 0f 93 push r16 - f08: 1f 93 push r17 - f0a: cf 93 push r28 - f0c: df 93 push r29 - f0e: 00 d0 rcall .+0 ; 0xf10 - f10: 00 d0 rcall .+0 ; 0xf12 - f12: cd b7 in r28, 0x3d ; 61 - f14: de b7 in r29, 0x3e ; 62 - f16: 8f ef ldi r24, 0xFF ; 255 - f18: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> - f1c: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - f20: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> - f24: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> - f28: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> - f2c: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> - f30: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> - f34: 64 e0 ldi r22, 0x04 ; 4 - f36: 81 e4 ldi r24, 0x41 ; 65 - f38: 90 e0 ldi r25, 0x00 ; 0 - f3a: a6 d5 rcall .+2892 ; 0x1a88 - f3c: 6c e1 ldi r22, 0x1C ; 28 - f3e: 70 e0 ldi r23, 0x00 ; 0 - f40: 82 e0 ldi r24, 0x02 ; 2 - f42: a8 d5 rcall .+2896 ; 0x1a94 - f44: 8a 83 std Y+2, r24 ; 0x02 - f46: 6d e1 ldi r22, 0x1D ; 29 - f48: 70 e0 ldi r23, 0x00 ; 0 - f4a: 82 e0 ldi r24, 0x02 ; 2 - f4c: a3 d5 rcall .+2886 ; 0x1a94 + ef8: 0f 93 push r16 + efa: 1f 93 push r17 + efc: cf 93 push r28 + efe: df 93 push r29 + f00: 00 d0 rcall .+0 ; 0xf02 + f02: 00 d0 rcall .+0 ; 0xf04 + f04: cd b7 in r28, 0x3d ; 61 + f06: de b7 in r29, 0x3e ; 62 + f08: 8f ef ldi r24, 0xFF ; 255 + f0a: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> + f0e: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + f12: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> + f16: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> + f1a: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> + f1e: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> + f22: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> + f26: 64 e0 ldi r22, 0x04 ; 4 + f28: 81 e4 ldi r24, 0x41 ; 65 + f2a: 90 e0 ldi r25, 0x00 ; 0 + f2c: a6 d5 rcall .+2892 ; 0x1a7a + f2e: 6c e1 ldi r22, 0x1C ; 28 + f30: 70 e0 ldi r23, 0x00 ; 0 + f32: 82 e0 ldi r24, 0x02 ; 2 + f34: a8 d5 rcall .+2896 ; 0x1a86 + f36: 8a 83 std Y+2, r24 ; 0x02 + f38: 6d e1 ldi r22, 0x1D ; 29 + f3a: 70 e0 ldi r23, 0x00 ; 0 + f3c: 82 e0 ldi r24, 0x02 ; 2 + f3e: a3 d5 rcall .+2886 ; 0x1a86 + f40: 89 83 std Y+1, r24 ; 0x01 + f42: 89 81 ldd r24, Y+1 ; 0x01 + f44: 9a 81 ldd r25, Y+2 ; 0x02 + f46: 01 96 adiw r24, 0x01 ; 1 + f48: 21 f4 brne .+8 ; 0xf52 + f4a: 80 e4 ldi r24, 0x40 ; 64 + f4c: 93 e2 ldi r25, 0x23 ; 35 f4e: 89 83 std Y+1, r24 ; 0x01 - f50: 89 81 ldd r24, Y+1 ; 0x01 - f52: 9a 81 ldd r25, Y+2 ; 0x02 - f54: 01 96 adiw r24, 0x01 ; 1 - f56: 21 f4 brne .+8 ; 0xf60 - f58: 80 e4 ldi r24, 0x40 ; 64 - f5a: 93 e2 ldi r25, 0x23 ; 35 - f5c: 89 83 std Y+1, r24 ; 0x01 - f5e: 9a 83 std Y+2, r25 ; 0x02 - f60: 89 81 ldd r24, Y+1 ; 0x01 - f62: 9a 81 ldd r25, Y+2 ; 0x02 - f64: 8b 83 std Y+3, r24 ; 0x03 - f66: 9c 83 std Y+4, r25 ; 0x04 - f68: e0 e6 ldi r30, 0x60 ; 96 + f50: 9a 83 std Y+2, r25 ; 0x02 + f52: 89 81 ldd r24, Y+1 ; 0x01 + f54: 9a 81 ldd r25, Y+2 ; 0x02 + f56: 8b 83 std Y+3, r24 ; 0x03 + f58: 9c 83 std Y+4, r25 ; 0x04 + f5a: e0 e6 ldi r30, 0x60 ; 96 + f5c: f0 e0 ldi r31, 0x00 ; 0 + f5e: 82 83 std Z+2, r24 ; 0x02 + f60: 8c 81 ldd r24, Y+4 ; 0x04 + f62: 83 83 std Z+3, r24 ; 0x03 + f64: 9f b7 in r25, 0x3f ; 63 + f66: f8 94 cli + f68: e0 e5 ldi r30, 0x50 ; 80 f6a: f0 e0 ldi r31, 0x00 ; 0 - f6c: 82 83 std Z+2, r24 ; 0x02 - f6e: 8c 81 ldd r24, Y+4 ; 0x04 - f70: 83 83 std Z+3, r24 ; 0x03 - f72: 9f b7 in r25, 0x3f ; 63 - f74: f8 94 cli - f76: e0 e5 ldi r30, 0x50 ; 80 - f78: f0 e0 ldi r31, 0x00 ; 0 - f7a: 80 81 ld r24, Z - f7c: 82 60 ori r24, 0x02 ; 2 - f7e: 80 83 st Z, r24 - f80: 9f bf out 0x3f, r25 ; 63 - f82: 81 81 ldd r24, Z+1 ; 0x01 - f84: 81 ff sbrs r24, 1 - f86: fd cf rjmp .-6 ; 0xf82 - f88: 9f b7 in r25, 0x3f ; 63 - f8a: f8 94 cli - f8c: 00 e5 ldi r16, 0x50 ; 80 - f8e: 10 e0 ldi r17, 0x00 ; 0 - f90: d8 01 movw r26, r16 - f92: 16 96 adiw r26, 0x06 ; 6 - f94: 8c 91 ld r24, X - f96: 16 97 sbiw r26, 0x06 ; 6 - f98: 89 7f andi r24, 0xF9 ; 249 - f9a: 16 96 adiw r26, 0x06 ; 6 - f9c: 8c 93 st X, r24 - f9e: 16 97 sbiw r26, 0x06 ; 6 - fa0: e0 e6 ldi r30, 0x60 ; 96 - fa2: f0 e0 ldi r31, 0x00 ; 0 - fa4: 80 e8 ldi r24, 0x80 ; 128 - fa6: 85 83 std Z+5, r24 ; 0x05 - fa8: 8b eb ldi r24, 0xBB ; 187 - faa: 86 83 std Z+6, r24 ; 0x06 - fac: 16 96 adiw r26, 0x06 ; 6 - fae: 8c 91 ld r24, X - fb0: 16 97 sbiw r26, 0x06 ; 6 - fb2: 84 60 ori r24, 0x04 ; 4 - fb4: 16 96 adiw r26, 0x06 ; 6 - fb6: 8c 93 st X, r24 - fb8: 80 81 ld r24, Z - fba: 81 60 ori r24, 0x01 ; 1 - fbc: 80 83 st Z, r24 - fbe: 9f bf out 0x3f, r25 ; 63 - fc0: 61 e0 ldi r22, 0x01 ; 1 - fc2: 80 e4 ldi r24, 0x40 ; 64 - fc4: 90 e0 ldi r25, 0x00 ; 0 - fc6: 60 d5 rcall .+2752 ; 0x1a88 - fc8: 9f b7 in r25, 0x3f ; 63 - fca: f8 94 cli - fcc: f8 01 movw r30, r16 - fce: 80 81 ld r24, Z - fd0: 8e 7f andi r24, 0xFE ; 254 - fd2: 80 83 st Z, r24 - fd4: 9f bf out 0x3f, r25 ; 63 - fd6: 24 96 adiw r28, 0x04 ; 4 - fd8: cd bf out 0x3d, r28 ; 61 - fda: de bf out 0x3e, r29 ; 62 - fdc: df 91 pop r29 - fde: cf 91 pop r28 - fe0: 1f 91 pop r17 - fe2: 0f 91 pop r16 - fe4: 08 95 ret + f6c: 80 81 ld r24, Z + f6e: 82 60 ori r24, 0x02 ; 2 + f70: 80 83 st Z, r24 + f72: 9f bf out 0x3f, r25 ; 63 + f74: 81 81 ldd r24, Z+1 ; 0x01 + f76: 81 ff sbrs r24, 1 + f78: fd cf rjmp .-6 ; 0xf74 + f7a: 9f b7 in r25, 0x3f ; 63 + f7c: f8 94 cli + f7e: 00 e5 ldi r16, 0x50 ; 80 + f80: 10 e0 ldi r17, 0x00 ; 0 + f82: d8 01 movw r26, r16 + f84: 16 96 adiw r26, 0x06 ; 6 + f86: 8c 91 ld r24, X + f88: 16 97 sbiw r26, 0x06 ; 6 + f8a: 89 7f andi r24, 0xF9 ; 249 + f8c: 16 96 adiw r26, 0x06 ; 6 + f8e: 8c 93 st X, r24 + f90: 16 97 sbiw r26, 0x06 ; 6 + f92: e0 e6 ldi r30, 0x60 ; 96 + f94: f0 e0 ldi r31, 0x00 ; 0 + f96: 80 e8 ldi r24, 0x80 ; 128 + f98: 85 83 std Z+5, r24 ; 0x05 + f9a: 8b eb ldi r24, 0xBB ; 187 + f9c: 86 83 std Z+6, r24 ; 0x06 + f9e: 16 96 adiw r26, 0x06 ; 6 + fa0: 8c 91 ld r24, X + fa2: 16 97 sbiw r26, 0x06 ; 6 + fa4: 84 60 ori r24, 0x04 ; 4 + fa6: 16 96 adiw r26, 0x06 ; 6 + fa8: 8c 93 st X, r24 + faa: 80 81 ld r24, Z + fac: 81 60 ori r24, 0x01 ; 1 + fae: 80 83 st Z, r24 + fb0: 9f bf out 0x3f, r25 ; 63 + fb2: 61 e0 ldi r22, 0x01 ; 1 + fb4: 80 e4 ldi r24, 0x40 ; 64 + fb6: 90 e0 ldi r25, 0x00 ; 0 + fb8: 60 d5 rcall .+2752 ; 0x1a7a + fba: 9f b7 in r25, 0x3f ; 63 + fbc: f8 94 cli + fbe: f8 01 movw r30, r16 + fc0: 80 81 ld r24, Z + fc2: 8e 7f andi r24, 0xFE ; 254 + fc4: 80 83 st Z, r24 + fc6: 9f bf out 0x3f, r25 ; 63 + fc8: 24 96 adiw r28, 0x04 ; 4 + fca: cd bf out 0x3d, r28 ; 61 + fcc: de bf out 0x3e, r29 ; 62 + fce: df 91 pop r29 + fd0: cf 91 pop r28 + fd2: 1f 91 pop r17 + fd4: 0f 91 pop r16 + fd6: 08 95 ret -00000fe6 : - fe6: 9f b7 in r25, 0x3f ; 63 - fe8: f8 94 cli - fea: e8 2f mov r30, r24 - fec: f0 e0 ldi r31, 0x00 ; 0 - fee: e0 59 subi r30, 0x90 ; 144 - ff0: ff 4f sbci r31, 0xFF ; 255 - ff2: 60 95 com r22 - ff4: 80 81 ld r24, Z - ff6: 68 23 and r22, r24 - ff8: 60 83 st Z, r22 - ffa: 9f bf out 0x3f, r25 ; 63 - ffc: 08 95 ret +00000fd8 : + fd8: 9f b7 in r25, 0x3f ; 63 + fda: f8 94 cli + fdc: e8 2f mov r30, r24 + fde: f0 e0 ldi r31, 0x00 ; 0 + fe0: e0 59 subi r30, 0x90 ; 144 + fe2: ff 4f sbci r31, 0xFF ; 255 + fe4: 60 95 com r22 + fe6: 80 81 ld r24, Z + fe8: 68 23 and r22, r24 + fea: 60 83 st Z, r22 + fec: 9f bf out 0x3f, r25 ; 63 + fee: 08 95 ret -00000ffe : +00000ff0 : /* * Enable or disable prescaler depending on if the USB frequency is 6 * MHz or 48 MHz. Only 6 MHz USB frequency requires prescaling. */ if (frequency == 6) { - ffe: 86 30 cpi r24, 0x06 ; 6 - 1000: 11 f0 breq .+4 ; 0x1006 + ff0: 86 30 cpi r24, 0x06 ; 6 + ff2: 11 f0 breq .+4 ; 0xff8 prescaler = CLK_USBPSDIV_8_gc; } else { prescaler = 0; - 1002: 60 e0 ldi r22, 0x00 ; 0 - 1004: 01 c0 rjmp .+2 ; 0x1008 + ff4: 60 e0 ldi r22, 0x00 ; 0 + ff6: 01 c0 rjmp .+2 ; 0xffa /* * Enable or disable prescaler depending on if the USB frequency is 6 * MHz or 48 MHz. Only 6 MHz USB frequency requires prescaling. */ if (frequency == 6) { prescaler = CLK_USBPSDIV_8_gc; - 1006: 68 e1 ldi r22, 0x18 ; 24 + ff8: 68 e1 ldi r22, 0x18 ; 24 static inline bool osc_is_ready(uint8_t id) { Assert(id != OSC_ID_USBSOF); return OSC.STATUS & id; - 1008: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + ffa: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> /* * Switch to the system clock selected by the user. */ switch (CONFIG_USBCLK_SOURCE) { case USBCLK_SRC_RCOSC: if (!osc_is_ready(OSC_ID_RC32MHZ)) { - 100c: 81 fd sbrc r24, 1 - 100e: 26 c0 rjmp .+76 ; 0x105c + ffe: 81 fd sbrc r24, 1 + 1000: 26 c0 rjmp .+76 ; 0x104e typedef uint8_t irqflags_t; static inline irqflags_t cpu_irq_save(void) { irqflags_t flags = SREG; - 1010: 9f b7 in r25, 0x3f ; 63 + 1002: 9f b7 in r25, 0x3f ; 63 cpu_irq_disable(); - 1012: f8 94 cli + 1004: f8 94 cli irqflags_t flags; Assert(id != OSC_ID_USBSOF); flags = cpu_irq_save(); OSC.CTRL |= id; - 1014: e0 e5 ldi r30, 0x50 ; 80 - 1016: f0 e0 ldi r31, 0x00 ; 0 - 1018: 80 81 ld r24, Z - 101a: 82 60 ori r24, 0x02 ; 2 - 101c: 80 83 st Z, r24 + 1006: e0 e5 ldi r30, 0x50 ; 80 + 1008: f0 e0 ldi r31, 0x00 ; 0 + 100a: 80 81 ld r24, Z + 100c: 82 60 ori r24, 0x02 ; 2 + 100e: 80 83 st Z, r24 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; - 101e: 9f bf out 0x3f, r25 ; 63 + 1010: 9f bf out 0x3f, r25 ; 63 static inline bool osc_is_ready(uint8_t id) { Assert(id != OSC_ID_USBSOF); return OSC.STATUS & id; - 1020: 81 81 ldd r24, Z+1 ; 0x01 + 1012: 81 81 ldd r24, Z+1 ; 0x01 * * \param id A number identifying the oscillator to wait for. */ static inline void osc_wait_ready(uint8_t id) { while (!osc_is_ready(id)) { - 1022: 81 ff sbrs r24, 1 - 1024: fd cf rjmp .-6 ; 0x1020 + 1014: 81 ff sbrs r24, 1 + 1016: fd cf rjmp .-6 ; 0x1012 typedef uint8_t irqflags_t; static inline irqflags_t cpu_irq_save(void) { irqflags_t flags = SREG; - 1026: 9f b7 in r25, 0x3f ; 63 + 1018: 9f b7 in r25, 0x3f ; 63 cpu_irq_disable(); - 1028: f8 94 cli + 101a: f8 94 cli # if !XMEGA_E || (ref_id == OSC_ID_USBSOF) #endif ); OSC.DFLLCTRL &= ~(OSC_RC32MCREF_gm); - 102a: a0 e5 ldi r26, 0x50 ; 80 - 102c: b0 e0 ldi r27, 0x00 ; 0 - 102e: 16 96 adiw r26, 0x06 ; 6 - 1030: 8c 91 ld r24, X - 1032: 16 97 sbiw r26, 0x06 ; 6 - 1034: 89 7f andi r24, 0xF9 ; 249 - 1036: 16 96 adiw r26, 0x06 ; 6 - 1038: 8c 93 st X, r24 - 103a: 16 97 sbiw r26, 0x06 ; 6 + 101c: a0 e5 ldi r26, 0x50 ; 80 + 101e: b0 e0 ldi r27, 0x00 ; 0 + 1020: 16 96 adiw r26, 0x06 ; 6 + 1022: 8c 91 ld r24, X + 1024: 16 97 sbiw r26, 0x06 ; 6 + 1026: 89 7f andi r24, 0xF9 ; 249 + 1028: 16 96 adiw r26, 0x06 ; 6 + 102a: 8c 93 st X, r24 + 102c: 16 97 sbiw r26, 0x06 ; 6 else if (ref_id == OSC_ID_USBSOF) { /* * Calibrate 32MRC at 48MHz using USB SOF * 48MHz / 1kHz = 0xBB80 */ DFLLRC32M.COMP1 = 0x80; - 103c: e0 e6 ldi r30, 0x60 ; 96 - 103e: f0 e0 ldi r31, 0x00 ; 0 - 1040: 80 e8 ldi r24, 0x80 ; 128 - 1042: 85 83 std Z+5, r24 ; 0x05 + 102e: e0 e6 ldi r30, 0x60 ; 96 + 1030: f0 e0 ldi r31, 0x00 ; 0 + 1032: 80 e8 ldi r24, 0x80 ; 128 + 1034: 85 83 std Z+5, r24 ; 0x05 DFLLRC32M.COMP2 = 0xBB; - 1044: 8b eb ldi r24, 0xBB ; 187 - 1046: 86 83 std Z+6, r24 ; 0x06 + 1036: 8b eb ldi r24, 0xBB ; 187 + 1038: 86 83 std Z+6, r24 ; 0x06 OSC.DFLLCTRL |= OSC_RC32MCREF_USBSOF_gc; - 1048: 16 96 adiw r26, 0x06 ; 6 - 104a: 8c 91 ld r24, X - 104c: 16 97 sbiw r26, 0x06 ; 6 - 104e: 84 60 ori r24, 0x04 ; 4 - 1050: 16 96 adiw r26, 0x06 ; 6 - 1052: 8c 93 st X, r24 + 103a: 16 96 adiw r26, 0x06 ; 6 + 103c: 8c 91 ld r24, X + 103e: 16 97 sbiw r26, 0x06 ; 6 + 1040: 84 60 ori r24, 0x04 ; 4 + 1042: 16 96 adiw r26, 0x06 ; 6 + 1044: 8c 93 st X, r24 OSC.DFLLCTRL &= ~(OSC_RC32MCREF_bm); # endif } #endif DFLLRC32M.CTRL |= DFLL_ENABLE_bm; - 1054: 80 81 ld r24, Z - 1056: 81 60 ori r24, 0x01 ; 1 - 1058: 80 83 st Z, r24 + 1046: 80 81 ld r24, Z + 1048: 81 60 ori r24, 0x01 ; 1 + 104a: 80 83 st Z, r24 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; - 105a: 9f bf out 0x3f, r25 ; 63 + 104c: 9f bf out 0x3f, r25 ; 63 } osc_enable_autocalibration(OSC_ID_RC32MHZ, CONFIG_OSC_AUTOCAL_RC32MHZ_REF_OSC); #endif } ccp_write_io((uint8_t *)&CLK.USBCTRL, (prescaler) - 105c: 63 60 ori r22, 0x03 ; 3 - 105e: 84 e4 ldi r24, 0x44 ; 68 - 1060: 90 e0 ldi r25, 0x00 ; 0 - 1062: 12 d5 rcall .+2596 ; 0x1a88 + 104e: 63 60 ori r22, 0x03 ; 3 + 1050: 84 e4 ldi r24, 0x44 ; 68 + 1052: 90 e0 ldi r25, 0x00 ; 0 + 1054: 12 d5 rcall .+2596 ; 0x1a7a default: Assert(false); break; } sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_USB); - 1064: 60 e4 ldi r22, 0x40 ; 64 - 1066: 80 e0 ldi r24, 0x00 ; 0 - 1068: be cf rjmp .-132 ; 0xfe6 - 106a: 08 95 ret + 1056: 60 e4 ldi r22, 0x40 ; 64 + 1058: 80 e0 ldi r24, 0x00 ; 0 + 105a: be cf rjmp .-132 ; 0xfd8 + 105c: 08 95 ret -0000106c : +0000105e : return udd_ep_run(UDI_VENDOR_EP_BULK_OUT, false, buf, buf_size, callback); } - 106c: 80 91 b6 20 lds r24, 0x20B6 ; 0x8020b6 - 1070: 08 95 ret + 105e: 80 91 b6 20 lds r24, 0x20B6 ; 0x8020b6 + 1062: 08 95 ret -00001072 : - 1072: 28 d1 rcall .+592 ; 0x12c4 - 1074: fc 01 movw r30, r24 - 1076: 83 81 ldd r24, Z+3 ; 0x03 - 1078: 80 93 b6 20 sts 0x20B6, r24 ; 0x8020b6 - 107c: 81 11 cpse r24, r1 - 107e: 02 c0 rjmp .+4 ; 0x1084 - 1080: 67 c9 rjmp .-3378 ; 0x350 - 1082: 08 95 ret - 1084: 81 e0 ldi r24, 0x01 ; 1 - 1086: 08 95 ret +00001064 : + 1064: 28 d1 rcall .+592 ; 0x12b6 + 1066: fc 01 movw r30, r24 + 1068: 83 81 ldd r24, Z+3 ; 0x03 + 106a: 80 93 b6 20 sts 0x20B6, r24 ; 0x8020b6 + 106e: 81 11 cpse r24, r1 + 1070: 02 c0 rjmp .+4 ; 0x1076 + 1072: 6e c9 rjmp .-3364 ; 0x350 + 1074: 08 95 ret + 1076: 81 e0 ldi r24, 0x01 ; 1 + 1078: 08 95 ret -00001088 : - 1088: 80 91 b6 20 lds r24, 0x20B6 ; 0x8020b6 - 108c: 81 30 cpi r24, 0x01 ; 1 - 108e: 09 f4 brne .+2 ; 0x1092 - 1090: 6b c9 rjmp .-3370 ; 0x368 - 1092: 08 95 ret +0000107a : + 107a: 80 91 b6 20 lds r24, 0x20B6 ; 0x8020b6 + 107e: 81 30 cpi r24, 0x01 ; 1 + 1080: 09 f4 brne .+2 ; 0x1084 + 1082: 72 c9 rjmp .-3356 ; 0x368 + 1084: 08 95 ret -00001094 : - 1094: 80 91 56 24 lds r24, 0x2456 ; 0x802456 - 1098: 88 23 and r24, r24 - 109a: 4c f4 brge .+18 ; 0x10ae - 109c: 80 76 andi r24, 0x60 ; 96 - 109e: 80 34 cpi r24, 0x40 ; 64 - 10a0: a9 f4 brne .+42 ; 0x10cc - 10a2: 80 91 57 24 lds r24, 0x2457 ; 0x802457 - 10a6: 81 11 cpse r24, r1 - 10a8: 13 c0 rjmp .+38 ; 0x10d0 - 10aa: 63 c9 rjmp .-3386 ; 0x372 - 10ac: 08 95 ret - 10ae: 80 76 andi r24, 0x60 ; 96 - 10b0: 80 34 cpi r24, 0x40 ; 64 - 10b2: 81 f4 brne .+32 ; 0x10d4 - 10b4: 80 91 57 24 lds r24, 0x2457 ; 0x802457 - 10b8: 81 11 cpse r24, r1 - 10ba: 0e c0 rjmp .+28 ; 0x10d8 - 10bc: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 10c0: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 10c4: 89 2b or r24, r25 - 10c6: 51 f0 breq .+20 ; 0x10dc - 10c8: 52 c9 rjmp .-3420 ; 0x36e - 10ca: 08 95 ret - 10cc: 80 e0 ldi r24, 0x00 ; 0 - 10ce: 08 95 ret - 10d0: 80 e0 ldi r24, 0x00 ; 0 - 10d2: 08 95 ret - 10d4: 80 e0 ldi r24, 0x00 ; 0 - 10d6: 08 95 ret - 10d8: 80 e0 ldi r24, 0x00 ; 0 - 10da: 08 95 ret - 10dc: 80 e0 ldi r24, 0x00 ; 0 - 10de: 08 95 ret +00001086 : + 1086: 80 91 56 24 lds r24, 0x2456 ; 0x802456 + 108a: 88 23 and r24, r24 + 108c: 4c f4 brge .+18 ; 0x10a0 + 108e: 80 76 andi r24, 0x60 ; 96 + 1090: 80 34 cpi r24, 0x40 ; 64 + 1092: a9 f4 brne .+42 ; 0x10be + 1094: 80 91 57 24 lds r24, 0x2457 ; 0x802457 + 1098: 81 11 cpse r24, r1 + 109a: 13 c0 rjmp .+38 ; 0x10c2 + 109c: 6a c9 rjmp .-3372 ; 0x372 + 109e: 08 95 ret + 10a0: 80 76 andi r24, 0x60 ; 96 + 10a2: 80 34 cpi r24, 0x40 ; 64 + 10a4: 81 f4 brne .+32 ; 0x10c6 + 10a6: 80 91 57 24 lds r24, 0x2457 ; 0x802457 + 10aa: 81 11 cpse r24, r1 + 10ac: 0e c0 rjmp .+28 ; 0x10ca + 10ae: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 10b2: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 10b6: 89 2b or r24, r25 + 10b8: 51 f0 breq .+20 ; 0x10ce + 10ba: 59 c9 rjmp .-3406 ; 0x36e + 10bc: 08 95 ret + 10be: 80 e0 ldi r24, 0x00 ; 0 + 10c0: 08 95 ret + 10c2: 80 e0 ldi r24, 0x00 ; 0 + 10c4: 08 95 ret + 10c6: 80 e0 ldi r24, 0x00 ; 0 + 10c8: 08 95 ret + 10ca: 80 e0 ldi r24, 0x00 ; 0 + 10cc: 08 95 ret + 10ce: 80 e0 ldi r24, 0x00 ; 0 + 10d0: 08 95 ret -000010e0 : +000010d2 : * * \return \c 1 if function was successfully done, otherwise \c 0. */ bool udi_vendor_iso_in_run(uint8_t * buf, iram_size_t buf_size, udd_callback_trans_t callback) { - 10e0: 0f 93 push r16 - 10e2: 1f 93 push r17 - 10e4: 9b 01 movw r18, r22 + 10d2: 0f 93 push r16 + 10d4: 1f 93 push r17 + 10d6: 9b 01 movw r18, r22 return udd_ep_run(UDI_VENDOR_EP_ISO_IN, - 10e6: 8a 01 movw r16, r20 - 10e8: ac 01 movw r20, r24 - 10ea: 60 e0 ldi r22, 0x00 ; 0 - 10ec: 83 e8 ldi r24, 0x83 ; 131 - 10ee: 0e 94 b8 11 call 0x2370 ; 0x2370 + 10d8: 8a 01 movw r16, r20 + 10da: ac 01 movw r20, r24 + 10dc: 60 e0 ldi r22, 0x00 ; 0 + 10de: 83 e8 ldi r24, 0x83 ; 131 + 10e0: 0e 94 b1 11 call 0x2362 ; 0x2362 false, buf, buf_size, callback); } - 10f2: 1f 91 pop r17 - 10f4: 0f 91 pop r16 - 10f6: 08 95 ret + 10e4: 1f 91 pop r17 + 10e6: 0f 91 pop r16 + 10e8: 08 95 ret -000010f8 : +000010ea : /*! \brief Stop the USB Device stack */ void udc_stop(void) { udd_disable(); udc_reset(); - 10f8: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb - 10fc: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc - 1100: 01 90 ld r0, Z+ - 1102: f0 81 ld r31, Z - 1104: e0 2d mov r30, r0 - 1106: 22 81 ldd r18, Z+2 ; 0x02 - 1108: 33 81 ldd r19, Z+3 ; 0x03 - 110a: 2e 0f add r18, r30 - 110c: 3f 1f adc r19, r31 - 110e: fc 01 movw r30, r24 - 1110: 40 81 ld r20, Z - 1112: e4 0f add r30, r20 - 1114: f1 1d adc r31, r1 - 1116: e2 17 cp r30, r18 - 1118: f3 07 cpc r31, r19 - 111a: b8 f4 brcc .+46 ; 0x114a - 111c: 81 81 ldd r24, Z+1 ; 0x01 - 111e: 84 30 cpi r24, 0x04 ; 4 - 1120: b9 f0 breq .+46 ; 0x1150 - 1122: 86 13 cpse r24, r22 - 1124: 09 c0 rjmp .+18 ; 0x1138 - 1126: 05 c0 rjmp .+10 ; 0x1132 - 1128: 81 81 ldd r24, Z+1 ; 0x01 - 112a: 84 30 cpi r24, 0x04 ; 4 - 112c: a1 f0 breq .+40 ; 0x1156 - 112e: 86 13 cpse r24, r22 - 1130: 03 c0 rjmp .+6 ; 0x1138 - 1132: 8e 2f mov r24, r30 - 1134: 9f 2f mov r25, r31 - 1136: 08 95 ret - 1138: 80 81 ld r24, Z - 113a: e8 0f add r30, r24 - 113c: f1 1d adc r31, r1 - 113e: e2 17 cp r30, r18 - 1140: f3 07 cpc r31, r19 - 1142: 90 f3 brcs .-28 ; 0x1128 - 1144: 80 e0 ldi r24, 0x00 ; 0 - 1146: 90 e0 ldi r25, 0x00 ; 0 - 1148: 08 95 ret - 114a: 80 e0 ldi r24, 0x00 ; 0 - 114c: 90 e0 ldi r25, 0x00 ; 0 - 114e: 08 95 ret - 1150: 80 e0 ldi r24, 0x00 ; 0 - 1152: 90 e0 ldi r25, 0x00 ; 0 - 1154: 08 95 ret - 1156: 80 e0 ldi r24, 0x00 ; 0 - 1158: 90 e0 ldi r25, 0x00 ; 0 - 115a: 08 95 ret + 10ea: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb + 10ee: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc + 10f2: 01 90 ld r0, Z+ + 10f4: f0 81 ld r31, Z + 10f6: e0 2d mov r30, r0 + 10f8: 22 81 ldd r18, Z+2 ; 0x02 + 10fa: 33 81 ldd r19, Z+3 ; 0x03 + 10fc: 2e 0f add r18, r30 + 10fe: 3f 1f adc r19, r31 + 1100: fc 01 movw r30, r24 + 1102: 40 81 ld r20, Z + 1104: e4 0f add r30, r20 + 1106: f1 1d adc r31, r1 + 1108: e2 17 cp r30, r18 + 110a: f3 07 cpc r31, r19 + 110c: b8 f4 brcc .+46 ; 0x113c + 110e: 81 81 ldd r24, Z+1 ; 0x01 + 1110: 84 30 cpi r24, 0x04 ; 4 + 1112: b9 f0 breq .+46 ; 0x1142 + 1114: 86 13 cpse r24, r22 + 1116: 09 c0 rjmp .+18 ; 0x112a + 1118: 05 c0 rjmp .+10 ; 0x1124 + 111a: 81 81 ldd r24, Z+1 ; 0x01 + 111c: 84 30 cpi r24, 0x04 ; 4 + 111e: a1 f0 breq .+40 ; 0x1148 + 1120: 86 13 cpse r24, r22 + 1122: 03 c0 rjmp .+6 ; 0x112a + 1124: 8e 2f mov r24, r30 + 1126: 9f 2f mov r25, r31 + 1128: 08 95 ret + 112a: 80 81 ld r24, Z + 112c: e8 0f add r30, r24 + 112e: f1 1d adc r31, r1 + 1130: e2 17 cp r30, r18 + 1132: f3 07 cpc r31, r19 + 1134: 90 f3 brcs .-28 ; 0x111a + 1136: 80 e0 ldi r24, 0x00 ; 0 + 1138: 90 e0 ldi r25, 0x00 ; 0 + 113a: 08 95 ret + 113c: 80 e0 ldi r24, 0x00 ; 0 + 113e: 90 e0 ldi r25, 0x00 ; 0 + 1140: 08 95 ret + 1142: 80 e0 ldi r24, 0x00 ; 0 + 1144: 90 e0 ldi r25, 0x00 ; 0 + 1146: 08 95 ret + 1148: 80 e0 ldi r24, 0x00 ; 0 + 114a: 90 e0 ldi r25, 0x00 ; 0 + 114c: 08 95 ret -0000115c : - 115c: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 1160: 8f 77 andi r24, 0x7F ; 127 - 1162: 0c 94 e6 10 jmp 0x21cc ; 0x21cc - 1166: 08 95 ret +0000114e : + 114e: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 1152: 8f 77 andi r24, 0x7F ; 127 + 1154: 0c 94 df 10 jmp 0x21be ; 0x21be + 1158: 08 95 ret -00001168 : - 1168: 90 91 be 20 lds r25, 0x20BE ; 0x8020be - 116c: 99 23 and r25, r25 - 116e: 81 f1 breq .+96 ; 0x11d0 - 1170: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb - 1174: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc - 1178: 01 90 ld r0, Z+ - 117a: f0 81 ld r31, Z - 117c: e0 2d mov r30, r0 - 117e: 94 81 ldd r25, Z+4 ; 0x04 - 1180: 89 17 cp r24, r25 - 1182: 40 f5 brcc .+80 ; 0x11d4 - 1184: e0 93 b9 20 sts 0x20B9, r30 ; 0x8020b9 - 1188: f0 93 ba 20 sts 0x20BA, r31 ; 0x8020ba - 118c: 22 81 ldd r18, Z+2 ; 0x02 - 118e: 33 81 ldd r19, Z+3 ; 0x03 - 1190: 2e 0f add r18, r30 - 1192: 3f 1f adc r19, r31 - 1194: e2 17 cp r30, r18 - 1196: f3 07 cpc r31, r19 - 1198: f8 f4 brcc .+62 ; 0x11d8 - 119a: 91 81 ldd r25, Z+1 ; 0x01 - 119c: 94 30 cpi r25, 0x04 ; 4 - 119e: 61 f4 brne .+24 ; 0x11b8 - 11a0: 92 81 ldd r25, Z+2 ; 0x02 - 11a2: 98 13 cpse r25, r24 - 11a4: 09 c0 rjmp .+18 ; 0x11b8 - 11a6: 93 81 ldd r25, Z+3 ; 0x03 - 11a8: 96 13 cpse r25, r22 - 11aa: 06 c0 rjmp .+12 ; 0x11b8 - 11ac: e0 93 b9 20 sts 0x20B9, r30 ; 0x8020b9 - 11b0: f0 93 ba 20 sts 0x20BA, r31 ; 0x8020ba - 11b4: 81 e0 ldi r24, 0x01 ; 1 - 11b6: 08 95 ret - 11b8: 90 81 ld r25, Z - 11ba: e9 0f add r30, r25 - 11bc: f1 1d adc r31, r1 - 11be: e2 17 cp r30, r18 - 11c0: f3 07 cpc r31, r19 - 11c2: 58 f3 brcs .-42 ; 0x119a - 11c4: e0 93 b9 20 sts 0x20B9, r30 ; 0x8020b9 - 11c8: f0 93 ba 20 sts 0x20BA, r31 ; 0x8020ba - 11cc: 80 e0 ldi r24, 0x00 ; 0 - 11ce: 08 95 ret - 11d0: 80 e0 ldi r24, 0x00 ; 0 - 11d2: 08 95 ret - 11d4: 80 e0 ldi r24, 0x00 ; 0 - 11d6: 08 95 ret - 11d8: 80 e0 ldi r24, 0x00 ; 0 - 11da: 08 95 ret +0000115a : + 115a: 90 91 be 20 lds r25, 0x20BE ; 0x8020be + 115e: 99 23 and r25, r25 + 1160: 81 f1 breq .+96 ; 0x11c2 + 1162: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb + 1166: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc + 116a: 01 90 ld r0, Z+ + 116c: f0 81 ld r31, Z + 116e: e0 2d mov r30, r0 + 1170: 94 81 ldd r25, Z+4 ; 0x04 + 1172: 89 17 cp r24, r25 + 1174: 40 f5 brcc .+80 ; 0x11c6 + 1176: e0 93 b9 20 sts 0x20B9, r30 ; 0x8020b9 + 117a: f0 93 ba 20 sts 0x20BA, r31 ; 0x8020ba + 117e: 22 81 ldd r18, Z+2 ; 0x02 + 1180: 33 81 ldd r19, Z+3 ; 0x03 + 1182: 2e 0f add r18, r30 + 1184: 3f 1f adc r19, r31 + 1186: e2 17 cp r30, r18 + 1188: f3 07 cpc r31, r19 + 118a: f8 f4 brcc .+62 ; 0x11ca + 118c: 91 81 ldd r25, Z+1 ; 0x01 + 118e: 94 30 cpi r25, 0x04 ; 4 + 1190: 61 f4 brne .+24 ; 0x11aa + 1192: 92 81 ldd r25, Z+2 ; 0x02 + 1194: 98 13 cpse r25, r24 + 1196: 09 c0 rjmp .+18 ; 0x11aa + 1198: 93 81 ldd r25, Z+3 ; 0x03 + 119a: 96 13 cpse r25, r22 + 119c: 06 c0 rjmp .+12 ; 0x11aa + 119e: e0 93 b9 20 sts 0x20B9, r30 ; 0x8020b9 + 11a2: f0 93 ba 20 sts 0x20BA, r31 ; 0x8020ba + 11a6: 81 e0 ldi r24, 0x01 ; 1 + 11a8: 08 95 ret + 11aa: 90 81 ld r25, Z + 11ac: e9 0f add r30, r25 + 11ae: f1 1d adc r31, r1 + 11b0: e2 17 cp r30, r18 + 11b2: f3 07 cpc r31, r19 + 11b4: 58 f3 brcs .-42 ; 0x118c + 11b6: e0 93 b9 20 sts 0x20B9, r30 ; 0x8020b9 + 11ba: f0 93 ba 20 sts 0x20BA, r31 ; 0x8020ba + 11be: 80 e0 ldi r24, 0x00 ; 0 + 11c0: 08 95 ret + 11c2: 80 e0 ldi r24, 0x00 ; 0 + 11c4: 08 95 ret + 11c6: 80 e0 ldi r24, 0x00 ; 0 + 11c8: 08 95 ret + 11ca: 80 e0 ldi r24, 0x00 ; 0 + 11cc: 08 95 ret -000011dc : - 11dc: ef 92 push r14 - 11de: ff 92 push r15 - 11e0: 1f 93 push r17 - 11e2: cf 93 push r28 - 11e4: df 93 push r29 - 11e6: c8 2f mov r28, r24 - 11e8: 60 e0 ldi r22, 0x00 ; 0 - 11ea: be df rcall .-132 ; 0x1168 - 11ec: 18 2f mov r17, r24 - 11ee: 88 23 and r24, r24 - 11f0: 81 f1 breq .+96 ; 0x1252 - 11f2: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb - 11f6: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc - 11fa: ec 2f mov r30, r28 - 11fc: f0 e0 ldi r31, 0x00 ; 0 - 11fe: ee 0f add r30, r30 - 1200: ff 1f adc r31, r31 - 1202: 12 96 adiw r26, 0x02 ; 2 - 1204: 8d 91 ld r24, X+ - 1206: 9c 91 ld r25, X - 1208: 13 97 sbiw r26, 0x03 ; 3 - 120a: e8 0f add r30, r24 - 120c: f9 1f adc r31, r25 - 120e: e0 80 ld r14, Z - 1210: f1 80 ldd r15, Z+1 ; 0x01 - 1212: d7 01 movw r26, r14 - 1214: 16 96 adiw r26, 0x06 ; 6 - 1216: ed 91 ld r30, X+ - 1218: fc 91 ld r31, X - 121a: 17 97 sbiw r26, 0x07 ; 7 - 121c: 09 95 icall - 121e: 68 2f mov r22, r24 - 1220: 8c 2f mov r24, r28 - 1222: a2 df rcall .-188 ; 0x1168 - 1224: 18 2f mov r17, r24 - 1226: 88 23 and r24, r24 - 1228: a1 f0 breq .+40 ; 0x1252 - 122a: c0 91 b9 20 lds r28, 0x20B9 ; 0x8020b9 - 122e: d0 91 ba 20 lds r29, 0x20BA ; 0x8020ba - 1232: 65 e0 ldi r22, 0x05 ; 5 - 1234: ce 01 movw r24, r28 - 1236: 60 df rcall .-320 ; 0x10f8 - 1238: ec 01 movw r28, r24 - 123a: 89 2b or r24, r25 - 123c: 21 f0 breq .+8 ; 0x1246 - 123e: 8a 81 ldd r24, Y+2 ; 0x02 - 1240: 0e 94 bb 12 call 0x2576 ; 0x2576 - 1244: f6 cf rjmp .-20 ; 0x1232 - 1246: d7 01 movw r26, r14 - 1248: 12 96 adiw r26, 0x02 ; 2 - 124a: ed 91 ld r30, X+ - 124c: fc 91 ld r31, X - 124e: 13 97 sbiw r26, 0x03 ; 3 - 1250: 09 95 icall - 1252: 81 2f mov r24, r17 - 1254: df 91 pop r29 - 1256: cf 91 pop r28 - 1258: 1f 91 pop r17 - 125a: ff 90 pop r15 - 125c: ef 90 pop r14 - 125e: 08 95 ret +000011ce : + 11ce: ef 92 push r14 + 11d0: ff 92 push r15 + 11d2: 1f 93 push r17 + 11d4: cf 93 push r28 + 11d6: df 93 push r29 + 11d8: c8 2f mov r28, r24 + 11da: 60 e0 ldi r22, 0x00 ; 0 + 11dc: be df rcall .-132 ; 0x115a + 11de: 18 2f mov r17, r24 + 11e0: 88 23 and r24, r24 + 11e2: 81 f1 breq .+96 ; 0x1244 + 11e4: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb + 11e8: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc + 11ec: ec 2f mov r30, r28 + 11ee: f0 e0 ldi r31, 0x00 ; 0 + 11f0: ee 0f add r30, r30 + 11f2: ff 1f adc r31, r31 + 11f4: 12 96 adiw r26, 0x02 ; 2 + 11f6: 8d 91 ld r24, X+ + 11f8: 9c 91 ld r25, X + 11fa: 13 97 sbiw r26, 0x03 ; 3 + 11fc: e8 0f add r30, r24 + 11fe: f9 1f adc r31, r25 + 1200: e0 80 ld r14, Z + 1202: f1 80 ldd r15, Z+1 ; 0x01 + 1204: d7 01 movw r26, r14 + 1206: 16 96 adiw r26, 0x06 ; 6 + 1208: ed 91 ld r30, X+ + 120a: fc 91 ld r31, X + 120c: 17 97 sbiw r26, 0x07 ; 7 + 120e: 09 95 icall + 1210: 68 2f mov r22, r24 + 1212: 8c 2f mov r24, r28 + 1214: a2 df rcall .-188 ; 0x115a + 1216: 18 2f mov r17, r24 + 1218: 88 23 and r24, r24 + 121a: a1 f0 breq .+40 ; 0x1244 + 121c: c0 91 b9 20 lds r28, 0x20B9 ; 0x8020b9 + 1220: d0 91 ba 20 lds r29, 0x20BA ; 0x8020ba + 1224: 65 e0 ldi r22, 0x05 ; 5 + 1226: ce 01 movw r24, r28 + 1228: 60 df rcall .-320 ; 0x10ea + 122a: ec 01 movw r28, r24 + 122c: 89 2b or r24, r25 + 122e: 21 f0 breq .+8 ; 0x1238 + 1230: 8a 81 ldd r24, Y+2 ; 0x02 + 1232: 0e 94 b4 12 call 0x2568 ; 0x2568 + 1236: f6 cf rjmp .-20 ; 0x1224 + 1238: d7 01 movw r26, r14 + 123a: 12 96 adiw r26, 0x02 ; 2 + 123c: ed 91 ld r30, X+ + 123e: fc 91 ld r31, X + 1240: 13 97 sbiw r26, 0x03 ; 3 + 1242: 09 95 icall + 1244: 81 2f mov r24, r17 + 1246: df 91 pop r29 + 1248: cf 91 pop r28 + 124a: 1f 91 pop r17 + 124c: ff 90 pop r15 + 124e: ef 90 pop r14 + 1250: 08 95 ret -00001260 : - 1260: 1f 93 push r17 - 1262: cf 93 push r28 - 1264: df 93 push r29 - 1266: 18 2f mov r17, r24 - 1268: 7f df rcall .-258 ; 0x1168 - 126a: 88 23 and r24, r24 - 126c: 39 f1 breq .+78 ; 0x12bc - 126e: c0 91 b9 20 lds r28, 0x20B9 ; 0x8020b9 - 1272: d0 91 ba 20 lds r29, 0x20BA ; 0x8020ba - 1276: 65 e0 ldi r22, 0x05 ; 5 - 1278: ce 01 movw r24, r28 - 127a: 3e df rcall .-388 ; 0x10f8 - 127c: ec 01 movw r28, r24 - 127e: 89 2b or r24, r25 - 1280: 41 f0 breq .+16 ; 0x1292 - 1282: 4c 81 ldd r20, Y+4 ; 0x04 - 1284: 5d 81 ldd r21, Y+5 ; 0x05 - 1286: 6b 81 ldd r22, Y+3 ; 0x03 - 1288: 8a 81 ldd r24, Y+2 ; 0x02 - 128a: ad d7 rcall .+3930 ; 0x21e6 - 128c: 81 11 cpse r24, r1 - 128e: f3 cf rjmp .-26 ; 0x1276 - 1290: 15 c0 rjmp .+42 ; 0x12bc - 1292: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb - 1296: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc - 129a: e1 2f mov r30, r17 - 129c: f0 e0 ldi r31, 0x00 ; 0 - 129e: ee 0f add r30, r30 - 12a0: ff 1f adc r31, r31 - 12a2: 12 96 adiw r26, 0x02 ; 2 - 12a4: 8d 91 ld r24, X+ - 12a6: 9c 91 ld r25, X - 12a8: 13 97 sbiw r26, 0x03 ; 3 - 12aa: e8 0f add r30, r24 - 12ac: f9 1f adc r31, r25 - 12ae: 01 90 ld r0, Z+ - 12b0: f0 81 ld r31, Z - 12b2: e0 2d mov r30, r0 - 12b4: 01 90 ld r0, Z+ - 12b6: f0 81 ld r31, Z - 12b8: e0 2d mov r30, r0 - 12ba: 09 95 icall - 12bc: df 91 pop r29 - 12be: cf 91 pop r28 - 12c0: 1f 91 pop r17 +00001252 : + 1252: 1f 93 push r17 + 1254: cf 93 push r28 + 1256: df 93 push r29 + 1258: 18 2f mov r17, r24 + 125a: 7f df rcall .-258 ; 0x115a + 125c: 88 23 and r24, r24 + 125e: 39 f1 breq .+78 ; 0x12ae + 1260: c0 91 b9 20 lds r28, 0x20B9 ; 0x8020b9 + 1264: d0 91 ba 20 lds r29, 0x20BA ; 0x8020ba + 1268: 65 e0 ldi r22, 0x05 ; 5 + 126a: ce 01 movw r24, r28 + 126c: 3e df rcall .-388 ; 0x10ea + 126e: ec 01 movw r28, r24 + 1270: 89 2b or r24, r25 + 1272: 41 f0 breq .+16 ; 0x1284 + 1274: 4c 81 ldd r20, Y+4 ; 0x04 + 1276: 5d 81 ldd r21, Y+5 ; 0x05 + 1278: 6b 81 ldd r22, Y+3 ; 0x03 + 127a: 8a 81 ldd r24, Y+2 ; 0x02 + 127c: ad d7 rcall .+3930 ; 0x21d8 + 127e: 81 11 cpse r24, r1 + 1280: f3 cf rjmp .-26 ; 0x1268 + 1282: 15 c0 rjmp .+42 ; 0x12ae + 1284: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb + 1288: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc + 128c: e1 2f mov r30, r17 + 128e: f0 e0 ldi r31, 0x00 ; 0 + 1290: ee 0f add r30, r30 + 1292: ff 1f adc r31, r31 + 1294: 12 96 adiw r26, 0x02 ; 2 + 1296: 8d 91 ld r24, X+ + 1298: 9c 91 ld r25, X + 129a: 13 97 sbiw r26, 0x03 ; 3 + 129c: e8 0f add r30, r24 + 129e: f9 1f adc r31, r25 + 12a0: 01 90 ld r0, Z+ + 12a2: f0 81 ld r31, Z + 12a4: e0 2d mov r30, r0 + 12a6: 01 90 ld r0, Z+ + 12a8: f0 81 ld r31, Z + 12aa: e0 2d mov r30, r0 + 12ac: 09 95 icall + 12ae: df 91 pop r29 + 12b0: cf 91 pop r28 + 12b2: 1f 91 pop r17 + 12b4: 08 95 ret + +000012b6 : + 12b6: 80 91 b9 20 lds r24, 0x20B9 ; 0x8020b9 + 12ba: 90 91 ba 20 lds r25, 0x20BA ; 0x8020ba + 12be: 08 95 ret + +000012c0 : + 12c0: f9 c6 rjmp .+3570 ; 0x20b4 12c2: 08 95 ret -000012c4 : - 12c4: 80 91 b9 20 lds r24, 0x20B9 ; 0x8020b9 - 12c8: 90 91 ba 20 lds r25, 0x20BA ; 0x8020ba - 12cc: 08 95 ret +000012c4 : + 12c4: cf 93 push r28 + 12c6: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 12ca: 88 23 and r24, r24 + 12cc: c1 f0 breq .+48 ; 0x12fe + 12ce: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb + 12d2: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc + 12d6: 01 90 ld r0, Z+ + 12d8: f0 81 ld r31, Z + 12da: e0 2d mov r30, r0 + 12dc: 84 81 ldd r24, Z+4 ; 0x04 + 12de: 88 23 and r24, r24 + 12e0: 71 f0 breq .+28 ; 0x12fe + 12e2: c0 e0 ldi r28, 0x00 ; 0 + 12e4: 8c 2f mov r24, r28 + 12e6: 73 df rcall .-282 ; 0x11ce + 12e8: cf 5f subi r28, 0xFF ; 255 + 12ea: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb + 12ee: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc + 12f2: 01 90 ld r0, Z+ + 12f4: f0 81 ld r31, Z + 12f6: e0 2d mov r30, r0 + 12f8: 84 81 ldd r24, Z+4 ; 0x04 + 12fa: c8 17 cp r28, r24 + 12fc: 98 f3 brcs .-26 ; 0x12e4 + 12fe: 10 92 be 20 sts 0x20BE, r1 ; 0x8020be + 1302: 10 92 c2 20 sts 0x20C2, r1 ; 0x8020c2 + 1306: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 + 130a: cf 91 pop r28 + 130c: 08 95 ret -000012ce : - 12ce: f9 c6 rjmp .+3570 ; 0x20c2 - 12d0: 08 95 ret - -000012d2 : - 12d2: cf 93 push r28 - 12d4: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 12d8: 88 23 and r24, r24 - 12da: c1 f0 breq .+48 ; 0x130c - 12dc: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb - 12e0: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc - 12e4: 01 90 ld r0, Z+ - 12e6: f0 81 ld r31, Z - 12e8: e0 2d mov r30, r0 - 12ea: 84 81 ldd r24, Z+4 ; 0x04 - 12ec: 88 23 and r24, r24 - 12ee: 71 f0 breq .+28 ; 0x130c - 12f0: c0 e0 ldi r28, 0x00 ; 0 - 12f2: 8c 2f mov r24, r28 - 12f4: 73 df rcall .-282 ; 0x11dc - 12f6: cf 5f subi r28, 0xFF ; 255 - 12f8: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb - 12fc: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc - 1300: 01 90 ld r0, Z+ - 1302: f0 81 ld r31, Z - 1304: e0 2d mov r30, r0 - 1306: 84 81 ldd r24, Z+4 ; 0x04 - 1308: c8 17 cp r28, r24 - 130a: 98 f3 brcs .-26 ; 0x12f2 - 130c: 10 92 be 20 sts 0x20BE, r1 ; 0x8020be - 1310: 10 92 c2 20 sts 0x20C2, r1 ; 0x8020c2 - 1314: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 - 1318: cf 91 pop r28 - 131a: 08 95 ret - -0000131c : +0000130e : CPU_TO_LE16(USB_DEV_STATUS_BUS_POWERED); #endif } void udc_sof_notify(void) { - 131c: cf 93 push r28 + 130e: cf 93 push r28 uint8_t iface_num; if (udc_num_configuration) { - 131e: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1322: 88 23 and r24, r24 - 1324: 49 f1 breq .+82 ; 0x1378 + 1310: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1314: 88 23 and r24, r24 + 1316: 49 f1 breq .+82 ; 0x136a for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1326: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb - 132a: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc - 132e: ed 91 ld r30, X+ - 1330: fc 91 ld r31, X - 1332: 11 97 sbiw r26, 0x01 ; 1 + 1318: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb + 131c: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc + 1320: ed 91 ld r30, X+ + 1322: fc 91 ld r31, X + 1324: 11 97 sbiw r26, 0x01 ; 1 void udc_sof_notify(void) { uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; - 1334: 84 81 ldd r24, Z+4 ; 0x04 - 1336: 88 23 and r24, r24 - 1338: f9 f0 breq .+62 ; 0x1378 - 133a: c0 e0 ldi r28, 0x00 ; 0 + 1326: 84 81 ldd r24, Z+4 ; 0x04 + 1328: 88 23 and r24, r24 + 132a: f9 f0 breq .+62 ; 0x136a + 132c: c0 e0 ldi r28, 0x00 ; 0 iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { if (udc_ptr_conf->udi_apis[iface_num]->sof_notify != NULL) { - 133c: ec 2f mov r30, r28 - 133e: f0 e0 ldi r31, 0x00 ; 0 - 1340: ee 0f add r30, r30 - 1342: ff 1f adc r31, r31 - 1344: 12 96 adiw r26, 0x02 ; 2 - 1346: 8d 91 ld r24, X+ - 1348: 9c 91 ld r25, X - 134a: 13 97 sbiw r26, 0x03 ; 3 - 134c: e8 0f add r30, r24 - 134e: f9 1f adc r31, r25 - 1350: 01 90 ld r0, Z+ - 1352: f0 81 ld r31, Z - 1354: e0 2d mov r30, r0 - 1356: 00 84 ldd r0, Z+8 ; 0x08 - 1358: f1 85 ldd r31, Z+9 ; 0x09 - 135a: e0 2d mov r30, r0 - 135c: 30 97 sbiw r30, 0x00 ; 0 - 135e: 09 f0 breq .+2 ; 0x1362 + 132e: ec 2f mov r30, r28 + 1330: f0 e0 ldi r31, 0x00 ; 0 + 1332: ee 0f add r30, r30 + 1334: ff 1f adc r31, r31 + 1336: 12 96 adiw r26, 0x02 ; 2 + 1338: 8d 91 ld r24, X+ + 133a: 9c 91 ld r25, X + 133c: 13 97 sbiw r26, 0x03 ; 3 + 133e: e8 0f add r30, r24 + 1340: f9 1f adc r31, r25 + 1342: 01 90 ld r0, Z+ + 1344: f0 81 ld r31, Z + 1346: e0 2d mov r30, r0 + 1348: 00 84 ldd r0, Z+8 ; 0x08 + 134a: f1 85 ldd r31, Z+9 ; 0x09 + 134c: e0 2d mov r30, r0 + 134e: 30 97 sbiw r30, 0x00 ; 0 + 1350: 09 f0 breq .+2 ; 0x1354 udc_ptr_conf->udi_apis[iface_num]->sof_notify(); - 1360: 09 95 icall + 1352: 09 95 icall uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { - 1362: cf 5f subi r28, 0xFF ; 255 + 1354: cf 5f subi r28, 0xFF ; 255 { uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1364: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb - 1368: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc - 136c: ed 91 ld r30, X+ - 136e: fc 91 ld r31, X - 1370: 11 97 sbiw r26, 0x01 ; 1 + 1356: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb + 135a: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc + 135e: ed 91 ld r30, X+ + 1360: fc 91 ld r31, X + 1362: 11 97 sbiw r26, 0x01 ; 1 void udc_sof_notify(void) { uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; - 1372: 84 81 ldd r24, Z+4 ; 0x04 - 1374: c8 17 cp r28, r24 - 1376: 10 f3 brcs .-60 ; 0x133c + 1364: 84 81 ldd r24, Z+4 ; 0x04 + 1366: c8 17 cp r28, r24 + 1368: 10 f3 brcs .-60 ; 0x132e if (udc_ptr_conf->udi_apis[iface_num]->sof_notify != NULL) { udc_ptr_conf->udi_apis[iface_num]->sof_notify(); } } } } - 1378: cf 91 pop r28 - 137a: 08 95 ret + 136a: cf 91 pop r28 + 136c: 08 95 ret -0000137c : +0000136e : * sent to a specific application callback. * * \return true if the request is supported, else the request is stalled by UDD */ bool udc_process_setup(void) { - 137c: 0f 93 push r16 - 137e: 1f 93 push r17 - 1380: cf 93 push r28 - 1382: df 93 push r29 + 136e: 0f 93 push r16 + 1370: 1f 93 push r17 + 1372: cf 93 push r28 + 1374: df 93 push r29 // By default no data (receive/send) and no callbacks registered udd_g_ctrlreq.payload_size = 0; - 1384: e6 e5 ldi r30, 0x56 ; 86 - 1386: f4 e2 ldi r31, 0x24 ; 36 - 1388: 12 86 std Z+10, r1 ; 0x0a - 138a: 13 86 std Z+11, r1 ; 0x0b + 1376: e6 e5 ldi r30, 0x56 ; 86 + 1378: f4 e2 ldi r31, 0x24 ; 36 + 137a: 12 86 std Z+10, r1 ; 0x0a + 137c: 13 86 std Z+11, r1 ; 0x0b udd_g_ctrlreq.callback = NULL; - 138c: 14 86 std Z+12, r1 ; 0x0c - 138e: 15 86 std Z+13, r1 ; 0x0d + 137e: 14 86 std Z+12, r1 ; 0x0c + 1380: 15 86 std Z+13, r1 ; 0x0d udd_g_ctrlreq.over_under_run = NULL; - 1390: 16 86 std Z+14, r1 ; 0x0e - 1392: 17 86 std Z+15, r1 ; 0x0f + 1382: 16 86 std Z+14, r1 ; 0x0e + 1384: 17 86 std Z+15, r1 ; 0x0f if (Udd_setup_is_in()) { - 1394: 80 81 ld r24, Z - 1396: 88 23 and r24, r24 - 1398: 3c f4 brge .+14 ; 0x13a8 + 1386: 80 81 ld r24, Z + 1388: 88 23 and r24, r24 + 138a: 3c f4 brge .+14 ; 0x139a if (udd_g_ctrlreq.req.wLength == 0) { - 139a: 20 91 5c 24 lds r18, 0x245C ; 0x80245c - 139e: 30 91 5d 24 lds r19, 0x245D ; 0x80245d - 13a2: 23 2b or r18, r19 - 13a4: 09 f4 brne .+2 ; 0x13a8 - 13a6: 64 c3 rjmp .+1736 ; 0x1a70 + 138c: 20 91 5c 24 lds r18, 0x245C ; 0x80245c + 1390: 30 91 5d 24 lds r19, 0x245D ; 0x80245d + 1394: 23 2b or r18, r19 + 1396: 09 f4 brne .+2 ; 0x139a + 1398: 64 c3 rjmp .+1736 ; 0x1a62 return false; // Error from USB host } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ - 13a8: 80 76 andi r24, 0x60 ; 96 - 13aa: 80 34 cpi r24, 0x40 ; 64 - 13ac: 09 f0 breq .+2 ; 0x13b0 - 13ae: 02 c1 rjmp .+516 ; 0x15b4 + 139a: 80 76 andi r24, 0x60 ; 96 + 139c: 80 34 cpi r24, 0x40 ; 64 + 139e: 09 f0 breq .+2 ; 0x13a2 + 13a0: 02 c1 rjmp .+516 ; 0x15a6 } return false; } static bool udc_reqvend(void){ switch (udd_g_ctrlreq.req.bRequest){ - 13b0: e0 91 57 24 lds r30, 0x2457 ; 0x802457 - 13b4: 8e 2f mov r24, r30 - 13b6: 90 e0 ldi r25, 0x00 ; 0 - 13b8: fc 01 movw r30, r24 - 13ba: e0 5a subi r30, 0xA0 ; 160 - 13bc: f1 09 sbc r31, r1 - 13be: e8 30 cpi r30, 0x08 ; 8 - 13c0: f1 05 cpc r31, r1 - 13c2: 08 f0 brcs .+2 ; 0x13c6 - 13c4: ee c0 rjmp .+476 ; 0x15a2 - 13c6: ea 5f subi r30, 0xFA ; 250 - 13c8: fe 4f sbci r31, 0xFE ; 254 - 13ca: 0c 94 bc 14 jmp 0x2978 ; 0x2978 <__tablejump2__> + 13a2: e0 91 57 24 lds r30, 0x2457 ; 0x802457 + 13a6: 8e 2f mov r24, r30 + 13a8: 90 e0 ldi r25, 0x00 ; 0 + 13aa: fc 01 movw r30, r24 + 13ac: e0 5a subi r30, 0xA0 ; 160 + 13ae: f1 09 sbc r31, r1 + 13b0: e8 30 cpi r30, 0x08 ; 8 + 13b2: f1 05 cpc r31, r1 + 13b4: 08 f0 brcs .+2 ; 0x13b8 + 13b6: ee c0 rjmp .+476 ; 0x1594 + 13b8: ea 5f subi r30, 0xFA ; 250 + 13ba: fe 4f sbci r31, 0xFE ; 254 + 13bc: 0c 94 b5 14 jmp 0x296a ; 0x296a <__tablejump2__> case 0xa0: //Break! (Debug command) asm("nop"); - 13ce: 00 00 nop - 13d0: 53 c3 rjmp .+1702 ; 0x1a78 + 13c0: 00 00 nop + 13c2: 53 c3 rjmp .+1702 ; 0x1a6a return 1; case 0xa1: //Receive waveform for signal gen TC_DAC.CTRLA = 0x00; - 13d2: e0 e0 ldi r30, 0x00 ; 0 - 13d4: f8 e0 ldi r31, 0x08 ; 8 - 13d6: 10 82 st Z, r1 + 13c4: e0 e0 ldi r30, 0x00 ; 0 + 13c6: f8 e0 ldi r31, 0x08 ; 8 + 13c8: 10 82 st Z, r1 TC_DAC.PERBUF = udd_g_ctrlreq.req.wValue; - 13d8: c6 e5 ldi r28, 0x56 ; 86 - 13da: d4 e2 ldi r29, 0x24 ; 36 - 13dc: 8a 81 ldd r24, Y+2 ; 0x02 - 13de: 9b 81 ldd r25, Y+3 ; 0x03 - 13e0: 86 ab std Z+54, r24 ; 0x36 - 13e2: 97 ab std Z+55, r25 ; 0x37 + 13ca: c6 e5 ldi r28, 0x56 ; 86 + 13cc: d4 e2 ldi r29, 0x24 ; 36 + 13ce: 8a 81 ldd r24, Y+2 ; 0x02 + 13d0: 9b 81 ldd r25, Y+3 ; 0x03 + 13d2: 86 ab std Z+54, r24 ; 0x36 + 13d4: 97 ab std Z+55, r25 ; 0x37 TC_DAC.CTRLA = (unsigned char) udd_g_ctrlreq.req.wIndex & 0x0F; - 13e4: 8c 81 ldd r24, Y+4 ; 0x04 - 13e6: 8f 70 andi r24, 0x0F ; 15 - 13e8: 80 83 st Z, r24 + 13d6: 8c 81 ldd r24, Y+4 ; 0x04 + 13d8: 8f 70 andi r24, 0x0F ; 15 + 13da: 80 83 st Z, r24 udd_set_setup_payload(dacBuf_CH1, udd_g_ctrlreq.req.wLength); - 13ea: 6e 81 ldd r22, Y+6 ; 0x06 - 13ec: 7f 81 ldd r23, Y+7 ; 0x07 - 13ee: 86 e5 ldi r24, 0x56 ; 86 - 13f0: 92 e2 ldi r25, 0x22 ; 34 - 13f2: f2 d6 rcall .+3556 ; 0x21d8 + 13dc: 6e 81 ldd r22, Y+6 ; 0x06 + 13de: 7f 81 ldd r23, Y+7 ; 0x07 + 13e0: 86 e5 ldi r24, 0x56 ; 86 + 13e2: 92 e2 ldi r25, 0x22 ; 34 + 13e4: f2 d6 rcall .+3556 ; 0x21ca if(dacBuf_len != udd_g_ctrlreq.req.wLength){ - 13f4: 8e 81 ldd r24, Y+6 ; 0x06 - 13f6: 9f 81 ldd r25, Y+7 ; 0x07 - 13f8: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 13fc: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 1400: 82 17 cp r24, r18 - 1402: 93 07 cpc r25, r19 - 1404: 09 f4 brne .+2 ; 0x1408 - 1406: 38 c3 rjmp .+1648 ; 0x1a78 + 13e6: 8e 81 ldd r24, Y+6 ; 0x06 + 13e8: 9f 81 ldd r25, Y+7 ; 0x07 + 13ea: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + 13ee: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + 13f2: 82 17 cp r24, r18 + 13f4: 93 07 cpc r25, r19 + 13f6: 09 f4 brne .+2 ; 0x13fa + 13f8: 38 c3 rjmp .+1648 ; 0x1a6a dacBuf_len = udd_g_ctrlreq.req.wLength; - 1408: 80 93 04 20 sts 0x2004, r24 ; 0x802004 - 140c: 90 93 05 20 sts 0x2005, r25 ; 0x802005 + 13fa: 80 93 04 20 sts 0x2004, r24 ; 0x802004 + 13fe: 90 93 05 20 sts 0x2005, r25 ; 0x802005 switch(global_mode){ - 1410: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 1414: 8e 2f mov r24, r30 - 1416: 90 e0 ldi r25, 0x00 ; 0 - 1418: 88 30 cpi r24, 0x08 ; 8 - 141a: 91 05 cpc r25, r1 - 141c: 08 f0 brcs .+2 ; 0x1420 - 141e: c3 c0 rjmp .+390 ; 0x15a6 - 1420: fc 01 movw r30, r24 - 1422: e2 5f subi r30, 0xF2 ; 242 - 1424: fe 4f sbci r31, 0xFE ; 254 - 1426: 0c 94 bc 14 jmp 0x2978 ; 0x2978 <__tablejump2__> + 1402: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 1406: 8e 2f mov r24, r30 + 1408: 90 e0 ldi r25, 0x00 ; 0 + 140a: 88 30 cpi r24, 0x08 ; 8 + 140c: 91 05 cpc r25, r1 + 140e: 08 f0 brcs .+2 ; 0x1412 + 1410: c3 c0 rjmp .+390 ; 0x1598 + 1412: fc 01 movw r30, r24 + 1414: e2 5f subi r30, 0xF2 ; 242 + 1416: fe 4f sbci r31, 0xFE ; 254 + 1418: 0c 94 b5 14 jmp 0x296a ; 0x296a <__tablejump2__> case 0: tiny_dma_set_mode_0(); - 142a: 4d d8 rcall .-3942 ; 0x4c6 - 142c: 25 c3 rjmp .+1610 ; 0x1a78 + 141c: 5a d8 rcall .-3916 ; 0x4d2 + 141e: 25 c3 rjmp .+1610 ; 0x1a6a break; case 1: tiny_dma_set_mode_1(); - 142e: c3 d8 rcall .-3706 ; 0x5b6 - 1430: 23 c3 rjmp .+1606 ; 0x1a78 + 1420: d0 d8 rcall .-3680 ; 0x5c2 + 1422: 23 c3 rjmp .+1606 ; 0x1a6a break; case 2: tiny_dma_set_mode_2(); - 1432: 66 d9 rcall .-3380 ; 0x700 - 1434: 21 c3 rjmp .+1602 ; 0x1a78 + 1424: 73 d9 rcall .-3354 ; 0x70c + 1426: 21 c3 rjmp .+1602 ; 0x1a6a break; case 3: tiny_dma_set_mode_3(); - 1436: 06 da rcall .-3060 ; 0x844 - 1438: 1f c3 rjmp .+1598 ; 0x1a78 + 1428: 13 da rcall .-3034 ; 0x850 + 142a: 1f c3 rjmp .+1598 ; 0x1a6a break; case 4: tiny_dma_set_mode_4(); - 143a: 9a da rcall .-2764 ; 0x970 - 143c: 1d c3 rjmp .+1594 ; 0x1a78 + 142c: a7 da rcall .-2738 ; 0x97c + 142e: 1d c3 rjmp .+1594 ; 0x1a6a break; case 5: tiny_dma_set_mode_5(); - 143e: 58 db rcall .-2384 ; 0xaf0 - 1440: 1b c3 rjmp .+1590 ; 0x1a78 + 1430: 48 db rcall .-2416 ; 0xac2 + 1432: 1b c3 rjmp .+1590 ; 0x1a6a break; case 6: tiny_dma_set_mode_6(); - 1442: 9d db rcall .-2246 ; 0xb7e - 1444: 19 c3 rjmp .+1586 ; 0x1a78 + 1434: 8d db rcall .-2278 ; 0xb50 + 1436: 19 c3 rjmp .+1586 ; 0x1a6a break; case 7: tiny_dma_set_mode_7(); - 1446: 12 dc rcall .-2012 ; 0xc6c - 1448: 17 c3 rjmp .+1582 ; 0x1a78 + 1438: 02 dc rcall .-2044 ; 0xc3e + 143a: 17 c3 rjmp .+1582 ; 0x1a6a break; } } return 1; case 0xa2: //CH2 waveform TC_AUXDAC.CTRLA = 0x00; - 144a: e0 e4 ldi r30, 0x40 ; 64 - 144c: f8 e0 ldi r31, 0x08 ; 8 - 144e: 10 82 st Z, r1 + 143c: e0 e4 ldi r30, 0x40 ; 64 + 143e: f8 e0 ldi r31, 0x08 ; 8 + 1440: 10 82 st Z, r1 auxDacBufLen = udd_g_ctrlreq.req.wLength; - 1450: c6 e5 ldi r28, 0x56 ; 86 - 1452: d4 e2 ldi r29, 0x24 ; 36 - 1454: 6e 81 ldd r22, Y+6 ; 0x06 - 1456: 7f 81 ldd r23, Y+7 ; 0x07 - 1458: 60 93 02 20 sts 0x2002, r22 ; 0x802002 - 145c: 70 93 03 20 sts 0x2003, r23 ; 0x802003 + 1442: c6 e5 ldi r28, 0x56 ; 86 + 1444: d4 e2 ldi r29, 0x24 ; 36 + 1446: 6e 81 ldd r22, Y+6 ; 0x06 + 1448: 7f 81 ldd r23, Y+7 ; 0x07 + 144a: 60 93 02 20 sts 0x2002, r22 ; 0x802002 + 144e: 70 93 03 20 sts 0x2003, r23 ; 0x802003 TC_AUXDAC.PERBUF = udd_g_ctrlreq.req.wValue; - 1460: 8a 81 ldd r24, Y+2 ; 0x02 - 1462: 9b 81 ldd r25, Y+3 ; 0x03 - 1464: 86 ab std Z+54, r24 ; 0x36 - 1466: 97 ab std Z+55, r25 ; 0x37 + 1452: 8a 81 ldd r24, Y+2 ; 0x02 + 1454: 9b 81 ldd r25, Y+3 ; 0x03 + 1456: 86 ab std Z+54, r24 ; 0x36 + 1458: 97 ab std Z+55, r25 ; 0x37 TC_AUXDAC.CTRLA = (unsigned char) udd_g_ctrlreq.req.wIndex & 0x0F; - 1468: 8c 81 ldd r24, Y+4 ; 0x04 - 146a: 8f 70 andi r24, 0x0F ; 15 - 146c: 80 83 st Z, r24 + 145a: 8c 81 ldd r24, Y+4 ; 0x04 + 145c: 8f 70 andi r24, 0x0F ; 15 + 145e: 80 83 st Z, r24 udd_set_setup_payload(dacBuf_CH2, udd_g_ctrlreq.req.wLength); - 146e: 86 e6 ldi r24, 0x66 ; 102 - 1470: 94 e2 ldi r25, 0x24 ; 36 - 1472: b2 d6 rcall .+3428 ; 0x21d8 + 1460: 86 e6 ldi r24, 0x66 ; 102 + 1462: 94 e2 ldi r25, 0x24 ; 36 + 1464: b2 d6 rcall .+3428 ; 0x21ca if(dacBuf_len != udd_g_ctrlreq.req.wLength){ - 1474: 8e 81 ldd r24, Y+6 ; 0x06 - 1476: 9f 81 ldd r25, Y+7 ; 0x07 - 1478: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 147c: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 1480: 82 17 cp r24, r18 - 1482: 93 07 cpc r25, r19 - 1484: 09 f4 brne .+2 ; 0x1488 - 1486: f8 c2 rjmp .+1520 ; 0x1a78 + 1466: 8e 81 ldd r24, Y+6 ; 0x06 + 1468: 9f 81 ldd r25, Y+7 ; 0x07 + 146a: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + 146e: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + 1472: 82 17 cp r24, r18 + 1474: 93 07 cpc r25, r19 + 1476: 09 f4 brne .+2 ; 0x147a + 1478: f8 c2 rjmp .+1520 ; 0x1a6a dacBuf_len = udd_g_ctrlreq.req.wLength; - 1488: 80 93 04 20 sts 0x2004, r24 ; 0x802004 - 148c: 90 93 05 20 sts 0x2005, r25 ; 0x802005 + 147a: 80 93 04 20 sts 0x2004, r24 ; 0x802004 + 147e: 90 93 05 20 sts 0x2005, r25 ; 0x802005 switch(global_mode){ - 1490: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 1494: 8e 2f mov r24, r30 - 1496: 90 e0 ldi r25, 0x00 ; 0 - 1498: 88 30 cpi r24, 0x08 ; 8 - 149a: 91 05 cpc r25, r1 - 149c: 08 f0 brcs .+2 ; 0x14a0 - 149e: 85 c0 rjmp .+266 ; 0x15aa - 14a0: fc 01 movw r30, r24 - 14a2: ea 5e subi r30, 0xEA ; 234 - 14a4: fe 4f sbci r31, 0xFE ; 254 - 14a6: 0c 94 bc 14 jmp 0x2978 ; 0x2978 <__tablejump2__> + 1482: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 1486: 8e 2f mov r24, r30 + 1488: 90 e0 ldi r25, 0x00 ; 0 + 148a: 88 30 cpi r24, 0x08 ; 8 + 148c: 91 05 cpc r25, r1 + 148e: 08 f0 brcs .+2 ; 0x1492 + 1490: 85 c0 rjmp .+266 ; 0x159c + 1492: fc 01 movw r30, r24 + 1494: ea 5e subi r30, 0xEA ; 234 + 1496: fe 4f sbci r31, 0xFE ; 254 + 1498: 0c 94 b5 14 jmp 0x296a ; 0x296a <__tablejump2__> case 0: tiny_dma_set_mode_0(); - 14aa: 0d d8 rcall .-4070 ; 0x4c6 - 14ac: e5 c2 rjmp .+1482 ; 0x1a78 + 149c: 1a d8 rcall .-4044 ; 0x4d2 + 149e: e5 c2 rjmp .+1482 ; 0x1a6a break; case 1: tiny_dma_set_mode_1(); - 14ae: 83 d8 rcall .-3834 ; 0x5b6 - 14b0: e3 c2 rjmp .+1478 ; 0x1a78 + 14a0: 90 d8 rcall .-3808 ; 0x5c2 + 14a2: e3 c2 rjmp .+1478 ; 0x1a6a break; case 2: tiny_dma_set_mode_2(); - 14b2: 26 d9 rcall .-3508 ; 0x700 - 14b4: e1 c2 rjmp .+1474 ; 0x1a78 + 14a4: 33 d9 rcall .-3482 ; 0x70c + 14a6: e1 c2 rjmp .+1474 ; 0x1a6a break; case 3: tiny_dma_set_mode_3(); - 14b6: c6 d9 rcall .-3188 ; 0x844 - 14b8: df c2 rjmp .+1470 ; 0x1a78 + 14a8: d3 d9 rcall .-3162 ; 0x850 + 14aa: df c2 rjmp .+1470 ; 0x1a6a break; case 4: tiny_dma_set_mode_4(); - 14ba: 5a da rcall .-2892 ; 0x970 - 14bc: dd c2 rjmp .+1466 ; 0x1a78 + 14ac: 67 da rcall .-2866 ; 0x97c + 14ae: dd c2 rjmp .+1466 ; 0x1a6a break; case 5: tiny_dma_set_mode_5(); - 14be: 18 db rcall .-2512 ; 0xaf0 - 14c0: db c2 rjmp .+1462 ; 0x1a78 + 14b0: 08 db rcall .-2544 ; 0xac2 + 14b2: db c2 rjmp .+1462 ; 0x1a6a break; case 6: tiny_dma_set_mode_6(); - 14c2: 5d db rcall .-2374 ; 0xb7e - 14c4: d9 c2 rjmp .+1458 ; 0x1a78 + 14b4: 4d db rcall .-2406 ; 0xb50 + 14b6: d9 c2 rjmp .+1458 ; 0x1a6a break; case 7: tiny_dma_set_mode_7(); - 14c6: d2 db rcall .-2140 ; 0xc6c - 14c8: d7 c2 rjmp .+1454 ; 0x1a78 + 14b8: c2 db rcall .-2172 ; 0xc3e + 14ba: d7 c2 rjmp .+1454 ; 0x1a6a break; } } return 1; case 0xa3: //PSU voltage control TC_PSU.CCA = 0; - 14ca: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 14ce: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 14bc: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 14c0: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> PSU_target = udd_g_ctrlreq.req.wValue; - 14d2: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 14d6: 80 93 b2 20 sts 0x20B2, r24 ; 0x8020b2 <__data_end> - 14da: ce c2 rjmp .+1436 ; 0x1a78 + 14c4: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 14c8: 80 93 b2 20 sts 0x20B2, r24 ; 0x8020b2 <__data_end> + 14cc: ce c2 rjmp .+1436 ; 0x1a6a return 1; case 0xa4: //Triple mode PORTB.OUT = udd_g_ctrlreq.req.wValue; - 14dc: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 14e0: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> - 14e4: c9 c2 rjmp .+1426 ; 0x1a78 + 14ce: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 14d2: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> + 14d6: c9 c2 rjmp .+1426 ; 0x1a6a return 1; case 0xa5: //Control Gain and Scope modes switch(udd_g_ctrlreq.req.wValue){ - 14e6: e0 91 58 24 lds r30, 0x2458 ; 0x802458 - 14ea: f0 91 59 24 lds r31, 0x2459 ; 0x802459 - 14ee: e8 30 cpi r30, 0x08 ; 8 - 14f0: f1 05 cpc r31, r1 - 14f2: 08 f0 brcs .+2 ; 0x14f6 - 14f4: 5c c0 rjmp .+184 ; 0x15ae - 14f6: e2 5e subi r30, 0xE2 ; 226 - 14f8: fe 4f sbci r31, 0xFE ; 254 - 14fa: 0c 94 bc 14 jmp 0x2978 ; 0x2978 <__tablejump2__> + 14d8: e0 91 58 24 lds r30, 0x2458 ; 0x802458 + 14dc: f0 91 59 24 lds r31, 0x2459 ; 0x802459 + 14e0: e8 30 cpi r30, 0x08 ; 8 + 14e2: f1 05 cpc r31, r1 + 14e4: 08 f0 brcs .+2 ; 0x14e8 + 14e6: 5c c0 rjmp .+184 ; 0x15a0 + 14e8: e2 5e subi r30, 0xE2 ; 226 + 14ea: fe 4f sbci r31, 0xFE ; 254 + 14ec: 0c 94 b5 14 jmp 0x296a ; 0x296a <__tablejump2__> case 0: //Mode 0 tiny_adc_setup(0, 0); - 14fe: 60 e0 ldi r22, 0x00 ; 0 - 1500: 80 e0 ldi r24, 0x00 ; 0 - 1502: 0e 94 e7 01 call 0x3ce ; 0x3ce + 14f0: 60 e0 ldi r22, 0x00 ; 0 + 14f2: 80 e0 ldi r24, 0x00 ; 0 + 14f4: 0e 94 ed 01 call 0x3da ; 0x3da tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1506: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 150a: 0e 94 bb 01 call 0x376 ; 0x376 + 14f8: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 14fc: 0e 94 bb 01 call 0x376 ; 0x376 tiny_dma_set_mode_0(); - 150e: 0e 94 63 02 call 0x4c6 ; 0x4c6 - 1512: b2 c2 rjmp .+1380 ; 0x1a78 + 1500: 0e 94 69 02 call 0x4d2 ; 0x4d2 + 1504: b2 c2 rjmp .+1380 ; 0x1a6a break; case 1: //Mode 1 tiny_adc_setup(0, 0); - 1514: 60 e0 ldi r22, 0x00 ; 0 - 1516: 80 e0 ldi r24, 0x00 ; 0 - 1518: 0e 94 e7 01 call 0x3ce ; 0x3ce + 1506: 60 e0 ldi r22, 0x00 ; 0 + 1508: 80 e0 ldi r24, 0x00 ; 0 + 150a: 0e 94 ed 01 call 0x3da ; 0x3da tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 151c: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1520: 0e 94 bb 01 call 0x376 ; 0x376 + 150e: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 1512: 0e 94 bb 01 call 0x376 ; 0x376 tiny_dma_set_mode_1(); - 1524: 48 d8 rcall .-3952 ; 0x5b6 - 1526: a8 c2 rjmp .+1360 ; 0x1a78 + 1516: 55 d8 rcall .-3926 ; 0x5c2 + 1518: a8 c2 rjmp .+1360 ; 0x1a6a break; case 2: //Mode 2 tiny_adc_setup(1, 1); - 1528: 61 e0 ldi r22, 0x01 ; 1 - 152a: 81 e0 ldi r24, 0x01 ; 1 - 152c: 0e 94 e7 01 call 0x3ce ; 0x3ce + 151a: 61 e0 ldi r22, 0x01 ; 1 + 151c: 81 e0 ldi r24, 0x01 ; 1 + 151e: 0e 94 ed 01 call 0x3da ; 0x3da tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1530: c6 e5 ldi r28, 0x56 ; 86 - 1532: d4 e2 ldi r29, 0x24 ; 36 - 1534: 8c 81 ldd r24, Y+4 ; 0x04 - 1536: 0e 94 bb 01 call 0x376 ; 0x376 + 1522: c6 e5 ldi r28, 0x56 ; 86 + 1524: d4 e2 ldi r29, 0x24 ; 36 + 1526: 8c 81 ldd r24, Y+4 ; 0x04 + 1528: 0e 94 bb 01 call 0x376 ; 0x376 tiny_adc_ch1setup(udd_g_ctrlreq.req.wIndex>>8); - 153a: 8d 81 ldd r24, Y+5 ; 0x05 - 153c: 0e 94 ca 01 call 0x394 ; 0x394 + 152c: 8d 81 ldd r24, Y+5 ; 0x05 + 152e: 0e 94 d0 01 call 0x3a0 ; 0x3a0 tiny_dma_set_mode_2(); - 1540: df d8 rcall .-3650 ; 0x700 - 1542: 9a c2 rjmp .+1332 ; 0x1a78 + 1532: ec d8 rcall .-3624 ; 0x70c + 1534: 9a c2 rjmp .+1332 ; 0x1a6a break; case 3: //Mode 3 tiny_dma_set_mode_3(); - 1544: 7f d9 rcall .-3330 ; 0x844 - 1546: 98 c2 rjmp .+1328 ; 0x1a78 + 1536: 8c d9 rcall .-3304 ; 0x850 + 1538: 98 c2 rjmp .+1328 ; 0x1a6a break; case 4: //Mode 4 tiny_dma_set_mode_4(); - 1548: 13 da rcall .-3034 ; 0x970 - 154a: 96 c2 rjmp .+1324 ; 0x1a78 + 153a: 20 da rcall .-3008 ; 0x97c + 153c: 96 c2 rjmp .+1324 ; 0x1a6a break; case 5: //Mode 5 tiny_adc_setup(0, 0); - 154c: 60 e0 ldi r22, 0x00 ; 0 - 154e: 80 e0 ldi r24, 0x00 ; 0 - 1550: 0e 94 e7 01 call 0x3ce ; 0x3ce + 153e: 60 e0 ldi r22, 0x00 ; 0 + 1540: 80 e0 ldi r24, 0x00 ; 0 + 1542: 0e 94 ed 01 call 0x3da ; 0x3da tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1554: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1558: 0e 94 bb 01 call 0x376 ; 0x376 + 1546: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 154a: 0e 94 bb 01 call 0x376 ; 0x376 tiny_dma_set_mode_5(); - 155c: c9 da rcall .-2670 ; 0xaf0 - 155e: 8c c2 rjmp .+1304 ; 0x1a78 + 154e: b9 da rcall .-2702 ; 0xac2 + 1550: 8c c2 rjmp .+1304 ; 0x1a6a break; case 6: //Mode 6 tiny_adc_setup(0, 1); - 1560: 61 e0 ldi r22, 0x01 ; 1 - 1562: 80 e0 ldi r24, 0x00 ; 0 - 1564: 0e 94 e7 01 call 0x3ce ; 0x3ce + 1552: 61 e0 ldi r22, 0x01 ; 1 + 1554: 80 e0 ldi r24, 0x00 ; 0 + 1556: 0e 94 ed 01 call 0x3da ; 0x3da tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1568: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 156c: 0e 94 bb 01 call 0x376 ; 0x376 + 155a: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 155e: 0e 94 bb 01 call 0x376 ; 0x376 tiny_dma_set_mode_6(); - 1570: 06 db rcall .-2548 ; 0xb7e - 1572: 82 c2 rjmp .+1284 ; 0x1a78 + 1562: f6 da rcall .-2580 ; 0xb50 + 1564: 82 c2 rjmp .+1284 ; 0x1a6a break; case 7: //Mode 7 tiny_adc_setup(0, 2); - 1574: 62 e0 ldi r22, 0x02 ; 2 - 1576: 80 e0 ldi r24, 0x00 ; 0 - 1578: 0e 94 e7 01 call 0x3ce ; 0x3ce + 1566: 62 e0 ldi r22, 0x02 ; 2 + 1568: 80 e0 ldi r24, 0x00 ; 0 + 156a: 0e 94 ed 01 call 0x3da ; 0x3da tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex | 0x80); - 157c: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1580: 80 68 ori r24, 0x80 ; 128 - 1582: 0e 94 bb 01 call 0x376 ; 0x376 + 156e: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 1572: 80 68 ori r24, 0x80 ; 128 + 1574: 0e 94 bb 01 call 0x376 ; 0x376 tiny_dma_set_mode_7(); - 1586: 72 db rcall .-2332 ; 0xc6c - 1588: 77 c2 rjmp .+1262 ; 0x1a78 + 1578: 62 db rcall .-2364 ; 0xc3e + 157a: 77 c2 rjmp .+1262 ; 0x1a6a default: return 0; } return 1; case 0xa6: //Digital out??? PORTE.OUT = udd_g_ctrlreq.req.wValue; - 158a: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 158e: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> - 1592: 72 c2 rjmp .+1252 ; 0x1a78 + 157c: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 1580: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> + 1584: 72 c2 rjmp .+1252 ; 0x1a6a case 0xa7: //Soft Reset //Code here from SprinterSB //http://www.avrfreaks.net/comment/872674 //I don't understand it, but it seems to do the job __asm volatile ("cli" "\n\t" - 1594: e9 e7 ldi r30, 0x79 ; 121 - 1596: f0 e0 ldi r31, 0x00 ; 0 - 1598: 91 e0 ldi r25, 0x01 ; 1 - 159a: 88 ed ldi r24, 0xD8 ; 216 - 159c: f8 94 cli - 159e: 84 bf out 0x34, r24 ; 52 - 15a0: 90 83 st Z, r25 + 1586: e9 e7 ldi r30, 0x79 ; 121 + 1588: f0 e0 ldi r31, 0x00 ; 0 + 158a: 91 e0 ldi r25, 0x01 ; 1 + 158c: 88 ed ldi r24, 0xD8 ; 216 + 158e: f8 94 cli + 1590: 84 bf out 0x34, r24 ; 52 + 1592: 90 83 st Z, r25 [swrst] "r" ((uint8_t) RST_SWRST_bm), [rst] "e" (&RST.CTRL) : "memory"); __builtin_unreachable(); default: return 0; - 15a2: 80 e0 ldi r24, 0x00 ; 0 - 15a4: 05 c0 rjmp .+10 ; 0x15b0 + 1594: 80 e0 ldi r24, 0x00 ; 0 + 1596: 05 c0 rjmp .+10 ; 0x15a2 case 7: tiny_dma_set_mode_7(); break; } } return 1; - 15a6: 81 e0 ldi r24, 0x01 ; 1 - 15a8: 03 c0 rjmp .+6 ; 0x15b0 + 1598: 81 e0 ldi r24, 0x01 ; 1 + 159a: 03 c0 rjmp .+6 ; 0x15a2 case 7: tiny_dma_set_mode_7(); break; } } return 1; - 15aa: 81 e0 ldi r24, 0x01 ; 1 - 15ac: 01 c0 rjmp .+2 ; 0x15b0 + 159c: 81 e0 ldi r24, 0x01 ; 1 + 159e: 01 c0 rjmp .+2 ; 0x15a2 tiny_adc_setup(0, 2); tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex | 0x80); tiny_dma_set_mode_7(); break; default: return 0; - 15ae: 80 e0 ldi r24, 0x00 ; 0 + 15a0: 80 e0 ldi r24, 0x00 ; 0 return false; // Error from USB host } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ if (udc_reqvend()) { - 15b0: 81 11 cpse r24, r1 - 15b2: 65 c2 rjmp .+1226 ; 0x1a7e + 15a2: 81 11 cpse r24, r1 + 15a4: 65 c2 rjmp .+1226 ; 0x1a70 return true; } } // If standard request then try to decode it in UDC if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) { - 15b4: 80 91 56 24 lds r24, 0x2456 ; 0x802456 - 15b8: 98 2f mov r25, r24 - 15ba: 90 76 andi r25, 0x60 ; 96 - 15bc: 09 f0 breq .+2 ; 0x15c0 - 15be: e1 c1 rjmp .+962 ; 0x1982 + 15a6: 80 91 56 24 lds r24, 0x2456 ; 0x802456 + 15aa: 98 2f mov r25, r24 + 15ac: 90 76 andi r25, 0x60 ; 96 + 15ae: 09 f0 breq .+2 ; 0x15b2 + 15b0: e1 c1 rjmp .+962 ; 0x1974 * * \return true if the request is supported */ static bool udc_reqstd(void) { if (Udd_setup_is_in()) { - 15c0: 88 23 and r24, r24 - 15c2: 0c f0 brlt .+2 ; 0x15c6 - 15c4: 05 c1 rjmp .+522 ; 0x17d0 + 15b2: 88 23 and r24, r24 + 15b4: 0c f0 brlt .+2 ; 0x15b8 + 15b6: 05 c1 rjmp .+522 ; 0x17c2 // GET Standard Requests if (udd_g_ctrlreq.req.wLength == 0) { - 15c6: 20 91 5c 24 lds r18, 0x245C ; 0x80245c - 15ca: 30 91 5d 24 lds r19, 0x245D ; 0x80245d - 15ce: 21 15 cp r18, r1 - 15d0: 31 05 cpc r19, r1 - 15d2: 09 f4 brne .+2 ; 0x15d6 - 15d4: d6 c1 rjmp .+940 ; 0x1982 + 15b8: 20 91 5c 24 lds r18, 0x245C ; 0x80245c + 15bc: 30 91 5d 24 lds r19, 0x245D ; 0x80245d + 15c0: 21 15 cp r18, r1 + 15c2: 31 05 cpc r19, r1 + 15c4: 09 f4 brne .+2 ; 0x15c8 + 15c6: d6 c1 rjmp .+940 ; 0x1974 return false; // Error for USB host } if (USB_REQ_RECIP_DEVICE == Udd_setup_recipient()) { - 15d6: 8f 71 andi r24, 0x1F ; 31 - 15d8: 09 f0 breq .+2 ; 0x15dc - 15da: a3 c0 rjmp .+326 ; 0x1722 + 15c8: 8f 71 andi r24, 0x1F ; 31 + 15ca: 09 f0 breq .+2 ; 0x15ce + 15cc: a3 c0 rjmp .+326 ; 0x1714 // Standard Get Device request switch (udd_g_ctrlreq.req.bRequest) { - 15dc: 90 91 57 24 lds r25, 0x2457 ; 0x802457 - 15e0: 96 30 cpi r25, 0x06 ; 6 - 15e2: 79 f0 breq .+30 ; 0x1602 - 15e4: 98 30 cpi r25, 0x08 ; 8 - 15e6: 09 f4 brne .+2 ; 0x15ea - 15e8: 92 c0 rjmp .+292 ; 0x170e - 15ea: 91 11 cpse r25, r1 - 15ec: 9a c0 rjmp .+308 ; 0x1722 + 15ce: 90 91 57 24 lds r25, 0x2457 ; 0x802457 + 15d2: 96 30 cpi r25, 0x06 ; 6 + 15d4: 79 f0 breq .+30 ; 0x15f4 + 15d6: 98 30 cpi r25, 0x08 ; 8 + 15d8: 09 f4 brne .+2 ; 0x15dc + 15da: 92 c0 rjmp .+292 ; 0x1700 + 15dc: 91 11 cpse r25, r1 + 15de: 9a c0 rjmp .+308 ; 0x1714 * * \return true if success */ static bool udc_req_std_dev_get_status(void) { if (udd_g_ctrlreq.req.wLength != sizeof(udc_device_status)) { - 15ee: 22 30 cpi r18, 0x02 ; 2 - 15f0: 31 05 cpc r19, r1 - 15f2: 09 f0 breq .+2 ; 0x15f6 - 15f4: c6 c1 rjmp .+908 ; 0x1982 + 15e0: 22 30 cpi r18, 0x02 ; 2 + 15e2: 31 05 cpc r19, r1 + 15e4: 09 f0 breq .+2 ; 0x15e8 + 15e6: c6 c1 rjmp .+908 ; 0x1974 return false; } udd_set_setup_payload( (uint8_t *) & udc_device_status, - 15f6: 62 e0 ldi r22, 0x02 ; 2 - 15f8: 70 e0 ldi r23, 0x00 ; 0 - 15fa: 82 ec ldi r24, 0xC2 ; 194 - 15fc: 90 e2 ldi r25, 0x20 ; 32 - 15fe: ec d5 rcall .+3032 ; 0x21d8 - 1600: 3d c2 rjmp .+1146 ; 0x1a7c + 15e8: 62 e0 ldi r22, 0x02 ; 2 + 15ea: 70 e0 ldi r23, 0x00 ; 0 + 15ec: 82 ec ldi r24, 0xC2 ; 194 + 15ee: 90 e2 ldi r25, 0x20 ; 32 + 15f0: ec d5 rcall .+3032 ; 0x21ca + 15f2: 3d c2 rjmp .+1146 ; 0x1a6e */ static bool udc_req_std_dev_get_descriptor(void) { uint8_t conf_num; conf_num = udd_g_ctrlreq.req.wValue & 0xff; - 1602: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 1606: 90 91 59 24 lds r25, 0x2459 ; 0x802459 + 15f4: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 15f8: 90 91 59 24 lds r25, 0x2459 ; 0x802459 // Check descriptor ID switch ((uint8_t) (udd_g_ctrlreq.req.wValue >> 8)) { - 160a: 29 2f mov r18, r25 - 160c: 33 27 eor r19, r19 - 160e: 22 30 cpi r18, 0x02 ; 2 - 1610: 31 05 cpc r19, r1 - 1612: a9 f0 breq .+42 ; 0x163e - 1614: 24 f4 brge .+8 ; 0x161e - 1616: 21 30 cpi r18, 0x01 ; 1 + 15fc: 29 2f mov r18, r25 + 15fe: 33 27 eor r19, r19 + 1600: 22 30 cpi r18, 0x02 ; 2 + 1602: 31 05 cpc r19, r1 + 1604: a9 f0 breq .+42 ; 0x1630 + 1606: 24 f4 brge .+8 ; 0x1610 + 1608: 21 30 cpi r18, 0x01 ; 1 + 160a: 31 05 cpc r19, r1 + 160c: 41 f0 breq .+16 ; 0x161e + 160e: a9 c1 rjmp .+850 ; 0x1962 + 1610: 23 30 cpi r18, 0x03 ; 3 + 1612: 31 05 cpc r19, r1 + 1614: d9 f1 breq .+118 ; 0x168c + 1616: 2f 30 cpi r18, 0x0F ; 15 1618: 31 05 cpc r19, r1 - 161a: 41 f0 breq .+16 ; 0x162c - 161c: a9 c1 rjmp .+850 ; 0x1970 - 161e: 23 30 cpi r18, 0x03 ; 3 - 1620: 31 05 cpc r19, r1 - 1622: d9 f1 breq .+118 ; 0x169a - 1624: 2f 30 cpi r18, 0x0F ; 15 - 1626: 31 05 cpc r19, r1 - 1628: 51 f1 breq .+84 ; 0x167e - 162a: a2 c1 rjmp .+836 ; 0x1970 + 161a: 51 f1 breq .+84 ; 0x1670 + 161c: a2 c1 rjmp .+836 ; 0x1962 } else #endif { udd_set_setup_payload( (uint8_t *) udc_config.confdev_lsfs, udc_config.confdev_lsfs->bLength); - 162c: 80 91 10 20 lds r24, 0x2010 ; 0x802010 - 1630: 90 91 11 20 lds r25, 0x2011 ; 0x802011 + 161e: 80 91 10 20 lds r24, 0x2010 ; 0x802010 + 1622: 90 91 11 20 lds r25, 0x2011 ; 0x802011 (uint8_t *) udc_config.confdev_hs, udc_config.confdev_hs->bLength); } else #endif { udd_set_setup_payload( - 1634: dc 01 movw r26, r24 - 1636: 6c 91 ld r22, X - 1638: 70 e0 ldi r23, 0x00 ; 0 - 163a: ce d5 rcall .+2972 ; 0x21d8 - 163c: 59 c0 rjmp .+178 ; 0x16f0 + 1626: dc 01 movw r26, r24 + 1628: 6c 91 ld r22, X + 162a: 70 e0 ldi r23, 0x00 ; 0 + 162c: ce d5 rcall .+2972 ; 0x21ca + 162e: 59 c0 rjmp .+178 ; 0x16e2 le16_to_cpu(udc_config.conf_hs[conf_num].desc->wTotalLength)); } else #endif { // FS descriptor if (conf_num >= udc_config.confdev_lsfs-> - 163e: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 1642: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 1646: 21 89 ldd r18, Z+17 ; 0x11 - 1648: 82 17 cp r24, r18 - 164a: 08 f0 brcs .+2 ; 0x164e - 164c: 9a c1 rjmp .+820 ; 0x1982 + 1630: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 1634: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 1638: 21 89 ldd r18, Z+17 ; 0x11 + 163a: 82 17 cp r24, r18 + 163c: 08 f0 brcs .+2 ; 0x1640 + 163e: 9a c1 rjmp .+820 ; 0x1974 bNumConfigurations) { return false; } udd_set_setup_payload( (uint8_t *)udc_config.conf_lsfs[conf_num].desc, le16_to_cpu(udc_config.conf_lsfs[conf_num].desc->wTotalLength)); - 164e: 99 27 eor r25, r25 - 1650: 88 0f add r24, r24 - 1652: 99 1f adc r25, r25 - 1654: 88 0f add r24, r24 - 1656: 99 1f adc r25, r25 - 1658: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 165c: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 1660: e8 0f add r30, r24 - 1662: f9 1f adc r31, r25 - 1664: 80 81 ld r24, Z - 1666: 91 81 ldd r25, Z+1 ; 0x01 + 1640: 99 27 eor r25, r25 + 1642: 88 0f add r24, r24 + 1644: 99 1f adc r25, r25 + 1646: 88 0f add r24, r24 + 1648: 99 1f adc r25, r25 + 164a: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 164e: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 1652: e8 0f add r30, r24 + 1654: f9 1f adc r31, r25 + 1656: 80 81 ld r24, Z + 1658: 91 81 ldd r25, Z+1 ; 0x01 // FS descriptor if (conf_num >= udc_config.confdev_lsfs-> bNumConfigurations) { return false; } udd_set_setup_payload( - 1668: fc 01 movw r30, r24 - 166a: 62 81 ldd r22, Z+2 ; 0x02 - 166c: 73 81 ldd r23, Z+3 ; 0x03 - 166e: b4 d5 rcall .+2920 ; 0x21d8 + 165a: fc 01 movw r30, r24 + 165c: 62 81 ldd r22, Z+2 ; 0x02 + 165e: 73 81 ldd r23, Z+3 ; 0x03 + 1660: b4 d5 rcall .+2920 ; 0x21ca (uint8_t *)udc_config.conf_lsfs[conf_num].desc, le16_to_cpu(udc_config.conf_lsfs[conf_num].desc->wTotalLength)); } ((usb_conf_desc_t *) udd_g_ctrlreq.payload)->bDescriptorType = - 1670: e0 91 5e 24 lds r30, 0x245E ; 0x80245e - 1674: f0 91 5f 24 lds r31, 0x245F ; 0x80245f - 1678: 82 e0 ldi r24, 0x02 ; 2 - 167a: 81 83 std Z+1, r24 ; 0x01 - 167c: 39 c0 rjmp .+114 ; 0x16f0 + 1662: e0 91 5e 24 lds r30, 0x245E ; 0x80245e + 1666: f0 91 5f 24 lds r31, 0x245F ; 0x80245f + 166a: 82 e0 ldi r24, 0x02 ; 2 + 166c: 81 83 std Z+1, r24 ; 0x01 + 166e: 39 c0 rjmp .+114 ; 0x16e2 break; #endif case USB_DT_BOS: // Device BOS descriptor requested if (udc_config.conf_bos == NULL) { - 167e: 80 91 14 20 lds r24, 0x2014 ; 0x802014 - 1682: 90 91 15 20 lds r25, 0x2015 ; 0x802015 - 1686: 00 97 sbiw r24, 0x00 ; 0 - 1688: 09 f4 brne .+2 ; 0x168c - 168a: 7b c1 rjmp .+758 ; 0x1982 + 1670: 80 91 14 20 lds r24, 0x2014 ; 0x802014 + 1674: 90 91 15 20 lds r25, 0x2015 ; 0x802015 + 1678: 00 97 sbiw r24, 0x00 ; 0 + 167a: 09 f4 brne .+2 ; 0x167e + 167c: 7b c1 rjmp .+758 ; 0x1974 return false; } udd_set_setup_payload( (uint8_t *) udc_config.conf_bos, - 168c: dc 01 movw r26, r24 - 168e: 12 96 adiw r26, 0x02 ; 2 - 1690: 6d 91 ld r22, X+ - 1692: 7c 91 ld r23, X - 1694: 13 97 sbiw r26, 0x03 ; 3 - 1696: a0 d5 rcall .+2880 ; 0x21d8 - 1698: 2b c0 rjmp .+86 ; 0x16f0 + 167e: dc 01 movw r26, r24 + 1680: 12 96 adiw r26, 0x02 ; 2 + 1682: 6d 91 ld r22, X+ + 1684: 7c 91 ld r23, X + 1686: 13 97 sbiw r26, 0x03 ; 3 + 1688: a0 d5 rcall .+2880 ; 0x21ca + 168a: 2b c0 rjmp .+86 ; 0x16e2 uint8_t i; const uint8_t *str; uint8_t str_length = 0; // Link payload pointer to the string corresponding at request switch (udd_g_ctrlreq.req.wValue & 0xff) { - 169a: 99 27 eor r25, r25 - 169c: 81 30 cpi r24, 0x01 ; 1 - 169e: 91 05 cpc r25, r1 - 16a0: 71 f0 breq .+28 ; 0x16be - 16a2: 38 f0 brcs .+14 ; 0x16b2 - 16a4: 02 97 sbiw r24, 0x02 ; 2 - 16a6: 09 f0 breq .+2 ; 0x16aa - 16a8: 6c c1 rjmp .+728 ; 0x1982 + 168c: 99 27 eor r25, r25 + 168e: 81 30 cpi r24, 0x01 ; 1 + 1690: 91 05 cpc r25, r1 + 1692: 71 f0 breq .+28 ; 0x16b0 + 1694: 38 f0 brcs .+14 ; 0x16a4 + 1696: 02 97 sbiw r24, 0x02 ; 2 + 1698: 09 f0 breq .+2 ; 0x169c + 169a: 6c c1 rjmp .+728 ; 0x1974 break; #endif #ifdef USB_DEVICE_PRODUCT_NAME case 2: str_length = USB_DEVICE_PRODUCT_NAME_SIZE; str = udc_string_product_name; - 16aa: 8a e8 ldi r24, 0x8A ; 138 - 16ac: 90 e2 ldi r25, 0x20 ; 32 + 169c: 8a e8 ldi r24, 0x8A ; 138 + 169e: 90 e2 ldi r25, 0x20 ; 32 str = udc_string_manufacturer_name; break; #endif #ifdef USB_DEVICE_PRODUCT_NAME case 2: str_length = USB_DEVICE_PRODUCT_NAME_SIZE; - 16ae: 28 e1 ldi r18, 0x18 ; 24 - 16b0: 09 c0 rjmp .+18 ; 0x16c4 + 16a0: 28 e1 ldi r18, 0x18 ; 24 + 16a2: 09 c0 rjmp .+18 ; 0x16b6 uint8_t str_length = 0; // Link payload pointer to the string corresponding at request switch (udd_g_ctrlreq.req.wValue & 0xff) { case 0: udd_set_setup_payload((uint8_t *) &udc_string_desc_languageid, - 16b2: 64 e0 ldi r22, 0x04 ; 4 - 16b4: 70 e0 ldi r23, 0x00 ; 0 - 16b6: 8e ea ldi r24, 0xAE ; 174 - 16b8: 90 e2 ldi r25, 0x20 ; 32 - 16ba: 8e d5 rcall .+2844 ; 0x21d8 - 16bc: 19 c0 rjmp .+50 ; 0x16f0 + 16a4: 64 e0 ldi r22, 0x04 ; 4 + 16a6: 70 e0 ldi r23, 0x00 ; 0 + 16a8: 8e ea ldi r24, 0xAE ; 174 + 16aa: 90 e2 ldi r25, 0x20 ; 32 + 16ac: 8e d5 rcall .+2844 ; 0x21ca + 16ae: 19 c0 rjmp .+50 ; 0x16e2 break; #ifdef USB_DEVICE_MANUFACTURE_NAME case 1: str_length = USB_DEVICE_MANUFACTURE_NAME_SIZE; str = udc_string_manufacturer_name; - 16be: 83 ea ldi r24, 0xA3 ; 163 - 16c0: 90 e2 ldi r25, 0x20 ; 32 + 16b0: 83 ea ldi r24, 0xA3 ; 163 + 16b2: 90 e2 ldi r25, 0x20 ; 32 sizeof(udc_string_desc_languageid)); break; #ifdef USB_DEVICE_MANUFACTURE_NAME case 1: str_length = USB_DEVICE_MANUFACTURE_NAME_SIZE; - 16c2: 29 e0 ldi r18, 0x09 ; 9 - 16c4: 38 2f mov r19, r24 - 16c6: aa e5 ldi r26, 0x5A ; 90 - 16c8: b0 e2 ldi r27, 0x20 ; 32 + 16b4: 29 e0 ldi r18, 0x09 ; 9 + 16b6: 38 2f mov r19, r24 + 16b8: aa e5 ldi r26, 0x5A ; 90 + 16ba: b0 e2 ldi r27, 0x20 ; 32 str = udc_string_manufacturer_name; break; #endif #ifdef USB_DEVICE_PRODUCT_NAME case 2: str_length = USB_DEVICE_PRODUCT_NAME_SIZE; - 16ca: e8 2f mov r30, r24 - 16cc: f9 2f mov r31, r25 + 16bc: e8 2f mov r30, r24 + 16be: f9 2f mov r31, r25 return false; } if (str_length) { for(i = 0; i < str_length; i++) { udc_string_desc.string[i] = cpu_to_le16((le16_t)str[i]); - 16ce: 81 91 ld r24, Z+ - 16d0: 90 e0 ldi r25, 0x00 ; 0 - 16d2: 8d 93 st X+, r24 - 16d4: 9d 93 st X+, r25 - 16d6: 8e 2f mov r24, r30 - 16d8: 83 1b sub r24, r19 + 16c0: 81 91 ld r24, Z+ + 16c2: 90 e0 ldi r25, 0x00 ; 0 + 16c4: 8d 93 st X+, r24 + 16c6: 9d 93 st X+, r25 + 16c8: 8e 2f mov r24, r30 + 16ca: 83 1b sub r24, r19 #endif return false; } if (str_length) { for(i = 0; i < str_length; i++) { - 16da: 82 17 cp r24, r18 - 16dc: c0 f3 brcs .-16 ; 0x16ce + 16cc: 82 17 cp r24, r18 + 16ce: c0 f3 brcs .-16 ; 0x16c0 udc_string_desc.string[i] = cpu_to_le16((le16_t)str[i]); } udc_string_desc.header.bLength = 2 + (str_length) * 2; - 16de: 62 2f mov r22, r18 - 16e0: 66 0f add r22, r22 - 16e2: 6e 5f subi r22, 0xFE ; 254 - 16e4: 60 93 58 20 sts 0x2058, r22 ; 0x802058 + 16d0: 62 2f mov r22, r18 + 16d2: 66 0f add r22, r22 + 16d4: 6e 5f subi r22, 0xFE ; 254 + 16d6: 60 93 58 20 sts 0x2058, r22 ; 0x802058 udd_set_setup_payload( - 16e8: 70 e0 ldi r23, 0x00 ; 0 - 16ea: 88 e5 ldi r24, 0x58 ; 88 - 16ec: 90 e2 ldi r25, 0x20 ; 32 - 16ee: 74 d5 rcall .+2792 ; 0x21d8 + 16da: 70 e0 ldi r23, 0x00 ; 0 + 16dc: 88 e5 ldi r24, 0x58 ; 88 + 16de: 90 e2 ldi r25, 0x20 ; 32 + 16e0: 74 d5 rcall .+2792 ; 0x21ca default: // Unknown descriptor requested return false; } // if the descriptor is larger than length requested, then reduce it if (udd_g_ctrlreq.req.wLength < udd_g_ctrlreq.payload_size) { - 16f0: e6 e5 ldi r30, 0x56 ; 86 - 16f2: f4 e2 ldi r31, 0x24 ; 36 - 16f4: 86 81 ldd r24, Z+6 ; 0x06 - 16f6: 97 81 ldd r25, Z+7 ; 0x07 - 16f8: 22 85 ldd r18, Z+10 ; 0x0a - 16fa: 33 85 ldd r19, Z+11 ; 0x0b - 16fc: 82 17 cp r24, r18 - 16fe: 93 07 cpc r25, r19 - 1700: 08 f0 brcs .+2 ; 0x1704 - 1702: bc c1 rjmp .+888 ; 0x1a7c + 16e2: e6 e5 ldi r30, 0x56 ; 86 + 16e4: f4 e2 ldi r31, 0x24 ; 36 + 16e6: 86 81 ldd r24, Z+6 ; 0x06 + 16e8: 97 81 ldd r25, Z+7 ; 0x07 + 16ea: 22 85 ldd r18, Z+10 ; 0x0a + 16ec: 33 85 ldd r19, Z+11 ; 0x0b + 16ee: 82 17 cp r24, r18 + 16f0: 93 07 cpc r25, r19 + 16f2: 08 f0 brcs .+2 ; 0x16f6 + 16f4: bc c1 rjmp .+888 ; 0x1a6e udd_g_ctrlreq.payload_size = udd_g_ctrlreq.req.wLength; - 1704: 80 93 60 24 sts 0x2460, r24 ; 0x802460 - 1708: 90 93 61 24 sts 0x2461, r25 ; 0x802461 - 170c: b7 c1 rjmp .+878 ; 0x1a7c + 16f6: 80 93 60 24 sts 0x2460, r24 ; 0x802460 + 16fa: 90 93 61 24 sts 0x2461, r25 ; 0x802461 + 16fe: b7 c1 rjmp .+878 ; 0x1a6e * * \return true if success */ static bool udc_req_std_dev_get_configuration(void) { if (udd_g_ctrlreq.req.wLength != 1) { - 170e: 21 30 cpi r18, 0x01 ; 1 - 1710: 31 05 cpc r19, r1 - 1712: 09 f0 breq .+2 ; 0x1716 - 1714: 36 c1 rjmp .+620 ; 0x1982 + 1700: 21 30 cpi r18, 0x01 ; 1 + 1702: 31 05 cpc r19, r1 + 1704: 09 f0 breq .+2 ; 0x1708 + 1706: 36 c1 rjmp .+620 ; 0x1974 return false; } udd_set_setup_payload(&udc_num_configuration,1); - 1716: 61 e0 ldi r22, 0x01 ; 1 - 1718: 70 e0 ldi r23, 0x00 ; 0 - 171a: 8e eb ldi r24, 0xBE ; 190 - 171c: 90 e2 ldi r25, 0x20 ; 32 - 171e: 5c d5 rcall .+2744 ; 0x21d8 - 1720: ad c1 rjmp .+858 ; 0x1a7c + 1708: 61 e0 ldi r22, 0x01 ; 1 + 170a: 70 e0 ldi r23, 0x00 ; 0 + 170c: 8e eb ldi r24, 0xBE ; 190 + 170e: 90 e2 ldi r25, 0x20 ; 32 + 1710: 5c d5 rcall .+2744 ; 0x21ca + 1712: ad c1 rjmp .+858 ; 0x1a6e default: break; } } if (USB_REQ_RECIP_INTERFACE == Udd_setup_recipient()) { - 1722: 81 30 cpi r24, 0x01 ; 1 - 1724: e1 f5 brne .+120 ; 0x179e + 1714: 81 30 cpi r24, 0x01 ; 1 + 1716: e1 f5 brne .+120 ; 0x1790 // Standard Get Interface request switch (udd_g_ctrlreq.req.bRequest) { - 1726: 90 91 57 24 lds r25, 0x2457 ; 0x802457 - 172a: 9a 30 cpi r25, 0x0A ; 10 - 172c: c1 f5 brne .+112 ; 0x179e + 1718: 90 91 57 24 lds r25, 0x2457 ; 0x802457 + 171c: 9a 30 cpi r25, 0x0A ; 10 + 171e: c1 f5 brne .+112 ; 0x1790 static bool udc_req_std_iface_get_setting(void) { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (udd_g_ctrlreq.req.wLength != 1) { - 172e: 21 30 cpi r18, 0x01 ; 1 - 1730: 31 05 cpc r19, r1 - 1732: 09 f0 breq .+2 ; 0x1736 - 1734: 26 c1 rjmp .+588 ; 0x1982 + 1720: 21 30 cpi r18, 0x01 ; 1 + 1722: 31 05 cpc r19, r1 + 1724: 09 f0 breq .+2 ; 0x1728 + 1726: 26 c1 rjmp .+588 ; 0x1974 return false; // Error in request } if (!udc_num_configuration) { - 1736: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 173a: 88 23 and r24, r24 - 173c: 09 f4 brne .+2 ; 0x1740 - 173e: 21 c1 rjmp .+578 ; 0x1982 + 1728: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 172c: 88 23 and r24, r24 + 172e: 09 f4 brne .+2 ; 0x1732 + 1730: 21 c1 rjmp .+578 ; 0x1974 return false; // The device is not is configured state yet } // Check the interface number included in the request iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; - 1740: c0 91 5a 24 lds r28, 0x245A ; 0x80245a - 1744: d0 91 5b 24 lds r29, 0x245B ; 0x80245b + 1732: c0 91 5a 24 lds r28, 0x245A ; 0x80245a + 1736: d0 91 5b 24 lds r29, 0x245B ; 0x80245b if (iface_num >= udc_ptr_conf->desc->bNumInterfaces) { - 1748: 00 91 bb 20 lds r16, 0x20BB ; 0x8020bb - 174c: 10 91 bc 20 lds r17, 0x20BC ; 0x8020bc - 1750: d8 01 movw r26, r16 - 1752: ed 91 ld r30, X+ - 1754: fc 91 ld r31, X - 1756: 84 81 ldd r24, Z+4 ; 0x04 - 1758: c8 17 cp r28, r24 - 175a: 08 f0 brcs .+2 ; 0x175e - 175c: 12 c1 rjmp .+548 ; 0x1982 + 173a: 00 91 bb 20 lds r16, 0x20BB ; 0x8020bb + 173e: 10 91 bc 20 lds r17, 0x20BC ; 0x8020bc + 1742: d8 01 movw r26, r16 + 1744: ed 91 ld r30, X+ + 1746: fc 91 ld r31, X + 1748: 84 81 ldd r24, Z+4 ; 0x04 + 174a: c8 17 cp r28, r24 + 174c: 08 f0 brcs .+2 ; 0x1750 + 174e: 12 c1 rjmp .+548 ; 0x1974 return false; } // Select first alternate setting of the interface to update udc_ptr_iface // before call iface->getsetting() if (!udc_update_iface_desc(iface_num, 0)) { - 175e: 60 e0 ldi r22, 0x00 ; 0 - 1760: 8c 2f mov r24, r28 - 1762: 02 dd rcall .-1532 ; 0x1168 - 1764: 88 23 and r24, r24 - 1766: 09 f4 brne .+2 ; 0x176a - 1768: 0c c1 rjmp .+536 ; 0x1982 + 1750: 60 e0 ldi r22, 0x00 ; 0 + 1752: 8c 2f mov r24, r28 + 1754: 02 dd rcall .-1532 ; 0x115a + 1756: 88 23 and r24, r24 + 1758: 09 f4 brne .+2 ; 0x175c + 175a: 0c c1 rjmp .+536 ; 0x1974 return false; } // Get alternate setting from UDI udi_api = udc_ptr_conf->udi_apis[iface_num]; - 176a: ce 01 movw r24, r28 - 176c: 99 27 eor r25, r25 - 176e: 88 0f add r24, r24 - 1770: 99 1f adc r25, r25 - 1772: d8 01 movw r26, r16 - 1774: 12 96 adiw r26, 0x02 ; 2 - 1776: ed 91 ld r30, X+ - 1778: fc 91 ld r31, X - 177a: 13 97 sbiw r26, 0x03 ; 3 - 177c: e8 0f add r30, r24 - 177e: f9 1f adc r31, r25 + 175c: ce 01 movw r24, r28 + 175e: 99 27 eor r25, r25 + 1760: 88 0f add r24, r24 + 1762: 99 1f adc r25, r25 + 1764: d8 01 movw r26, r16 + 1766: 12 96 adiw r26, 0x02 ; 2 + 1768: ed 91 ld r30, X+ + 176a: fc 91 ld r31, X + 176c: 13 97 sbiw r26, 0x03 ; 3 + 176e: e8 0f add r30, r24 + 1770: f9 1f adc r31, r25 udc_iface_setting = udi_api->getsetting(); - 1780: 01 90 ld r0, Z+ - 1782: f0 81 ld r31, Z - 1784: e0 2d mov r30, r0 - 1786: 86 81 ldd r24, Z+6 ; 0x06 - 1788: 97 81 ldd r25, Z+7 ; 0x07 - 178a: fc 01 movw r30, r24 - 178c: 09 95 icall - 178e: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 + 1772: 01 90 ld r0, Z+ + 1774: f0 81 ld r31, Z + 1776: e0 2d mov r30, r0 + 1778: 86 81 ldd r24, Z+6 ; 0x06 + 177a: 97 81 ldd r25, Z+7 ; 0x07 + 177c: fc 01 movw r30, r24 + 177e: 09 95 icall + 1780: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 // Link value to payload pointer of request udd_set_setup_payload(&udc_iface_setting,1); - 1792: 61 e0 ldi r22, 0x01 ; 1 - 1794: 70 e0 ldi r23, 0x00 ; 0 - 1796: 80 ec ldi r24, 0xC0 ; 192 - 1798: 90 e2 ldi r25, 0x20 ; 32 - 179a: 1e d5 rcall .+2620 ; 0x21d8 - 179c: 6f c1 rjmp .+734 ; 0x1a7c + 1784: 61 e0 ldi r22, 0x01 ; 1 + 1786: 70 e0 ldi r23, 0x00 ; 0 + 1788: 80 ec ldi r24, 0xC0 ; 192 + 178a: 90 e2 ldi r25, 0x20 ; 32 + 178c: 1e d5 rcall .+2620 ; 0x21ca + 178e: 6f c1 rjmp .+734 ; 0x1a6e default: break; } } #if (0!=USB_DEVICE_MAX_EP) if (USB_REQ_RECIP_ENDPOINT == Udd_setup_recipient()) { - 179e: 82 30 cpi r24, 0x02 ; 2 - 17a0: 09 f0 breq .+2 ; 0x17a4 - 17a2: ef c0 rjmp .+478 ; 0x1982 + 1790: 82 30 cpi r24, 0x02 ; 2 + 1792: 09 f0 breq .+2 ; 0x1796 + 1794: ef c0 rjmp .+478 ; 0x1974 // Standard Get Endpoint request switch (udd_g_ctrlreq.req.bRequest) { - 17a4: 80 91 57 24 lds r24, 0x2457 ; 0x802457 - 17a8: 81 11 cpse r24, r1 - 17aa: e4 c0 rjmp .+456 ; 0x1974 + 1796: 80 91 57 24 lds r24, 0x2457 ; 0x802457 + 179a: 81 11 cpse r24, r1 + 179c: e4 c0 rjmp .+456 ; 0x1966 */ static bool udc_req_std_ep_get_status(void) { static le16_t udc_ep_status; if (udd_g_ctrlreq.req.wLength != sizeof(udc_ep_status)) { - 17ac: 22 30 cpi r18, 0x02 ; 2 - 17ae: 31 05 cpc r19, r1 - 17b0: 09 f0 breq .+2 ; 0x17b4 - 17b2: e7 c0 rjmp .+462 ; 0x1982 + 179e: 22 30 cpi r18, 0x02 ; 2 + 17a0: 31 05 cpc r19, r1 + 17a2: 09 f0 breq .+2 ; 0x17a6 + 17a4: e7 c0 rjmp .+462 ; 0x1974 return false; } udc_ep_status = udd_ep_is_halted(udd_g_ctrlreq.req. - 17b4: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 17b8: 8b d5 rcall .+2838 ; 0x22d0 - 17ba: 90 e0 ldi r25, 0x00 ; 0 - 17bc: 80 93 b7 20 sts 0x20B7, r24 ; 0x8020b7 - 17c0: 90 93 b8 20 sts 0x20B8, r25 ; 0x8020b8 + 17a6: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 17aa: 8b d5 rcall .+2838 ; 0x22c2 + 17ac: 90 e0 ldi r25, 0x00 ; 0 + 17ae: 80 93 b7 20 sts 0x20B7, r24 ; 0x8020b7 + 17b2: 90 93 b8 20 sts 0x20B8, r25 ; 0x8020b8 wIndex & 0xFF) ? CPU_TO_LE16(USB_EP_STATUS_HALTED) : 0; udd_set_setup_payload( (uint8_t *) & udc_ep_status, - 17c4: 62 e0 ldi r22, 0x02 ; 2 - 17c6: 70 e0 ldi r23, 0x00 ; 0 - 17c8: 87 eb ldi r24, 0xB7 ; 183 - 17ca: 90 e2 ldi r25, 0x20 ; 32 - 17cc: 05 d5 rcall .+2570 ; 0x21d8 - 17ce: 56 c1 rjmp .+684 ; 0x1a7c + 17b6: 62 e0 ldi r22, 0x02 ; 2 + 17b8: 70 e0 ldi r23, 0x00 ; 0 + 17ba: 87 eb ldi r24, 0xB7 ; 183 + 17bc: 90 e2 ldi r25, 0x20 ; 32 + 17be: 05 d5 rcall .+2570 ; 0x21ca + 17c0: 56 c1 rjmp .+684 ; 0x1a6e } } #endif } else { // SET Standard Requests if (USB_REQ_RECIP_DEVICE == Udd_setup_recipient()) { - 17d0: 8f 71 andi r24, 0x1F ; 31 - 17d2: 09 f0 breq .+2 ; 0x17d6 - 17d4: 83 c0 rjmp .+262 ; 0x18dc + 17c2: 8f 71 andi r24, 0x1F ; 31 + 17c4: 09 f0 breq .+2 ; 0x17c8 + 17c6: 83 c0 rjmp .+262 ; 0x18ce // Standard Set Device request switch (udd_g_ctrlreq.req.bRequest) { - 17d6: 90 91 57 24 lds r25, 0x2457 ; 0x802457 - 17da: 93 30 cpi r25, 0x03 ; 3 - 17dc: 09 f4 brne .+2 ; 0x17e0 - 17de: cc c0 rjmp .+408 ; 0x1978 - 17e0: 18 f4 brcc .+6 ; 0x17e8 - 17e2: 91 30 cpi r25, 0x01 ; 1 - 17e4: a1 f0 breq .+40 ; 0x180e - 17e6: 7a c0 rjmp .+244 ; 0x18dc - 17e8: 95 30 cpi r25, 0x05 ; 5 - 17ea: 19 f0 breq .+6 ; 0x17f2 - 17ec: 99 30 cpi r25, 0x09 ; 9 - 17ee: 39 f1 breq .+78 ; 0x183e - 17f0: 75 c0 rjmp .+234 ; 0x18dc + 17c8: 90 91 57 24 lds r25, 0x2457 ; 0x802457 + 17cc: 93 30 cpi r25, 0x03 ; 3 + 17ce: 09 f4 brne .+2 ; 0x17d2 + 17d0: cc c0 rjmp .+408 ; 0x196a + 17d2: 18 f4 brcc .+6 ; 0x17da + 17d4: 91 30 cpi r25, 0x01 ; 1 + 17d6: a1 f0 breq .+40 ; 0x1800 + 17d8: 7a c0 rjmp .+244 ; 0x18ce + 17da: 95 30 cpi r25, 0x05 ; 5 + 17dc: 19 f0 breq .+6 ; 0x17e4 + 17de: 99 30 cpi r25, 0x09 ; 9 + 17e0: 39 f1 breq .+78 ; 0x1830 + 17e2: 75 c0 rjmp .+234 ; 0x18ce * * \return true if success */ static bool udc_req_std_dev_set_address(void) { if (udd_g_ctrlreq.req.wLength) { - 17f2: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 17f6: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 17fa: 89 2b or r24, r25 - 17fc: 09 f0 breq .+2 ; 0x1800 - 17fe: c1 c0 rjmp .+386 ; 0x1982 + 17e4: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 17e8: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 17ec: 89 2b or r24, r25 + 17ee: 09 f0 breq .+2 ; 0x17f2 + 17f0: c1 c0 rjmp .+386 ; 0x1974 return false; } // The address must be changed at the end of setup request after the handshake // then we use a callback to change address udd_g_ctrlreq.callback = udc_valid_address; - 1800: 8e ea ldi r24, 0xAE ; 174 - 1802: 98 e0 ldi r25, 0x08 ; 8 - 1804: 80 93 62 24 sts 0x2462, r24 ; 0x802462 - 1808: 90 93 63 24 sts 0x2463, r25 ; 0x802463 - 180c: 37 c1 rjmp .+622 ; 0x1a7c + 17f2: 87 ea ldi r24, 0xA7 ; 167 + 17f4: 98 e0 ldi r25, 0x08 ; 8 + 17f6: 80 93 62 24 sts 0x2462, r24 ; 0x802462 + 17fa: 90 93 63 24 sts 0x2463, r25 ; 0x802463 + 17fe: 37 c1 rjmp .+622 ; 0x1a6e * * \return true if success */ static bool udc_req_std_dev_clear_feature(void) { if (udd_g_ctrlreq.req.wLength) { - 180e: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1812: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1816: 89 2b or r24, r25 - 1818: 09 f0 breq .+2 ; 0x181c - 181a: b3 c0 rjmp .+358 ; 0x1982 + 1800: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1804: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1808: 89 2b or r24, r25 + 180a: 09 f0 breq .+2 ; 0x180e + 180c: b3 c0 rjmp .+358 ; 0x1974 return false; } if (udd_g_ctrlreq.req.wValue == USB_DEV_FEATURE_REMOTE_WAKEUP) { - 181c: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 1820: 90 91 59 24 lds r25, 0x2459 ; 0x802459 - 1824: 01 97 sbiw r24, 0x01 ; 1 - 1826: 09 f0 breq .+2 ; 0x182a - 1828: ac c0 rjmp .+344 ; 0x1982 + 180e: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 1812: 90 91 59 24 lds r25, 0x2459 ; 0x802459 + 1816: 01 97 sbiw r24, 0x01 ; 1 + 1818: 09 f0 breq .+2 ; 0x181c + 181a: ac c0 rjmp .+344 ; 0x1974 udc_device_status &= CPU_TO_LE16(~(uint32_t)USB_DEV_STATUS_REMOTEWAKEUP); - 182a: 80 91 c2 20 lds r24, 0x20C2 ; 0x8020c2 - 182e: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 - 1832: 8d 7f andi r24, 0xFD ; 253 - 1834: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 - 1838: 90 93 c3 20 sts 0x20C3, r25 ; 0x8020c3 - 183c: 1f c1 rjmp .+574 ; 0x1a7c + 181c: 80 91 c2 20 lds r24, 0x20C2 ; 0x8020c2 + 1820: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 + 1824: 8d 7f andi r24, 0xFD ; 253 + 1826: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 + 182a: 90 93 c3 20 sts 0x20C3, r25 ; 0x8020c3 + 182e: 1f c1 rjmp .+574 ; 0x1a6e static bool udc_req_std_dev_set_configuration(void) { uint8_t iface_num; // Check request length if (udd_g_ctrlreq.req.wLength) { - 183e: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1842: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1846: 89 2b or r24, r25 - 1848: 09 f0 breq .+2 ; 0x184c - 184a: 9b c0 rjmp .+310 ; 0x1982 + 1830: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1834: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1838: 89 2b or r24, r25 + 183a: 09 f0 breq .+2 ; 0x183e + 183c: 9b c0 rjmp .+310 ; 0x1974 return false; } // Authorize configuration only if the address is valid if (!udd_getaddress()) { - 184c: c2 d4 rcall .+2436 ; 0x21d2 - 184e: 88 23 and r24, r24 - 1850: 09 f4 brne .+2 ; 0x1854 - 1852: 97 c0 rjmp .+302 ; 0x1982 + 183e: c2 d4 rcall .+2436 ; 0x21c4 + 1840: 88 23 and r24, r24 + 1842: 09 f4 brne .+2 ; 0x1846 + 1844: 97 c0 rjmp .+302 ; 0x1974 } } else #endif { // FS descriptor if ((udd_g_ctrlreq.req.wValue & 0xFF) > - 1854: 20 91 58 24 lds r18, 0x2458 ; 0x802458 - 1858: 30 91 59 24 lds r19, 0x2459 ; 0x802459 - 185c: 33 27 eor r19, r19 + 1846: 20 91 58 24 lds r18, 0x2458 ; 0x802458 + 184a: 30 91 59 24 lds r19, 0x2459 ; 0x802459 + 184e: 33 27 eor r19, r19 udc_config.confdev_lsfs->bNumConfigurations) { - 185e: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 1862: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 1850: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 1854: f0 91 11 20 lds r31, 0x2011 ; 0x802011 } } else #endif { // FS descriptor if ((udd_g_ctrlreq.req.wValue & 0xFF) > - 1866: 81 89 ldd r24, Z+17 ; 0x11 - 1868: 90 e0 ldi r25, 0x00 ; 0 - 186a: 82 17 cp r24, r18 - 186c: 93 07 cpc r25, r19 - 186e: 08 f4 brcc .+2 ; 0x1872 - 1870: 88 c0 rjmp .+272 ; 0x1982 + 1858: 81 89 ldd r24, Z+17 ; 0x11 + 185a: 90 e0 ldi r25, 0x00 ; 0 + 185c: 82 17 cp r24, r18 + 185e: 93 07 cpc r25, r19 + 1860: 08 f4 brcc .+2 ; 0x1864 + 1862: 88 c0 rjmp .+272 ; 0x1974 return false; } } // Reset current configuration udc_reset(); - 1872: 2f dd rcall .-1442 ; 0x12d2 + 1864: 2f dd rcall .-1442 ; 0x12c4 // Enable new configuration udc_num_configuration = udd_g_ctrlreq.req.wValue & 0xFF; - 1874: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 1878: 90 91 59 24 lds r25, 0x2459 ; 0x802459 - 187c: 80 93 be 20 sts 0x20BE, r24 ; 0x8020be + 1866: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 186a: 90 91 59 24 lds r25, 0x2459 ; 0x802459 + 186e: 80 93 be 20 sts 0x20BE, r24 ; 0x8020be if (udc_num_configuration == 0) { - 1880: 88 23 and r24, r24 - 1882: 09 f4 brne .+2 ; 0x1886 - 1884: fb c0 rjmp .+502 ; 0x1a7c + 1872: 88 23 and r24, r24 + 1874: 09 f4 brne .+2 ; 0x1878 + 1876: fb c0 rjmp .+502 ; 0x1a6e udc_ptr_conf = &udc_config.conf_hs[udc_num_configuration - 1]; } else #endif { // FS descriptor udc_ptr_conf = &udc_config.conf_lsfs[udc_num_configuration - 1]; - 1886: 99 27 eor r25, r25 - 1888: 81 50 subi r24, 0x01 ; 1 - 188a: 90 4c sbci r25, 0xC0 ; 192 - 188c: 88 0f add r24, r24 - 188e: 99 1f adc r25, r25 - 1890: 88 0f add r24, r24 - 1892: 99 1f adc r25, r25 - 1894: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 1898: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 189c: e8 0f add r30, r24 - 189e: f9 1f adc r31, r25 - 18a0: e0 93 bb 20 sts 0x20BB, r30 ; 0x8020bb - 18a4: f0 93 bc 20 sts 0x20BC, r31 ; 0x8020bc + 1878: 99 27 eor r25, r25 + 187a: 81 50 subi r24, 0x01 ; 1 + 187c: 90 4c sbci r25, 0xC0 ; 192 + 187e: 88 0f add r24, r24 + 1880: 99 1f adc r25, r25 + 1882: 88 0f add r24, r24 + 1884: 99 1f adc r25, r25 + 1886: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 188a: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 188e: e8 0f add r30, r24 + 1890: f9 1f adc r31, r25 + 1892: e0 93 bb 20 sts 0x20BB, r30 ; 0x8020bb + 1896: f0 93 bc 20 sts 0x20BC, r31 ; 0x8020bc } // Enable all interfaces of the selected configuration for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 18a8: 01 90 ld r0, Z+ - 18aa: f0 81 ld r31, Z - 18ac: e0 2d mov r30, r0 - 18ae: 84 81 ldd r24, Z+4 ; 0x04 - 18b0: 88 23 and r24, r24 - 18b2: 09 f4 brne .+2 ; 0x18b6 - 18b4: e3 c0 rjmp .+454 ; 0x1a7c - 18b6: c0 e0 ldi r28, 0x00 ; 0 + 189a: 01 90 ld r0, Z+ + 189c: f0 81 ld r31, Z + 189e: e0 2d mov r30, r0 + 18a0: 84 81 ldd r24, Z+4 ; 0x04 + 18a2: 88 23 and r24, r24 + 18a4: 09 f4 brne .+2 ; 0x18a8 + 18a6: e3 c0 rjmp .+454 ; 0x1a6e + 18a8: c0 e0 ldi r28, 0x00 ; 0 iface_num++) { if (!udc_iface_enable(iface_num, 0)) { - 18b8: 60 e0 ldi r22, 0x00 ; 0 - 18ba: 8c 2f mov r24, r28 - 18bc: d1 dc rcall .-1630 ; 0x1260 - 18be: 88 23 and r24, r24 - 18c0: 09 f4 brne .+2 ; 0x18c4 - 18c2: 5f c0 rjmp .+190 ; 0x1982 + 18aa: 60 e0 ldi r22, 0x00 ; 0 + 18ac: 8c 2f mov r24, r28 + 18ae: d1 dc rcall .-1630 ; 0x1252 + 18b0: 88 23 and r24, r24 + 18b2: 09 f4 brne .+2 ; 0x18b6 + 18b4: 5f c0 rjmp .+190 ; 0x1974 // FS descriptor udc_ptr_conf = &udc_config.conf_lsfs[udc_num_configuration - 1]; } // Enable all interfaces of the selected configuration for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { - 18c4: cf 5f subi r28, 0xFF ; 255 + 18b6: cf 5f subi r28, 0xFF ; 255 { // FS descriptor udc_ptr_conf = &udc_config.conf_lsfs[udc_num_configuration - 1]; } // Enable all interfaces of the selected configuration for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 18c6: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb - 18ca: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc - 18ce: 01 90 ld r0, Z+ - 18d0: f0 81 ld r31, Z - 18d2: e0 2d mov r30, r0 - 18d4: 84 81 ldd r24, Z+4 ; 0x04 - 18d6: c8 17 cp r28, r24 - 18d8: 78 f3 brcs .-34 ; 0x18b8 - 18da: d0 c0 rjmp .+416 ; 0x1a7c + 18b8: e0 91 bb 20 lds r30, 0x20BB ; 0x8020bb + 18bc: f0 91 bc 20 lds r31, 0x20BC ; 0x8020bc + 18c0: 01 90 ld r0, Z+ + 18c2: f0 81 ld r31, Z + 18c4: e0 2d mov r30, r0 + 18c6: 84 81 ldd r24, Z+4 ; 0x04 + 18c8: c8 17 cp r28, r24 + 18ca: 78 f3 brcs .-34 ; 0x18aa + 18cc: d0 c0 rjmp .+416 ; 0x1a6e default: break; } } if (USB_REQ_RECIP_INTERFACE == Udd_setup_recipient()) { - 18dc: 81 30 cpi r24, 0x01 ; 1 - 18de: e1 f4 brne .+56 ; 0x1918 + 18ce: 81 30 cpi r24, 0x01 ; 1 + 18d0: e1 f4 brne .+56 ; 0x190a // Standard Set Interface request switch (udd_g_ctrlreq.req.bRequest) { - 18e0: 90 91 57 24 lds r25, 0x2457 ; 0x802457 - 18e4: 9b 30 cpi r25, 0x0B ; 11 - 18e6: c1 f4 brne .+48 ; 0x1918 + 18d2: 90 91 57 24 lds r25, 0x2457 ; 0x802457 + 18d6: 9b 30 cpi r25, 0x0B ; 11 + 18d8: c1 f4 brne .+48 ; 0x190a */ static bool udc_req_std_iface_set_setting(void) { uint8_t iface_num, setting_num; if (udd_g_ctrlreq.req.wLength) { - 18e8: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 18ec: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 18f0: 89 2b or r24, r25 - 18f2: 09 f0 breq .+2 ; 0x18f6 - 18f4: 46 c0 rjmp .+140 ; 0x1982 + 18da: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 18de: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 18e2: 89 2b or r24, r25 + 18e4: 09 f0 breq .+2 ; 0x18e8 + 18e6: 46 c0 rjmp .+140 ; 0x1974 return false; // Error in request } if (!udc_num_configuration) { - 18f6: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 18fa: 88 23 and r24, r24 - 18fc: 09 f4 brne .+2 ; 0x1900 - 18fe: 41 c0 rjmp .+130 ; 0x1982 + 18e8: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 18ec: 88 23 and r24, r24 + 18ee: 09 f4 brne .+2 ; 0x18f2 + 18f0: 41 c0 rjmp .+130 ; 0x1974 return false; // The device is not is configured state yet } iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; - 1900: e6 e5 ldi r30, 0x56 ; 86 - 1902: f4 e2 ldi r31, 0x24 ; 36 - 1904: c4 81 ldd r28, Z+4 ; 0x04 + 18f2: e6 e5 ldi r30, 0x56 ; 86 + 18f4: f4 e2 ldi r31, 0x24 ; 36 + 18f6: c4 81 ldd r28, Z+4 ; 0x04 setting_num = udd_g_ctrlreq.req.wValue & 0xFF; - 1906: d2 81 ldd r29, Z+2 ; 0x02 + 18f8: d2 81 ldd r29, Z+2 ; 0x02 // Disable current setting if (!udc_iface_disable(iface_num)) { - 1908: 8c 2f mov r24, r28 - 190a: 68 dc rcall .-1840 ; 0x11dc - 190c: 88 23 and r24, r24 - 190e: c9 f1 breq .+114 ; 0x1982 + 18fa: 8c 2f mov r24, r28 + 18fc: 68 dc rcall .-1840 ; 0x11ce + 18fe: 88 23 and r24, r24 + 1900: c9 f1 breq .+114 ; 0x1974 return false; } // Enable new setting return udc_iface_enable(iface_num, setting_num); - 1910: 6d 2f mov r22, r29 - 1912: 8c 2f mov r24, r28 - 1914: a5 dc rcall .-1718 ; 0x1260 - 1916: 33 c0 rjmp .+102 ; 0x197e + 1902: 6d 2f mov r22, r29 + 1904: 8c 2f mov r24, r28 + 1906: a5 dc rcall .-1718 ; 0x1252 + 1908: 33 c0 rjmp .+102 ; 0x1970 default: break; } } #if (0!=USB_DEVICE_MAX_EP) if (USB_REQ_RECIP_ENDPOINT == Udd_setup_recipient()) { - 1918: 82 30 cpi r24, 0x02 ; 2 - 191a: 99 f5 brne .+102 ; 0x1982 + 190a: 82 30 cpi r24, 0x02 ; 2 + 190c: 99 f5 brne .+102 ; 0x1974 // Standard Set Endpoint request switch (udd_g_ctrlreq.req.bRequest) { - 191c: 80 91 57 24 lds r24, 0x2457 ; 0x802457 - 1920: 81 30 cpi r24, 0x01 ; 1 - 1922: 19 f0 breq .+6 ; 0x192a - 1924: 83 30 cpi r24, 0x03 ; 3 - 1926: 89 f0 breq .+34 ; 0x194a - 1928: 29 c0 rjmp .+82 ; 0x197c + 190e: 80 91 57 24 lds r24, 0x2457 ; 0x802457 + 1912: 81 30 cpi r24, 0x01 ; 1 + 1914: 19 f0 breq .+6 ; 0x191c + 1916: 83 30 cpi r24, 0x03 ; 3 + 1918: 89 f0 breq .+34 ; 0x193c + 191a: 29 c0 rjmp .+82 ; 0x196e * * \return true if success */ static bool udc_req_std_ep_clear_feature(void) { if (udd_g_ctrlreq.req.wLength) { - 192a: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 192e: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1932: 89 2b or r24, r25 - 1934: 31 f5 brne .+76 ; 0x1982 + 191c: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1920: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1924: 89 2b or r24, r25 + 1926: 31 f5 brne .+76 ; 0x1974 return false; } if (udd_g_ctrlreq.req.wValue == USB_EP_FEATURE_HALT) { - 1936: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 193a: 90 91 59 24 lds r25, 0x2459 ; 0x802459 - 193e: 89 2b or r24, r25 - 1940: 01 f5 brne .+64 ; 0x1982 + 1928: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 192c: 90 91 59 24 lds r25, 0x2459 ; 0x802459 + 1930: 89 2b or r24, r25 + 1932: 01 f5 brne .+64 ; 0x1974 return udd_ep_clear_halt(udd_g_ctrlreq.req.wIndex & 0xFF); - 1942: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1946: df d4 rcall .+2494 ; 0x2306 - 1948: 1a c0 rjmp .+52 ; 0x197e + 1934: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 1938: df d4 rcall .+2494 ; 0x22f8 + 193a: 1a c0 rjmp .+52 ; 0x1970 * \return true if success */ #if (0!=USB_DEVICE_MAX_EP) static bool udc_req_std_ep_set_feature(void) { if (udd_g_ctrlreq.req.wLength) { - 194a: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 194e: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1952: 89 2b or r24, r25 - 1954: b1 f4 brne .+44 ; 0x1982 + 193c: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1940: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1944: 89 2b or r24, r25 + 1946: b1 f4 brne .+44 ; 0x1974 return false; } if (udd_g_ctrlreq.req.wValue == USB_EP_FEATURE_HALT) { - 1956: 80 91 58 24 lds r24, 0x2458 ; 0x802458 - 195a: 90 91 59 24 lds r25, 0x2459 ; 0x802459 - 195e: 89 2b or r24, r25 - 1960: 81 f4 brne .+32 ; 0x1982 + 1948: 80 91 58 24 lds r24, 0x2458 ; 0x802458 + 194c: 90 91 59 24 lds r25, 0x2459 ; 0x802459 + 1950: 89 2b or r24, r25 + 1952: 81 f4 brne .+32 ; 0x1974 udd_ep_abort(udd_g_ctrlreq.req.wIndex & 0xFF); - 1962: c6 e5 ldi r28, 0x56 ; 86 - 1964: d4 e2 ldi r29, 0x24 ; 36 - 1966: 8c 81 ldd r24, Y+4 ; 0x04 - 1968: bd d5 rcall .+2938 ; 0x24e4 + 1954: c6 e5 ldi r28, 0x56 ; 86 + 1956: d4 e2 ldi r29, 0x24 ; 36 + 1958: 8c 81 ldd r24, Y+4 ; 0x04 + 195a: bd d5 rcall .+2938 ; 0x24d6 return udd_ep_set_halt(udd_g_ctrlreq.req.wIndex & 0xFF); - 196a: 8c 81 ldd r24, Y+4 ; 0x04 - 196c: 20 d6 rcall .+3136 ; 0x25ae - 196e: 07 c0 rjmp .+14 ; 0x197e + 195c: 8c 81 ldd r24, Y+4 ; 0x04 + 195e: 20 d6 rcall .+3136 ; 0x25a0 + 1960: 07 c0 rjmp .+14 ; 0x1970 } break; default: // Unknown descriptor requested return false; - 1970: 80 e0 ldi r24, 0x00 ; 0 - 1972: 05 c0 rjmp .+10 ; 0x197e + 1962: 80 e0 ldi r24, 0x00 ; 0 + 1964: 05 c0 rjmp .+10 ; 0x1970 break; } } #endif } return false; - 1974: 80 e0 ldi r24, 0x00 ; 0 - 1976: 03 c0 rjmp .+6 ; 0x197e + 1966: 80 e0 ldi r24, 0x00 ; 0 + 1968: 03 c0 rjmp .+6 ; 0x1970 case USB_REQ_SET_ADDRESS: return udc_req_std_dev_set_address(); case USB_REQ_CLEAR_FEATURE: return udc_req_std_dev_clear_feature(); case USB_REQ_SET_FEATURE: return udc_req_std_dev_set_feature(); - 1978: 80 e0 ldi r24, 0x00 ; 0 - 197a: 01 c0 rjmp .+2 ; 0x197e + 196a: 80 e0 ldi r24, 0x00 ; 0 + 196c: 01 c0 rjmp .+2 ; 0x1970 break; } } #endif } return false; - 197c: 80 e0 ldi r24, 0x00 ; 0 + 196e: 80 e0 ldi r24, 0x00 ; 0 } } // If standard request then try to decode it in UDC if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) { if (udc_reqstd()) { - 197e: 81 11 cpse r24, r1 - 1980: 7e c0 rjmp .+252 ; 0x1a7e + 1970: 81 11 cpse r24, r1 + 1972: 7e c0 rjmp .+252 ; 0x1a70 return true; } } // If interface request then try to decode it in UDI if (Udd_setup_recipient() == USB_REQ_RECIP_INTERFACE) { - 1982: 80 91 56 24 lds r24, 0x2456 ; 0x802456 - 1986: 8f 71 andi r24, 0x1F ; 31 - 1988: 81 30 cpi r24, 0x01 ; 1 - 198a: 71 f5 brne .+92 ; 0x19e8 + 1974: 80 91 56 24 lds r24, 0x2456 ; 0x802456 + 1978: 8f 71 andi r24, 0x1F ; 31 + 197a: 81 30 cpi r24, 0x01 ; 1 + 197c: 71 f5 brne .+92 ; 0x19da static bool udc_req_iface(void) { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { - 198c: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1990: 88 23 and r24, r24 - 1992: 51 f1 breq .+84 ; 0x19e8 + 197e: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1982: 88 23 and r24, r24 + 1984: 51 f1 breq .+84 ; 0x19da return false; // The device is not is configured state yet } // Check interface number iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; - 1994: 00 91 5a 24 lds r16, 0x245A ; 0x80245a - 1998: 10 91 5b 24 lds r17, 0x245B ; 0x80245b + 1986: 00 91 5a 24 lds r16, 0x245A ; 0x80245a + 198a: 10 91 5b 24 lds r17, 0x245B ; 0x80245b if (iface_num >= udc_ptr_conf->desc->bNumInterfaces) { - 199c: c0 91 bb 20 lds r28, 0x20BB ; 0x8020bb - 19a0: d0 91 bc 20 lds r29, 0x20BC ; 0x8020bc - 19a4: e8 81 ld r30, Y - 19a6: f9 81 ldd r31, Y+1 ; 0x01 - 19a8: 84 81 ldd r24, Z+4 ; 0x04 - 19aa: 08 17 cp r16, r24 - 19ac: e8 f4 brcc .+58 ; 0x19e8 + 198e: c0 91 bb 20 lds r28, 0x20BB ; 0x8020bb + 1992: d0 91 bc 20 lds r29, 0x20BC ; 0x8020bc + 1996: e8 81 ld r30, Y + 1998: f9 81 ldd r31, Y+1 ; 0x01 + 199a: 84 81 ldd r24, Z+4 ; 0x04 + 199c: 08 17 cp r16, r24 + 199e: e8 f4 brcc .+58 ; 0x19da } //* To update udc_ptr_iface with the selected interface in request // Select first alternate setting of interface to update udc_ptr_iface // before calling udi_api->getsetting() if (!udc_update_iface_desc(iface_num, 0)) { - 19ae: 60 e0 ldi r22, 0x00 ; 0 - 19b0: 80 2f mov r24, r16 - 19b2: da db rcall .-2124 ; 0x1168 - 19b4: 88 23 and r24, r24 - 19b6: c1 f0 breq .+48 ; 0x19e8 + 19a0: 60 e0 ldi r22, 0x00 ; 0 + 19a2: 80 2f mov r24, r16 + 19a4: da db rcall .-2124 ; 0x115a + 19a6: 88 23 and r24, r24 + 19a8: c1 f0 breq .+48 ; 0x19da return false; } // Select the interface with the current alternate setting udi_api = udc_ptr_conf->udi_apis[iface_num]; - 19b8: f8 01 movw r30, r16 - 19ba: ff 27 eor r31, r31 - 19bc: cf 01 movw r24, r30 - 19be: 88 0f add r24, r24 - 19c0: 99 1f adc r25, r25 - 19c2: ea 81 ldd r30, Y+2 ; 0x02 - 19c4: fb 81 ldd r31, Y+3 ; 0x03 - 19c6: e8 0f add r30, r24 - 19c8: f9 1f adc r31, r25 - 19ca: c0 81 ld r28, Z - 19cc: d1 81 ldd r29, Z+1 ; 0x01 + 19aa: f8 01 movw r30, r16 + 19ac: ff 27 eor r31, r31 + 19ae: cf 01 movw r24, r30 + 19b0: 88 0f add r24, r24 + 19b2: 99 1f adc r25, r25 + 19b4: ea 81 ldd r30, Y+2 ; 0x02 + 19b6: fb 81 ldd r31, Y+3 ; 0x03 + 19b8: e8 0f add r30, r24 + 19ba: f9 1f adc r31, r25 + 19bc: c0 81 ld r28, Z + 19be: d1 81 ldd r29, Z+1 ; 0x01 if (!udc_update_iface_desc(iface_num, udi_api->getsetting())) { - 19ce: ee 81 ldd r30, Y+6 ; 0x06 - 19d0: ff 81 ldd r31, Y+7 ; 0x07 - 19d2: 09 95 icall - 19d4: 68 2f mov r22, r24 - 19d6: 80 2f mov r24, r16 - 19d8: c7 db rcall .-2162 ; 0x1168 - 19da: 88 23 and r24, r24 - 19dc: 29 f0 breq .+10 ; 0x19e8 + 19c0: ee 81 ldd r30, Y+6 ; 0x06 + 19c2: ff 81 ldd r31, Y+7 ; 0x07 + 19c4: 09 95 icall + 19c6: 68 2f mov r22, r24 + 19c8: 80 2f mov r24, r16 + 19ca: c7 db rcall .-2162 ; 0x115a + 19cc: 88 23 and r24, r24 + 19ce: 29 f0 breq .+10 ; 0x19da return false; } // Send the SETUP request to the UDI corresponding to the interface number return udi_api->setup(); - 19de: ec 81 ldd r30, Y+4 ; 0x04 - 19e0: fd 81 ldd r31, Y+5 ; 0x05 - 19e2: 09 95 icall + 19d0: ec 81 ldd r30, Y+4 ; 0x04 + 19d2: fd 81 ldd r31, Y+5 ; 0x05 + 19d4: 09 95 icall } } // If interface request then try to decode it in UDI if (Udd_setup_recipient() == USB_REQ_RECIP_INTERFACE) { if (udc_req_iface()) { - 19e4: 81 11 cpse r24, r1 - 19e6: 4b c0 rjmp .+150 ; 0x1a7e + 19d6: 81 11 cpse r24, r1 + 19d8: 4b c0 rjmp .+150 ; 0x1a70 return true; } } // If endpoint request then try to decode it in UDI if (Udd_setup_recipient() == USB_REQ_RECIP_ENDPOINT) { - 19e8: 80 91 56 24 lds r24, 0x2456 ; 0x802456 - 19ec: 8f 71 andi r24, 0x1F ; 31 - 19ee: 82 30 cpi r24, 0x02 ; 2 - 19f0: 09 f0 breq .+2 ; 0x19f4 - 19f2: 40 c0 rjmp .+128 ; 0x1a74 + 19da: 80 91 56 24 lds r24, 0x2456 ; 0x802456 + 19de: 8f 71 andi r24, 0x1F ; 31 + 19e0: 82 30 cpi r24, 0x02 ; 2 + 19e2: 09 f0 breq .+2 ; 0x19e6 + 19e4: 40 c0 rjmp .+128 ; 0x1a66 static bool udc_req_ep(void) { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { - 19f4: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 19f8: 88 23 and r24, r24 - 19fa: b1 f1 breq .+108 ; 0x1a68 + 19e6: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 19ea: 88 23 and r24, r24 + 19ec: b1 f1 breq .+108 ; 0x1a5a return false; // The device is not is configured state yet } // Send this request on all enabled interfaces iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 19fc: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb - 1a00: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc - 1a04: ed 91 ld r30, X+ - 1a06: fc 91 ld r31, X - 1a08: 11 97 sbiw r26, 0x01 ; 1 - 1a0a: 84 81 ldd r24, Z+4 ; 0x04 - 1a0c: 88 23 and r24, r24 - 1a0e: 71 f1 breq .+92 ; 0x1a6c - 1a10: c0 e0 ldi r28, 0x00 ; 0 + 19ee: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb + 19f2: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc + 19f6: ed 91 ld r30, X+ + 19f8: fc 91 ld r31, X + 19fa: 11 97 sbiw r26, 0x01 ; 1 + 19fc: 84 81 ldd r24, Z+4 ; 0x04 + 19fe: 88 23 and r24, r24 + 1a00: 71 f1 breq .+92 ; 0x1a5e + 1a02: c0 e0 ldi r28, 0x00 ; 0 iface_num++) { // Select the interface with the current alternate setting udi_api = udc_ptr_conf->udi_apis[iface_num]; - 1a12: ec 2f mov r30, r28 - 1a14: f0 e0 ldi r31, 0x00 ; 0 - 1a16: ee 0f add r30, r30 - 1a18: ff 1f adc r31, r31 - 1a1a: 12 96 adiw r26, 0x02 ; 2 - 1a1c: 8d 91 ld r24, X+ - 1a1e: 9c 91 ld r25, X - 1a20: 13 97 sbiw r26, 0x03 ; 3 - 1a22: e8 0f add r30, r24 - 1a24: f9 1f adc r31, r25 - 1a26: 00 81 ld r16, Z - 1a28: 11 81 ldd r17, Z+1 ; 0x01 + 1a04: ec 2f mov r30, r28 + 1a06: f0 e0 ldi r31, 0x00 ; 0 + 1a08: ee 0f add r30, r30 + 1a0a: ff 1f adc r31, r31 + 1a0c: 12 96 adiw r26, 0x02 ; 2 + 1a0e: 8d 91 ld r24, X+ + 1a10: 9c 91 ld r25, X + 1a12: 13 97 sbiw r26, 0x03 ; 3 + 1a14: e8 0f add r30, r24 + 1a16: f9 1f adc r31, r25 + 1a18: 00 81 ld r16, Z + 1a1a: 11 81 ldd r17, Z+1 ; 0x01 if (!udc_update_iface_desc(iface_num, udi_api->getsetting())) { - 1a2a: d8 01 movw r26, r16 - 1a2c: 16 96 adiw r26, 0x06 ; 6 - 1a2e: ed 91 ld r30, X+ - 1a30: fc 91 ld r31, X - 1a32: 17 97 sbiw r26, 0x07 ; 7 - 1a34: 09 95 icall - 1a36: 68 2f mov r22, r24 - 1a38: 8c 2f mov r24, r28 - 1a3a: 96 db rcall .-2260 ; 0x1168 - 1a3c: 88 23 and r24, r24 - 1a3e: f9 f0 breq .+62 ; 0x1a7e + 1a1c: d8 01 movw r26, r16 + 1a1e: 16 96 adiw r26, 0x06 ; 6 + 1a20: ed 91 ld r30, X+ + 1a22: fc 91 ld r31, X + 1a24: 17 97 sbiw r26, 0x07 ; 7 + 1a26: 09 95 icall + 1a28: 68 2f mov r22, r24 + 1a2a: 8c 2f mov r24, r28 + 1a2c: 96 db rcall .-2260 ; 0x115a + 1a2e: 88 23 and r24, r24 + 1a30: f9 f0 breq .+62 ; 0x1a70 return false; } // Send the SETUP request to the UDI if (udi_api->setup()) { - 1a40: d8 01 movw r26, r16 - 1a42: 14 96 adiw r26, 0x04 ; 4 - 1a44: ed 91 ld r30, X+ - 1a46: fc 91 ld r31, X - 1a48: 15 97 sbiw r26, 0x05 ; 5 - 1a4a: 09 95 icall - 1a4c: 81 11 cpse r24, r1 - 1a4e: 17 c0 rjmp .+46 ; 0x1a7e + 1a32: d8 01 movw r26, r16 + 1a34: 14 96 adiw r26, 0x04 ; 4 + 1a36: ed 91 ld r30, X+ + 1a38: fc 91 ld r31, X + 1a3a: 15 97 sbiw r26, 0x05 ; 5 + 1a3c: 09 95 icall + 1a3e: 81 11 cpse r24, r1 + 1a40: 17 c0 rjmp .+46 ; 0x1a70 return false; // The device is not is configured state yet } // Send this request on all enabled interfaces iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { - 1a50: cf 5f subi r28, 0xFF ; 255 + 1a42: cf 5f subi r28, 0xFF ; 255 if (0 == udc_num_configuration) { return false; // The device is not is configured state yet } // Send this request on all enabled interfaces iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1a52: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb - 1a56: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc - 1a5a: ed 91 ld r30, X+ - 1a5c: fc 91 ld r31, X - 1a5e: 11 97 sbiw r26, 0x01 ; 1 - 1a60: 94 81 ldd r25, Z+4 ; 0x04 - 1a62: c9 17 cp r28, r25 - 1a64: b0 f2 brcs .-84 ; 0x1a12 - 1a66: 0b c0 rjmp .+22 ; 0x1a7e + 1a44: a0 91 bb 20 lds r26, 0x20BB ; 0x8020bb + 1a48: b0 91 bc 20 lds r27, 0x20BC ; 0x8020bc + 1a4c: ed 91 ld r30, X+ + 1a4e: fc 91 ld r31, X + 1a50: 11 97 sbiw r26, 0x01 ; 1 + 1a52: 94 81 ldd r25, Z+4 ; 0x04 + 1a54: c9 17 cp r28, r25 + 1a56: b0 f2 brcs .-84 ; 0x1a04 + 1a58: 0b c0 rjmp .+22 ; 0x1a70 { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { return false; // The device is not is configured state yet - 1a68: 80 e0 ldi r24, 0x00 ; 0 - 1a6a: 09 c0 rjmp .+18 ; 0x1a7e + 1a5a: 80 e0 ldi r24, 0x00 ; 0 + 1a5c: 09 c0 rjmp .+18 ; 0x1a70 // Send the SETUP request to the UDI if (udi_api->setup()) { return true; } } return false; - 1a6c: 80 e0 ldi r24, 0x00 ; 0 - 1a6e: 07 c0 rjmp .+14 ; 0x1a7e + 1a5e: 80 e0 ldi r24, 0x00 ; 0 + 1a60: 07 c0 rjmp .+14 ; 0x1a70 udd_g_ctrlreq.callback = NULL; udd_g_ctrlreq.over_under_run = NULL; if (Udd_setup_is_in()) { if (udd_g_ctrlreq.req.wLength == 0) { return false; // Error from USB host - 1a70: 80 e0 ldi r24, 0x00 ; 0 - 1a72: 05 c0 rjmp .+10 ; 0x1a7e + 1a62: 80 e0 ldi r24, 0x00 ; 0 + 1a64: 05 c0 rjmp .+10 ; 0x1a70 // Here SETUP request unknown by UDC and UDIs #ifdef USB_DEVICE_SPECIFIC_REQUEST // Try to decode it in specific callback return USB_DEVICE_SPECIFIC_REQUEST(); // Ex: Vendor request,... #else return false; - 1a74: 80 e0 ldi r24, 0x00 ; 0 - 1a76: 03 c0 rjmp .+6 ; 0x1a7e + 1a66: 80 e0 ldi r24, 0x00 ; 0 + 1a68: 03 c0 rjmp .+6 ; 0x1a70 } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ if (udc_reqvend()) { return true; - 1a78: 81 e0 ldi r24, 0x01 ; 1 - 1a7a: 01 c0 rjmp .+2 ; 0x1a7e + 1a6a: 81 e0 ldi r24, 0x01 ; 1 + 1a6c: 01 c0 rjmp .+2 ; 0x1a70 } // If standard request then try to decode it in UDC if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) { if (udc_reqstd()) { return true; - 1a7c: 81 e0 ldi r24, 0x01 ; 1 + 1a6e: 81 e0 ldi r24, 0x01 ; 1 // Try to decode it in specific callback return USB_DEVICE_SPECIFIC_REQUEST(); // Ex: Vendor request,... #else return false; #endif } - 1a7e: df 91 pop r29 - 1a80: cf 91 pop r28 - 1a82: 1f 91 pop r17 - 1a84: 0f 91 pop r16 - 1a86: 08 95 ret + 1a70: df 91 pop r29 + 1a72: cf 91 pop r28 + 1a74: 1f 91 pop r17 + 1a76: 0f 91 pop r16 + 1a78: 08 95 ret -00001a88 : +00001a7a : PUBLIC_FUNCTION(ccp_write_io) #if defined(__GNUC__) out RAMPZ, r1 // Reset bits 23:16 of Z - 1a88: 1b be out 0x3b, r1 ; 59 + 1a7a: 1b be out 0x3b, r1 ; 59 movw r30, r24 // Load addr into Z - 1a8a: fc 01 movw r30, r24 + 1a7c: fc 01 movw r30, r24 ldi r18, CCP_IOREG // Load magic CCP value - 1a8c: 28 ed ldi r18, 0xD8 ; 216 + 1a7e: 28 ed ldi r18, 0xD8 ; 216 out CCP, r18 // Start CCP handshake - 1a8e: 24 bf out 0x34, r18 ; 52 + 1a80: 24 bf out 0x34, r18 ; 52 st Z, r22 // Write value to I/O register - 1a90: 60 83 st Z, r22 + 1a82: 60 83 st Z, r22 ret // Return to caller - 1a92: 08 95 ret + 1a84: 08 95 ret -00001a94 : +00001a86 : #endif #ifndef __DOXYGEN__ PUBLIC_FUNCTION(nvm_read_byte) #if defined(__GNUC__) lds r20, NVM_CMD ; Store NVM command register - 1a94: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1a86: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> mov ZL, r22 ; Load byte index into low byte of Z. - 1a98: e6 2f mov r30, r22 + 1a8a: e6 2f mov r30, r22 mov ZH, r23 ; Load high byte into Z. - 1a9a: f7 2f mov r31, r23 + 1a8c: f7 2f mov r31, r23 sts NVM_CMD, r24 ; Load prepared command into NVM Command register. - 1a9c: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1a8e: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> lpm r24, Z ; Perform an LPM to read out byte - 1aa0: 84 91 lpm r24, Z + 1a92: 84 91 lpm r24, Z sts NVM_CMD, r20 ; Restore NVM command register - 1aa2: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1a94: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> sts NVM_CMD, r16 ; Load prepared command into NVM Command register. lpm r16, Z ; Perform an LPM to read out byte sts NVM_CMD, r20 ; Restore NVM command register #endif ret - 1aa6: 08 95 ret + 1a98: 08 95 ret -00001aa8 : +00001a9a : } else { // endpoint not halted then call directly callback callback(); } return true; } - 1aa8: 81 11 cpse r24, r1 - 1aaa: 22 c0 rjmp .+68 ; 0x1af0 - 1aac: 90 91 54 22 lds r25, 0x2254 ; 0x802254 - 1ab0: 99 23 and r25, r25 - 1ab2: d9 f0 breq .+54 ; 0x1aea - 1ab4: 90 91 43 2c lds r25, 0x2C43 ; 0x802c43 - 1ab8: 91 11 cpse r25, r1 - 1aba: 01 c0 rjmp .+2 ; 0x1abe - 1abc: ff cf rjmp .-2 ; 0x1abc - 1abe: 2f b7 in r18, 0x3f ; 63 - 1ac0: f8 94 cli - 1ac2: e2 e4 ldi r30, 0x42 ; 66 - 1ac4: fc e2 ldi r31, 0x2C ; 44 - 1ac6: 91 81 ldd r25, Z+1 ; 0x01 - 1ac8: 91 50 subi r25, 0x01 ; 1 - 1aca: 91 83 std Z+1, r25 ; 0x01 - 1acc: 2f bf out 0x3f, r18 ; 63 - 1ace: 0d c0 rjmp .+26 ; 0x1aea - 1ad0: 90 91 43 2c lds r25, 0x2C43 ; 0x802c43 - 1ad4: 9f 3f cpi r25, 0xFF ; 255 - 1ad6: 09 f4 brne .+2 ; 0x1ada - 1ad8: ff cf rjmp .-2 ; 0x1ad8 - 1ada: 2f b7 in r18, 0x3f ; 63 - 1adc: f8 94 cli - 1ade: e2 e4 ldi r30, 0x42 ; 66 - 1ae0: fc e2 ldi r31, 0x2C ; 44 - 1ae2: 91 81 ldd r25, Z+1 ; 0x01 - 1ae4: 9f 5f subi r25, 0xFF ; 255 - 1ae6: 91 83 std Z+1, r25 ; 0x01 - 1ae8: 2f bf out 0x3f, r18 ; 63 - 1aea: 80 93 54 22 sts 0x2254, r24 ; 0x802254 - 1aee: 08 95 ret - 1af0: 90 91 54 22 lds r25, 0x2254 ; 0x802254 - 1af4: 99 23 and r25, r25 - 1af6: 61 f3 breq .-40 ; 0x1ad0 - 1af8: f8 cf rjmp .-16 ; 0x1aea + 1a9a: 81 11 cpse r24, r1 + 1a9c: 22 c0 rjmp .+68 ; 0x1ae2 + 1a9e: 90 91 54 22 lds r25, 0x2254 ; 0x802254 + 1aa2: 99 23 and r25, r25 + 1aa4: d9 f0 breq .+54 ; 0x1adc + 1aa6: 90 91 43 2c lds r25, 0x2C43 ; 0x802c43 + 1aaa: 91 11 cpse r25, r1 + 1aac: 01 c0 rjmp .+2 ; 0x1ab0 + 1aae: ff cf rjmp .-2 ; 0x1aae + 1ab0: 2f b7 in r18, 0x3f ; 63 + 1ab2: f8 94 cli + 1ab4: e2 e4 ldi r30, 0x42 ; 66 + 1ab6: fc e2 ldi r31, 0x2C ; 44 + 1ab8: 91 81 ldd r25, Z+1 ; 0x01 + 1aba: 91 50 subi r25, 0x01 ; 1 + 1abc: 91 83 std Z+1, r25 ; 0x01 + 1abe: 2f bf out 0x3f, r18 ; 63 + 1ac0: 0d c0 rjmp .+26 ; 0x1adc + 1ac2: 90 91 43 2c lds r25, 0x2C43 ; 0x802c43 + 1ac6: 9f 3f cpi r25, 0xFF ; 255 + 1ac8: 09 f4 brne .+2 ; 0x1acc + 1aca: ff cf rjmp .-2 ; 0x1aca + 1acc: 2f b7 in r18, 0x3f ; 63 + 1ace: f8 94 cli + 1ad0: e2 e4 ldi r30, 0x42 ; 66 + 1ad2: fc e2 ldi r31, 0x2C ; 44 + 1ad4: 91 81 ldd r25, Z+1 ; 0x01 + 1ad6: 9f 5f subi r25, 0xFF ; 255 + 1ad8: 91 83 std Z+1, r25 ; 0x01 + 1ada: 2f bf out 0x3f, r18 ; 63 + 1adc: 80 93 54 22 sts 0x2254, r24 ; 0x802254 + 1ae0: 08 95 ret + 1ae2: 90 91 54 22 lds r25, 0x2254 ; 0x802254 + 1ae6: 99 23 and r25, r25 + 1ae8: 61 f3 breq .-40 ; 0x1ac2 + 1aea: f8 cf rjmp .-16 ; 0x1adc -00001afa : - 1afa: 0f 93 push r16 - 1afc: e8 ec ldi r30, 0xC8 ; 200 - 1afe: f4 e0 ldi r31, 0x04 ; 4 - 1b00: 80 81 ld r24, Z - 1b02: 8f 7d andi r24, 0xDF ; 223 - 1b04: 80 83 st Z, r24 - 1b06: 80 81 ld r24, Z - 1b08: 8f 7d andi r24, 0xDF ; 223 - 1b0a: 80 83 st Z, r24 - 1b0c: e8 e1 ldi r30, 0x18 ; 24 - 1b0e: f2 e2 ldi r31, 0x22 ; 34 - 1b10: 02 e0 ldi r16, 0x02 ; 2 - 1b12: 05 93 las Z, r16 - 1b14: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a - 1b18: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b - 1b1c: 00 e2 ldi r16, 0x20 ; 32 - 1b1e: 06 93 lac Z, r16 - 1b20: 00 e4 ldi r16, 0x40 ; 64 - 1b22: 06 93 lac Z, r16 - 1b24: e0 e1 ldi r30, 0x10 ; 16 - 1b26: f2 e2 ldi r31, 0x22 ; 34 - 1b28: 00 e2 ldi r16, 0x20 ; 32 - 1b2a: 06 93 lac Z, r16 - 1b2c: 00 e4 ldi r16, 0x40 ; 64 - 1b2e: 06 93 lac Z, r16 - 1b30: e6 e5 ldi r30, 0x56 ; 86 - 1b32: f4 e2 ldi r31, 0x24 ; 36 - 1b34: 14 86 std Z+12, r1 ; 0x0c - 1b36: 15 86 std Z+13, r1 ; 0x0d - 1b38: 16 86 std Z+14, r1 ; 0x0e - 1b3a: 17 86 std Z+15, r1 ; 0x0f - 1b3c: 12 86 std Z+10, r1 ; 0x0a - 1b3e: 13 86 std Z+11, r1 ; 0x0b - 1b40: 10 92 ff 21 sts 0x21FF, r1 ; 0x8021ff - 1b44: 0f 91 pop r16 - 1b46: 08 95 ret +00001aec : + 1aec: 0f 93 push r16 + 1aee: e8 ec ldi r30, 0xC8 ; 200 + 1af0: f4 e0 ldi r31, 0x04 ; 4 + 1af2: 80 81 ld r24, Z + 1af4: 8f 7d andi r24, 0xDF ; 223 + 1af6: 80 83 st Z, r24 + 1af8: 80 81 ld r24, Z + 1afa: 8f 7d andi r24, 0xDF ; 223 + 1afc: 80 83 st Z, r24 + 1afe: e8 e1 ldi r30, 0x18 ; 24 + 1b00: f2 e2 ldi r31, 0x22 ; 34 + 1b02: 02 e0 ldi r16, 0x02 ; 2 + 1b04: 05 93 las Z, r16 + 1b06: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a + 1b0a: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b + 1b0e: 00 e2 ldi r16, 0x20 ; 32 + 1b10: 06 93 lac Z, r16 + 1b12: 00 e4 ldi r16, 0x40 ; 64 + 1b14: 06 93 lac Z, r16 + 1b16: e0 e1 ldi r30, 0x10 ; 16 + 1b18: f2 e2 ldi r31, 0x22 ; 34 + 1b1a: 00 e2 ldi r16, 0x20 ; 32 + 1b1c: 06 93 lac Z, r16 + 1b1e: 00 e4 ldi r16, 0x40 ; 64 + 1b20: 06 93 lac Z, r16 + 1b22: e6 e5 ldi r30, 0x56 ; 86 + 1b24: f4 e2 ldi r31, 0x24 ; 36 + 1b26: 14 86 std Z+12, r1 ; 0x0c + 1b28: 15 86 std Z+13, r1 ; 0x0d + 1b2a: 16 86 std Z+14, r1 ; 0x0e + 1b2c: 17 86 std Z+15, r1 ; 0x0f + 1b2e: 12 86 std Z+10, r1 ; 0x0a + 1b30: 13 86 std Z+11, r1 ; 0x0b + 1b32: 10 92 ff 21 sts 0x21FF, r1 ; 0x8021ff + 1b36: 0f 91 pop r16 + 1b38: 08 95 ret -00001b48 : - 1b48: 0f 93 push r16 - 1b4a: 85 e0 ldi r24, 0x05 ; 5 - 1b4c: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1b50: e9 e1 ldi r30, 0x19 ; 25 - 1b52: f2 e2 ldi r31, 0x22 ; 34 - 1b54: 04 e0 ldi r16, 0x04 ; 4 - 1b56: 05 93 las Z, r16 - 1b58: e1 e1 ldi r30, 0x11 ; 17 - 1b5a: f2 e2 ldi r31, 0x22 ; 34 - 1b5c: 04 e0 ldi r16, 0x04 ; 4 - 1b5e: 05 93 las Z, r16 - 1b60: 0f 91 pop r16 - 1b62: 08 95 ret +00001b3a : + 1b3a: 0f 93 push r16 + 1b3c: 85 e0 ldi r24, 0x05 ; 5 + 1b3e: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1b42: e9 e1 ldi r30, 0x19 ; 25 + 1b44: f2 e2 ldi r31, 0x22 ; 34 + 1b46: 04 e0 ldi r16, 0x04 ; 4 + 1b48: 05 93 las Z, r16 + 1b4a: e1 e1 ldi r30, 0x11 ; 17 + 1b4c: f2 e2 ldi r31, 0x22 ; 34 + 1b4e: 04 e0 ldi r16, 0x04 ; 4 + 1b50: 05 93 las Z, r16 + 1b52: 0f 91 pop r16 + 1b54: 08 95 ret -00001b64 : - 1b64: 0f 93 push r16 - 1b66: 83 e0 ldi r24, 0x03 ; 3 - 1b68: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1b6c: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a - 1b70: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b - 1b74: e8 e1 ldi r30, 0x18 ; 24 - 1b76: f2 e2 ldi r31, 0x22 ; 34 - 1b78: 02 e0 ldi r16, 0x02 ; 2 - 1b7a: 06 93 lac Z, r16 - 1b7c: 0f 91 pop r16 - 1b7e: 08 95 ret +00001b56 : + 1b56: 0f 93 push r16 + 1b58: 83 e0 ldi r24, 0x03 ; 3 + 1b5a: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1b5e: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a + 1b62: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b + 1b66: e8 e1 ldi r30, 0x18 ; 24 + 1b68: f2 e2 ldi r31, 0x22 ; 34 + 1b6a: 02 e0 ldi r16, 0x02 ; 2 + 1b6c: 06 93 lac Z, r16 + 1b6e: 0f 91 pop r16 + 1b70: 08 95 ret -00001b80 : - 1b80: e0 91 62 24 lds r30, 0x2462 ; 0x802462 - 1b84: f0 91 63 24 lds r31, 0x2463 ; 0x802463 - 1b88: 30 97 sbiw r30, 0x00 ; 0 - 1b8a: 09 f0 breq .+2 ; 0x1b8e - 1b8c: 09 95 icall - 1b8e: 08 95 ret +00001b72 : + 1b72: e0 91 62 24 lds r30, 0x2462 ; 0x802462 + 1b76: f0 91 63 24 lds r31, 0x2463 ; 0x802463 + 1b7a: 30 97 sbiw r30, 0x00 ; 0 + 1b7c: 09 f0 breq .+2 ; 0x1b80 + 1b7e: 09 95 icall + 1b80: 08 95 ret -00001b90 : - 1b90: 0f 93 push r16 - 1b92: cf 93 push r28 - 1b94: df 93 push r29 - 1b96: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 1b9a: 83 30 cpi r24, 0x03 ; 3 - 1b9c: 19 f4 brne .+6 ; 0x1ba4 - 1b9e: f0 df rcall .-32 ; 0x1b80 - 1ba0: ac df rcall .-168 ; 0x1afa - 1ba2: 5e c0 rjmp .+188 ; 0x1c60 - 1ba4: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 1ba8: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 1bac: c0 91 60 24 lds r28, 0x2460 ; 0x802460 - 1bb0: d0 91 61 24 lds r29, 0x2461 ; 0x802461 - 1bb4: c8 1b sub r28, r24 - 1bb6: d9 0b sbc r29, r25 - 1bb8: 71 f5 brne .+92 ; 0x1c16 - 1bba: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd - 1bbe: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe - 1bc2: 82 0f add r24, r18 - 1bc4: 93 1f adc r25, r19 - 1bc6: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd - 1bca: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe - 1bce: 20 91 5c 24 lds r18, 0x245C ; 0x80245c - 1bd2: 30 91 5d 24 lds r19, 0x245D ; 0x80245d - 1bd6: 82 17 cp r24, r18 - 1bd8: 93 07 cpc r25, r19 - 1bda: 21 f0 breq .+8 ; 0x1be4 - 1bdc: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 - 1be0: 88 23 and r24, r24 - 1be2: 41 f0 breq .+16 ; 0x1bf4 - 1be4: 84 e0 ldi r24, 0x04 ; 4 - 1be6: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1bea: e0 e1 ldi r30, 0x10 ; 16 - 1bec: f2 e2 ldi r31, 0x22 ; 34 - 1bee: 02 e0 ldi r16, 0x02 ; 2 - 1bf0: 06 93 lac Z, r16 - 1bf2: 36 c0 rjmp .+108 ; 0x1c60 - 1bf4: e0 91 64 24 lds r30, 0x2464 ; 0x802464 - 1bf8: f0 91 65 24 lds r31, 0x2465 ; 0x802465 - 1bfc: 30 97 sbiw r30, 0x00 ; 0 - 1bfe: 99 f0 breq .+38 ; 0x1c26 - 1c00: 09 95 icall - 1c02: 88 23 and r24, r24 - 1c04: 81 f0 breq .+32 ; 0x1c26 - 1c06: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 1c0a: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 1c0e: c0 91 60 24 lds r28, 0x2460 ; 0x802460 - 1c12: d0 91 61 24 lds r29, 0x2461 ; 0x802461 - 1c16: c0 34 cpi r28, 0x40 ; 64 - 1c18: d1 05 cpc r29, r1 - 1c1a: 28 f0 brcs .+10 ; 0x1c26 - 1c1c: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 - 1c20: c0 e4 ldi r28, 0x40 ; 64 - 1c22: d0 e0 ldi r29, 0x00 ; 0 - 1c24: 03 c0 rjmp .+6 ; 0x1c2c - 1c26: 81 e0 ldi r24, 0x01 ; 1 - 1c28: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 - 1c2c: e0 e0 ldi r30, 0x00 ; 0 - 1c2e: f2 e2 ldi r31, 0x22 ; 34 - 1c30: c2 8f std Z+26, r28 ; 0x1a - 1c32: d3 8f std Z+27, r29 ; 0x1b - 1c34: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 1c38: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 1c3c: 20 91 5e 24 lds r18, 0x245E ; 0x80245e - 1c40: 30 91 5f 24 lds r19, 0x245F ; 0x80245f - 1c44: 28 0f add r18, r24 - 1c46: 39 1f adc r19, r25 - 1c48: 24 8f std Z+28, r18 ; 0x1c - 1c4a: 35 8f std Z+29, r19 ; 0x1d - 1c4c: c8 0f add r28, r24 - 1c4e: d9 1f adc r29, r25 - 1c50: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb - 1c54: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc - 1c58: e8 e1 ldi r30, 0x18 ; 24 - 1c5a: f2 e2 ldi r31, 0x22 ; 34 - 1c5c: 02 e0 ldi r16, 0x02 ; 2 - 1c5e: 06 93 lac Z, r16 - 1c60: df 91 pop r29 - 1c62: cf 91 pop r28 - 1c64: 0f 91 pop r16 - 1c66: 08 95 ret +00001b82 : + 1b82: 0f 93 push r16 + 1b84: cf 93 push r28 + 1b86: df 93 push r29 + 1b88: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 1b8c: 83 30 cpi r24, 0x03 ; 3 + 1b8e: 19 f4 brne .+6 ; 0x1b96 + 1b90: f0 df rcall .-32 ; 0x1b72 + 1b92: ac df rcall .-168 ; 0x1aec + 1b94: 5e c0 rjmp .+188 ; 0x1c52 + 1b96: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 1b9a: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 1b9e: c0 91 60 24 lds r28, 0x2460 ; 0x802460 + 1ba2: d0 91 61 24 lds r29, 0x2461 ; 0x802461 + 1ba6: c8 1b sub r28, r24 + 1ba8: d9 0b sbc r29, r25 + 1baa: 71 f5 brne .+92 ; 0x1c08 + 1bac: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd + 1bb0: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe + 1bb4: 82 0f add r24, r18 + 1bb6: 93 1f adc r25, r19 + 1bb8: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd + 1bbc: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe + 1bc0: 20 91 5c 24 lds r18, 0x245C ; 0x80245c + 1bc4: 30 91 5d 24 lds r19, 0x245D ; 0x80245d + 1bc8: 82 17 cp r24, r18 + 1bca: 93 07 cpc r25, r19 + 1bcc: 21 f0 breq .+8 ; 0x1bd6 + 1bce: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 + 1bd2: 88 23 and r24, r24 + 1bd4: 41 f0 breq .+16 ; 0x1be6 + 1bd6: 84 e0 ldi r24, 0x04 ; 4 + 1bd8: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1bdc: e0 e1 ldi r30, 0x10 ; 16 + 1bde: f2 e2 ldi r31, 0x22 ; 34 + 1be0: 02 e0 ldi r16, 0x02 ; 2 + 1be2: 06 93 lac Z, r16 + 1be4: 36 c0 rjmp .+108 ; 0x1c52 + 1be6: e0 91 64 24 lds r30, 0x2464 ; 0x802464 + 1bea: f0 91 65 24 lds r31, 0x2465 ; 0x802465 + 1bee: 30 97 sbiw r30, 0x00 ; 0 + 1bf0: 99 f0 breq .+38 ; 0x1c18 + 1bf2: 09 95 icall + 1bf4: 88 23 and r24, r24 + 1bf6: 81 f0 breq .+32 ; 0x1c18 + 1bf8: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 1bfc: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 1c00: c0 91 60 24 lds r28, 0x2460 ; 0x802460 + 1c04: d0 91 61 24 lds r29, 0x2461 ; 0x802461 + 1c08: c0 34 cpi r28, 0x40 ; 64 + 1c0a: d1 05 cpc r29, r1 + 1c0c: 28 f0 brcs .+10 ; 0x1c18 + 1c0e: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 + 1c12: c0 e4 ldi r28, 0x40 ; 64 + 1c14: d0 e0 ldi r29, 0x00 ; 0 + 1c16: 03 c0 rjmp .+6 ; 0x1c1e + 1c18: 81 e0 ldi r24, 0x01 ; 1 + 1c1a: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 + 1c1e: e0 e0 ldi r30, 0x00 ; 0 + 1c20: f2 e2 ldi r31, 0x22 ; 34 + 1c22: c2 8f std Z+26, r28 ; 0x1a + 1c24: d3 8f std Z+27, r29 ; 0x1b + 1c26: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 1c2a: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 1c2e: 20 91 5e 24 lds r18, 0x245E ; 0x80245e + 1c32: 30 91 5f 24 lds r19, 0x245F ; 0x80245f + 1c36: 28 0f add r18, r24 + 1c38: 39 1f adc r19, r25 + 1c3a: 24 8f std Z+28, r18 ; 0x1c + 1c3c: 35 8f std Z+29, r19 ; 0x1d + 1c3e: c8 0f add r28, r24 + 1c40: d9 1f adc r29, r25 + 1c42: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb + 1c46: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc + 1c4a: e8 e1 ldi r30, 0x18 ; 24 + 1c4c: f2 e2 ldi r31, 0x22 ; 34 + 1c4e: 02 e0 ldi r16, 0x02 ; 2 + 1c50: 06 93 lac Z, r16 + 1c52: df 91 pop r29 + 1c54: cf 91 pop r28 + 1c56: 0f 91 pop r16 + 1c58: 08 95 ret -00001c68 : - 1c68: fc 01 movw r30, r24 - 1c6a: 81 81 ldd r24, Z+1 ; 0x01 - 1c6c: e8 2f mov r30, r24 - 1c6e: e7 70 andi r30, 0x07 ; 7 - 1c70: 8e 2f mov r24, r30 - 1c72: 90 e0 ldi r25, 0x00 ; 0 - 1c74: fc 01 movw r30, r24 - 1c76: 31 97 sbiw r30, 0x01 ; 1 - 1c78: e7 30 cpi r30, 0x07 ; 7 - 1c7a: f1 05 cpc r31, r1 - 1c7c: c0 f4 brcc .+48 ; 0x1cae - 1c7e: ea 5d subi r30, 0xDA ; 218 - 1c80: fe 4f sbci r31, 0xFE ; 254 - 1c82: 7a c6 rjmp .+3316 ; 0x2978 <__tablejump2__> - 1c84: 80 e1 ldi r24, 0x10 ; 16 - 1c86: 90 e0 ldi r25, 0x00 ; 0 - 1c88: 08 95 ret - 1c8a: 80 e2 ldi r24, 0x20 ; 32 - 1c8c: 90 e0 ldi r25, 0x00 ; 0 - 1c8e: 08 95 ret - 1c90: 80 e4 ldi r24, 0x40 ; 64 - 1c92: 90 e0 ldi r25, 0x00 ; 0 - 1c94: 08 95 ret - 1c96: 80 e8 ldi r24, 0x80 ; 128 - 1c98: 90 e0 ldi r25, 0x00 ; 0 - 1c9a: 08 95 ret - 1c9c: 80 e0 ldi r24, 0x00 ; 0 - 1c9e: 91 e0 ldi r25, 0x01 ; 1 - 1ca0: 08 95 ret - 1ca2: 80 e0 ldi r24, 0x00 ; 0 - 1ca4: 92 e0 ldi r25, 0x02 ; 2 - 1ca6: 08 95 ret - 1ca8: 8f ef ldi r24, 0xFF ; 255 - 1caa: 93 e0 ldi r25, 0x03 ; 3 - 1cac: 08 95 ret - 1cae: 88 e0 ldi r24, 0x08 ; 8 - 1cb0: 90 e0 ldi r25, 0x00 ; 0 - 1cb2: 08 95 ret +00001c5a : + 1c5a: fc 01 movw r30, r24 + 1c5c: 81 81 ldd r24, Z+1 ; 0x01 + 1c5e: e8 2f mov r30, r24 + 1c60: e7 70 andi r30, 0x07 ; 7 + 1c62: 8e 2f mov r24, r30 + 1c64: 90 e0 ldi r25, 0x00 ; 0 + 1c66: fc 01 movw r30, r24 + 1c68: 31 97 sbiw r30, 0x01 ; 1 + 1c6a: e7 30 cpi r30, 0x07 ; 7 + 1c6c: f1 05 cpc r31, r1 + 1c6e: c0 f4 brcc .+48 ; 0x1ca0 + 1c70: ea 5d subi r30, 0xDA ; 218 + 1c72: fe 4f sbci r31, 0xFE ; 254 + 1c74: 7a c6 rjmp .+3316 ; 0x296a <__tablejump2__> + 1c76: 80 e1 ldi r24, 0x10 ; 16 + 1c78: 90 e0 ldi r25, 0x00 ; 0 + 1c7a: 08 95 ret + 1c7c: 80 e2 ldi r24, 0x20 ; 32 + 1c7e: 90 e0 ldi r25, 0x00 ; 0 + 1c80: 08 95 ret + 1c82: 80 e4 ldi r24, 0x40 ; 64 + 1c84: 90 e0 ldi r25, 0x00 ; 0 + 1c86: 08 95 ret + 1c88: 80 e8 ldi r24, 0x80 ; 128 + 1c8a: 90 e0 ldi r25, 0x00 ; 0 + 1c8c: 08 95 ret + 1c8e: 80 e0 ldi r24, 0x00 ; 0 + 1c90: 91 e0 ldi r25, 0x01 ; 1 + 1c92: 08 95 ret + 1c94: 80 e0 ldi r24, 0x00 ; 0 + 1c96: 92 e0 ldi r25, 0x02 ; 2 + 1c98: 08 95 ret + 1c9a: 8f ef ldi r24, 0xFF ; 255 + 1c9c: 93 e0 ldi r25, 0x03 ; 3 + 1c9e: 08 95 ret + 1ca0: 88 e0 ldi r24, 0x08 ; 8 + 1ca2: 90 e0 ldi r25, 0x00 ; 0 + 1ca4: 08 95 ret -00001cb4 : - 1cb4: 28 2f mov r18, r24 - 1cb6: 2f 70 andi r18, 0x0F ; 15 - 1cb8: 30 e0 ldi r19, 0x00 ; 0 - 1cba: 22 0f add r18, r18 - 1cbc: 33 1f adc r19, r19 - 1cbe: 08 2e mov r0, r24 - 1cc0: 00 0c add r0, r0 - 1cc2: 99 0b sbc r25, r25 - 1cc4: 88 27 eor r24, r24 - 1cc6: 99 0f add r25, r25 - 1cc8: 88 1f adc r24, r24 - 1cca: 99 27 eor r25, r25 - 1ccc: 82 0f add r24, r18 - 1cce: 93 1f adc r25, r19 - 1cd0: 02 97 sbiw r24, 0x02 ; 2 - 1cd2: 9c 01 movw r18, r24 - 1cd4: 22 0f add r18, r18 - 1cd6: 33 1f adc r19, r19 - 1cd8: 22 0f add r18, r18 - 1cda: 33 1f adc r19, r19 - 1cdc: 22 0f add r18, r18 - 1cde: 33 1f adc r19, r19 - 1ce0: 82 0f add r24, r18 - 1ce2: 93 1f adc r25, r19 - 1ce4: 8b 57 subi r24, 0x7B ; 123 - 1ce6: 9e 4d sbci r25, 0xDE ; 222 - 1ce8: 08 95 ret +00001ca6 : + 1ca6: 28 2f mov r18, r24 + 1ca8: 2f 70 andi r18, 0x0F ; 15 + 1caa: 30 e0 ldi r19, 0x00 ; 0 + 1cac: 22 0f add r18, r18 + 1cae: 33 1f adc r19, r19 + 1cb0: 08 2e mov r0, r24 + 1cb2: 00 0c add r0, r0 + 1cb4: 99 0b sbc r25, r25 + 1cb6: 88 27 eor r24, r24 + 1cb8: 99 0f add r25, r25 + 1cba: 88 1f adc r24, r24 + 1cbc: 99 27 eor r25, r25 + 1cbe: 82 0f add r24, r18 + 1cc0: 93 1f adc r25, r19 + 1cc2: 02 97 sbiw r24, 0x02 ; 2 + 1cc4: 9c 01 movw r18, r24 + 1cc6: 22 0f add r18, r18 + 1cc8: 33 1f adc r19, r19 + 1cca: 22 0f add r18, r18 + 1ccc: 33 1f adc r19, r19 + 1cce: 22 0f add r18, r18 + 1cd0: 33 1f adc r19, r19 + 1cd2: 82 0f add r24, r18 + 1cd4: 93 1f adc r25, r19 + 1cd6: 8b 57 subi r24, 0x7B ; 123 + 1cd8: 9e 4d sbci r25, 0xDE ; 222 + 1cda: 08 95 ret -00001cea : - 1cea: 0f 93 push r16 - 1cec: cf 93 push r28 - 1cee: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1cf2: 80 ff sbrs r24, 0 - 1cf4: 62 c0 rjmp .+196 ; 0x1dba - 1cf6: 81 e0 ldi r24, 0x01 ; 1 - 1cf8: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1cfc: e0 e1 ldi r30, 0x10 ; 16 - 1cfe: f2 e2 ldi r31, 0x22 ; 34 - 1d00: 00 e8 ldi r16, 0x80 ; 128 - 1d02: 06 93 lac Z, r16 - 1d04: e8 e1 ldi r30, 0x18 ; 24 - 1d06: f2 e2 ldi r31, 0x22 ; 34 - 1d08: 00 e8 ldi r16, 0x80 ; 128 - 1d0a: 06 93 lac Z, r16 - 1d0c: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 1d10: e0 e1 ldi r30, 0x10 ; 16 - 1d12: f2 e2 ldi r31, 0x22 ; 34 - 1d14: 00 e1 ldi r16, 0x10 ; 16 - 1d16: 06 93 lac Z, r16 - 1d18: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 1d1c: 88 23 and r24, r24 - 1d1e: 29 f0 breq .+10 ; 0x1d2a - 1d20: 83 50 subi r24, 0x03 ; 3 - 1d22: 82 30 cpi r24, 0x02 ; 2 - 1d24: 08 f4 brcc .+2 ; 0x1d28 - 1d26: 2c df rcall .-424 ; 0x1b80 - 1d28: e8 de rcall .-560 ; 0x1afa - 1d2a: 80 91 12 22 lds r24, 0x2212 ; 0x802212 - 1d2e: 90 91 13 22 lds r25, 0x2213 ; 0x802213 - 1d32: 08 97 sbiw r24, 0x08 ; 8 - 1d34: 09 f0 breq .+2 ; 0x1d38 - 1d36: 43 c0 rjmp .+134 ; 0x1dbe - 1d38: 88 e0 ldi r24, 0x08 ; 8 - 1d3a: eb eb ldi r30, 0xBB ; 187 - 1d3c: f1 e2 ldi r31, 0x21 ; 33 - 1d3e: a6 e5 ldi r26, 0x56 ; 86 - 1d40: b4 e2 ldi r27, 0x24 ; 36 - 1d42: 01 90 ld r0, Z+ - 1d44: 0d 92 st X+, r0 - 1d46: 8a 95 dec r24 - 1d48: e1 f7 brne .-8 ; 0x1d42 - 1d4a: e8 ec ldi r30, 0xC8 ; 200 - 1d4c: f4 e0 ldi r31, 0x04 ; 4 - 1d4e: 80 81 ld r24, Z - 1d50: 80 62 ori r24, 0x20 ; 32 - 1d52: 80 83 st Z, r24 - 1d54: 80 81 ld r24, Z - 1d56: 80 62 ori r24, 0x20 ; 32 - 1d58: 80 83 st Z, r24 - 1d5a: 10 db rcall .-2528 ; 0x137c - 1d5c: c8 2f mov r28, r24 - 1d5e: 81 11 cpse r24, r1 - 1d60: 03 c0 rjmp .+6 ; 0x1d68 - 1d62: f2 de rcall .-540 ; 0x1b48 - 1d64: c1 e0 ldi r28, 0x01 ; 1 - 1d66: 2c c0 rjmp .+88 ; 0x1dc0 - 1d68: 80 91 56 24 lds r24, 0x2456 ; 0x802456 - 1d6c: 88 23 and r24, r24 - 1d6e: 6c f4 brge .+26 ; 0x1d8a - 1d70: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd - 1d74: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe - 1d78: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 1d7c: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 1d80: 82 e0 ldi r24, 0x02 ; 2 - 1d82: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1d86: 04 df rcall .-504 ; 0x1b90 - 1d88: 1b c0 rjmp .+54 ; 0x1dc0 - 1d8a: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1d8e: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1d92: 89 2b or r24, r25 - 1d94: 11 f4 brne .+4 ; 0x1d9a - 1d96: e6 de rcall .-564 ; 0x1b64 - 1d98: 13 c0 rjmp .+38 ; 0x1dc0 - 1d9a: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd - 1d9e: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe - 1da2: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 1da6: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 1daa: 81 e0 ldi r24, 0x01 ; 1 - 1dac: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1db0: e0 e1 ldi r30, 0x10 ; 16 - 1db2: f2 e2 ldi r31, 0x22 ; 34 - 1db4: 02 e0 ldi r16, 0x02 ; 2 - 1db6: 06 93 lac Z, r16 - 1db8: 03 c0 rjmp .+6 ; 0x1dc0 - 1dba: c0 e0 ldi r28, 0x00 ; 0 - 1dbc: 01 c0 rjmp .+2 ; 0x1dc0 - 1dbe: c1 e0 ldi r28, 0x01 ; 1 - 1dc0: 8c 2f mov r24, r28 - 1dc2: cf 91 pop r28 - 1dc4: 0f 91 pop r16 - 1dc6: 08 95 ret +00001cdc : + 1cdc: 0f 93 push r16 + 1cde: cf 93 push r28 + 1ce0: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1ce4: 80 ff sbrs r24, 0 + 1ce6: 62 c0 rjmp .+196 ; 0x1dac + 1ce8: 81 e0 ldi r24, 0x01 ; 1 + 1cea: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1cee: e0 e1 ldi r30, 0x10 ; 16 + 1cf0: f2 e2 ldi r31, 0x22 ; 34 + 1cf2: 00 e8 ldi r16, 0x80 ; 128 + 1cf4: 06 93 lac Z, r16 + 1cf6: e8 e1 ldi r30, 0x18 ; 24 + 1cf8: f2 e2 ldi r31, 0x22 ; 34 + 1cfa: 00 e8 ldi r16, 0x80 ; 128 + 1cfc: 06 93 lac Z, r16 + 1cfe: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 1d02: e0 e1 ldi r30, 0x10 ; 16 + 1d04: f2 e2 ldi r31, 0x22 ; 34 + 1d06: 00 e1 ldi r16, 0x10 ; 16 + 1d08: 06 93 lac Z, r16 + 1d0a: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 1d0e: 88 23 and r24, r24 + 1d10: 29 f0 breq .+10 ; 0x1d1c + 1d12: 83 50 subi r24, 0x03 ; 3 + 1d14: 82 30 cpi r24, 0x02 ; 2 + 1d16: 08 f4 brcc .+2 ; 0x1d1a + 1d18: 2c df rcall .-424 ; 0x1b72 + 1d1a: e8 de rcall .-560 ; 0x1aec + 1d1c: 80 91 12 22 lds r24, 0x2212 ; 0x802212 + 1d20: 90 91 13 22 lds r25, 0x2213 ; 0x802213 + 1d24: 08 97 sbiw r24, 0x08 ; 8 + 1d26: 09 f0 breq .+2 ; 0x1d2a + 1d28: 43 c0 rjmp .+134 ; 0x1db0 + 1d2a: 88 e0 ldi r24, 0x08 ; 8 + 1d2c: eb eb ldi r30, 0xBB ; 187 + 1d2e: f1 e2 ldi r31, 0x21 ; 33 + 1d30: a6 e5 ldi r26, 0x56 ; 86 + 1d32: b4 e2 ldi r27, 0x24 ; 36 + 1d34: 01 90 ld r0, Z+ + 1d36: 0d 92 st X+, r0 + 1d38: 8a 95 dec r24 + 1d3a: e1 f7 brne .-8 ; 0x1d34 + 1d3c: e8 ec ldi r30, 0xC8 ; 200 + 1d3e: f4 e0 ldi r31, 0x04 ; 4 + 1d40: 80 81 ld r24, Z + 1d42: 80 62 ori r24, 0x20 ; 32 + 1d44: 80 83 st Z, r24 + 1d46: 80 81 ld r24, Z + 1d48: 80 62 ori r24, 0x20 ; 32 + 1d4a: 80 83 st Z, r24 + 1d4c: 10 db rcall .-2528 ; 0x136e + 1d4e: c8 2f mov r28, r24 + 1d50: 81 11 cpse r24, r1 + 1d52: 03 c0 rjmp .+6 ; 0x1d5a + 1d54: f2 de rcall .-540 ; 0x1b3a + 1d56: c1 e0 ldi r28, 0x01 ; 1 + 1d58: 2c c0 rjmp .+88 ; 0x1db2 + 1d5a: 80 91 56 24 lds r24, 0x2456 ; 0x802456 + 1d5e: 88 23 and r24, r24 + 1d60: 6c f4 brge .+26 ; 0x1d7c + 1d62: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd + 1d66: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe + 1d6a: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 1d6e: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 1d72: 82 e0 ldi r24, 0x02 ; 2 + 1d74: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1d78: 04 df rcall .-504 ; 0x1b82 + 1d7a: 1b c0 rjmp .+54 ; 0x1db2 + 1d7c: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1d80: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1d84: 89 2b or r24, r25 + 1d86: 11 f4 brne .+4 ; 0x1d8c + 1d88: e6 de rcall .-564 ; 0x1b56 + 1d8a: 13 c0 rjmp .+38 ; 0x1db2 + 1d8c: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd + 1d90: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe + 1d94: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 1d98: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 1d9c: 81 e0 ldi r24, 0x01 ; 1 + 1d9e: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1da2: e0 e1 ldi r30, 0x10 ; 16 + 1da4: f2 e2 ldi r31, 0x22 ; 34 + 1da6: 02 e0 ldi r16, 0x02 ; 2 + 1da8: 06 93 lac Z, r16 + 1daa: 03 c0 rjmp .+6 ; 0x1db2 + 1dac: c0 e0 ldi r28, 0x00 ; 0 + 1dae: 01 c0 rjmp .+2 ; 0x1db2 + 1db0: c1 e0 ldi r28, 0x01 ; 1 + 1db2: 8c 2f mov r24, r28 + 1db4: cf 91 pop r28 + 1db6: 0f 91 pop r16 + 1db8: 08 95 ret -00001dc8 : - 1dc8: 8f 92 push r8 - 1dca: 9f 92 push r9 - 1dcc: af 92 push r10 - 1dce: bf 92 push r11 - 1dd0: df 92 push r13 - 1dd2: ef 92 push r14 - 1dd4: ff 92 push r15 - 1dd6: 0f 93 push r16 - 1dd8: 1f 93 push r17 - 1dda: cf 93 push r28 - 1ddc: df 93 push r29 - 1dde: d8 2e mov r13, r24 - 1de0: 69 df rcall .-302 ; 0x1cb4 - 1de2: 8c 01 movw r16, r24 - 1de4: bd 2c mov r11, r13 - 1de6: bb 1c adc r11, r11 - 1de8: bb 24 eor r11, r11 - 1dea: bb 1c adc r11, r11 - 1dec: cd 2d mov r28, r13 - 1dee: cf 70 andi r28, 0x0F ; 15 - 1df0: d0 e0 ldi r29, 0x00 ; 0 - 1df2: cc 0f add r28, r28 - 1df4: dd 1f adc r29, r29 - 1df6: cb 0d add r28, r11 - 1df8: d1 1d adc r29, r1 - 1dfa: ce 01 movw r24, r28 - 1dfc: 88 0f add r24, r24 - 1dfe: 99 1f adc r25, r25 - 1e00: 88 0f add r24, r24 - 1e02: 99 1f adc r25, r25 - 1e04: 88 0f add r24, r24 - 1e06: 99 1f adc r25, r25 - 1e08: 9c 01 movw r18, r24 - 1e0a: 20 5f subi r18, 0xF0 ; 240 - 1e0c: 3d 4d sbci r19, 0xDD ; 221 - 1e0e: 79 01 movw r14, r18 - 1e10: c9 01 movw r24, r18 - 1e12: 2a df rcall .-428 ; 0x1c68 - 1e14: 4c 01 movw r8, r24 - 1e16: bb 20 and r11, r11 - 1e18: 09 f4 brne .+2 ; 0x1e1c - 1e1a: 70 c0 rjmp .+224 ; 0x1efc - 1e1c: fe 01 movw r30, r28 - 1e1e: ee 0f add r30, r30 - 1e20: ff 1f adc r31, r31 - 1e22: ee 0f add r30, r30 - 1e24: ff 1f adc r31, r31 - 1e26: ee 0f add r30, r30 - 1e28: ff 1f adc r31, r31 - 1e2a: e0 50 subi r30, 0x00 ; 0 - 1e2c: fe 4d sbci r31, 0xDE ; 222 - 1e2e: 26 89 ldd r18, Z+22 ; 0x16 - 1e30: 37 89 ldd r19, Z+23 ; 0x17 - 1e32: d8 01 movw r26, r16 - 1e34: 15 96 adiw r26, 0x05 ; 5 - 1e36: 8d 91 ld r24, X+ - 1e38: 9c 91 ld r25, X - 1e3a: 16 97 sbiw r26, 0x06 ; 6 - 1e3c: 82 0f add r24, r18 - 1e3e: 93 1f adc r25, r19 - 1e40: 15 96 adiw r26, 0x05 ; 5 - 1e42: 8d 93 st X+, r24 - 1e44: 9c 93 st X, r25 - 1e46: 16 97 sbiw r26, 0x06 ; 6 - 1e48: 13 96 adiw r26, 0x03 ; 3 - 1e4a: 2d 91 ld r18, X+ - 1e4c: 3c 91 ld r19, X - 1e4e: 14 97 sbiw r26, 0x04 ; 4 - 1e50: 82 17 cp r24, r18 - 1e52: 93 07 cpc r25, r19 - 1e54: 09 f4 brne .+2 ; 0x1e58 - 1e56: 3c c0 rjmp .+120 ; 0x1ed0 - 1e58: 28 1b sub r18, r24 - 1e5a: 39 0b sbc r19, r25 - 1e5c: 21 15 cp r18, r1 - 1e5e: b4 e0 ldi r27, 0x04 ; 4 - 1e60: 3b 07 cpc r19, r27 - 1e62: 38 f0 brcs .+14 ; 0x1e72 - 1e64: 2f ef ldi r18, 0xFF ; 255 - 1e66: 33 e0 ldi r19, 0x03 ; 3 - 1e68: c9 01 movw r24, r18 - 1e6a: b4 01 movw r22, r8 - 1e6c: 71 d5 rcall .+2786 ; 0x2950 <__udivmodhi4> - 1e6e: 28 1b sub r18, r24 - 1e70: 39 0b sbc r19, r25 - 1e72: f8 01 movw r30, r16 - 1e74: 80 81 ld r24, Z - 1e76: 81 ff sbrs r24, 1 - 1e78: 09 c0 rjmp .+18 ; 0x1e8c - 1e7a: c9 01 movw r24, r18 - 1e7c: b4 01 movw r22, r8 - 1e7e: 68 d5 rcall .+2768 ; 0x2950 <__udivmodhi4> - 1e80: 41 e0 ldi r20, 0x01 ; 1 - 1e82: 89 2b or r24, r25 - 1e84: 09 f0 breq .+2 ; 0x1e88 - 1e86: 40 e0 ldi r20, 0x00 ; 0 - 1e88: 84 2f mov r24, r20 - 1e8a: 01 c0 rjmp .+2 ; 0x1e8e - 1e8c: 80 e0 ldi r24, 0x00 ; 0 - 1e8e: d8 01 movw r26, r16 - 1e90: 9c 91 ld r25, X - 1e92: 80 fb bst r24, 0 - 1e94: 91 f9 bld r25, 1 - 1e96: 9c 93 st X, r25 - 1e98: cc 0f add r28, r28 - 1e9a: dd 1f adc r29, r29 - 1e9c: cc 0f add r28, r28 - 1e9e: dd 1f adc r29, r29 - 1ea0: cc 0f add r28, r28 - 1ea2: dd 1f adc r29, r29 - 1ea4: c0 50 subi r28, 0x00 ; 0 - 1ea6: de 4d sbci r29, 0xDE ; 222 - 1ea8: 1e 8a std Y+22, r1 ; 0x16 - 1eaa: 1f 8a std Y+23, r1 ; 0x17 - 1eac: 2a 8b std Y+18, r18 ; 0x12 - 1eae: 3b 8b std Y+19, r19 ; 0x13 - 1eb0: 11 96 adiw r26, 0x01 ; 1 - 1eb2: 2d 91 ld r18, X+ - 1eb4: 3c 91 ld r19, X - 1eb6: 12 97 sbiw r26, 0x02 ; 2 - 1eb8: 15 96 adiw r26, 0x05 ; 5 - 1eba: 8d 91 ld r24, X+ - 1ebc: 9c 91 ld r25, X - 1ebe: 16 97 sbiw r26, 0x06 ; 6 - 1ec0: 82 0f add r24, r18 - 1ec2: 93 1f adc r25, r19 - 1ec4: 8c 8b std Y+20, r24 ; 0x14 - 1ec6: 9d 8b std Y+21, r25 ; 0x15 - 1ec8: f7 01 movw r30, r14 - 1eca: 02 e0 ldi r16, 0x02 ; 2 - 1ecc: 06 93 lac Z, r16 - 1ece: ca c0 rjmp .+404 ; 0x2064 - 1ed0: d8 01 movw r26, r16 - 1ed2: 8c 91 ld r24, X - 1ed4: 81 ff sbrs r24, 1 - 1ed6: b3 c0 rjmp .+358 ; 0x203e - 1ed8: 8d 7f andi r24, 0xFD ; 253 - 1eda: 8c 93 st X, r24 - 1edc: cc 0f add r28, r28 - 1ede: dd 1f adc r29, r29 - 1ee0: cc 0f add r28, r28 - 1ee2: dd 1f adc r29, r29 - 1ee4: cc 0f add r28, r28 - 1ee6: dd 1f adc r29, r29 - 1ee8: c0 50 subi r28, 0x00 ; 0 - 1eea: de 4d sbci r29, 0xDE ; 222 - 1eec: 1e 8a std Y+22, r1 ; 0x16 - 1eee: 1f 8a std Y+23, r1 ; 0x17 - 1ef0: 1a 8a std Y+18, r1 ; 0x12 - 1ef2: 1b 8a std Y+19, r1 ; 0x13 - 1ef4: f7 01 movw r30, r14 - 1ef6: 02 e0 ldi r16, 0x02 ; 2 - 1ef8: 06 93 lac Z, r16 - 1efa: b4 c0 rjmp .+360 ; 0x2064 - 1efc: fe 01 movw r30, r28 - 1efe: ee 0f add r30, r30 - 1f00: ff 1f adc r31, r31 - 1f02: ee 0f add r30, r30 - 1f04: ff 1f adc r31, r31 - 1f06: ee 0f add r30, r30 - 1f08: ff 1f adc r31, r31 - 1f0a: e0 50 subi r30, 0x00 ; 0 - 1f0c: fe 4d sbci r31, 0xDE ; 222 - 1f0e: a2 88 ldd r10, Z+18 ; 0x12 - 1f10: b3 88 ldd r11, Z+19 ; 0x13 - 1f12: d8 01 movw r26, r16 - 1f14: 8c 91 ld r24, X - 1f16: 82 ff sbrs r24, 2 - 1f18: 19 c0 rjmp .+50 ; 0x1f4c - 1f1a: 11 96 adiw r26, 0x01 ; 1 - 1f1c: ed 91 ld r30, X+ - 1f1e: fc 91 ld r31, X - 1f20: 12 97 sbiw r26, 0x02 ; 2 - 1f22: 15 96 adiw r26, 0x05 ; 5 - 1f24: 2d 91 ld r18, X+ - 1f26: 3c 91 ld r19, X - 1f28: 16 97 sbiw r26, 0x06 ; 6 - 1f2a: 13 96 adiw r26, 0x03 ; 3 - 1f2c: 8d 91 ld r24, X+ - 1f2e: 9c 91 ld r25, X - 1f30: 14 97 sbiw r26, 0x04 ; 4 - 1f32: b4 01 movw r22, r8 - 1f34: 0d d5 rcall .+2586 ; 0x2950 <__udivmodhi4> - 1f36: b0 e4 ldi r27, 0x40 ; 64 - 1f38: db 9e mul r13, r27 - 1f3a: b0 01 movw r22, r0 - 1f3c: 11 24 eor r1, r1 - 1f3e: 6b 57 subi r22, 0x7B ; 123 - 1f40: 7f 4d sbci r23, 0xDF ; 223 - 1f42: ac 01 movw r20, r24 - 1f44: cf 01 movw r24, r30 - 1f46: 82 0f add r24, r18 - 1f48: 93 1f adc r25, r19 - 1f4a: 1c d5 rcall .+2616 ; 0x2984 - 1f4c: f8 01 movw r30, r16 - 1f4e: 25 81 ldd r18, Z+5 ; 0x05 - 1f50: 36 81 ldd r19, Z+6 ; 0x06 - 1f52: 2a 0d add r18, r10 - 1f54: 3b 1d adc r19, r11 - 1f56: 25 83 std Z+5, r18 ; 0x05 - 1f58: 36 83 std Z+6, r19 ; 0x06 - 1f5a: 83 81 ldd r24, Z+3 ; 0x03 - 1f5c: 94 81 ldd r25, Z+4 ; 0x04 - 1f5e: 82 17 cp r24, r18 - 1f60: 93 07 cpc r25, r19 - 1f62: 68 f4 brcc .+26 ; 0x1f7e - 1f64: 85 83 std Z+5, r24 ; 0x05 - 1f66: 96 83 std Z+6, r25 ; 0x06 - 1f68: cc 0f add r28, r28 - 1f6a: dd 1f adc r29, r29 - 1f6c: cc 0f add r28, r28 - 1f6e: dd 1f adc r29, r29 - 1f70: cc 0f add r28, r28 - 1f72: dd 1f adc r29, r29 - 1f74: c0 50 subi r28, 0x00 ; 0 - 1f76: de 4d sbci r29, 0xDE ; 222 - 1f78: 8e 89 ldd r24, Y+22 ; 0x16 - 1f7a: 9f 89 ldd r25, Y+23 ; 0x17 - 1f7c: 60 c0 rjmp .+192 ; 0x203e - 1f7e: fe 01 movw r30, r28 - 1f80: ee 0f add r30, r30 - 1f82: ff 1f adc r31, r31 - 1f84: ee 0f add r30, r30 - 1f86: ff 1f adc r31, r31 - 1f88: ee 0f add r30, r30 - 1f8a: ff 1f adc r31, r31 - 1f8c: e0 50 subi r30, 0x00 ; 0 - 1f8e: fe 4d sbci r31, 0xDE ; 222 - 1f90: 46 89 ldd r20, Z+22 ; 0x16 - 1f92: 57 89 ldd r21, Z+23 ; 0x17 - 1f94: 4a 15 cp r20, r10 - 1f96: 5b 05 cpc r21, r11 - 1f98: 09 f0 breq .+2 ; 0x1f9c - 1f9a: 51 c0 rjmp .+162 ; 0x203e - 1f9c: 28 17 cp r18, r24 - 1f9e: 39 07 cpc r19, r25 - 1fa0: 09 f4 brne .+2 ; 0x1fa4 - 1fa2: 4d c0 rjmp .+154 ; 0x203e - 1fa4: ac 01 movw r20, r24 - 1fa6: 42 1b sub r20, r18 - 1fa8: 53 0b sbc r21, r19 - 1faa: 9a 01 movw r18, r20 - 1fac: 21 15 cp r18, r1 - 1fae: 54 e0 ldi r21, 0x04 ; 4 - 1fb0: 35 07 cpc r19, r21 - 1fb2: 50 f0 brcs .+20 ; 0x1fc8 - 1fb4: 2f ef ldi r18, 0xFF ; 255 - 1fb6: 33 e0 ldi r19, 0x03 ; 3 - 1fb8: c9 01 movw r24, r18 - 1fba: b4 01 movw r22, r8 - 1fbc: c9 d4 rcall .+2450 ; 0x2950 <__udivmodhi4> - 1fbe: d9 01 movw r26, r18 - 1fc0: a8 1b sub r26, r24 - 1fc2: b9 0b sbc r27, r25 - 1fc4: cd 01 movw r24, r26 - 1fc6: 07 c0 rjmp .+14 ; 0x1fd6 - 1fc8: c9 01 movw r24, r18 - 1fca: b4 01 movw r22, r8 - 1fcc: c1 d4 rcall .+2434 ; 0x2950 <__udivmodhi4> - 1fce: f9 01 movw r30, r18 - 1fd0: e8 1b sub r30, r24 - 1fd2: f9 0b sbc r31, r25 - 1fd4: cf 01 movw r24, r30 - 1fd6: fe 01 movw r30, r28 - 1fd8: ee 0f add r30, r30 - 1fda: ff 1f adc r31, r31 - 1fdc: ee 0f add r30, r30 - 1fde: ff 1f adc r31, r31 - 1fe0: ee 0f add r30, r30 - 1fe2: ff 1f adc r31, r31 - 1fe4: e0 50 subi r30, 0x00 ; 0 - 1fe6: fe 4d sbci r31, 0xDE ; 222 - 1fe8: 12 8a std Z+18, r1 ; 0x12 - 1fea: 13 8a std Z+19, r1 ; 0x13 - 1fec: 88 15 cp r24, r8 - 1fee: 99 05 cpc r25, r9 - 1ff0: 78 f4 brcc .+30 ; 0x2010 - 1ff2: d8 01 movw r26, r16 - 1ff4: 8c 91 ld r24, X - 1ff6: 84 60 ori r24, 0x04 ; 4 - 1ff8: 8c 93 st X, r24 - 1ffa: b0 e4 ldi r27, 0x40 ; 64 - 1ffc: db 9e mul r13, r27 - 1ffe: c0 01 movw r24, r0 - 2000: 11 24 eor r1, r1 - 2002: 8b 57 subi r24, 0x7B ; 123 - 2004: 9f 4d sbci r25, 0xDF ; 223 - 2006: 84 8b std Z+20, r24 ; 0x14 - 2008: 95 8b std Z+21, r25 ; 0x15 - 200a: 86 8a std Z+22, r8 ; 0x16 - 200c: 97 8a std Z+23, r9 ; 0x17 - 200e: 13 c0 rjmp .+38 ; 0x2036 - 2010: f8 01 movw r30, r16 - 2012: 41 81 ldd r20, Z+1 ; 0x01 - 2014: 52 81 ldd r21, Z+2 ; 0x02 - 2016: 25 81 ldd r18, Z+5 ; 0x05 - 2018: 36 81 ldd r19, Z+6 ; 0x06 - 201a: 24 0f add r18, r20 - 201c: 35 1f adc r19, r21 - 201e: cc 0f add r28, r28 - 2020: dd 1f adc r29, r29 - 2022: cc 0f add r28, r28 - 2024: dd 1f adc r29, r29 - 2026: cc 0f add r28, r28 - 2028: dd 1f adc r29, r29 - 202a: c0 50 subi r28, 0x00 ; 0 - 202c: de 4d sbci r29, 0xDE ; 222 - 202e: 2c 8b std Y+20, r18 ; 0x14 - 2030: 3d 8b std Y+21, r19 ; 0x15 - 2032: 8e 8b std Y+22, r24 ; 0x16 - 2034: 9f 8b std Y+23, r25 ; 0x17 - 2036: f7 01 movw r30, r14 - 2038: 02 e0 ldi r16, 0x02 ; 2 - 203a: 06 93 lac Z, r16 - 203c: 13 c0 rjmp .+38 ; 0x2064 - 203e: d8 01 movw r26, r16 - 2040: 8c 91 ld r24, X - 2042: 80 ff sbrs r24, 0 - 2044: 0f c0 rjmp .+30 ; 0x2064 - 2046: 8e 7f andi r24, 0xFE ; 254 - 2048: 8c 93 st X, r24 - 204a: 17 96 adiw r26, 0x07 ; 7 - 204c: ed 91 ld r30, X+ - 204e: fc 91 ld r31, X - 2050: 18 97 sbiw r26, 0x08 ; 8 - 2052: 30 97 sbiw r30, 0x00 ; 0 - 2054: 39 f0 breq .+14 ; 0x2064 - 2056: 15 96 adiw r26, 0x05 ; 5 - 2058: 6d 91 ld r22, X+ - 205a: 7c 91 ld r23, X - 205c: 16 97 sbiw r26, 0x06 ; 6 - 205e: 4d 2d mov r20, r13 - 2060: 80 e0 ldi r24, 0x00 ; 0 - 2062: 09 95 icall - 2064: df 91 pop r29 - 2066: cf 91 pop r28 - 2068: 1f 91 pop r17 - 206a: 0f 91 pop r16 - 206c: ff 90 pop r15 - 206e: ef 90 pop r14 - 2070: df 90 pop r13 - 2072: bf 90 pop r11 - 2074: af 90 pop r10 - 2076: 9f 90 pop r9 - 2078: 8f 90 pop r8 - 207a: 08 95 ret +00001dba : + 1dba: 8f 92 push r8 + 1dbc: 9f 92 push r9 + 1dbe: af 92 push r10 + 1dc0: bf 92 push r11 + 1dc2: df 92 push r13 + 1dc4: ef 92 push r14 + 1dc6: ff 92 push r15 + 1dc8: 0f 93 push r16 + 1dca: 1f 93 push r17 + 1dcc: cf 93 push r28 + 1dce: df 93 push r29 + 1dd0: d8 2e mov r13, r24 + 1dd2: 69 df rcall .-302 ; 0x1ca6 + 1dd4: 8c 01 movw r16, r24 + 1dd6: bd 2c mov r11, r13 + 1dd8: bb 1c adc r11, r11 + 1dda: bb 24 eor r11, r11 + 1ddc: bb 1c adc r11, r11 + 1dde: cd 2d mov r28, r13 + 1de0: cf 70 andi r28, 0x0F ; 15 + 1de2: d0 e0 ldi r29, 0x00 ; 0 + 1de4: cc 0f add r28, r28 + 1de6: dd 1f adc r29, r29 + 1de8: cb 0d add r28, r11 + 1dea: d1 1d adc r29, r1 + 1dec: ce 01 movw r24, r28 + 1dee: 88 0f add r24, r24 + 1df0: 99 1f adc r25, r25 + 1df2: 88 0f add r24, r24 + 1df4: 99 1f adc r25, r25 + 1df6: 88 0f add r24, r24 + 1df8: 99 1f adc r25, r25 + 1dfa: 9c 01 movw r18, r24 + 1dfc: 20 5f subi r18, 0xF0 ; 240 + 1dfe: 3d 4d sbci r19, 0xDD ; 221 + 1e00: 79 01 movw r14, r18 + 1e02: c9 01 movw r24, r18 + 1e04: 2a df rcall .-428 ; 0x1c5a + 1e06: 4c 01 movw r8, r24 + 1e08: bb 20 and r11, r11 + 1e0a: 09 f4 brne .+2 ; 0x1e0e + 1e0c: 70 c0 rjmp .+224 ; 0x1eee + 1e0e: fe 01 movw r30, r28 + 1e10: ee 0f add r30, r30 + 1e12: ff 1f adc r31, r31 + 1e14: ee 0f add r30, r30 + 1e16: ff 1f adc r31, r31 + 1e18: ee 0f add r30, r30 + 1e1a: ff 1f adc r31, r31 + 1e1c: e0 50 subi r30, 0x00 ; 0 + 1e1e: fe 4d sbci r31, 0xDE ; 222 + 1e20: 26 89 ldd r18, Z+22 ; 0x16 + 1e22: 37 89 ldd r19, Z+23 ; 0x17 + 1e24: d8 01 movw r26, r16 + 1e26: 15 96 adiw r26, 0x05 ; 5 + 1e28: 8d 91 ld r24, X+ + 1e2a: 9c 91 ld r25, X + 1e2c: 16 97 sbiw r26, 0x06 ; 6 + 1e2e: 82 0f add r24, r18 + 1e30: 93 1f adc r25, r19 + 1e32: 15 96 adiw r26, 0x05 ; 5 + 1e34: 8d 93 st X+, r24 + 1e36: 9c 93 st X, r25 + 1e38: 16 97 sbiw r26, 0x06 ; 6 + 1e3a: 13 96 adiw r26, 0x03 ; 3 + 1e3c: 2d 91 ld r18, X+ + 1e3e: 3c 91 ld r19, X + 1e40: 14 97 sbiw r26, 0x04 ; 4 + 1e42: 82 17 cp r24, r18 + 1e44: 93 07 cpc r25, r19 + 1e46: 09 f4 brne .+2 ; 0x1e4a + 1e48: 3c c0 rjmp .+120 ; 0x1ec2 + 1e4a: 28 1b sub r18, r24 + 1e4c: 39 0b sbc r19, r25 + 1e4e: 21 15 cp r18, r1 + 1e50: b4 e0 ldi r27, 0x04 ; 4 + 1e52: 3b 07 cpc r19, r27 + 1e54: 38 f0 brcs .+14 ; 0x1e64 + 1e56: 2f ef ldi r18, 0xFF ; 255 + 1e58: 33 e0 ldi r19, 0x03 ; 3 + 1e5a: c9 01 movw r24, r18 + 1e5c: b4 01 movw r22, r8 + 1e5e: 71 d5 rcall .+2786 ; 0x2942 <__udivmodhi4> + 1e60: 28 1b sub r18, r24 + 1e62: 39 0b sbc r19, r25 + 1e64: f8 01 movw r30, r16 + 1e66: 80 81 ld r24, Z + 1e68: 81 ff sbrs r24, 1 + 1e6a: 09 c0 rjmp .+18 ; 0x1e7e + 1e6c: c9 01 movw r24, r18 + 1e6e: b4 01 movw r22, r8 + 1e70: 68 d5 rcall .+2768 ; 0x2942 <__udivmodhi4> + 1e72: 41 e0 ldi r20, 0x01 ; 1 + 1e74: 89 2b or r24, r25 + 1e76: 09 f0 breq .+2 ; 0x1e7a + 1e78: 40 e0 ldi r20, 0x00 ; 0 + 1e7a: 84 2f mov r24, r20 + 1e7c: 01 c0 rjmp .+2 ; 0x1e80 + 1e7e: 80 e0 ldi r24, 0x00 ; 0 + 1e80: d8 01 movw r26, r16 + 1e82: 9c 91 ld r25, X + 1e84: 80 fb bst r24, 0 + 1e86: 91 f9 bld r25, 1 + 1e88: 9c 93 st X, r25 + 1e8a: cc 0f add r28, r28 + 1e8c: dd 1f adc r29, r29 + 1e8e: cc 0f add r28, r28 + 1e90: dd 1f adc r29, r29 + 1e92: cc 0f add r28, r28 + 1e94: dd 1f adc r29, r29 + 1e96: c0 50 subi r28, 0x00 ; 0 + 1e98: de 4d sbci r29, 0xDE ; 222 + 1e9a: 1e 8a std Y+22, r1 ; 0x16 + 1e9c: 1f 8a std Y+23, r1 ; 0x17 + 1e9e: 2a 8b std Y+18, r18 ; 0x12 + 1ea0: 3b 8b std Y+19, r19 ; 0x13 + 1ea2: 11 96 adiw r26, 0x01 ; 1 + 1ea4: 2d 91 ld r18, X+ + 1ea6: 3c 91 ld r19, X + 1ea8: 12 97 sbiw r26, 0x02 ; 2 + 1eaa: 15 96 adiw r26, 0x05 ; 5 + 1eac: 8d 91 ld r24, X+ + 1eae: 9c 91 ld r25, X + 1eb0: 16 97 sbiw r26, 0x06 ; 6 + 1eb2: 82 0f add r24, r18 + 1eb4: 93 1f adc r25, r19 + 1eb6: 8c 8b std Y+20, r24 ; 0x14 + 1eb8: 9d 8b std Y+21, r25 ; 0x15 + 1eba: f7 01 movw r30, r14 + 1ebc: 02 e0 ldi r16, 0x02 ; 2 + 1ebe: 06 93 lac Z, r16 + 1ec0: ca c0 rjmp .+404 ; 0x2056 + 1ec2: d8 01 movw r26, r16 + 1ec4: 8c 91 ld r24, X + 1ec6: 81 ff sbrs r24, 1 + 1ec8: b3 c0 rjmp .+358 ; 0x2030 + 1eca: 8d 7f andi r24, 0xFD ; 253 + 1ecc: 8c 93 st X, r24 + 1ece: cc 0f add r28, r28 + 1ed0: dd 1f adc r29, r29 + 1ed2: cc 0f add r28, r28 + 1ed4: dd 1f adc r29, r29 + 1ed6: cc 0f add r28, r28 + 1ed8: dd 1f adc r29, r29 + 1eda: c0 50 subi r28, 0x00 ; 0 + 1edc: de 4d sbci r29, 0xDE ; 222 + 1ede: 1e 8a std Y+22, r1 ; 0x16 + 1ee0: 1f 8a std Y+23, r1 ; 0x17 + 1ee2: 1a 8a std Y+18, r1 ; 0x12 + 1ee4: 1b 8a std Y+19, r1 ; 0x13 + 1ee6: f7 01 movw r30, r14 + 1ee8: 02 e0 ldi r16, 0x02 ; 2 + 1eea: 06 93 lac Z, r16 + 1eec: b4 c0 rjmp .+360 ; 0x2056 + 1eee: fe 01 movw r30, r28 + 1ef0: ee 0f add r30, r30 + 1ef2: ff 1f adc r31, r31 + 1ef4: ee 0f add r30, r30 + 1ef6: ff 1f adc r31, r31 + 1ef8: ee 0f add r30, r30 + 1efa: ff 1f adc r31, r31 + 1efc: e0 50 subi r30, 0x00 ; 0 + 1efe: fe 4d sbci r31, 0xDE ; 222 + 1f00: a2 88 ldd r10, Z+18 ; 0x12 + 1f02: b3 88 ldd r11, Z+19 ; 0x13 + 1f04: d8 01 movw r26, r16 + 1f06: 8c 91 ld r24, X + 1f08: 82 ff sbrs r24, 2 + 1f0a: 19 c0 rjmp .+50 ; 0x1f3e + 1f0c: 11 96 adiw r26, 0x01 ; 1 + 1f0e: ed 91 ld r30, X+ + 1f10: fc 91 ld r31, X + 1f12: 12 97 sbiw r26, 0x02 ; 2 + 1f14: 15 96 adiw r26, 0x05 ; 5 + 1f16: 2d 91 ld r18, X+ + 1f18: 3c 91 ld r19, X + 1f1a: 16 97 sbiw r26, 0x06 ; 6 + 1f1c: 13 96 adiw r26, 0x03 ; 3 + 1f1e: 8d 91 ld r24, X+ + 1f20: 9c 91 ld r25, X + 1f22: 14 97 sbiw r26, 0x04 ; 4 + 1f24: b4 01 movw r22, r8 + 1f26: 0d d5 rcall .+2586 ; 0x2942 <__udivmodhi4> + 1f28: b0 e4 ldi r27, 0x40 ; 64 + 1f2a: db 9e mul r13, r27 + 1f2c: b0 01 movw r22, r0 + 1f2e: 11 24 eor r1, r1 + 1f30: 6b 57 subi r22, 0x7B ; 123 + 1f32: 7f 4d sbci r23, 0xDF ; 223 + 1f34: ac 01 movw r20, r24 + 1f36: cf 01 movw r24, r30 + 1f38: 82 0f add r24, r18 + 1f3a: 93 1f adc r25, r19 + 1f3c: 1c d5 rcall .+2616 ; 0x2976 + 1f3e: f8 01 movw r30, r16 + 1f40: 25 81 ldd r18, Z+5 ; 0x05 + 1f42: 36 81 ldd r19, Z+6 ; 0x06 + 1f44: 2a 0d add r18, r10 + 1f46: 3b 1d adc r19, r11 + 1f48: 25 83 std Z+5, r18 ; 0x05 + 1f4a: 36 83 std Z+6, r19 ; 0x06 + 1f4c: 83 81 ldd r24, Z+3 ; 0x03 + 1f4e: 94 81 ldd r25, Z+4 ; 0x04 + 1f50: 82 17 cp r24, r18 + 1f52: 93 07 cpc r25, r19 + 1f54: 68 f4 brcc .+26 ; 0x1f70 + 1f56: 85 83 std Z+5, r24 ; 0x05 + 1f58: 96 83 std Z+6, r25 ; 0x06 + 1f5a: cc 0f add r28, r28 + 1f5c: dd 1f adc r29, r29 + 1f5e: cc 0f add r28, r28 + 1f60: dd 1f adc r29, r29 + 1f62: cc 0f add r28, r28 + 1f64: dd 1f adc r29, r29 + 1f66: c0 50 subi r28, 0x00 ; 0 + 1f68: de 4d sbci r29, 0xDE ; 222 + 1f6a: 8e 89 ldd r24, Y+22 ; 0x16 + 1f6c: 9f 89 ldd r25, Y+23 ; 0x17 + 1f6e: 60 c0 rjmp .+192 ; 0x2030 + 1f70: fe 01 movw r30, r28 + 1f72: ee 0f add r30, r30 + 1f74: ff 1f adc r31, r31 + 1f76: ee 0f add r30, r30 + 1f78: ff 1f adc r31, r31 + 1f7a: ee 0f add r30, r30 + 1f7c: ff 1f adc r31, r31 + 1f7e: e0 50 subi r30, 0x00 ; 0 + 1f80: fe 4d sbci r31, 0xDE ; 222 + 1f82: 46 89 ldd r20, Z+22 ; 0x16 + 1f84: 57 89 ldd r21, Z+23 ; 0x17 + 1f86: 4a 15 cp r20, r10 + 1f88: 5b 05 cpc r21, r11 + 1f8a: 09 f0 breq .+2 ; 0x1f8e + 1f8c: 51 c0 rjmp .+162 ; 0x2030 + 1f8e: 28 17 cp r18, r24 + 1f90: 39 07 cpc r19, r25 + 1f92: 09 f4 brne .+2 ; 0x1f96 + 1f94: 4d c0 rjmp .+154 ; 0x2030 + 1f96: ac 01 movw r20, r24 + 1f98: 42 1b sub r20, r18 + 1f9a: 53 0b sbc r21, r19 + 1f9c: 9a 01 movw r18, r20 + 1f9e: 21 15 cp r18, r1 + 1fa0: 54 e0 ldi r21, 0x04 ; 4 + 1fa2: 35 07 cpc r19, r21 + 1fa4: 50 f0 brcs .+20 ; 0x1fba + 1fa6: 2f ef ldi r18, 0xFF ; 255 + 1fa8: 33 e0 ldi r19, 0x03 ; 3 + 1faa: c9 01 movw r24, r18 + 1fac: b4 01 movw r22, r8 + 1fae: c9 d4 rcall .+2450 ; 0x2942 <__udivmodhi4> + 1fb0: d9 01 movw r26, r18 + 1fb2: a8 1b sub r26, r24 + 1fb4: b9 0b sbc r27, r25 + 1fb6: cd 01 movw r24, r26 + 1fb8: 07 c0 rjmp .+14 ; 0x1fc8 + 1fba: c9 01 movw r24, r18 + 1fbc: b4 01 movw r22, r8 + 1fbe: c1 d4 rcall .+2434 ; 0x2942 <__udivmodhi4> + 1fc0: f9 01 movw r30, r18 + 1fc2: e8 1b sub r30, r24 + 1fc4: f9 0b sbc r31, r25 + 1fc6: cf 01 movw r24, r30 + 1fc8: fe 01 movw r30, r28 + 1fca: ee 0f add r30, r30 + 1fcc: ff 1f adc r31, r31 + 1fce: ee 0f add r30, r30 + 1fd0: ff 1f adc r31, r31 + 1fd2: ee 0f add r30, r30 + 1fd4: ff 1f adc r31, r31 + 1fd6: e0 50 subi r30, 0x00 ; 0 + 1fd8: fe 4d sbci r31, 0xDE ; 222 + 1fda: 12 8a std Z+18, r1 ; 0x12 + 1fdc: 13 8a std Z+19, r1 ; 0x13 + 1fde: 88 15 cp r24, r8 + 1fe0: 99 05 cpc r25, r9 + 1fe2: 78 f4 brcc .+30 ; 0x2002 + 1fe4: d8 01 movw r26, r16 + 1fe6: 8c 91 ld r24, X + 1fe8: 84 60 ori r24, 0x04 ; 4 + 1fea: 8c 93 st X, r24 + 1fec: b0 e4 ldi r27, 0x40 ; 64 + 1fee: db 9e mul r13, r27 + 1ff0: c0 01 movw r24, r0 + 1ff2: 11 24 eor r1, r1 + 1ff4: 8b 57 subi r24, 0x7B ; 123 + 1ff6: 9f 4d sbci r25, 0xDF ; 223 + 1ff8: 84 8b std Z+20, r24 ; 0x14 + 1ffa: 95 8b std Z+21, r25 ; 0x15 + 1ffc: 86 8a std Z+22, r8 ; 0x16 + 1ffe: 97 8a std Z+23, r9 ; 0x17 + 2000: 13 c0 rjmp .+38 ; 0x2028 + 2002: f8 01 movw r30, r16 + 2004: 41 81 ldd r20, Z+1 ; 0x01 + 2006: 52 81 ldd r21, Z+2 ; 0x02 + 2008: 25 81 ldd r18, Z+5 ; 0x05 + 200a: 36 81 ldd r19, Z+6 ; 0x06 + 200c: 24 0f add r18, r20 + 200e: 35 1f adc r19, r21 + 2010: cc 0f add r28, r28 + 2012: dd 1f adc r29, r29 + 2014: cc 0f add r28, r28 + 2016: dd 1f adc r29, r29 + 2018: cc 0f add r28, r28 + 201a: dd 1f adc r29, r29 + 201c: c0 50 subi r28, 0x00 ; 0 + 201e: de 4d sbci r29, 0xDE ; 222 + 2020: 2c 8b std Y+20, r18 ; 0x14 + 2022: 3d 8b std Y+21, r19 ; 0x15 + 2024: 8e 8b std Y+22, r24 ; 0x16 + 2026: 9f 8b std Y+23, r25 ; 0x17 + 2028: f7 01 movw r30, r14 + 202a: 02 e0 ldi r16, 0x02 ; 2 + 202c: 06 93 lac Z, r16 + 202e: 13 c0 rjmp .+38 ; 0x2056 + 2030: d8 01 movw r26, r16 + 2032: 8c 91 ld r24, X + 2034: 80 ff sbrs r24, 0 + 2036: 0f c0 rjmp .+30 ; 0x2056 + 2038: 8e 7f andi r24, 0xFE ; 254 + 203a: 8c 93 st X, r24 + 203c: 17 96 adiw r26, 0x07 ; 7 + 203e: ed 91 ld r30, X+ + 2040: fc 91 ld r31, X + 2042: 18 97 sbiw r26, 0x08 ; 8 + 2044: 30 97 sbiw r30, 0x00 ; 0 + 2046: 39 f0 breq .+14 ; 0x2056 + 2048: 15 96 adiw r26, 0x05 ; 5 + 204a: 6d 91 ld r22, X+ + 204c: 7c 91 ld r23, X + 204e: 16 97 sbiw r26, 0x06 ; 6 + 2050: 4d 2d mov r20, r13 + 2052: 80 e0 ldi r24, 0x00 ; 0 + 2054: 09 95 icall + 2056: df 91 pop r29 + 2058: cf 91 pop r28 + 205a: 1f 91 pop r17 + 205c: 0f 91 pop r16 + 205e: ff 90 pop r15 + 2060: ef 90 pop r14 + 2062: df 90 pop r13 + 2064: bf 90 pop r11 + 2066: af 90 pop r10 + 2068: 9f 90 pop r9 + 206a: 8f 90 pop r8 + 206c: 08 95 ret -0000207c : - 207c: cf 93 push r28 - 207e: cf b7 in r28, 0x3f ; 63 - 2080: f8 94 cli - 2082: 81 e0 ldi r24, 0x01 ; 1 - 2084: 11 dd rcall .-1502 ; 0x1aa8 - 2086: ea ec ldi r30, 0xCA ; 202 - 2088: f4 e0 ldi r31, 0x04 ; 4 - 208a: 80 e4 ldi r24, 0x40 ; 64 +0000206e : + 206e: cf 93 push r28 + 2070: cf b7 in r28, 0x3f ; 63 + 2072: f8 94 cli + 2074: 81 e0 ldi r24, 0x01 ; 1 + 2076: 11 dd rcall .-1502 ; 0x1a9a + 2078: ea ec ldi r30, 0xCA ; 202 + 207a: f4 e0 ldi r31, 0x04 ; 4 + 207c: 80 e4 ldi r24, 0x40 ; 64 + 207e: 80 83 st Z, r24 + 2080: 80 e2 ldi r24, 0x20 ; 32 + 2082: 80 83 st Z, r24 + 2084: e1 ec ldi r30, 0xC1 ; 193 + 2086: f4 e0 ldi r31, 0x04 ; 4 + 2088: 80 81 ld r24, Z + 208a: 81 60 ori r24, 0x01 ; 1 208c: 80 83 st Z, r24 - 208e: 80 e2 ldi r24, 0x20 ; 32 - 2090: 80 83 st Z, r24 - 2092: e1 ec ldi r30, 0xC1 ; 193 - 2094: f4 e0 ldi r31, 0x04 ; 4 - 2096: 80 81 ld r24, Z - 2098: 81 60 ori r24, 0x01 ; 1 - 209a: 80 83 st Z, r24 - 209c: a9 ec ldi r26, 0xC9 ; 201 - 209e: b4 e0 ldi r27, 0x04 ; 4 - 20a0: 8c 91 ld r24, X - 20a2: 82 60 ori r24, 0x02 ; 2 - 20a4: 8c 93 st X, r24 - 20a6: e8 ec ldi r30, 0xC8 ; 200 - 20a8: f4 e0 ldi r31, 0x04 ; 4 - 20aa: 80 81 ld r24, Z - 20ac: 80 64 ori r24, 0x40 ; 64 - 20ae: 80 83 st Z, r24 - 20b0: 8c 91 ld r24, X - 20b2: 81 60 ori r24, 0x01 ; 1 - 20b4: 8c 93 st X, r24 - 20b6: 80 81 ld r24, Z - 20b8: 80 68 ori r24, 0x80 ; 128 - 20ba: 80 83 st Z, r24 - 20bc: cf bf out 0x3f, r28 ; 63 - 20be: cf 91 pop r28 - 20c0: 08 95 ret + 208e: a9 ec ldi r26, 0xC9 ; 201 + 2090: b4 e0 ldi r27, 0x04 ; 4 + 2092: 8c 91 ld r24, X + 2094: 82 60 ori r24, 0x02 ; 2 + 2096: 8c 93 st X, r24 + 2098: e8 ec ldi r30, 0xC8 ; 200 + 209a: f4 e0 ldi r31, 0x04 ; 4 + 209c: 80 81 ld r24, Z + 209e: 80 64 ori r24, 0x40 ; 64 + 20a0: 80 83 st Z, r24 + 20a2: 8c 91 ld r24, X + 20a4: 81 60 ori r24, 0x01 ; 1 + 20a6: 8c 93 st X, r24 + 20a8: 80 81 ld r24, Z + 20aa: 80 68 ori r24, 0x80 ; 128 + 20ac: 80 83 st Z, r24 + 20ae: cf bf out 0x3f, r28 ; 63 + 20b0: cf 91 pop r28 + 20b2: 08 95 ret -000020c2 : - 20c2: cf 93 push r28 - 20c4: df 93 push r29 - 20c6: c0 e6 ldi r28, 0x60 ; 96 - 20c8: d0 e0 ldi r29, 0x00 ; 0 - 20ca: 18 82 st Y, r1 - 20cc: 80 e3 ldi r24, 0x30 ; 48 - 20ce: 0e 94 ff 07 call 0xffe ; 0xffe - 20d2: e0 ec ldi r30, 0xC0 ; 192 - 20d4: f4 e0 ldi r31, 0x04 ; 4 - 20d6: 80 81 ld r24, Z - 20d8: 80 64 ori r24, 0x40 ; 64 - 20da: 80 83 st Z, r24 - 20dc: 81 e0 ldi r24, 0x01 ; 1 - 20de: 88 83 st Y, r24 - 20e0: cf b7 in r28, 0x3f ; 63 - 20e2: f8 94 cli - 20e4: 80 e0 ldi r24, 0x00 ; 0 - 20e6: 90 e0 ldi r25, 0x00 ; 0 - 20e8: fc 01 movw r30, r24 - 20ea: ee 0f add r30, r30 - 20ec: ff 1f adc r31, r31 - 20ee: ee 0f add r30, r30 - 20f0: ff 1f adc r31, r31 - 20f2: ee 0f add r30, r30 - 20f4: ff 1f adc r31, r31 - 20f6: e0 50 subi r30, 0x00 ; 0 - 20f8: fe 4d sbci r31, 0xDE ; 222 - 20fa: 11 8a std Z+17, r1 ; 0x11 - 20fc: 01 96 adiw r24, 0x01 ; 1 - 20fe: 88 30 cpi r24, 0x08 ; 8 - 2100: 91 05 cpc r25, r1 - 2102: 91 f7 brne .-28 ; 0x20e8 - 2104: e5 e8 ldi r30, 0x85 ; 133 - 2106: f1 e2 ldi r31, 0x21 ; 33 - 2108: 80 81 ld r24, Z - 210a: 8e 7f andi r24, 0xFE ; 254 - 210c: 80 83 st Z, r24 - 210e: ee e8 ldi r30, 0x8E ; 142 - 2110: f1 e2 ldi r31, 0x21 ; 33 - 2112: 80 81 ld r24, Z - 2114: 8e 7f andi r24, 0xFE ; 254 - 2116: 80 83 st Z, r24 - 2118: e7 e9 ldi r30, 0x97 ; 151 - 211a: f1 e2 ldi r31, 0x21 ; 33 - 211c: 80 81 ld r24, Z - 211e: 8e 7f andi r24, 0xFE ; 254 - 2120: 80 83 st Z, r24 - 2122: e0 ea ldi r30, 0xA0 ; 160 - 2124: f1 e2 ldi r31, 0x21 ; 33 - 2126: 80 81 ld r24, Z - 2128: 8e 7f andi r24, 0xFE ; 254 - 212a: 80 83 st Z, r24 - 212c: e9 ea ldi r30, 0xA9 ; 169 - 212e: f1 e2 ldi r31, 0x21 ; 33 - 2130: 80 81 ld r24, Z - 2132: 8e 7f andi r24, 0xFE ; 254 - 2134: 80 83 st Z, r24 - 2136: e2 eb ldi r30, 0xB2 ; 178 - 2138: f1 e2 ldi r31, 0x21 ; 33 - 213a: 80 81 ld r24, Z - 213c: 8e 7f andi r24, 0xFE ; 254 - 213e: 80 83 st Z, r24 - 2140: 6a e1 ldi r22, 0x1A ; 26 - 2142: 70 e0 ldi r23, 0x00 ; 0 - 2144: 82 e0 ldi r24, 0x02 ; 2 - 2146: a6 dc rcall .-1716 ; 0x1a94 - 2148: 8f 3f cpi r24, 0xFF ; 255 - 214a: 19 f0 breq .+6 ; 0x2152 - 214c: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 2150: 03 c0 rjmp .+6 ; 0x2158 - 2152: 8f e1 ldi r24, 0x1F ; 31 - 2154: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 2158: 6b e1 ldi r22, 0x1B ; 27 - 215a: 70 e0 ldi r23, 0x00 ; 0 - 215c: 82 e0 ldi r24, 0x02 ; 2 - 215e: 9a dc rcall .-1740 ; 0x1a94 - 2160: 8f 3f cpi r24, 0xFF ; 255 - 2162: 19 f0 breq .+6 ; 0x216a - 2164: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 2168: 03 c0 rjmp .+6 ; 0x2170 - 216a: 8f e1 ldi r24, 0x1F ; 31 - 216c: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 2170: e0 ec ldi r30, 0xC0 ; 192 - 2172: f4 e0 ldi r31, 0x04 ; 4 - 2174: 80 81 ld r24, Z - 2176: 83 60 ori r24, 0x03 ; 3 - 2178: 80 83 st Z, r24 - 217a: 80 81 ld r24, Z - 217c: 80 68 ori r24, 0x80 ; 128 - 217e: 80 83 st Z, r24 +000020b4 : + 20b4: cf 93 push r28 + 20b6: df 93 push r29 + 20b8: c0 e6 ldi r28, 0x60 ; 96 + 20ba: d0 e0 ldi r29, 0x00 ; 0 + 20bc: 18 82 st Y, r1 + 20be: 80 e3 ldi r24, 0x30 ; 48 + 20c0: 0e 94 f8 07 call 0xff0 ; 0xff0 + 20c4: e0 ec ldi r30, 0xC0 ; 192 + 20c6: f4 e0 ldi r31, 0x04 ; 4 + 20c8: 80 81 ld r24, Z + 20ca: 80 64 ori r24, 0x40 ; 64 + 20cc: 80 83 st Z, r24 + 20ce: 81 e0 ldi r24, 0x01 ; 1 + 20d0: 88 83 st Y, r24 + 20d2: cf b7 in r28, 0x3f ; 63 + 20d4: f8 94 cli + 20d6: 80 e0 ldi r24, 0x00 ; 0 + 20d8: 90 e0 ldi r25, 0x00 ; 0 + 20da: fc 01 movw r30, r24 + 20dc: ee 0f add r30, r30 + 20de: ff 1f adc r31, r31 + 20e0: ee 0f add r30, r30 + 20e2: ff 1f adc r31, r31 + 20e4: ee 0f add r30, r30 + 20e6: ff 1f adc r31, r31 + 20e8: e0 50 subi r30, 0x00 ; 0 + 20ea: fe 4d sbci r31, 0xDE ; 222 + 20ec: 11 8a std Z+17, r1 ; 0x11 + 20ee: 01 96 adiw r24, 0x01 ; 1 + 20f0: 88 30 cpi r24, 0x08 ; 8 + 20f2: 91 05 cpc r25, r1 + 20f4: 91 f7 brne .-28 ; 0x20da + 20f6: e5 e8 ldi r30, 0x85 ; 133 + 20f8: f1 e2 ldi r31, 0x21 ; 33 + 20fa: 80 81 ld r24, Z + 20fc: 8e 7f andi r24, 0xFE ; 254 + 20fe: 80 83 st Z, r24 + 2100: ee e8 ldi r30, 0x8E ; 142 + 2102: f1 e2 ldi r31, 0x21 ; 33 + 2104: 80 81 ld r24, Z + 2106: 8e 7f andi r24, 0xFE ; 254 + 2108: 80 83 st Z, r24 + 210a: e7 e9 ldi r30, 0x97 ; 151 + 210c: f1 e2 ldi r31, 0x21 ; 33 + 210e: 80 81 ld r24, Z + 2110: 8e 7f andi r24, 0xFE ; 254 + 2112: 80 83 st Z, r24 + 2114: e0 ea ldi r30, 0xA0 ; 160 + 2116: f1 e2 ldi r31, 0x21 ; 33 + 2118: 80 81 ld r24, Z + 211a: 8e 7f andi r24, 0xFE ; 254 + 211c: 80 83 st Z, r24 + 211e: e9 ea ldi r30, 0xA9 ; 169 + 2120: f1 e2 ldi r31, 0x21 ; 33 + 2122: 80 81 ld r24, Z + 2124: 8e 7f andi r24, 0xFE ; 254 + 2126: 80 83 st Z, r24 + 2128: e2 eb ldi r30, 0xB2 ; 178 + 212a: f1 e2 ldi r31, 0x21 ; 33 + 212c: 80 81 ld r24, Z + 212e: 8e 7f andi r24, 0xFE ; 254 + 2130: 80 83 st Z, r24 + 2132: 6a e1 ldi r22, 0x1A ; 26 + 2134: 70 e0 ldi r23, 0x00 ; 0 + 2136: 82 e0 ldi r24, 0x02 ; 2 + 2138: a6 dc rcall .-1716 ; 0x1a86 + 213a: 8f 3f cpi r24, 0xFF ; 255 + 213c: 19 f0 breq .+6 ; 0x2144 + 213e: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 2142: 03 c0 rjmp .+6 ; 0x214a + 2144: 8f e1 ldi r24, 0x1F ; 31 + 2146: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 214a: 6b e1 ldi r22, 0x1B ; 27 + 214c: 70 e0 ldi r23, 0x00 ; 0 + 214e: 82 e0 ldi r24, 0x02 ; 2 + 2150: 9a dc rcall .-1740 ; 0x1a86 + 2152: 8f 3f cpi r24, 0xFF ; 255 + 2154: 19 f0 breq .+6 ; 0x215c + 2156: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 215a: 03 c0 rjmp .+6 ; 0x2162 + 215c: 8f e1 ldi r24, 0x1F ; 31 + 215e: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 2162: e0 ec ldi r30, 0xC0 ; 192 + 2164: f4 e0 ldi r31, 0x04 ; 4 + 2166: 80 81 ld r24, Z + 2168: 83 60 ori r24, 0x03 ; 3 + 216a: 80 83 st Z, r24 + 216c: 80 81 ld r24, Z + 216e: 80 68 ori r24, 0x80 ; 128 + 2170: 80 83 st Z, r24 + 2172: 80 81 ld r24, Z + 2174: 80 61 ori r24, 0x10 ; 16 + 2176: 80 83 st Z, r24 + 2178: 80 e1 ldi r24, 0x10 ; 16 + 217a: 92 e2 ldi r25, 0x22 ; 34 + 217c: 86 83 std Z+6, r24 ; 0x06 + 217e: 97 83 std Z+7, r25 ; 0x07 2180: 80 81 ld r24, Z - 2182: 80 61 ori r24, 0x10 ; 16 + 2182: 80 62 ori r24, 0x20 ; 32 2184: 80 83 st Z, r24 - 2186: 80 e1 ldi r24, 0x10 ; 16 - 2188: 92 e2 ldi r25, 0x22 ; 34 - 218a: 86 83 std Z+6, r24 ; 0x06 - 218c: 97 83 std Z+7, r25 ; 0x07 - 218e: 80 81 ld r24, Z - 2190: 80 62 ori r24, 0x20 ; 32 - 2192: 80 83 st Z, r24 - 2194: 8f ef ldi r24, 0xFF ; 255 - 2196: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 219a: e8 ec ldi r30, 0xC8 ; 200 - 219c: f4 e0 ldi r31, 0x04 ; 4 - 219e: 80 81 ld r24, Z - 21a0: 82 60 ori r24, 0x02 ; 2 - 21a2: 80 83 st Z, r24 - 21a4: 10 92 54 22 sts 0x2254, r1 ; 0x802254 - 21a8: 80 91 47 2c lds r24, 0x2C47 ; 0x802c47 - 21ac: 8f 3f cpi r24, 0xFF ; 255 - 21ae: 09 f4 brne .+2 ; 0x21b2 - 21b0: ff cf rjmp .-2 ; 0x21b0 - 21b2: 9f b7 in r25, 0x3f ; 63 - 21b4: f8 94 cli - 21b6: e2 e4 ldi r30, 0x42 ; 66 - 21b8: fc e2 ldi r31, 0x2C ; 44 - 21ba: 85 81 ldd r24, Z+5 ; 0x05 - 21bc: 8f 5f subi r24, 0xFF ; 255 - 21be: 85 83 std Z+5, r24 ; 0x05 - 21c0: 9f bf out 0x3f, r25 ; 63 - 21c2: 5c df rcall .-328 ; 0x207c - 21c4: cf bf out 0x3f, r28 ; 63 - 21c6: df 91 pop r29 - 21c8: cf 91 pop r28 - 21ca: 08 95 ret + 2186: 8f ef ldi r24, 0xFF ; 255 + 2188: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 218c: e8 ec ldi r30, 0xC8 ; 200 + 218e: f4 e0 ldi r31, 0x04 ; 4 + 2190: 80 81 ld r24, Z + 2192: 82 60 ori r24, 0x02 ; 2 + 2194: 80 83 st Z, r24 + 2196: 10 92 54 22 sts 0x2254, r1 ; 0x802254 + 219a: 80 91 47 2c lds r24, 0x2C47 ; 0x802c47 + 219e: 8f 3f cpi r24, 0xFF ; 255 + 21a0: 09 f4 brne .+2 ; 0x21a4 + 21a2: ff cf rjmp .-2 ; 0x21a2 + 21a4: 9f b7 in r25, 0x3f ; 63 + 21a6: f8 94 cli + 21a8: e2 e4 ldi r30, 0x42 ; 66 + 21aa: fc e2 ldi r31, 0x2C ; 44 + 21ac: 85 81 ldd r24, Z+5 ; 0x05 + 21ae: 8f 5f subi r24, 0xFF ; 255 + 21b0: 85 83 std Z+5, r24 ; 0x05 + 21b2: 9f bf out 0x3f, r25 ; 63 + 21b4: 5c df rcall .-328 ; 0x206e + 21b6: cf bf out 0x3f, r28 ; 63 + 21b8: df 91 pop r29 + 21ba: cf 91 pop r28 + 21bc: 08 95 ret -000021cc : - 21cc: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 21d0: 08 95 ret +000021be : + 21be: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 21c2: 08 95 ret -000021d2 : - 21d2: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> +000021c4 : + 21c4: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 21c8: 08 95 ret + +000021ca : + 21ca: e6 e5 ldi r30, 0x56 ; 86 + 21cc: f4 e2 ldi r31, 0x24 ; 36 + 21ce: 80 87 std Z+8, r24 ; 0x08 + 21d0: 91 87 std Z+9, r25 ; 0x09 + 21d2: 62 87 std Z+10, r22 ; 0x0a + 21d4: 73 87 std Z+11, r23 ; 0x0b 21d6: 08 95 ret -000021d8 : - 21d8: e6 e5 ldi r30, 0x56 ; 86 - 21da: f4 e2 ldi r31, 0x24 ; 36 - 21dc: 80 87 std Z+8, r24 ; 0x08 - 21de: 91 87 std Z+9, r25 ; 0x09 - 21e0: 62 87 std Z+10, r22 ; 0x0a - 21e2: 73 87 std Z+11, r23 ; 0x0b - 21e4: 08 95 ret - -000021e6 : - 21e6: 28 2f mov r18, r24 - 21e8: 2f 70 andi r18, 0x0F ; 15 - 21ea: 30 e0 ldi r19, 0x00 ; 0 - 21ec: 22 0f add r18, r18 - 21ee: 33 1f adc r19, r19 - 21f0: 08 2e mov r0, r24 - 21f2: 00 0c add r0, r0 - 21f4: 99 0b sbc r25, r25 - 21f6: 88 27 eor r24, r24 - 21f8: 99 0f add r25, r25 - 21fa: 88 1f adc r24, r24 - 21fc: 99 27 eor r25, r25 - 21fe: 82 0f add r24, r18 - 2200: 93 1f adc r25, r19 - 2202: fc 01 movw r30, r24 - 2204: ee 0f add r30, r30 - 2206: ff 1f adc r31, r31 - 2208: ee 0f add r30, r30 - 220a: ff 1f adc r31, r31 - 220c: ee 0f add r30, r30 - 220e: ff 1f adc r31, r31 - 2210: e0 50 subi r30, 0x00 ; 0 - 2212: fe 4d sbci r31, 0xDE ; 222 - 2214: 21 89 ldd r18, Z+17 ; 0x11 - 2216: 20 7c andi r18, 0xC0 ; 192 - 2218: 09 f0 breq .+2 ; 0x221c - 221a: 58 c0 rjmp .+176 ; 0x22cc - 221c: 63 70 andi r22, 0x03 ; 3 - 221e: 61 30 cpi r22, 0x01 ; 1 - 2220: 11 f0 breq .+4 ; 0x2226 - 2222: 18 f4 brcc .+6 ; 0x222a - 2224: 04 c0 rjmp .+8 ; 0x222e - 2226: 20 ec ldi r18, 0xC0 ; 192 - 2228: 03 c0 rjmp .+6 ; 0x2230 - 222a: 20 e8 ldi r18, 0x80 ; 128 - 222c: 01 c0 rjmp .+2 ; 0x2230 - 222e: 20 e4 ldi r18, 0x40 ; 64 - 2230: 40 38 cpi r20, 0x80 ; 128 +000021d8 : + 21d8: 28 2f mov r18, r24 + 21da: 2f 70 andi r18, 0x0F ; 15 + 21dc: 30 e0 ldi r19, 0x00 ; 0 + 21de: 22 0f add r18, r18 + 21e0: 33 1f adc r19, r19 + 21e2: 08 2e mov r0, r24 + 21e4: 00 0c add r0, r0 + 21e6: 99 0b sbc r25, r25 + 21e8: 88 27 eor r24, r24 + 21ea: 99 0f add r25, r25 + 21ec: 88 1f adc r24, r24 + 21ee: 99 27 eor r25, r25 + 21f0: 82 0f add r24, r18 + 21f2: 93 1f adc r25, r19 + 21f4: fc 01 movw r30, r24 + 21f6: ee 0f add r30, r30 + 21f8: ff 1f adc r31, r31 + 21fa: ee 0f add r30, r30 + 21fc: ff 1f adc r31, r31 + 21fe: ee 0f add r30, r30 + 2200: ff 1f adc r31, r31 + 2202: e0 50 subi r30, 0x00 ; 0 + 2204: fe 4d sbci r31, 0xDE ; 222 + 2206: 21 89 ldd r18, Z+17 ; 0x11 + 2208: 20 7c andi r18, 0xC0 ; 192 + 220a: 09 f0 breq .+2 ; 0x220e + 220c: 58 c0 rjmp .+176 ; 0x22be + 220e: 63 70 andi r22, 0x03 ; 3 + 2210: 61 30 cpi r22, 0x01 ; 1 + 2212: 11 f0 breq .+4 ; 0x2218 + 2214: 18 f4 brcc .+6 ; 0x221c + 2216: 04 c0 rjmp .+8 ; 0x2220 + 2218: 20 ec ldi r18, 0xC0 ; 192 + 221a: 03 c0 rjmp .+6 ; 0x2222 + 221c: 20 e8 ldi r18, 0x80 ; 128 + 221e: 01 c0 rjmp .+2 ; 0x2222 + 2220: 20 e4 ldi r18, 0x40 ; 64 + 2222: 40 38 cpi r20, 0x80 ; 128 + 2224: 51 05 cpc r21, r1 + 2226: e9 f0 breq .+58 ; 0x2262 + 2228: 50 f4 brcc .+20 ; 0x223e + 222a: 40 32 cpi r20, 0x20 ; 32 + 222c: 51 05 cpc r21, r1 + 222e: a9 f0 breq .+42 ; 0x225a + 2230: 40 34 cpi r20, 0x40 ; 64 2232: 51 05 cpc r21, r1 - 2234: e9 f0 breq .+58 ; 0x2270 - 2236: 50 f4 brcc .+20 ; 0x224c - 2238: 40 32 cpi r20, 0x20 ; 32 - 223a: 51 05 cpc r21, r1 - 223c: a9 f0 breq .+42 ; 0x2268 - 223e: 40 34 cpi r20, 0x40 ; 64 - 2240: 51 05 cpc r21, r1 - 2242: a1 f0 breq .+40 ; 0x226c - 2244: 40 31 cpi r20, 0x10 ; 16 - 2246: 51 05 cpc r21, r1 - 2248: d9 f4 brne .+54 ; 0x2280 - 224a: 0c c0 rjmp .+24 ; 0x2264 - 224c: 41 15 cp r20, r1 - 224e: 32 e0 ldi r19, 0x02 ; 2 - 2250: 53 07 cpc r21, r19 - 2252: 91 f0 breq .+36 ; 0x2278 - 2254: 4f 3f cpi r20, 0xFF ; 255 - 2256: 33 e0 ldi r19, 0x03 ; 3 - 2258: 53 07 cpc r21, r19 - 225a: 81 f0 breq .+32 ; 0x227c - 225c: 41 15 cp r20, r1 - 225e: 51 40 sbci r21, 0x01 ; 1 - 2260: 79 f4 brne .+30 ; 0x2280 - 2262: 08 c0 rjmp .+16 ; 0x2274 - 2264: 41 e0 ldi r20, 0x01 ; 1 - 2266: 0d c0 rjmp .+26 ; 0x2282 - 2268: 42 e0 ldi r20, 0x02 ; 2 - 226a: 0b c0 rjmp .+22 ; 0x2282 - 226c: 43 e0 ldi r20, 0x03 ; 3 - 226e: 09 c0 rjmp .+18 ; 0x2282 - 2270: 44 e0 ldi r20, 0x04 ; 4 - 2272: 07 c0 rjmp .+14 ; 0x2282 - 2274: 45 e0 ldi r20, 0x05 ; 5 - 2276: 05 c0 rjmp .+10 ; 0x2282 - 2278: 46 e0 ldi r20, 0x06 ; 6 - 227a: 03 c0 rjmp .+6 ; 0x2282 - 227c: 47 e0 ldi r20, 0x07 ; 7 - 227e: 01 c0 rjmp .+2 ; 0x2282 - 2280: 40 e0 ldi r20, 0x00 ; 0 - 2282: fc 01 movw r30, r24 - 2284: ee 0f add r30, r30 - 2286: ff 1f adc r31, r31 - 2288: ee 0f add r30, r30 - 228a: ff 1f adc r31, r31 - 228c: ee 0f add r30, r30 - 228e: ff 1f adc r31, r31 - 2290: e0 50 subi r30, 0x00 ; 0 - 2292: fe 4d sbci r31, 0xDE ; 222 - 2294: 11 8a std Z+17, r1 ; 0x11 - 2296: dc 01 movw r26, r24 - 2298: aa 0f add r26, r26 - 229a: bb 1f adc r27, r27 - 229c: aa 0f add r26, r26 - 229e: bb 1f adc r27, r27 - 22a0: aa 0f add r26, r26 - 22a2: bb 1f adc r27, r27 - 22a4: a0 5f subi r26, 0xF0 ; 240 - 22a6: bd 4d sbci r27, 0xDD ; 221 - 22a8: 36 e0 ldi r19, 0x06 ; 6 - 22aa: 3c 93 st X, r19 - 22ac: 24 2b or r18, r20 - 22ae: 21 8b std Z+17, r18 ; 0x11 - 22b0: 88 0f add r24, r24 - 22b2: 99 1f adc r25, r25 - 22b4: 88 0f add r24, r24 - 22b6: 99 1f adc r25, r25 - 22b8: 88 0f add r24, r24 - 22ba: 99 1f adc r25, r25 - 22bc: fc 01 movw r30, r24 - 22be: e0 50 subi r30, 0x00 ; 0 - 22c0: fe 4d sbci r31, 0xDE ; 222 - 22c2: 81 89 ldd r24, Z+17 ; 0x11 - 22c4: 80 62 ori r24, 0x20 ; 32 - 22c6: 81 8b std Z+17, r24 ; 0x11 - 22c8: 81 e0 ldi r24, 0x01 ; 1 - 22ca: 08 95 ret - 22cc: 80 e0 ldi r24, 0x00 ; 0 - 22ce: 08 95 ret + 2234: a1 f0 breq .+40 ; 0x225e + 2236: 40 31 cpi r20, 0x10 ; 16 + 2238: 51 05 cpc r21, r1 + 223a: d9 f4 brne .+54 ; 0x2272 + 223c: 0c c0 rjmp .+24 ; 0x2256 + 223e: 41 15 cp r20, r1 + 2240: 32 e0 ldi r19, 0x02 ; 2 + 2242: 53 07 cpc r21, r19 + 2244: 91 f0 breq .+36 ; 0x226a + 2246: 4f 3f cpi r20, 0xFF ; 255 + 2248: 33 e0 ldi r19, 0x03 ; 3 + 224a: 53 07 cpc r21, r19 + 224c: 81 f0 breq .+32 ; 0x226e + 224e: 41 15 cp r20, r1 + 2250: 51 40 sbci r21, 0x01 ; 1 + 2252: 79 f4 brne .+30 ; 0x2272 + 2254: 08 c0 rjmp .+16 ; 0x2266 + 2256: 41 e0 ldi r20, 0x01 ; 1 + 2258: 0d c0 rjmp .+26 ; 0x2274 + 225a: 42 e0 ldi r20, 0x02 ; 2 + 225c: 0b c0 rjmp .+22 ; 0x2274 + 225e: 43 e0 ldi r20, 0x03 ; 3 + 2260: 09 c0 rjmp .+18 ; 0x2274 + 2262: 44 e0 ldi r20, 0x04 ; 4 + 2264: 07 c0 rjmp .+14 ; 0x2274 + 2266: 45 e0 ldi r20, 0x05 ; 5 + 2268: 05 c0 rjmp .+10 ; 0x2274 + 226a: 46 e0 ldi r20, 0x06 ; 6 + 226c: 03 c0 rjmp .+6 ; 0x2274 + 226e: 47 e0 ldi r20, 0x07 ; 7 + 2270: 01 c0 rjmp .+2 ; 0x2274 + 2272: 40 e0 ldi r20, 0x00 ; 0 + 2274: fc 01 movw r30, r24 + 2276: ee 0f add r30, r30 + 2278: ff 1f adc r31, r31 + 227a: ee 0f add r30, r30 + 227c: ff 1f adc r31, r31 + 227e: ee 0f add r30, r30 + 2280: ff 1f adc r31, r31 + 2282: e0 50 subi r30, 0x00 ; 0 + 2284: fe 4d sbci r31, 0xDE ; 222 + 2286: 11 8a std Z+17, r1 ; 0x11 + 2288: dc 01 movw r26, r24 + 228a: aa 0f add r26, r26 + 228c: bb 1f adc r27, r27 + 228e: aa 0f add r26, r26 + 2290: bb 1f adc r27, r27 + 2292: aa 0f add r26, r26 + 2294: bb 1f adc r27, r27 + 2296: a0 5f subi r26, 0xF0 ; 240 + 2298: bd 4d sbci r27, 0xDD ; 221 + 229a: 36 e0 ldi r19, 0x06 ; 6 + 229c: 3c 93 st X, r19 + 229e: 24 2b or r18, r20 + 22a0: 21 8b std Z+17, r18 ; 0x11 + 22a2: 88 0f add r24, r24 + 22a4: 99 1f adc r25, r25 + 22a6: 88 0f add r24, r24 + 22a8: 99 1f adc r25, r25 + 22aa: 88 0f add r24, r24 + 22ac: 99 1f adc r25, r25 + 22ae: fc 01 movw r30, r24 + 22b0: e0 50 subi r30, 0x00 ; 0 + 22b2: fe 4d sbci r31, 0xDE ; 222 + 22b4: 81 89 ldd r24, Z+17 ; 0x11 + 22b6: 80 62 ori r24, 0x20 ; 32 + 22b8: 81 8b std Z+17, r24 ; 0x11 + 22ba: 81 e0 ldi r24, 0x01 ; 1 + 22bc: 08 95 ret + 22be: 80 e0 ldi r24, 0x00 ; 0 + 22c0: 08 95 ret -000022d0 : - 22d0: e8 2f mov r30, r24 - 22d2: ef 70 andi r30, 0x0F ; 15 - 22d4: f0 e0 ldi r31, 0x00 ; 0 - 22d6: ee 0f add r30, r30 - 22d8: ff 1f adc r31, r31 - 22da: 08 2e mov r0, r24 - 22dc: 00 0c add r0, r0 - 22de: 99 0b sbc r25, r25 - 22e0: 88 27 eor r24, r24 - 22e2: 99 0f add r25, r25 - 22e4: 88 1f adc r24, r24 - 22e6: 99 27 eor r25, r25 - 22e8: e8 0f add r30, r24 - 22ea: f9 1f adc r31, r25 - 22ec: ee 0f add r30, r30 - 22ee: ff 1f adc r31, r31 - 22f0: ee 0f add r30, r30 - 22f2: ff 1f adc r31, r31 - 22f4: ee 0f add r30, r30 - 22f6: ff 1f adc r31, r31 - 22f8: e0 50 subi r30, 0x00 ; 0 - 22fa: fe 4d sbci r31, 0xDE ; 222 - 22fc: 81 89 ldd r24, Z+17 ; 0x11 - 22fe: 82 fb bst r24, 2 - 2300: 88 27 eor r24, r24 - 2302: 80 f9 bld r24, 0 - 2304: 08 95 ret +000022c2 : + 22c2: e8 2f mov r30, r24 + 22c4: ef 70 andi r30, 0x0F ; 15 + 22c6: f0 e0 ldi r31, 0x00 ; 0 + 22c8: ee 0f add r30, r30 + 22ca: ff 1f adc r31, r31 + 22cc: 08 2e mov r0, r24 + 22ce: 00 0c add r0, r0 + 22d0: 99 0b sbc r25, r25 + 22d2: 88 27 eor r24, r24 + 22d4: 99 0f add r25, r25 + 22d6: 88 1f adc r24, r24 + 22d8: 99 27 eor r25, r25 + 22da: e8 0f add r30, r24 + 22dc: f9 1f adc r31, r25 + 22de: ee 0f add r30, r30 + 22e0: ff 1f adc r31, r31 + 22e2: ee 0f add r30, r30 + 22e4: ff 1f adc r31, r31 + 22e6: ee 0f add r30, r30 + 22e8: ff 1f adc r31, r31 + 22ea: e0 50 subi r30, 0x00 ; 0 + 22ec: fe 4d sbci r31, 0xDE ; 222 + 22ee: 81 89 ldd r24, Z+17 ; 0x11 + 22f0: 82 fb bst r24, 2 + 22f2: 88 27 eor r24, r24 + 22f4: 80 f9 bld r24, 0 + 22f6: 08 95 ret -00002306 : - 2306: 28 2f mov r18, r24 - 2308: 2f 70 andi r18, 0x0F ; 15 - 230a: 30 e0 ldi r19, 0x00 ; 0 - 230c: a9 01 movw r20, r18 - 230e: 44 0f add r20, r20 - 2310: 55 1f adc r21, r21 - 2312: 28 2f mov r18, r24 - 2314: 08 2e mov r0, r24 - 2316: 00 0c add r0, r0 - 2318: 33 0b sbc r19, r19 - 231a: 22 27 eor r18, r18 - 231c: 33 0f add r19, r19 - 231e: 22 1f adc r18, r18 - 2320: 33 27 eor r19, r19 - 2322: 24 0f add r18, r20 - 2324: 35 1f adc r19, r21 - 2326: f9 01 movw r30, r18 - 2328: ee 0f add r30, r30 - 232a: ff 1f adc r31, r31 - 232c: ee 0f add r30, r30 - 232e: ff 1f adc r31, r31 - 2330: ee 0f add r30, r30 - 2332: ff 1f adc r31, r31 - 2334: e0 50 subi r30, 0x00 ; 0 - 2336: fe 4d sbci r31, 0xDE ; 222 - 2338: 91 89 ldd r25, Z+17 ; 0x11 - 233a: 92 ff sbrs r25, 2 - 233c: 17 c0 rjmp .+46 ; 0x236c - 233e: 22 0f add r18, r18 - 2340: 33 1f adc r19, r19 - 2342: 22 0f add r18, r18 - 2344: 33 1f adc r19, r19 - 2346: 22 0f add r18, r18 - 2348: 33 1f adc r19, r19 - 234a: f9 01 movw r30, r18 - 234c: e0 50 subi r30, 0x00 ; 0 - 234e: fe 4d sbci r31, 0xDE ; 222 - 2350: 91 89 ldd r25, Z+17 ; 0x11 - 2352: 9b 7f andi r25, 0xFB ; 251 - 2354: 91 8b std Z+17, r25 ; 0x11 - 2356: ae dc rcall .-1700 ; 0x1cb4 - 2358: fc 01 movw r30, r24 - 235a: 80 81 ld r24, Z - 235c: 80 ff sbrs r24, 0 - 235e: 06 c0 rjmp .+12 ; 0x236c - 2360: 8e 7f andi r24, 0xFE ; 254 - 2362: 80 83 st Z, r24 - 2364: 07 80 ldd r0, Z+7 ; 0x07 - 2366: f0 85 ldd r31, Z+8 ; 0x08 - 2368: e0 2d mov r30, r0 - 236a: 09 95 icall - 236c: 81 e0 ldi r24, 0x01 ; 1 - 236e: 08 95 ret +000022f8 : + 22f8: 28 2f mov r18, r24 + 22fa: 2f 70 andi r18, 0x0F ; 15 + 22fc: 30 e0 ldi r19, 0x00 ; 0 + 22fe: a9 01 movw r20, r18 + 2300: 44 0f add r20, r20 + 2302: 55 1f adc r21, r21 + 2304: 28 2f mov r18, r24 + 2306: 08 2e mov r0, r24 + 2308: 00 0c add r0, r0 + 230a: 33 0b sbc r19, r19 + 230c: 22 27 eor r18, r18 + 230e: 33 0f add r19, r19 + 2310: 22 1f adc r18, r18 + 2312: 33 27 eor r19, r19 + 2314: 24 0f add r18, r20 + 2316: 35 1f adc r19, r21 + 2318: f9 01 movw r30, r18 + 231a: ee 0f add r30, r30 + 231c: ff 1f adc r31, r31 + 231e: ee 0f add r30, r30 + 2320: ff 1f adc r31, r31 + 2322: ee 0f add r30, r30 + 2324: ff 1f adc r31, r31 + 2326: e0 50 subi r30, 0x00 ; 0 + 2328: fe 4d sbci r31, 0xDE ; 222 + 232a: 91 89 ldd r25, Z+17 ; 0x11 + 232c: 92 ff sbrs r25, 2 + 232e: 17 c0 rjmp .+46 ; 0x235e + 2330: 22 0f add r18, r18 + 2332: 33 1f adc r19, r19 + 2334: 22 0f add r18, r18 + 2336: 33 1f adc r19, r19 + 2338: 22 0f add r18, r18 + 233a: 33 1f adc r19, r19 + 233c: f9 01 movw r30, r18 + 233e: e0 50 subi r30, 0x00 ; 0 + 2340: fe 4d sbci r31, 0xDE ; 222 + 2342: 91 89 ldd r25, Z+17 ; 0x11 + 2344: 9b 7f andi r25, 0xFB ; 251 + 2346: 91 8b std Z+17, r25 ; 0x11 + 2348: ae dc rcall .-1700 ; 0x1ca6 + 234a: fc 01 movw r30, r24 + 234c: 80 81 ld r24, Z + 234e: 80 ff sbrs r24, 0 + 2350: 06 c0 rjmp .+12 ; 0x235e + 2352: 8e 7f andi r24, 0xFE ; 254 + 2354: 80 83 st Z, r24 + 2356: 07 80 ldd r0, Z+7 ; 0x07 + 2358: f0 85 ldd r31, Z+8 ; 0x08 + 235a: e0 2d mov r30, r0 + 235c: 09 95 icall + 235e: 81 e0 ldi r24, 0x01 ; 1 + 2360: 08 95 ret -00002370 : - 2370: 7f 92 push r7 - 2372: 8f 92 push r8 - 2374: 9f 92 push r9 - 2376: af 92 push r10 - 2378: bf 92 push r11 - 237a: cf 92 push r12 - 237c: df 92 push r13 - 237e: ef 92 push r14 - 2380: ff 92 push r15 - 2382: 0f 93 push r16 - 2384: 1f 93 push r17 - 2386: cf 93 push r28 - 2388: df 93 push r29 - 238a: 98 2e mov r9, r24 - 238c: 86 2e mov r8, r22 - 238e: 6a 01 movw r12, r20 - 2390: 79 01 movw r14, r18 - 2392: 90 dc rcall .-1760 ; 0x1cb4 - 2394: 5c 01 movw r10, r24 - 2396: 79 2c mov r7, r9 - 2398: 77 1c adc r7, r7 - 239a: 77 24 eor r7, r7 - 239c: 77 1c adc r7, r7 - 239e: c9 2d mov r28, r9 - 23a0: cf 70 andi r28, 0x0F ; 15 - 23a2: d0 e0 ldi r29, 0x00 ; 0 - 23a4: cc 0f add r28, r28 - 23a6: dd 1f adc r29, r29 - 23a8: c7 0d add r28, r7 - 23aa: d1 1d adc r29, r1 - 23ac: fe 01 movw r30, r28 - 23ae: ee 0f add r30, r30 - 23b0: ff 1f adc r31, r31 - 23b2: ee 0f add r30, r30 - 23b4: ff 1f adc r31, r31 - 23b6: ee 0f add r30, r30 - 23b8: ff 1f adc r31, r31 - 23ba: e0 50 subi r30, 0x00 ; 0 - 23bc: fe 4d sbci r31, 0xDE ; 222 - 23be: 81 89 ldd r24, Z+17 ; 0x11 - 23c0: 80 7c andi r24, 0xC0 ; 192 - 23c2: 09 f4 brne .+2 ; 0x23c6 - 23c4: 7d c0 rjmp .+250 ; 0x24c0 - 23c6: fe 01 movw r30, r28 - 23c8: ee 0f add r30, r30 - 23ca: ff 1f adc r31, r31 - 23cc: ee 0f add r30, r30 - 23ce: ff 1f adc r31, r31 - 23d0: ee 0f add r30, r30 - 23d2: ff 1f adc r31, r31 - 23d4: e0 50 subi r30, 0x00 ; 0 - 23d6: fe 4d sbci r31, 0xDE ; 222 - 23d8: 81 89 ldd r24, Z+17 ; 0x11 - 23da: 80 7c andi r24, 0xC0 ; 192 - 23dc: 80 3c cpi r24, 0xC0 ; 192 - 23de: 61 f0 breq .+24 ; 0x23f8 - 23e0: fe 01 movw r30, r28 - 23e2: ee 0f add r30, r30 - 23e4: ff 1f adc r31, r31 - 23e6: ee 0f add r30, r30 - 23e8: ff 1f adc r31, r31 - 23ea: ee 0f add r30, r30 - 23ec: ff 1f adc r31, r31 - 23ee: e0 50 subi r30, 0x00 ; 0 - 23f0: fe 4d sbci r31, 0xDE ; 222 - 23f2: 81 89 ldd r24, Z+17 ; 0x11 - 23f4: 82 fd sbrc r24, 2 - 23f6: 66 c0 rjmp .+204 ; 0x24c4 - 23f8: 8f b7 in r24, 0x3f ; 63 - 23fa: f8 94 cli +00002362 : + 2362: 7f 92 push r7 + 2364: 8f 92 push r8 + 2366: 9f 92 push r9 + 2368: af 92 push r10 + 236a: bf 92 push r11 + 236c: cf 92 push r12 + 236e: df 92 push r13 + 2370: ef 92 push r14 + 2372: ff 92 push r15 + 2374: 0f 93 push r16 + 2376: 1f 93 push r17 + 2378: cf 93 push r28 + 237a: df 93 push r29 + 237c: 98 2e mov r9, r24 + 237e: 86 2e mov r8, r22 + 2380: 6a 01 movw r12, r20 + 2382: 79 01 movw r14, r18 + 2384: 90 dc rcall .-1760 ; 0x1ca6 + 2386: 5c 01 movw r10, r24 + 2388: 79 2c mov r7, r9 + 238a: 77 1c adc r7, r7 + 238c: 77 24 eor r7, r7 + 238e: 77 1c adc r7, r7 + 2390: c9 2d mov r28, r9 + 2392: cf 70 andi r28, 0x0F ; 15 + 2394: d0 e0 ldi r29, 0x00 ; 0 + 2396: cc 0f add r28, r28 + 2398: dd 1f adc r29, r29 + 239a: c7 0d add r28, r7 + 239c: d1 1d adc r29, r1 + 239e: fe 01 movw r30, r28 + 23a0: ee 0f add r30, r30 + 23a2: ff 1f adc r31, r31 + 23a4: ee 0f add r30, r30 + 23a6: ff 1f adc r31, r31 + 23a8: ee 0f add r30, r30 + 23aa: ff 1f adc r31, r31 + 23ac: e0 50 subi r30, 0x00 ; 0 + 23ae: fe 4d sbci r31, 0xDE ; 222 + 23b0: 81 89 ldd r24, Z+17 ; 0x11 + 23b2: 80 7c andi r24, 0xC0 ; 192 + 23b4: 09 f4 brne .+2 ; 0x23b8 + 23b6: 7d c0 rjmp .+250 ; 0x24b2 + 23b8: fe 01 movw r30, r28 + 23ba: ee 0f add r30, r30 + 23bc: ff 1f adc r31, r31 + 23be: ee 0f add r30, r30 + 23c0: ff 1f adc r31, r31 + 23c2: ee 0f add r30, r30 + 23c4: ff 1f adc r31, r31 + 23c6: e0 50 subi r30, 0x00 ; 0 + 23c8: fe 4d sbci r31, 0xDE ; 222 + 23ca: 81 89 ldd r24, Z+17 ; 0x11 + 23cc: 80 7c andi r24, 0xC0 ; 192 + 23ce: 80 3c cpi r24, 0xC0 ; 192 + 23d0: 61 f0 breq .+24 ; 0x23ea + 23d2: fe 01 movw r30, r28 + 23d4: ee 0f add r30, r30 + 23d6: ff 1f adc r31, r31 + 23d8: ee 0f add r30, r30 + 23da: ff 1f adc r31, r31 + 23dc: ee 0f add r30, r30 + 23de: ff 1f adc r31, r31 + 23e0: e0 50 subi r30, 0x00 ; 0 + 23e2: fe 4d sbci r31, 0xDE ; 222 + 23e4: 81 89 ldd r24, Z+17 ; 0x11 + 23e6: 82 fd sbrc r24, 2 + 23e8: 66 c0 rjmp .+204 ; 0x24b6 + 23ea: 8f b7 in r24, 0x3f ; 63 + 23ec: f8 94 cli + 23ee: f5 01 movw r30, r10 + 23f0: 90 81 ld r25, Z + 23f2: 90 ff sbrs r25, 0 + 23f4: 03 c0 rjmp .+6 ; 0x23fc + 23f6: 8f bf out 0x3f, r24 ; 63 + 23f8: 71 2c mov r7, r1 + 23fa: 5e c0 rjmp .+188 ; 0x24b8 23fc: f5 01 movw r30, r10 23fe: 90 81 ld r25, Z - 2400: 90 ff sbrs r25, 0 - 2402: 03 c0 rjmp .+6 ; 0x240a + 2400: 91 60 ori r25, 0x01 ; 1 + 2402: 90 83 st Z, r25 2404: 8f bf out 0x3f, r24 ; 63 - 2406: 71 2c mov r7, r1 - 2408: 5e c0 rjmp .+188 ; 0x24c6 - 240a: f5 01 movw r30, r10 - 240c: 90 81 ld r25, Z - 240e: 91 60 ori r25, 0x01 ; 1 - 2410: 90 83 st Z, r25 - 2412: 8f bf out 0x3f, r24 ; 63 - 2414: c1 82 std Z+1, r12 ; 0x01 - 2416: d2 82 std Z+2, r13 ; 0x02 - 2418: e3 82 std Z+3, r14 ; 0x03 - 241a: f4 82 std Z+4, r15 ; 0x04 - 241c: 15 82 std Z+5, r1 ; 0x05 - 241e: 16 82 std Z+6, r1 ; 0x06 - 2420: 07 83 std Z+7, r16 ; 0x07 - 2422: 10 87 std Z+8, r17 ; 0x08 - 2424: 81 10 cpse r8, r1 - 2426: 06 c0 rjmp .+12 ; 0x2434 - 2428: 91 e0 ldi r25, 0x01 ; 1 - 242a: e1 14 cp r14, r1 - 242c: f1 04 cpc r15, r1 - 242e: 19 f0 breq .+6 ; 0x2436 - 2430: 90 e0 ldi r25, 0x00 ; 0 - 2432: 01 c0 rjmp .+2 ; 0x2436 - 2434: 91 e0 ldi r25, 0x01 ; 1 - 2436: f5 01 movw r30, r10 - 2438: 80 81 ld r24, Z - 243a: 90 fb bst r25, 0 - 243c: 81 f9 bld r24, 1 - 243e: 8b 7f andi r24, 0xFB ; 251 - 2440: 80 83 st Z, r24 - 2442: 77 20 and r7, r7 - 2444: 59 f0 breq .+22 ; 0x245c - 2446: cc 0f add r28, r28 - 2448: dd 1f adc r29, r29 - 244a: cc 0f add r28, r28 - 244c: dd 1f adc r29, r29 - 244e: cc 0f add r28, r28 - 2450: dd 1f adc r29, r29 - 2452: c0 50 subi r28, 0x00 ; 0 - 2454: de 4d sbci r29, 0xDE ; 222 - 2456: 1e 8a std Y+22, r1 ; 0x16 - 2458: 1f 8a std Y+23, r1 ; 0x17 - 245a: 2d c0 rjmp .+90 ; 0x24b6 - 245c: fe 01 movw r30, r28 - 245e: ee 0f add r30, r30 - 2460: ff 1f adc r31, r31 - 2462: ee 0f add r30, r30 - 2464: ff 1f adc r31, r31 - 2466: ee 0f add r30, r30 - 2468: ff 1f adc r31, r31 - 246a: e0 50 subi r30, 0x00 ; 0 - 246c: fe 4d sbci r31, 0xDE ; 222 - 246e: 81 89 ldd r24, Z+17 ; 0x11 - 2470: 80 7c andi r24, 0xC0 ; 192 - 2472: 80 3c cpi r24, 0xC0 ; 192 - 2474: a1 f4 brne .+40 ; 0x249e - 2476: ce 01 movw r24, r28 - 2478: 88 0f add r24, r24 - 247a: 99 1f adc r25, r25 - 247c: 88 0f add r24, r24 - 247e: 99 1f adc r25, r25 - 2480: 88 0f add r24, r24 - 2482: 99 1f adc r25, r25 - 2484: 80 5f subi r24, 0xF0 ; 240 - 2486: 9d 4d sbci r25, 0xDD ; 221 - 2488: ef db rcall .-2082 ; 0x1c68 - 248a: bc 01 movw r22, r24 - 248c: c7 01 movw r24, r14 - 248e: 60 d2 rcall .+1216 ; 0x2950 <__udivmodhi4> - 2490: 89 2b or r24, r25 - 2492: 29 f0 breq .+10 ; 0x249e - 2494: f5 01 movw r30, r10 - 2496: 80 81 ld r24, Z - 2498: 8e 7f andi r24, 0xFE ; 254 - 249a: 80 83 st Z, r24 - 249c: 14 c0 rjmp .+40 ; 0x24c6 - 249e: cc 0f add r28, r28 - 24a0: dd 1f adc r29, r29 - 24a2: cc 0f add r28, r28 - 24a4: dd 1f adc r29, r29 - 24a6: cc 0f add r28, r28 - 24a8: dd 1f adc r29, r29 - 24aa: c0 50 subi r28, 0x00 ; 0 - 24ac: de 4d sbci r29, 0xDE ; 222 - 24ae: 1a 8a std Y+18, r1 ; 0x12 - 24b0: 1b 8a std Y+19, r1 ; 0x13 - 24b2: 1e 8a std Y+22, r1 ; 0x16 - 24b4: 1f 8a std Y+23, r1 ; 0x17 - 24b6: 89 2d mov r24, r9 - 24b8: 87 dc rcall .-1778 ; 0x1dc8 - 24ba: 77 24 eor r7, r7 - 24bc: 73 94 inc r7 - 24be: 03 c0 rjmp .+6 ; 0x24c6 - 24c0: 71 2c mov r7, r1 - 24c2: 01 c0 rjmp .+2 ; 0x24c6 - 24c4: 71 2c mov r7, r1 - 24c6: 87 2d mov r24, r7 - 24c8: df 91 pop r29 - 24ca: cf 91 pop r28 - 24cc: 1f 91 pop r17 - 24ce: 0f 91 pop r16 - 24d0: ff 90 pop r15 - 24d2: ef 90 pop r14 - 24d4: df 90 pop r13 - 24d6: cf 90 pop r12 - 24d8: bf 90 pop r11 - 24da: af 90 pop r10 - 24dc: 9f 90 pop r9 - 24de: 8f 90 pop r8 - 24e0: 7f 90 pop r7 - 24e2: 08 95 ret + 2406: c1 82 std Z+1, r12 ; 0x01 + 2408: d2 82 std Z+2, r13 ; 0x02 + 240a: e3 82 std Z+3, r14 ; 0x03 + 240c: f4 82 std Z+4, r15 ; 0x04 + 240e: 15 82 std Z+5, r1 ; 0x05 + 2410: 16 82 std Z+6, r1 ; 0x06 + 2412: 07 83 std Z+7, r16 ; 0x07 + 2414: 10 87 std Z+8, r17 ; 0x08 + 2416: 81 10 cpse r8, r1 + 2418: 06 c0 rjmp .+12 ; 0x2426 + 241a: 91 e0 ldi r25, 0x01 ; 1 + 241c: e1 14 cp r14, r1 + 241e: f1 04 cpc r15, r1 + 2420: 19 f0 breq .+6 ; 0x2428 + 2422: 90 e0 ldi r25, 0x00 ; 0 + 2424: 01 c0 rjmp .+2 ; 0x2428 + 2426: 91 e0 ldi r25, 0x01 ; 1 + 2428: f5 01 movw r30, r10 + 242a: 80 81 ld r24, Z + 242c: 90 fb bst r25, 0 + 242e: 81 f9 bld r24, 1 + 2430: 8b 7f andi r24, 0xFB ; 251 + 2432: 80 83 st Z, r24 + 2434: 77 20 and r7, r7 + 2436: 59 f0 breq .+22 ; 0x244e + 2438: cc 0f add r28, r28 + 243a: dd 1f adc r29, r29 + 243c: cc 0f add r28, r28 + 243e: dd 1f adc r29, r29 + 2440: cc 0f add r28, r28 + 2442: dd 1f adc r29, r29 + 2444: c0 50 subi r28, 0x00 ; 0 + 2446: de 4d sbci r29, 0xDE ; 222 + 2448: 1e 8a std Y+22, r1 ; 0x16 + 244a: 1f 8a std Y+23, r1 ; 0x17 + 244c: 2d c0 rjmp .+90 ; 0x24a8 + 244e: fe 01 movw r30, r28 + 2450: ee 0f add r30, r30 + 2452: ff 1f adc r31, r31 + 2454: ee 0f add r30, r30 + 2456: ff 1f adc r31, r31 + 2458: ee 0f add r30, r30 + 245a: ff 1f adc r31, r31 + 245c: e0 50 subi r30, 0x00 ; 0 + 245e: fe 4d sbci r31, 0xDE ; 222 + 2460: 81 89 ldd r24, Z+17 ; 0x11 + 2462: 80 7c andi r24, 0xC0 ; 192 + 2464: 80 3c cpi r24, 0xC0 ; 192 + 2466: a1 f4 brne .+40 ; 0x2490 + 2468: ce 01 movw r24, r28 + 246a: 88 0f add r24, r24 + 246c: 99 1f adc r25, r25 + 246e: 88 0f add r24, r24 + 2470: 99 1f adc r25, r25 + 2472: 88 0f add r24, r24 + 2474: 99 1f adc r25, r25 + 2476: 80 5f subi r24, 0xF0 ; 240 + 2478: 9d 4d sbci r25, 0xDD ; 221 + 247a: ef db rcall .-2082 ; 0x1c5a + 247c: bc 01 movw r22, r24 + 247e: c7 01 movw r24, r14 + 2480: 60 d2 rcall .+1216 ; 0x2942 <__udivmodhi4> + 2482: 89 2b or r24, r25 + 2484: 29 f0 breq .+10 ; 0x2490 + 2486: f5 01 movw r30, r10 + 2488: 80 81 ld r24, Z + 248a: 8e 7f andi r24, 0xFE ; 254 + 248c: 80 83 st Z, r24 + 248e: 14 c0 rjmp .+40 ; 0x24b8 + 2490: cc 0f add r28, r28 + 2492: dd 1f adc r29, r29 + 2494: cc 0f add r28, r28 + 2496: dd 1f adc r29, r29 + 2498: cc 0f add r28, r28 + 249a: dd 1f adc r29, r29 + 249c: c0 50 subi r28, 0x00 ; 0 + 249e: de 4d sbci r29, 0xDE ; 222 + 24a0: 1a 8a std Y+18, r1 ; 0x12 + 24a2: 1b 8a std Y+19, r1 ; 0x13 + 24a4: 1e 8a std Y+22, r1 ; 0x16 + 24a6: 1f 8a std Y+23, r1 ; 0x17 + 24a8: 89 2d mov r24, r9 + 24aa: 87 dc rcall .-1778 ; 0x1dba + 24ac: 77 24 eor r7, r7 + 24ae: 73 94 inc r7 + 24b0: 03 c0 rjmp .+6 ; 0x24b8 + 24b2: 71 2c mov r7, r1 + 24b4: 01 c0 rjmp .+2 ; 0x24b8 + 24b6: 71 2c mov r7, r1 + 24b8: 87 2d mov r24, r7 + 24ba: df 91 pop r29 + 24bc: cf 91 pop r28 + 24be: 1f 91 pop r17 + 24c0: 0f 91 pop r16 + 24c2: ff 90 pop r15 + 24c4: ef 90 pop r14 + 24c6: df 90 pop r13 + 24c8: cf 90 pop r12 + 24ca: bf 90 pop r11 + 24cc: af 90 pop r10 + 24ce: 9f 90 pop r9 + 24d0: 8f 90 pop r8 + 24d2: 7f 90 pop r7 + 24d4: 08 95 ret -000024e4 : - 24e4: ff 92 push r15 - 24e6: 0f 93 push r16 - 24e8: 1f 93 push r17 - 24ea: cf 93 push r28 - 24ec: df 93 push r29 - 24ee: 18 2f mov r17, r24 - 24f0: f8 2e mov r15, r24 - 24f2: ff 1c adc r15, r15 - 24f4: ff 24 eor r15, r15 - 24f6: ff 1c adc r15, r15 - 24f8: c8 2f mov r28, r24 - 24fa: cf 70 andi r28, 0x0F ; 15 - 24fc: d0 e0 ldi r29, 0x00 ; 0 - 24fe: cc 0f add r28, r28 - 2500: dd 1f adc r29, r29 - 2502: cf 0d add r28, r15 - 2504: d1 1d adc r29, r1 - 2506: d6 db rcall .-2132 ; 0x1cb4 - 2508: dc 01 movw r26, r24 - 250a: fe 01 movw r30, r28 - 250c: ee 0f add r30, r30 - 250e: ff 1f adc r31, r31 - 2510: ee 0f add r30, r30 - 2512: ff 1f adc r31, r31 - 2514: ee 0f add r30, r30 - 2516: ff 1f adc r31, r31 - 2518: e0 5f subi r30, 0xF0 ; 240 - 251a: fd 4d sbci r31, 0xDD ; 221 - 251c: 02 e0 ldi r16, 0x02 ; 2 - 251e: 05 93 las Z, r16 - 2520: 8c 91 ld r24, X - 2522: 80 ff sbrs r24, 0 - 2524: 22 c0 rjmp .+68 ; 0x256a - 2526: 8e 7f andi r24, 0xFE ; 254 - 2528: 8c 93 st X, r24 - 252a: 17 96 adiw r26, 0x07 ; 7 - 252c: ed 91 ld r30, X+ - 252e: fc 91 ld r31, X - 2530: 18 97 sbiw r26, 0x08 ; 8 - 2532: 30 97 sbiw r30, 0x00 ; 0 - 2534: d1 f0 breq .+52 ; 0x256a - 2536: ff 20 and r15, r15 - 2538: 59 f0 breq .+22 ; 0x2550 - 253a: cc 0f add r28, r28 - 253c: dd 1f adc r29, r29 - 253e: cc 0f add r28, r28 - 2540: dd 1f adc r29, r29 +000024d6 : + 24d6: ff 92 push r15 + 24d8: 0f 93 push r16 + 24da: 1f 93 push r17 + 24dc: cf 93 push r28 + 24de: df 93 push r29 + 24e0: 18 2f mov r17, r24 + 24e2: f8 2e mov r15, r24 + 24e4: ff 1c adc r15, r15 + 24e6: ff 24 eor r15, r15 + 24e8: ff 1c adc r15, r15 + 24ea: c8 2f mov r28, r24 + 24ec: cf 70 andi r28, 0x0F ; 15 + 24ee: d0 e0 ldi r29, 0x00 ; 0 + 24f0: cc 0f add r28, r28 + 24f2: dd 1f adc r29, r29 + 24f4: cf 0d add r28, r15 + 24f6: d1 1d adc r29, r1 + 24f8: d6 db rcall .-2132 ; 0x1ca6 + 24fa: dc 01 movw r26, r24 + 24fc: fe 01 movw r30, r28 + 24fe: ee 0f add r30, r30 + 2500: ff 1f adc r31, r31 + 2502: ee 0f add r30, r30 + 2504: ff 1f adc r31, r31 + 2506: ee 0f add r30, r30 + 2508: ff 1f adc r31, r31 + 250a: e0 5f subi r30, 0xF0 ; 240 + 250c: fd 4d sbci r31, 0xDD ; 221 + 250e: 02 e0 ldi r16, 0x02 ; 2 + 2510: 05 93 las Z, r16 + 2512: 8c 91 ld r24, X + 2514: 80 ff sbrs r24, 0 + 2516: 22 c0 rjmp .+68 ; 0x255c + 2518: 8e 7f andi r24, 0xFE ; 254 + 251a: 8c 93 st X, r24 + 251c: 17 96 adiw r26, 0x07 ; 7 + 251e: ed 91 ld r30, X+ + 2520: fc 91 ld r31, X + 2522: 18 97 sbiw r26, 0x08 ; 8 + 2524: 30 97 sbiw r30, 0x00 ; 0 + 2526: d1 f0 breq .+52 ; 0x255c + 2528: ff 20 and r15, r15 + 252a: 59 f0 breq .+22 ; 0x2542 + 252c: cc 0f add r28, r28 + 252e: dd 1f adc r29, r29 + 2530: cc 0f add r28, r28 + 2532: dd 1f adc r29, r29 + 2534: cc 0f add r28, r28 + 2536: dd 1f adc r29, r29 + 2538: c0 50 subi r28, 0x00 ; 0 + 253a: de 4d sbci r29, 0xDE ; 222 + 253c: 6e 89 ldd r22, Y+22 ; 0x16 + 253e: 7f 89 ldd r23, Y+23 ; 0x17 + 2540: 0a c0 rjmp .+20 ; 0x2556 2542: cc 0f add r28, r28 2544: dd 1f adc r29, r29 - 2546: c0 50 subi r28, 0x00 ; 0 - 2548: de 4d sbci r29, 0xDE ; 222 - 254a: 6e 89 ldd r22, Y+22 ; 0x16 - 254c: 7f 89 ldd r23, Y+23 ; 0x17 - 254e: 0a c0 rjmp .+20 ; 0x2564 - 2550: cc 0f add r28, r28 - 2552: dd 1f adc r29, r29 - 2554: cc 0f add r28, r28 - 2556: dd 1f adc r29, r29 - 2558: cc 0f add r28, r28 - 255a: dd 1f adc r29, r29 - 255c: c0 50 subi r28, 0x00 ; 0 - 255e: de 4d sbci r29, 0xDE ; 222 - 2560: 6a 89 ldd r22, Y+18 ; 0x12 - 2562: 7b 89 ldd r23, Y+19 ; 0x13 - 2564: 41 2f mov r20, r17 - 2566: 81 e0 ldi r24, 0x01 ; 1 - 2568: 09 95 icall - 256a: df 91 pop r29 - 256c: cf 91 pop r28 - 256e: 1f 91 pop r17 - 2570: 0f 91 pop r16 - 2572: ff 90 pop r15 - 2574: 08 95 ret + 2546: cc 0f add r28, r28 + 2548: dd 1f adc r29, r29 + 254a: cc 0f add r28, r28 + 254c: dd 1f adc r29, r29 + 254e: c0 50 subi r28, 0x00 ; 0 + 2550: de 4d sbci r29, 0xDE ; 222 + 2552: 6a 89 ldd r22, Y+18 ; 0x12 + 2554: 7b 89 ldd r23, Y+19 ; 0x13 + 2556: 41 2f mov r20, r17 + 2558: 81 e0 ldi r24, 0x01 ; 1 + 255a: 09 95 icall + 255c: df 91 pop r29 + 255e: cf 91 pop r28 + 2560: 1f 91 pop r17 + 2562: 0f 91 pop r16 + 2564: ff 90 pop r15 + 2566: 08 95 ret -00002576 : - 2576: cf 93 push r28 - 2578: c8 2f mov r28, r24 - 257a: b4 df rcall .-152 ; 0x24e4 - 257c: ec 2f mov r30, r28 - 257e: ef 70 andi r30, 0x0F ; 15 - 2580: f0 e0 ldi r31, 0x00 ; 0 - 2582: ee 0f add r30, r30 - 2584: ff 1f adc r31, r31 - 2586: 8c 2f mov r24, r28 - 2588: cc 0f add r28, r28 - 258a: 99 0b sbc r25, r25 - 258c: 88 27 eor r24, r24 - 258e: 99 0f add r25, r25 - 2590: 88 1f adc r24, r24 - 2592: 99 27 eor r25, r25 - 2594: e8 0f add r30, r24 - 2596: f9 1f adc r31, r25 - 2598: ee 0f add r30, r30 - 259a: ff 1f adc r31, r31 - 259c: ee 0f add r30, r30 - 259e: ff 1f adc r31, r31 - 25a0: ee 0f add r30, r30 - 25a2: ff 1f adc r31, r31 - 25a4: e0 50 subi r30, 0x00 ; 0 - 25a6: fe 4d sbci r31, 0xDE ; 222 - 25a8: 11 8a std Z+17, r1 ; 0x11 - 25aa: cf 91 pop r28 - 25ac: 08 95 ret +00002568 : + 2568: cf 93 push r28 + 256a: c8 2f mov r28, r24 + 256c: b4 df rcall .-152 ; 0x24d6 + 256e: ec 2f mov r30, r28 + 2570: ef 70 andi r30, 0x0F ; 15 + 2572: f0 e0 ldi r31, 0x00 ; 0 + 2574: ee 0f add r30, r30 + 2576: ff 1f adc r31, r31 + 2578: 8c 2f mov r24, r28 + 257a: cc 0f add r28, r28 + 257c: 99 0b sbc r25, r25 + 257e: 88 27 eor r24, r24 + 2580: 99 0f add r25, r25 + 2582: 88 1f adc r24, r24 + 2584: 99 27 eor r25, r25 + 2586: e8 0f add r30, r24 + 2588: f9 1f adc r31, r25 + 258a: ee 0f add r30, r30 + 258c: ff 1f adc r31, r31 + 258e: ee 0f add r30, r30 + 2590: ff 1f adc r31, r31 + 2592: ee 0f add r30, r30 + 2594: ff 1f adc r31, r31 + 2596: e0 50 subi r30, 0x00 ; 0 + 2598: fe 4d sbci r31, 0xDE ; 222 + 259a: 11 8a std Z+17, r1 ; 0x11 + 259c: cf 91 pop r28 + 259e: 08 95 ret -000025ae : - 25ae: 0f 93 push r16 - 25b0: e8 2f mov r30, r24 - 25b2: ef 70 andi r30, 0x0F ; 15 - 25b4: f0 e0 ldi r31, 0x00 ; 0 - 25b6: ee 0f add r30, r30 - 25b8: ff 1f adc r31, r31 - 25ba: 28 2f mov r18, r24 - 25bc: 08 2e mov r0, r24 - 25be: 00 0c add r0, r0 - 25c0: 33 0b sbc r19, r19 - 25c2: 22 27 eor r18, r18 - 25c4: 33 0f add r19, r19 - 25c6: 22 1f adc r18, r18 - 25c8: 33 27 eor r19, r19 - 25ca: e2 0f add r30, r18 - 25cc: f3 1f adc r31, r19 - 25ce: df 01 movw r26, r30 - 25d0: aa 0f add r26, r26 - 25d2: bb 1f adc r27, r27 - 25d4: aa 0f add r26, r26 - 25d6: bb 1f adc r27, r27 - 25d8: aa 0f add r26, r26 - 25da: bb 1f adc r27, r27 - 25dc: a0 50 subi r26, 0x00 ; 0 - 25de: be 4d sbci r27, 0xDE ; 222 - 25e0: 51 96 adiw r26, 0x11 ; 17 - 25e2: 9c 91 ld r25, X - 25e4: 51 97 sbiw r26, 0x11 ; 17 - 25e6: 94 60 ori r25, 0x04 ; 4 - 25e8: 51 96 adiw r26, 0x11 ; 17 - 25ea: 9c 93 st X, r25 - 25ec: ee 0f add r30, r30 - 25ee: ff 1f adc r31, r31 - 25f0: ee 0f add r30, r30 - 25f2: ff 1f adc r31, r31 - 25f4: ee 0f add r30, r30 - 25f6: ff 1f adc r31, r31 - 25f8: e0 5f subi r30, 0xF0 ; 240 - 25fa: fd 4d sbci r31, 0xDD ; 221 - 25fc: 01 e0 ldi r16, 0x01 ; 1 - 25fe: 06 93 lac Z, r16 - 2600: 71 df rcall .-286 ; 0x24e4 - 2602: 81 e0 ldi r24, 0x01 ; 1 - 2604: 0f 91 pop r16 - 2606: 08 95 ret +000025a0 : + 25a0: 0f 93 push r16 + 25a2: e8 2f mov r30, r24 + 25a4: ef 70 andi r30, 0x0F ; 15 + 25a6: f0 e0 ldi r31, 0x00 ; 0 + 25a8: ee 0f add r30, r30 + 25aa: ff 1f adc r31, r31 + 25ac: 28 2f mov r18, r24 + 25ae: 08 2e mov r0, r24 + 25b0: 00 0c add r0, r0 + 25b2: 33 0b sbc r19, r19 + 25b4: 22 27 eor r18, r18 + 25b6: 33 0f add r19, r19 + 25b8: 22 1f adc r18, r18 + 25ba: 33 27 eor r19, r19 + 25bc: e2 0f add r30, r18 + 25be: f3 1f adc r31, r19 + 25c0: df 01 movw r26, r30 + 25c2: aa 0f add r26, r26 + 25c4: bb 1f adc r27, r27 + 25c6: aa 0f add r26, r26 + 25c8: bb 1f adc r27, r27 + 25ca: aa 0f add r26, r26 + 25cc: bb 1f adc r27, r27 + 25ce: a0 50 subi r26, 0x00 ; 0 + 25d0: be 4d sbci r27, 0xDE ; 222 + 25d2: 51 96 adiw r26, 0x11 ; 17 + 25d4: 9c 91 ld r25, X + 25d6: 51 97 sbiw r26, 0x11 ; 17 + 25d8: 94 60 ori r25, 0x04 ; 4 + 25da: 51 96 adiw r26, 0x11 ; 17 + 25dc: 9c 93 st X, r25 + 25de: ee 0f add r30, r30 + 25e0: ff 1f adc r31, r31 + 25e2: ee 0f add r30, r30 + 25e4: ff 1f adc r31, r31 + 25e6: ee 0f add r30, r30 + 25e8: ff 1f adc r31, r31 + 25ea: e0 5f subi r30, 0xF0 ; 240 + 25ec: fd 4d sbci r31, 0xDD ; 221 + 25ee: 01 e0 ldi r16, 0x01 ; 1 + 25f0: 06 93 lac Z, r16 + 25f2: 71 df rcall .-286 ; 0x24d6 + 25f4: 81 e0 ldi r24, 0x01 ; 1 + 25f6: 0f 91 pop r16 + 25f8: 08 95 ret -00002608 <__vector_125>: +000025fa <__vector_125>: * USB bus event interrupt includes : * - USB line events SOF, reset, suspend, resume, wakeup * - endpoint control errors underflow, overflow, stall */ ISR(USB_BUSEVENT_vect) { - 2608: 1f 92 push r1 - 260a: 0f 92 push r0 - 260c: 0f b6 in r0, 0x3f ; 63 - 260e: 0f 92 push r0 - 2610: 11 24 eor r1, r1 - 2612: 0f 93 push r16 - 2614: 2f 93 push r18 - 2616: 3f 93 push r19 - 2618: 4f 93 push r20 - 261a: 5f 93 push r21 - 261c: 6f 93 push r22 - 261e: 7f 93 push r23 - 2620: 8f 93 push r24 - 2622: 9f 93 push r25 - 2624: af 93 push r26 - 2626: bf 93 push r27 - 2628: ef 93 push r30 - 262a: ff 93 push r31 + 25fa: 1f 92 push r1 + 25fc: 0f 92 push r0 + 25fe: 0f b6 in r0, 0x3f ; 63 + 2600: 0f 92 push r0 + 2602: 11 24 eor r1, r1 + 2604: 0f 93 push r16 + 2606: 2f 93 push r18 + 2608: 3f 93 push r19 + 260a: 4f 93 push r20 + 260c: 5f 93 push r21 + 260e: 6f 93 push r22 + 2610: 7f 93 push r23 + 2612: 8f 93 push r24 + 2614: 9f 93 push r25 + 2616: af 93 push r26 + 2618: bf 93 push r27 + 261a: ef 93 push r30 + 261c: ff 93 push r31 if (udd_is_start_of_frame_event()) { - 262c: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2630: 88 23 and r24, r24 - 2632: 44 f4 brge .+16 ; 0x2644 <__vector_125+0x3c> + 261e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2622: 88 23 and r24, r24 + 2624: 44 f4 brge .+16 ; 0x2636 <__vector_125+0x3c> udd_ack_start_of_frame_event(); - 2634: 80 e8 ldi r24, 0x80 ; 128 - 2636: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2626: 80 e8 ldi r24, 0x80 ; 128 + 2628: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udc_sof_notify(); - 263a: 0e 94 8e 09 call 0x131c ; 0x131c + 262c: 0e 94 87 09 call 0x130e ; 0x130e #ifdef UDC_SOF_EVENT UDC_SOF_EVENT(); - 263e: 0e 94 87 01 call 0x30e ; 0x30e + 2630: 0e 94 87 01 call 0x30e ; 0x30e #endif goto udd_interrupt_bus_event_end; - 2642: 8a c0 rjmp .+276 ; 0x2758 <__vector_125+0x150> + 2634: 8a c0 rjmp .+276 ; 0x274a <__vector_125+0x150> } static bool udd_ctrl_interrupt_error(void) { // Underflow only managed for control endpoint if (udd_is_underflow_event()) { - 2644: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2648: 82 ff sbrs r24, 2 - 264a: 20 c0 rjmp .+64 ; 0x268c <__vector_125+0x84> + 2636: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 263a: 82 ff sbrs r24, 2 + 263c: 20 c0 rjmp .+64 ; 0x267e <__vector_125+0x84> udd_ack_underflow_event(); - 264c: 84 e0 ldi r24, 0x04 ; 4 - 264e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 263e: 84 e0 ldi r24, 0x04 ; 4 + 2640: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> if (udd_control_in_underflow()) { - 2652: 80 91 18 22 lds r24, 0x2218 ; 0x802218 - 2656: 86 ff sbrs r24, 6 - 2658: 7f c0 rjmp .+254 ; 0x2758 <__vector_125+0x150> + 2644: 80 91 18 22 lds r24, 0x2218 ; 0x802218 + 2648: 86 ff sbrs r24, 6 + 264a: 7f c0 rjmp .+254 ; 0x274a <__vector_125+0x150> udd_control_out_clear_NACK0(); } static void udd_ctrl_underflow(void) { if (udd_is_tc_event() || udd_ctrl_interrupt_tc_setup()) { - 265a: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 265e: 81 fd sbrc r24, 1 - 2660: 7b c0 rjmp .+246 ; 0x2758 <__vector_125+0x150> - 2662: 43 db rcall .-2426 ; 0x1cea - 2664: 81 11 cpse r24, r1 - 2666: 78 c0 rjmp .+240 ; 0x2758 <__vector_125+0x150> + 264c: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2650: 81 fd sbrc r24, 1 + 2652: 7b c0 rjmp .+246 ; 0x274a <__vector_125+0x150> + 2654: 43 db rcall .-2426 ; 0x1cdc + 2656: 81 11 cpse r24, r1 + 2658: 78 c0 rjmp .+240 ; 0x274a <__vector_125+0x150> return; // underflow ignored if a transfer complete has been no processed } if (UDD_EPCTRL_DATA_OUT == udd_ep_control_state) { - 2668: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 266c: 81 30 cpi r24, 0x01 ; 1 - 266e: 11 f4 brne .+4 ; 0x2674 <__vector_125+0x6c> + 265a: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 265e: 81 30 cpi r24, 0x01 ; 1 + 2660: 11 f4 brne .+4 ; 0x2666 <__vector_125+0x6c> // Host want to stop OUT transaction // then stop to wait OUT data phase and wait IN ZLP handshake udd_ctrl_send_zlp_in(); - 2670: 79 da rcall .-2830 ; 0x1b64 - 2672: 72 c0 rjmp .+228 ; 0x2758 <__vector_125+0x150> + 2662: 79 da rcall .-2830 ; 0x1b56 + 2664: 72 c0 rjmp .+228 ; 0x274a <__vector_125+0x150> } else if (UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP == udd_ep_control_state) { - 2674: 84 30 cpi r24, 0x04 ; 4 - 2676: 09 f0 breq .+2 ; 0x267a <__vector_125+0x72> - 2678: 6f c0 rjmp .+222 ; 0x2758 <__vector_125+0x150> + 2666: 84 30 cpi r24, 0x04 ; 4 + 2668: 09 f0 breq .+2 ; 0x266c <__vector_125+0x72> + 266a: 6f c0 rjmp .+222 ; 0x274a <__vector_125+0x150> // A OUT handshake is waiting by device, // but host want extra IN data then stall extra IN data and following status stage udd_control_in_enable_stall(); - 267a: e9 e1 ldi r30, 0x19 ; 25 - 267c: f2 e2 ldi r31, 0x22 ; 34 - 267e: 04 e0 ldi r16, 0x04 ; 4 - 2680: 05 93 las Z, r16 + 266c: e9 e1 ldi r30, 0x19 ; 25 + 266e: f2 e2 ldi r31, 0x22 ; 34 + 2670: 04 e0 ldi r16, 0x04 ; 4 + 2672: 05 93 las Z, r16 udd_control_out_enable_stall(); - 2682: e1 e1 ldi r30, 0x11 ; 17 - 2684: f2 e2 ldi r31, 0x22 ; 34 - 2686: 04 e0 ldi r16, 0x04 ; 4 - 2688: 05 93 las Z, r16 - 268a: 66 c0 rjmp .+204 ; 0x2758 <__vector_125+0x150> + 2674: e1 e1 ldi r30, 0x11 ; 17 + 2676: f2 e2 ldi r31, 0x22 ; 34 + 2678: 04 e0 ldi r16, 0x04 ; 4 + 267a: 05 93 las Z, r16 + 267c: 66 c0 rjmp .+204 ; 0x274a <__vector_125+0x150> udd_ctrl_underflow(); } return true; } // Overflow only managed for control endpoint if (udd_is_overflow_event()) { - 268c: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2690: 81 ff sbrs r24, 1 - 2692: 5d c0 rjmp .+186 ; 0x274e <__vector_125+0x146> + 267e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2682: 81 ff sbrs r24, 1 + 2684: 5d c0 rjmp .+186 ; 0x2740 <__vector_125+0x146> udd_ack_overflow_event(); - 2694: 82 e0 ldi r24, 0x02 ; 2 - 2696: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2686: 82 e0 ldi r24, 0x02 ; 2 + 2688: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> if (udd_control_out_overflow()) { - 269a: 80 91 10 22 lds r24, 0x2210 ; 0x802210 - 269e: 86 ff sbrs r24, 6 - 26a0: 5b c0 rjmp .+182 ; 0x2758 <__vector_125+0x150> + 268c: 80 91 10 22 lds r24, 0x2210 ; 0x802210 + 2690: 86 ff sbrs r24, 6 + 2692: 5b c0 rjmp .+182 ; 0x274a <__vector_125+0x150> } } static void udd_ctrl_overflow(void) { if (udd_is_tc_event() || udd_ctrl_interrupt_tc_setup()) { - 26a2: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 26a6: 81 fd sbrc r24, 1 - 26a8: 57 c0 rjmp .+174 ; 0x2758 <__vector_125+0x150> - 26aa: 1f db rcall .-2498 ; 0x1cea - 26ac: 81 11 cpse r24, r1 - 26ae: 54 c0 rjmp .+168 ; 0x2758 <__vector_125+0x150> + 2694: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2698: 81 fd sbrc r24, 1 + 269a: 57 c0 rjmp .+174 ; 0x274a <__vector_125+0x150> + 269c: 1f db rcall .-2498 ; 0x1cdc + 269e: 81 11 cpse r24, r1 + 26a0: 54 c0 rjmp .+168 ; 0x274a <__vector_125+0x150> return; // overflow ignored if a transfer complete has been no processed } if (UDD_EPCTRL_DATA_IN == udd_ep_control_state) { - 26b0: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 26b4: 82 30 cpi r24, 0x02 ; 2 - 26b6: 41 f4 brne .+16 ; 0x26c8 <__vector_125+0xc0> + 26a2: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 26a6: 82 30 cpi r24, 0x02 ; 2 + 26a8: 41 f4 brne .+16 ; 0x26ba <__vector_125+0xc0> udd_control_in_clear_NACK0(); } static void udd_ctrl_send_zlp_out(void) { udd_ep_control_state = UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP; - 26b8: 84 e0 ldi r24, 0x04 ; 4 - 26ba: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 26aa: 84 e0 ldi r24, 0x04 ; 4 + 26ac: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff // Valid reception of OUT packet on control endpoint udd_control_out_clear_NACK0(); - 26be: e0 e1 ldi r30, 0x10 ; 16 - 26c0: f2 e2 ldi r31, 0x22 ; 34 - 26c2: 02 e0 ldi r16, 0x02 ; 2 - 26c4: 06 93 lac Z, r16 - 26c6: 48 c0 rjmp .+144 ; 0x2758 <__vector_125+0x150> + 26b0: e0 e1 ldi r30, 0x10 ; 16 + 26b2: f2 e2 ldi r31, 0x22 ; 34 + 26b4: 02 e0 ldi r16, 0x02 ; 2 + 26b6: 06 93 lac Z, r16 + 26b8: 48 c0 rjmp .+144 ; 0x274a <__vector_125+0x150> } if (UDD_EPCTRL_DATA_IN == udd_ep_control_state) { // Host want to stop IN transaction // then stop to wait IN data phase and wait OUT ZLP handshake udd_ctrl_send_zlp_out(); } else if (UDD_EPCTRL_HANDSHAKE_WAIT_IN_ZLP == udd_ep_control_state) { - 26c8: 83 30 cpi r24, 0x03 ; 3 - 26ca: 09 f0 breq .+2 ; 0x26ce <__vector_125+0xc6> - 26cc: 45 c0 rjmp .+138 ; 0x2758 <__vector_125+0x150> + 26ba: 83 30 cpi r24, 0x03 ; 3 + 26bc: 09 f0 breq .+2 ; 0x26c0 <__vector_125+0xc6> + 26be: 45 c0 rjmp .+138 ; 0x274a <__vector_125+0x150> // A IN handshake is waiting by device, // but host want extra OUT data then stall extra OUT data and following status stage udd_control_in_enable_stall(); - 26ce: e9 e1 ldi r30, 0x19 ; 25 - 26d0: f2 e2 ldi r31, 0x22 ; 34 - 26d2: 04 e0 ldi r16, 0x04 ; 4 - 26d4: 05 93 las Z, r16 + 26c0: e9 e1 ldi r30, 0x19 ; 25 + 26c2: f2 e2 ldi r31, 0x22 ; 34 + 26c4: 04 e0 ldi r16, 0x04 ; 4 + 26c6: 05 93 las Z, r16 udd_control_out_enable_stall(); - 26d6: e1 e1 ldi r30, 0x11 ; 17 - 26d8: f2 e2 ldi r31, 0x22 ; 34 - 26da: 04 e0 ldi r16, 0x04 ; 4 - 26dc: 05 93 las Z, r16 - 26de: 3c c0 rjmp .+120 ; 0x2758 <__vector_125+0x150> + 26c8: e1 e1 ldi r30, 0x11 ; 17 + 26ca: f2 e2 ldi r31, 0x22 ; 34 + 26cc: 04 e0 ldi r16, 0x04 ; 4 + 26ce: 05 93 las Z, r16 + 26d0: 3c c0 rjmp .+120 ; 0x274a <__vector_125+0x150> if (udd_ctrl_interrupt_error()) { goto udd_interrupt_bus_event_end; } if (udd_is_reset_event()) { udd_ack_reset_event(); - 26e0: 80 e1 ldi r24, 0x10 ; 16 - 26e2: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 26d2: 80 e1 ldi r24, 0x10 ; 16 + 26d4: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> #if (0!=USB_DEVICE_MAX_EP) // Abort all endpoint jobs on going uint8_t i; for (i = 1; i < USB_DEVICE_MAX_EP; i++) { udd_ep_abort(i); - 26e6: 81 e0 ldi r24, 0x01 ; 1 - 26e8: fd de rcall .-518 ; 0x24e4 + 26d8: 81 e0 ldi r24, 0x01 ; 1 + 26da: fd de rcall .-518 ; 0x24d6 udd_ep_abort(i | USB_EP_DIR_IN); - 26ea: 81 e8 ldi r24, 0x81 ; 129 - 26ec: fb de rcall .-522 ; 0x24e4 + 26dc: 81 e8 ldi r24, 0x81 ; 129 + 26de: fb de rcall .-522 ; 0x24d6 udd_ack_reset_event(); #if (0!=USB_DEVICE_MAX_EP) // Abort all endpoint jobs on going uint8_t i; for (i = 1; i < USB_DEVICE_MAX_EP; i++) { udd_ep_abort(i); - 26ee: 82 e0 ldi r24, 0x02 ; 2 - 26f0: f9 de rcall .-526 ; 0x24e4 + 26e0: 82 e0 ldi r24, 0x02 ; 2 + 26e2: f9 de rcall .-526 ; 0x24d6 udd_ep_abort(i | USB_EP_DIR_IN); - 26f2: 82 e8 ldi r24, 0x82 ; 130 - 26f4: f7 de rcall .-530 ; 0x24e4 + 26e4: 82 e8 ldi r24, 0x82 ; 130 + 26e6: f7 de rcall .-530 ; 0x24d6 } #endif udc_reset(); - 26f6: 0e 94 69 09 call 0x12d2 ; 0x12d2 + 26e8: 0e 94 62 09 call 0x12c4 ; 0x12c4 // Reset USB address to 0 udd_set_device_address(0); - 26fa: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 26ec: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> #endif } // Enable endpoint ep_ctrl = udd_ep_get_ctrl(ep); udd_endpoint_disable(ep_ctrl); - 26fe: e0 e0 ldi r30, 0x00 ; 0 - 2700: f2 e2 ldi r31, 0x22 ; 34 - 2702: 11 8a std Z+17, r1 ; 0x11 + 26f0: e0 e0 ldi r30, 0x00 ; 0 + 26f2: f2 e2 ldi r31, 0x22 ; 34 + 26f4: 11 8a std Z+17, r1 ; 0x11 udd_endpoint_clear_status(ep_ctrl); - 2704: 96 e0 ldi r25, 0x06 ; 6 - 2706: 90 8b std Z+16, r25 ; 0x10 + 26f6: 96 e0 ldi r25, 0x06 ; 6 + 26f8: 90 8b std Z+16, r25 ; 0x10 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); - 2708: 83 e4 ldi r24, 0x43 ; 67 - 270a: 81 8b std Z+17, r24 ; 0x11 + 26fa: 83 e4 ldi r24, 0x43 ; 67 + 26fc: 81 8b std Z+17, r24 ; 0x11 #endif } // Enable endpoint ep_ctrl = udd_ep_get_ctrl(ep); udd_endpoint_disable(ep_ctrl); - 270c: 11 8e std Z+25, r1 ; 0x19 + 26fe: 11 8e std Z+25, r1 ; 0x19 udd_endpoint_clear_status(ep_ctrl); - 270e: 90 8f std Z+24, r25 ; 0x18 + 2700: 90 8f std Z+24, r25 ; 0x18 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); - 2710: 81 8f std Z+25, r24 ; 0x19 + 2702: 81 8f std Z+25, r24 ; 0x19 udd_set_device_address(0); // Alloc and configure control endpoint udd_ep_init(0, USB_EP_TYPE_CONTROL, USB_DEVICE_EP_CTRL_SIZE); udd_ep_init(0 | USB_EP_DIR_IN, USB_EP_TYPE_CONTROL, USB_DEVICE_EP_CTRL_SIZE); udd_control_out_set_buf(&udd_ctrl_buffer); - 2712: 8b eb ldi r24, 0xBB ; 187 - 2714: 91 e2 ldi r25, 0x21 ; 33 - 2716: 84 8b std Z+20, r24 ; 0x14 - 2718: 95 8b std Z+21, r25 ; 0x15 + 2704: 8b eb ldi r24, 0xBB ; 187 + 2706: 91 e2 ldi r25, 0x21 ; 33 + 2708: 84 8b std Z+20, r24 ; 0x14 + 270a: 95 8b std Z+21, r25 ; 0x15 // Reset endpoint control management udd_ctrl_init(); - 271a: ef d9 rcall .-3106 ; 0x1afa + 270c: ef d9 rcall .-3106 ; 0x1aec goto udd_interrupt_bus_event_end; - 271c: 1d c0 rjmp .+58 ; 0x2758 <__vector_125+0x150> + 270e: 1d c0 rjmp .+58 ; 0x274a <__vector_125+0x150> } if (udd_is_suspend_event()) { - 271e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2722: 86 ff sbrs r24, 6 - 2724: 08 c0 rjmp .+16 ; 0x2736 <__vector_125+0x12e> + 2710: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2714: 86 ff sbrs r24, 6 + 2716: 08 c0 rjmp .+16 ; 0x2728 <__vector_125+0x12e> udd_ack_suspend_event(); - 2726: 80 e4 ldi r24, 0x40 ; 64 - 2728: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2718: 80 e4 ldi r24, 0x40 ; 64 + 271a: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udd_sleep_mode(false); // Enter in SUSPEND mode - 272c: 80 e0 ldi r24, 0x00 ; 0 - 272e: bc d9 rcall .-3208 ; 0x1aa8 + 271e: 80 e0 ldi r24, 0x00 ; 0 + 2720: bc d9 rcall .-3208 ; 0x1a9a #ifdef UDC_SUSPEND_EVENT UDC_SUSPEND_EVENT(); - 2730: 0e 94 85 01 call 0x30a ; 0x30a + 2722: 0e 94 85 01 call 0x30a ; 0x30a #endif goto udd_interrupt_bus_event_end; - 2734: 11 c0 rjmp .+34 ; 0x2758 <__vector_125+0x150> + 2726: 11 c0 rjmp .+34 ; 0x274a <__vector_125+0x150> } if (udd_is_resume_event()) { - 2736: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 273a: 85 ff sbrs r24, 5 - 273c: 0d c0 rjmp .+26 ; 0x2758 <__vector_125+0x150> + 2728: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 272c: 85 ff sbrs r24, 5 + 272e: 0d c0 rjmp .+26 ; 0x274a <__vector_125+0x150> udd_ack_resume_event(); - 273e: 80 e2 ldi r24, 0x20 ; 32 - 2740: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2730: 80 e2 ldi r24, 0x20 ; 32 + 2732: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udd_sleep_mode(true); // Enter in power reduction mode - 2744: 81 e0 ldi r24, 0x01 ; 1 - 2746: b0 d9 rcall .-3232 ; 0x1aa8 + 2736: 81 e0 ldi r24, 0x01 ; 1 + 2738: b0 d9 rcall .-3232 ; 0x1a9a #ifdef UDC_RESUME_EVENT UDC_RESUME_EVENT(); - 2748: 0e 94 86 01 call 0x30c ; 0x30c + 273a: 0e 94 86 01 call 0x30c ; 0x30c #endif goto udd_interrupt_bus_event_end; - 274c: 05 c0 rjmp .+10 ; 0x2758 <__vector_125+0x150> + 273e: 05 c0 rjmp .+10 ; 0x274a <__vector_125+0x150> } if (udd_ctrl_interrupt_error()) { goto udd_interrupt_bus_event_end; } if (udd_is_reset_event()) { - 274e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2752: 84 fd sbrc r24, 4 - 2754: c5 cf rjmp .-118 ; 0x26e0 <__vector_125+0xd8> - 2756: e3 cf rjmp .-58 ; 0x271e <__vector_125+0x116> + 2740: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2744: 84 fd sbrc r24, 4 + 2746: c5 cf rjmp .-118 ; 0x26d2 <__vector_125+0xd8> + 2748: e3 cf rjmp .-58 ; 0x2710 <__vector_125+0x116> goto udd_interrupt_bus_event_end; } udd_interrupt_bus_event_end: return; } - 2758: ff 91 pop r31 - 275a: ef 91 pop r30 - 275c: bf 91 pop r27 - 275e: af 91 pop r26 - 2760: 9f 91 pop r25 - 2762: 8f 91 pop r24 - 2764: 7f 91 pop r23 - 2766: 6f 91 pop r22 - 2768: 5f 91 pop r21 - 276a: 4f 91 pop r20 - 276c: 3f 91 pop r19 - 276e: 2f 91 pop r18 - 2770: 0f 91 pop r16 - 2772: 0f 90 pop r0 - 2774: 0f be out 0x3f, r0 ; 63 - 2776: 0f 90 pop r0 - 2778: 1f 90 pop r1 - 277a: 18 95 reti + 274a: ff 91 pop r31 + 274c: ef 91 pop r30 + 274e: bf 91 pop r27 + 2750: af 91 pop r26 + 2752: 9f 91 pop r25 + 2754: 8f 91 pop r24 + 2756: 7f 91 pop r23 + 2758: 6f 91 pop r22 + 275a: 5f 91 pop r21 + 275c: 4f 91 pop r20 + 275e: 3f 91 pop r19 + 2760: 2f 91 pop r18 + 2762: 0f 91 pop r16 + 2764: 0f 90 pop r0 + 2766: 0f be out 0x3f, r0 ; 63 + 2768: 0f 90 pop r0 + 276a: 1f 90 pop r1 + 276c: 18 95 reti -0000277c <__vector_126>: +0000276e <__vector_126>: * \brief Function called by USB transfer complete interrupt * * USB transfer complete interrupt includes events about endpoint transfer on all endpoints. */ ISR(USB_TRNCOMPL_vect) { - 277c: 1f 92 push r1 - 277e: 0f 92 push r0 - 2780: 0f b6 in r0, 0x3f ; 63 - 2782: 0f 92 push r0 - 2784: 11 24 eor r1, r1 - 2786: 0f 93 push r16 - 2788: 1f 93 push r17 - 278a: 2f 93 push r18 - 278c: 3f 93 push r19 - 278e: 4f 93 push r20 - 2790: 5f 93 push r21 - 2792: 6f 93 push r22 - 2794: 7f 93 push r23 - 2796: 8f 93 push r24 - 2798: 9f 93 push r25 - 279a: af 93 push r26 - 279c: bf 93 push r27 - 279e: cf 93 push r28 - 27a0: df 93 push r29 - 27a2: ef 93 push r30 - 27a4: ff 93 push r31 + 276e: 1f 92 push r1 + 2770: 0f 92 push r0 + 2772: 0f b6 in r0, 0x3f ; 63 + 2774: 0f 92 push r0 + 2776: 11 24 eor r1, r1 + 2778: 0f 93 push r16 + 277a: 1f 93 push r17 + 277c: 2f 93 push r18 + 277e: 3f 93 push r19 + 2780: 4f 93 push r20 + 2782: 5f 93 push r21 + 2784: 6f 93 push r22 + 2786: 7f 93 push r23 + 2788: 8f 93 push r24 + 278a: 9f 93 push r25 + 278c: af 93 push r26 + 278e: bf 93 push r27 + 2790: cf 93 push r28 + 2792: df 93 push r29 + 2794: ef 93 push r30 + 2796: ff 93 push r31 int8_t rp; UDD_EP_t *ep_ctrl; udd_ep_id_t ep; #endif if (!udd_is_tc_event()) { - 27a6: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 27aa: 81 fd sbrc r24, 1 - 27ac: 03 c0 rjmp .+6 ; 0x27b4 <__vector_126+0x38> + 2798: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 279c: 81 fd sbrc r24, 1 + 279e: 03 c0 rjmp .+6 ; 0x27a6 <__vector_126+0x38> // If no other transfer complete // then check reception of SETUP packet on control endpoint if (udd_ctrl_interrupt_tc_setup()) { - 27ae: 9d da rcall .-2758 ; 0x1cea - 27b0: 81 11 cpse r24, r1 - 27b2: b9 c0 rjmp .+370 ; 0x2926 <__vector_126+0x1aa> + 27a0: 9d da rcall .-2758 ; 0x1cdc + 27a2: 81 11 cpse r24, r1 + 27a4: b9 c0 rjmp .+370 ; 0x2918 <__vector_126+0x1aa> goto udd_interrupt_tc_end; } Assert(false); } // Check IN/OUT transfer complete on all endpoints udd_ack_tc_event(); - 27b4: 82 e0 ldi r24, 0x02 ; 2 - 27b6: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 27a6: 82 e0 ldi r24, 0x02 ; 2 + 27a8: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> #if (0!=USB_DEVICE_MAX_EP) //** Decode TC FIFO // Compute ep addr rp = udd_get_fifo_rp(); - 27ba: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 27ac: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> i_fifo = 2 * (1 + ~rp); - 27be: 81 95 neg r24 - 27c0: 88 0f add r24, r24 + 27b0: 81 95 neg r24 + 27b2: 88 0f add r24, r24 ad = ((uint16_t) udd_sram.ep_ctrl) - i_fifo; - 27c2: e0 e1 ldi r30, 0x10 ; 16 - 27c4: f2 e2 ldi r31, 0x22 ; 34 - 27c6: e8 1b sub r30, r24 - 27c8: f1 09 sbc r31, r1 + 27b4: e0 e1 ldi r30, 0x10 ; 16 + 27b6: f2 e2 ldi r31, 0x22 ; 34 + 27b8: e8 1b sub r30, r24 + 27ba: f1 09 sbc r31, r1 p_ad = (uint16_t *) ad; // Compute ep ep_index = (((uint16_t) * p_ad - ((uint16_t) udd_sram.ep_ctrl)) >> 3); - 27ca: 20 81 ld r18, Z - 27cc: 31 81 ldd r19, Z+1 ; 0x01 - 27ce: 20 51 subi r18, 0x10 ; 16 - 27d0: 32 42 sbci r19, 0x22 ; 34 - 27d2: 36 95 lsr r19 - 27d4: 27 95 ror r18 - 27d6: 36 95 lsr r19 - 27d8: 27 95 ror r18 - 27da: 36 95 lsr r19 - 27dc: 27 95 ror r18 + 27bc: 20 81 ld r18, Z + 27be: 31 81 ldd r19, Z+1 ; 0x01 + 27c0: 20 51 subi r18, 0x10 ; 16 + 27c2: 32 42 sbci r19, 0x22 ; 34 + 27c4: 36 95 lsr r19 + 27c6: 27 95 ror r18 + 27c8: 36 95 lsr r19 + 27ca: 27 95 ror r18 + 27cc: 36 95 lsr r19 + 27ce: 27 95 ror r18 ep = (ep_index / 2) + ((ep_index & 1) ? USB_EP_DIR_IN : 0); - 27de: 82 2f mov r24, r18 - 27e0: 86 95 lsr r24 - 27e2: 20 fd sbrc r18, 0 - 27e4: 02 c0 rjmp .+4 ; 0x27ea <__vector_126+0x6e> - 27e6: 90 e0 ldi r25, 0x00 ; 0 - 27e8: 01 c0 rjmp .+2 ; 0x27ec <__vector_126+0x70> - 27ea: 90 e8 ldi r25, 0x80 ; 128 - 27ec: 89 0f add r24, r25 + 27d0: 82 2f mov r24, r18 + 27d2: 86 95 lsr r24 + 27d4: 20 fd sbrc r18, 0 + 27d6: 02 c0 rjmp .+4 ; 0x27dc <__vector_126+0x6e> + 27d8: 90 e0 ldi r25, 0x00 ; 0 + 27da: 01 c0 rjmp .+2 ; 0x27de <__vector_126+0x70> + 27dc: 90 e8 ldi r25, 0x80 ; 128 + 27de: 89 0f add r24, r25 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); } static UDD_EP_t *udd_ep_get_ctrl(udd_ep_id_t ep) { return &udd_sram.ep_ctrl[(2 * (ep & USB_EP_ADDR_MASK) + - 27ee: e8 2f mov r30, r24 - 27f0: ef 70 andi r30, 0x0F ; 15 - 27f2: f0 e0 ldi r31, 0x00 ; 0 - 27f4: ee 0f add r30, r30 - 27f6: ff 1f adc r31, r31 + 27e0: e8 2f mov r30, r24 + 27e2: ef 70 andi r30, 0x0F ; 15 + 27e4: f0 e0 ldi r31, 0x00 ; 0 + 27e6: ee 0f add r30, r30 + 27e8: ff 1f adc r31, r31 ((ep & USB_EP_DIR_IN) ? 1 : 0))]; - 27f8: 28 2f mov r18, r24 - 27fa: 08 2e mov r0, r24 - 27fc: 00 0c add r0, r0 - 27fe: 33 0b sbc r19, r19 - 2800: 22 27 eor r18, r18 - 2802: 33 0f add r19, r19 - 2804: 22 1f adc r18, r18 - 2806: 33 27 eor r19, r19 + 27ea: 28 2f mov r18, r24 + 27ec: 08 2e mov r0, r24 + 27ee: 00 0c add r0, r0 + 27f0: 33 0b sbc r19, r19 + 27f2: 22 27 eor r18, r18 + 27f4: 33 0f add r19, r19 + 27f6: 22 1f adc r18, r18 + 27f8: 33 27 eor r19, r19 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); } static UDD_EP_t *udd_ep_get_ctrl(udd_ep_id_t ep) { return &udd_sram.ep_ctrl[(2 * (ep & USB_EP_ADDR_MASK) + - 2808: e2 0f add r30, r18 - 280a: f3 1f adc r31, r19 + 27fa: e2 0f add r30, r18 + 27fc: f3 1f adc r31, r19 ep = (ep_index / 2) + ((ep_index & 1) ? USB_EP_DIR_IN : 0); Assert(USB_DEVICE_MAX_EP >= (ep & USB_EP_ADDR_MASK)); // Ack IT TC of endpoint ep_ctrl = udd_ep_get_ctrl(ep); if (!udd_endpoint_transfer_complete(ep_ctrl)) { - 280c: df 01 movw r26, r30 - 280e: aa 0f add r26, r26 - 2810: bb 1f adc r27, r27 - 2812: aa 0f add r26, r26 - 2814: bb 1f adc r27, r27 - 2816: aa 0f add r26, r26 - 2818: bb 1f adc r27, r27 - 281a: a0 5f subi r26, 0xF0 ; 240 - 281c: bd 4d sbci r27, 0xDD ; 221 - 281e: 9c 91 ld r25, X - 2820: 95 ff sbrs r25, 5 - 2822: 81 c0 rjmp .+258 ; 0x2926 <__vector_126+0x1aa> + 27fe: df 01 movw r26, r30 + 2800: aa 0f add r26, r26 + 2802: bb 1f adc r27, r27 + 2804: aa 0f add r26, r26 + 2806: bb 1f adc r27, r27 + 2808: aa 0f add r26, r26 + 280a: bb 1f adc r27, r27 + 280c: a0 5f subi r26, 0xF0 ; 240 + 280e: bd 4d sbci r27, 0xDD ; 221 + 2810: 9c 91 ld r25, X + 2812: 95 ff sbrs r25, 5 + 2814: 81 c0 rjmp .+258 ; 0x2918 <__vector_126+0x1aa> return; // Error, TC is generated by Multipacket transfer } udd_endpoint_ack_transfer_complete(ep_ctrl); - 2824: fd 01 movw r30, r26 - 2826: 00 e2 ldi r16, 0x20 ; 32 - 2828: 06 93 lac Z, r16 + 2816: fd 01 movw r30, r26 + 2818: 00 e2 ldi r16, 0x20 ; 32 + 281a: 06 93 lac Z, r16 // Check status on control endpoint if (ep == 0) { - 282a: 81 11 cpse r24, r1 - 282c: 77 c0 rjmp .+238 ; 0x291c <__vector_126+0x1a0> + 281c: 81 11 cpse r24, r1 + 281e: 77 c0 rjmp .+238 ; 0x290e <__vector_126+0x1a0> static void udd_ctrl_out_received(void) { uint16_t nb_data; if (UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP == udd_ep_control_state) { - 282e: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 2832: 84 30 cpi r24, 0x04 ; 4 - 2834: 19 f4 brne .+6 ; 0x283c <__vector_126+0xc0> + 2820: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 2824: 84 30 cpi r24, 0x04 ; 4 + 2826: 19 f4 brne .+6 ; 0x282e <__vector_126+0xc0> // Valid end of setup request udd_ctrl_endofrequest(); - 2836: a4 d9 rcall .-3256 ; 0x1b80 + 2828: a4 d9 rcall .-3256 ; 0x1b72 // Reinitializes control endpoint management udd_ctrl_init(); - 2838: 60 d9 rcall .-3392 ; 0x1afa - 283a: 75 c0 rjmp .+234 ; 0x2926 <__vector_126+0x1aa> + 282a: 60 d9 rcall .-3392 ; 0x1aec + 282c: 75 c0 rjmp .+234 ; 0x2918 <__vector_126+0x1aa> return; } Assert(udd_ep_control_state == UDD_EPCTRL_DATA_OUT); // Read data received during OUT phase nb_data = udd_control_out_get_bytecnt(); - 283c: 00 91 12 22 lds r16, 0x2212 ; 0x802212 - 2840: 10 91 13 22 lds r17, 0x2213 ; 0x802213 + 282e: 00 91 12 22 lds r16, 0x2212 ; 0x802212 + 2832: 10 91 13 22 lds r17, 0x2213 ; 0x802213 if (udd_g_ctrlreq.payload_size < (udd_ctrl_payload_nb_trans + nb_data)) { - 2844: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 2848: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 284c: c0 91 fb 21 lds r28, 0x21FB ; 0x8021fb - 2850: d0 91 fc 21 lds r29, 0x21FC ; 0x8021fc - 2854: 9e 01 movw r18, r28 - 2856: 20 0f add r18, r16 - 2858: 31 1f adc r19, r17 - 285a: 82 17 cp r24, r18 - 285c: 93 07 cpc r25, r19 - 285e: 18 f4 brcc .+6 ; 0x2866 <__vector_126+0xea> + 2836: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 283a: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 283e: c0 91 fb 21 lds r28, 0x21FB ; 0x8021fb + 2842: d0 91 fc 21 lds r29, 0x21FC ; 0x8021fc + 2846: 9e 01 movw r18, r28 + 2848: 20 0f add r18, r16 + 284a: 31 1f adc r19, r17 + 284c: 82 17 cp r24, r18 + 284e: 93 07 cpc r25, r19 + 2850: 18 f4 brcc .+6 ; 0x2858 <__vector_126+0xea> // Payload buffer too small, ignore data remaining nb_data = udd_g_ctrlreq.payload_size - udd_ctrl_payload_nb_trans; - 2860: 8c 01 movw r16, r24 - 2862: 0c 1b sub r16, r28 - 2864: 1d 0b sbc r17, r29 + 2852: 8c 01 movw r16, r24 + 2854: 0c 1b sub r16, r28 + 2856: 1d 0b sbc r17, r29 } memcpy((uint8_t *) (udd_g_ctrlreq.payload + udd_ctrl_payload_nb_trans), - 2866: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 286a: 90 91 5f 24 lds r25, 0x245F ; 0x80245f - 286e: a8 01 movw r20, r16 - 2870: 6b eb ldi r22, 0xBB ; 187 - 2872: 71 e2 ldi r23, 0x21 ; 33 - 2874: 8c 0f add r24, r28 - 2876: 9d 1f adc r25, r29 - 2878: 85 d0 rcall .+266 ; 0x2984 + 2858: 80 91 5e 24 lds r24, 0x245E ; 0x80245e + 285c: 90 91 5f 24 lds r25, 0x245F ; 0x80245f + 2860: a8 01 movw r20, r16 + 2862: 6b eb ldi r22, 0xBB ; 187 + 2864: 71 e2 ldi r23, 0x21 ; 33 + 2866: 8c 0f add r24, r28 + 2868: 9d 1f adc r25, r29 + 286a: 85 d0 rcall .+266 ; 0x2976 udd_ctrl_buffer, nb_data); udd_ctrl_payload_nb_trans += nb_data; - 287a: c0 0f add r28, r16 - 287c: d1 1f adc r29, r17 - 287e: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb - 2882: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc + 286c: c0 0f add r28, r16 + 286e: d1 1f adc r29, r17 + 2870: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb + 2874: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc if ((USB_DEVICE_EP_CTRL_SIZE != nb_data) || (udd_g_ctrlreq.req.wLength - 2886: 00 34 cpi r16, 0x40 ; 64 - 2888: 11 05 cpc r17, r1 - 288a: 69 f4 brne .+26 ; 0x28a6 <__vector_126+0x12a> + 2878: 00 34 cpi r16, 0x40 ; 64 + 287a: 11 05 cpc r17, r1 + 287c: 69 f4 brne .+26 ; 0x2898 <__vector_126+0x12a> <= (udd_ctrl_prev_payload_nb_trans + udd_ctrl_payload_nb_trans))) { - 288c: 80 91 fd 21 lds r24, 0x21FD ; 0x8021fd - 2890: 90 91 fe 21 lds r25, 0x21FE ; 0x8021fe - 2894: 8c 0f add r24, r28 - 2896: 9d 1f adc r25, r29 + 287e: 80 91 fd 21 lds r24, 0x21FD ; 0x8021fd + 2882: 90 91 fe 21 lds r25, 0x21FE ; 0x8021fe + 2886: 8c 0f add r24, r28 + 2888: 9d 1f adc r25, r29 memcpy((uint8_t *) (udd_g_ctrlreq.payload + udd_ctrl_payload_nb_trans), udd_ctrl_buffer, nb_data); udd_ctrl_payload_nb_trans += nb_data; if ((USB_DEVICE_EP_CTRL_SIZE != nb_data) || (udd_g_ctrlreq.req.wLength - 2898: 20 91 5c 24 lds r18, 0x245C ; 0x80245c - 289c: 30 91 5d 24 lds r19, 0x245D ; 0x80245d - 28a0: 82 17 cp r24, r18 - 28a2: 93 07 cpc r25, r19 - 28a4: 80 f0 brcs .+32 ; 0x28c6 <__vector_126+0x14a> + 288a: 20 91 5c 24 lds r18, 0x245C ; 0x80245c + 288e: 30 91 5d 24 lds r19, 0x245D ; 0x80245d + 2892: 82 17 cp r24, r18 + 2894: 93 07 cpc r25, r19 + 2896: 80 f0 brcs .+32 ; 0x28b8 <__vector_126+0x14a> // End of reception because it is a short packet // or all data are transfered // Before send ZLP, call intermediate callback // in case of data receive generate a stall udd_g_ctrlreq.payload_size = udd_ctrl_payload_nb_trans; - 28a6: e6 e5 ldi r30, 0x56 ; 86 - 28a8: f4 e2 ldi r31, 0x24 ; 36 - 28aa: c2 87 std Z+10, r28 ; 0x0a - 28ac: d3 87 std Z+11, r29 ; 0x0b + 2898: e6 e5 ldi r30, 0x56 ; 86 + 289a: f4 e2 ldi r31, 0x24 ; 36 + 289c: c2 87 std Z+10, r28 ; 0x0a + 289e: d3 87 std Z+11, r29 ; 0x0b if (NULL != udd_g_ctrlreq.over_under_run) { - 28ae: 06 84 ldd r0, Z+14 ; 0x0e - 28b0: f7 85 ldd r31, Z+15 ; 0x0f - 28b2: e0 2d mov r30, r0 - 28b4: 30 97 sbiw r30, 0x00 ; 0 - 28b6: 29 f0 breq .+10 ; 0x28c2 <__vector_126+0x146> + 28a0: 06 84 ldd r0, Z+14 ; 0x0e + 28a2: f7 85 ldd r31, Z+15 ; 0x0f + 28a4: e0 2d mov r30, r0 + 28a6: 30 97 sbiw r30, 0x00 ; 0 + 28a8: 29 f0 breq .+10 ; 0x28b4 <__vector_126+0x146> if (!udd_g_ctrlreq.over_under_run()) { - 28b8: 09 95 icall - 28ba: 81 11 cpse r24, r1 - 28bc: 02 c0 rjmp .+4 ; 0x28c2 <__vector_126+0x146> + 28aa: 09 95 icall + 28ac: 81 11 cpse r24, r1 + 28ae: 02 c0 rjmp .+4 ; 0x28b4 <__vector_126+0x146> // Stall ZLP udd_ctrl_stall_data(); - 28be: 44 d9 rcall .-3448 ; 0x1b48 - 28c0: 32 c0 rjmp .+100 ; 0x2926 <__vector_126+0x1aa> + 28b0: 44 d9 rcall .-3448 ; 0x1b3a + 28b2: 32 c0 rjmp .+100 ; 0x2918 <__vector_126+0x1aa> return; } } // Send IN ZLP to ACK setup request udd_ctrl_send_zlp_in(); - 28c2: 50 d9 rcall .-3424 ; 0x1b64 - 28c4: 30 c0 rjmp .+96 ; 0x2926 <__vector_126+0x1aa> + 28b4: 50 d9 rcall .-3424 ; 0x1b56 + 28b6: 30 c0 rjmp .+96 ; 0x2918 <__vector_126+0x1aa> return; } if (udd_g_ctrlreq.payload_size == udd_ctrl_payload_nb_trans) { - 28c6: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 28ca: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 28ce: c8 17 cp r28, r24 - 28d0: d9 07 cpc r29, r25 - 28d2: f9 f4 brne .+62 ; 0x2912 <__vector_126+0x196> + 28b8: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 28bc: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 28c0: c8 17 cp r28, r24 + 28c2: d9 07 cpc r29, r25 + 28c4: f9 f4 brne .+62 ; 0x2904 <__vector_126+0x196> // Overrun then request a new payload buffer if (!udd_g_ctrlreq.over_under_run) { - 28d4: e0 91 64 24 lds r30, 0x2464 ; 0x802464 - 28d8: f0 91 65 24 lds r31, 0x2465 ; 0x802465 - 28dc: 30 97 sbiw r30, 0x00 ; 0 - 28de: 11 f4 brne .+4 ; 0x28e4 <__vector_126+0x168> + 28c6: e0 91 64 24 lds r30, 0x2464 ; 0x802464 + 28ca: f0 91 65 24 lds r31, 0x2465 ; 0x802465 + 28ce: 30 97 sbiw r30, 0x00 ; 0 + 28d0: 11 f4 brne .+4 ; 0x28d6 <__vector_126+0x168> // No callback available to request a new payload buffer udd_ctrl_stall_data(); - 28e0: 33 d9 rcall .-3482 ; 0x1b48 - 28e2: 21 c0 rjmp .+66 ; 0x2926 <__vector_126+0x1aa> + 28d2: 33 d9 rcall .-3482 ; 0x1b3a + 28d4: 21 c0 rjmp .+66 ; 0x2918 <__vector_126+0x1aa> return; } if (!udd_g_ctrlreq.over_under_run()) { - 28e4: 09 95 icall - 28e6: 81 11 cpse r24, r1 - 28e8: 02 c0 rjmp .+4 ; 0x28ee <__vector_126+0x172> + 28d6: 09 95 icall + 28d8: 81 11 cpse r24, r1 + 28da: 02 c0 rjmp .+4 ; 0x28e0 <__vector_126+0x172> // No new payload buffer delivered udd_ctrl_stall_data(); - 28ea: 2e d9 rcall .-3492 ; 0x1b48 - 28ec: 1c c0 rjmp .+56 ; 0x2926 <__vector_126+0x1aa> + 28dc: 2e d9 rcall .-3492 ; 0x1b3a + 28de: 1c c0 rjmp .+56 ; 0x2918 <__vector_126+0x1aa> return; } // New payload buffer available // Update number of total data received udd_ctrl_prev_payload_nb_trans += udd_ctrl_payload_nb_trans; - 28ee: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd - 28f2: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe - 28f6: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 28fa: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 28fe: 82 0f add r24, r18 - 2900: 93 1f adc r25, r19 - 2902: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd - 2906: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe + 28e0: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd + 28e4: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe + 28e8: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 28ec: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 28f0: 82 0f add r24, r18 + 28f2: 93 1f adc r25, r19 + 28f4: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd + 28f8: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe // Reinit reception on payload buffer udd_ctrl_payload_nb_trans = 0; - 290a: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 290e: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 28fc: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 2900: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc } // Free buffer of OUT control endpoint to authorize next reception udd_control_out_clear_NACK0(); - 2912: e0 e1 ldi r30, 0x10 ; 16 - 2914: f2 e2 ldi r31, 0x22 ; 34 - 2916: 02 e0 ldi r16, 0x02 ; 2 - 2918: 06 93 lac Z, r16 - 291a: 05 c0 rjmp .+10 ; 0x2926 <__vector_126+0x1aa> + 2904: e0 e1 ldi r30, 0x10 ; 16 + 2906: f2 e2 ldi r31, 0x22 ; 34 + 2908: 02 e0 ldi r16, 0x02 ; 2 + 290a: 06 93 lac Z, r16 + 290c: 05 c0 rjmp .+10 ; 0x2918 <__vector_126+0x1aa> // Check status on control endpoint if (ep == 0) { udd_ctrl_out_received(); goto udd_interrupt_tc_end; // Interrupt acked by control endpoint managed } if (ep == (0 | USB_EP_DIR_IN)) { - 291c: 80 38 cpi r24, 0x80 ; 128 - 291e: 11 f4 brne .+4 ; 0x2924 <__vector_126+0x1a8> + 290e: 80 38 cpi r24, 0x80 ; 128 + 2910: 11 f4 brne .+4 ; 0x2916 <__vector_126+0x1a8> udd_ctrl_in_sent(); - 2920: 37 d9 rcall .-3474 ; 0x1b90 + 2912: 37 d9 rcall .-3474 ; 0x1b82 goto udd_interrupt_tc_end; // Interrupt acked by control endpoint managed - 2922: 01 c0 rjmp .+2 ; 0x2926 <__vector_126+0x1aa> + 2914: 01 c0 rjmp .+2 ; 0x2918 <__vector_126+0x1aa> } Assert(udd_ep_is_valid(ep)); // Manage end of transfer on endpoint bulk/interrupt/isochronous udd_ep_trans_complet(ep); - 2924: 51 da rcall .-2910 ; 0x1dc8 + 2916: 51 da rcall .-2910 ; 0x1dba } #endif udd_interrupt_tc_end: return; } - 2926: ff 91 pop r31 - 2928: ef 91 pop r30 - 292a: df 91 pop r29 - 292c: cf 91 pop r28 - 292e: bf 91 pop r27 - 2930: af 91 pop r26 - 2932: 9f 91 pop r25 - 2934: 8f 91 pop r24 - 2936: 7f 91 pop r23 - 2938: 6f 91 pop r22 - 293a: 5f 91 pop r21 - 293c: 4f 91 pop r20 - 293e: 3f 91 pop r19 - 2940: 2f 91 pop r18 - 2942: 1f 91 pop r17 - 2944: 0f 91 pop r16 - 2946: 0f 90 pop r0 - 2948: 0f be out 0x3f, r0 ; 63 - 294a: 0f 90 pop r0 - 294c: 1f 90 pop r1 - 294e: 18 95 reti + 2918: ff 91 pop r31 + 291a: ef 91 pop r30 + 291c: df 91 pop r29 + 291e: cf 91 pop r28 + 2920: bf 91 pop r27 + 2922: af 91 pop r26 + 2924: 9f 91 pop r25 + 2926: 8f 91 pop r24 + 2928: 7f 91 pop r23 + 292a: 6f 91 pop r22 + 292c: 5f 91 pop r21 + 292e: 4f 91 pop r20 + 2930: 3f 91 pop r19 + 2932: 2f 91 pop r18 + 2934: 1f 91 pop r17 + 2936: 0f 91 pop r16 + 2938: 0f 90 pop r0 + 293a: 0f be out 0x3f, r0 ; 63 + 293c: 0f 90 pop r0 + 293e: 1f 90 pop r1 + 2940: 18 95 reti -00002950 <__udivmodhi4>: - 2950: aa 1b sub r26, r26 - 2952: bb 1b sub r27, r27 - 2954: 51 e1 ldi r21, 0x11 ; 17 - 2956: 07 c0 rjmp .+14 ; 0x2966 <__udivmodhi4_ep> +00002942 <__udivmodhi4>: + 2942: aa 1b sub r26, r26 + 2944: bb 1b sub r27, r27 + 2946: 51 e1 ldi r21, 0x11 ; 17 + 2948: 07 c0 rjmp .+14 ; 0x2958 <__udivmodhi4_ep> -00002958 <__udivmodhi4_loop>: - 2958: aa 1f adc r26, r26 - 295a: bb 1f adc r27, r27 - 295c: a6 17 cp r26, r22 - 295e: b7 07 cpc r27, r23 - 2960: 10 f0 brcs .+4 ; 0x2966 <__udivmodhi4_ep> - 2962: a6 1b sub r26, r22 - 2964: b7 0b sbc r27, r23 +0000294a <__udivmodhi4_loop>: + 294a: aa 1f adc r26, r26 + 294c: bb 1f adc r27, r27 + 294e: a6 17 cp r26, r22 + 2950: b7 07 cpc r27, r23 + 2952: 10 f0 brcs .+4 ; 0x2958 <__udivmodhi4_ep> + 2954: a6 1b sub r26, r22 + 2956: b7 0b sbc r27, r23 -00002966 <__udivmodhi4_ep>: - 2966: 88 1f adc r24, r24 - 2968: 99 1f adc r25, r25 - 296a: 5a 95 dec r21 - 296c: a9 f7 brne .-22 ; 0x2958 <__udivmodhi4_loop> - 296e: 80 95 com r24 - 2970: 90 95 com r25 - 2972: bc 01 movw r22, r24 - 2974: cd 01 movw r24, r26 - 2976: 08 95 ret +00002958 <__udivmodhi4_ep>: + 2958: 88 1f adc r24, r24 + 295a: 99 1f adc r25, r25 + 295c: 5a 95 dec r21 + 295e: a9 f7 brne .-22 ; 0x294a <__udivmodhi4_loop> + 2960: 80 95 com r24 + 2962: 90 95 com r25 + 2964: bc 01 movw r22, r24 + 2966: cd 01 movw r24, r26 + 2968: 08 95 ret -00002978 <__tablejump2__>: - 2978: ee 0f add r30, r30 - 297a: ff 1f adc r31, r31 - 297c: 05 90 lpm r0, Z+ - 297e: f4 91 lpm r31, Z - 2980: e0 2d mov r30, r0 - 2982: 09 94 ijmp +0000296a <__tablejump2__>: + 296a: ee 0f add r30, r30 + 296c: ff 1f adc r31, r31 + 296e: 05 90 lpm r0, Z+ + 2970: f4 91 lpm r31, Z + 2972: e0 2d mov r30, r0 + 2974: 09 94 ijmp -00002984 : - 2984: fb 01 movw r30, r22 - 2986: dc 01 movw r26, r24 - 2988: 02 c0 rjmp .+4 ; 0x298e - 298a: 01 90 ld r0, Z+ - 298c: 0d 92 st X+, r0 - 298e: 41 50 subi r20, 0x01 ; 1 - 2990: 50 40 sbci r21, 0x00 ; 0 - 2992: d8 f7 brcc .-10 ; 0x298a - 2994: 08 95 ret +00002976 : + 2976: fb 01 movw r30, r22 + 2978: dc 01 movw r26, r24 + 297a: 02 c0 rjmp .+4 ; 0x2980 + 297c: 01 90 ld r0, Z+ + 297e: 0d 92 st X+, r0 + 2980: 41 50 subi r20, 0x01 ; 1 + 2982: 50 40 sbci r21, 0x00 ; 0 + 2984: d8 f7 brcc .-10 ; 0x297c + 2986: 08 95 ret -00002996 <_exit>: - 2996: f8 94 cli +00002988 <_exit>: + 2988: f8 94 cli -00002998 <__stop_program>: - 2998: ff cf rjmp .-2 ; 0x2998 <__stop_program> +0000298a <__stop_program>: + 298a: ff cf rjmp .-2 ; 0x298a <__stop_program> diff --git a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map index 6fbac1f1..339cb3d3 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map @@ -361,7 +361,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 src/main.o .debug_macro 0x00000000 0x1c src/main.o .debug_macro 0x00000000 0x7b src/main.o - .debug_macro 0x00000000 0x58 src/main.o + .debug_macro 0x00000000 0x52 src/main.o .group 0x00000000 0x8 src/tiny_adc.o .group 0x00000000 0x8 src/tiny_adc.o .group 0x00000000 0x8 src/tiny_adc.o @@ -471,7 +471,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 src/tiny_adc.o .debug_macro 0x00000000 0x1c src/tiny_adc.o .debug_macro 0x00000000 0x7b src/tiny_adc.o - .debug_macro 0x00000000 0x58 src/tiny_adc.o + .debug_macro 0x00000000 0x52 src/tiny_adc.o .group 0x00000000 0x8 src/tiny_dac.o .group 0x00000000 0x8 src/tiny_dac.o .group 0x00000000 0x8 src/tiny_dac.o @@ -687,7 +687,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 src/tiny_dma.o .debug_macro 0x00000000 0x1c src/tiny_dma.o .debug_macro 0x00000000 0x7b src/tiny_dma.o - .debug_macro 0x00000000 0x58 src/tiny_dma.o + .debug_macro 0x00000000 0x52 src/tiny_dma.o .group 0x00000000 0x8 src/tiny_timer.o .group 0x00000000 0x8 src/tiny_timer.o .group 0x00000000 0x8 src/tiny_timer.o @@ -796,7 +796,7 @@ Discarded input sections .debug_macro 0x00000000 0x58 src/tiny_timer.o .debug_macro 0x00000000 0x10 src/tiny_timer.o .debug_macro 0x00000000 0xf2 src/tiny_timer.o - .debug_macro 0x00000000 0x58 src/tiny_timer.o + .debug_macro 0x00000000 0x52 src/tiny_timer.o .group 0x00000000 0x8 src/tiny_uart.o .group 0x00000000 0x8 src/tiny_uart.o .group 0x00000000 0x8 src/tiny_uart.o @@ -905,7 +905,7 @@ Discarded input sections .debug_macro 0x00000000 0x58 src/tiny_uart.o .debug_macro 0x00000000 0x10 src/tiny_uart.o .debug_macro 0x00000000 0xf2 src/tiny_uart.o - .debug_macro 0x00000000 0x58 src/tiny_uart.o + .debug_macro 0x00000000 0x52 src/tiny_uart.o .group 0x00000000 0x8 src/ASF/common/services/usb/class/vendor/device/example/atxmega256a3bu_xmega_a3bu_xplained/ui.o .group 0x00000000 0x8 src/ASF/common/services/usb/class/vendor/device/example/atxmega256a3bu_xmega_a3bu_xplained/ui.o .group 0x00000000 0x8 src/ASF/common/services/usb/class/vendor/device/example/atxmega256a3bu_xmega_a3bu_xplained/ui.o @@ -1444,7 +1444,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0x1c src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0x7b src/ASF/common/services/usb/udc/udc.o - .debug_macro 0x00000000 0x58 src/ASF/common/services/usb/udc/udc.o + .debug_macro 0x00000000 0x52 src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0x58 src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0x10 src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0xf2 src/ASF/common/services/usb/udc/udc.o @@ -1927,7 +1927,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0x299a +.text 0x00000000 0x298c *(.vectors) .vectors 0x00000000 0x1fc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o 0x00000000 __vector_default @@ -2008,7 +2008,6 @@ END GROUP 0x00000292 __vector_62 0x00000292 __vector_77 0x00000292 __vector_102 - 0x00000292 __vector_24 0x00000292 __vector_12 0x00000292 __vector_55 0x00000292 __vector_69 @@ -2151,216 +2150,219 @@ END GROUP 0x00000372 0x4 src/main.o 0x00000372 main_setup_in_received .text.tiny_adc_ch0setup - 0x00000376 0x1e src/tiny_adc.o + 0x00000376 0x2a src/tiny_adc.o 0x00000376 tiny_adc_ch0setup .text.tiny_adc_ch1setup - 0x00000394 0x14 src/tiny_adc.o - 0x00000394 tiny_adc_ch1setup + 0x000003a0 0x14 src/tiny_adc.o + 0x000003a0 tiny_adc_ch1setup .text.tiny_adc_pid_setup - 0x000003a8 0x14 src/tiny_adc.o - 0x000003a8 tiny_adc_pid_setup + 0x000003b4 0x14 src/tiny_adc.o + 0x000003b4 tiny_adc_pid_setup .text.ReadCalibrationByte - 0x000003bc 0x12 src/tiny_adc.o - 0x000003bc ReadCalibrationByte + 0x000003c8 0x12 src/tiny_adc.o + 0x000003c8 ReadCalibrationByte .text.tiny_adc_setup - 0x000003ce 0x7a src/tiny_adc.o - 0x000003ce tiny_adc_setup + 0x000003da 0x7a src/tiny_adc.o + 0x000003da tiny_adc_setup .text.tiny_dac_setup - 0x00000448 0x48 src/tiny_dac.o - 0x00000448 tiny_dac_setup + 0x00000454 0x48 src/tiny_dac.o + 0x00000454 tiny_dac_setup .text.tiny_dma_setup - 0x00000490 0x12 src/tiny_dma.o - 0x00000490 tiny_dma_setup + 0x0000049c 0x12 src/tiny_dma.o + 0x0000049c tiny_dma_setup .text.tiny_dma_flush - 0x000004a2 0x24 src/tiny_dma.o - 0x000004a2 tiny_dma_flush + 0x000004ae 0x24 src/tiny_dma.o + 0x000004ae tiny_dma_flush .text.tiny_dma_set_mode_0 - 0x000004c6 0x90 src/tiny_dma.o - 0x000004c6 tiny_dma_set_mode_0 + 0x000004d2 0x90 src/tiny_dma.o + 0x000004d2 tiny_dma_set_mode_0 .text.tiny_dma_loop_mode_0 - 0x00000556 0x60 src/tiny_dma.o - 0x00000556 tiny_dma_loop_mode_0 + 0x00000562 0x60 src/tiny_dma.o + 0x00000562 tiny_dma_loop_mode_0 .text.tiny_dma_set_mode_1 - 0x000005b6 0x9c src/tiny_dma.o - 0x000005b6 tiny_dma_set_mode_1 + 0x000005c2 0x9c src/tiny_dma.o + 0x000005c2 tiny_dma_set_mode_1 .text.tiny_dma_loop_mode_1 - 0x00000652 0xae src/tiny_dma.o - 0x00000652 tiny_dma_loop_mode_1 + 0x0000065e 0xae src/tiny_dma.o + 0x0000065e tiny_dma_loop_mode_1 .text.tiny_dma_set_mode_2 - 0x00000700 0x94 src/tiny_dma.o - 0x00000700 tiny_dma_set_mode_2 + 0x0000070c 0x94 src/tiny_dma.o + 0x0000070c tiny_dma_set_mode_2 .text.tiny_dma_loop_mode_2 - 0x00000794 0xb0 src/tiny_dma.o - 0x00000794 tiny_dma_loop_mode_2 + 0x000007a0 0xb0 src/tiny_dma.o + 0x000007a0 tiny_dma_loop_mode_2 .text.tiny_dma_set_mode_3 - 0x00000844 0xcc src/tiny_dma.o - 0x00000844 tiny_dma_set_mode_3 + 0x00000850 0xcc src/tiny_dma.o + 0x00000850 tiny_dma_set_mode_3 .text.tiny_dma_loop_mode_3 - 0x00000910 0x60 src/tiny_dma.o - 0x00000910 tiny_dma_loop_mode_3 + 0x0000091c 0x60 src/tiny_dma.o + 0x0000091c tiny_dma_loop_mode_3 .text.tiny_dma_set_mode_4 - 0x00000970 0xcc src/tiny_dma.o - 0x00000970 tiny_dma_set_mode_4 + 0x0000097c 0x7c src/tiny_dma.o + 0x0000097c tiny_dma_set_mode_4 .text.tiny_dma_loop_mode_4 - 0x00000a3c 0xb4 src/tiny_dma.o - 0x00000a3c tiny_dma_loop_mode_4 + 0x000009f8 0xca src/tiny_dma.o + 0x000009f8 tiny_dma_loop_mode_4 .text.tiny_dma_set_mode_5 - 0x00000af0 0x8e src/tiny_dma.o - 0x00000af0 tiny_dma_set_mode_5 + 0x00000ac2 0x8e src/tiny_dma.o + 0x00000ac2 tiny_dma_set_mode_5 .text.tiny_dma_set_mode_6 - 0x00000b7e 0x92 src/tiny_dma.o - 0x00000b7e tiny_dma_set_mode_6 + 0x00000b50 0x92 src/tiny_dma.o + 0x00000b50 tiny_dma_set_mode_6 .text.tiny_dma_loop_mode_6 - 0x00000c10 0x5c src/tiny_dma.o - 0x00000c10 tiny_dma_loop_mode_6 + 0x00000be2 0x5c src/tiny_dma.o + 0x00000be2 tiny_dma_loop_mode_6 .text.tiny_dma_set_mode_7 - 0x00000c6c 0x92 src/tiny_dma.o - 0x00000c6c tiny_dma_set_mode_7 + 0x00000c3e 0x92 src/tiny_dma.o + 0x00000c3e tiny_dma_set_mode_7 .text.tiny_dma_loop_mode_7 - 0x00000cfe 0x5c src/tiny_dma.o - 0x00000cfe tiny_dma_loop_mode_7 + 0x00000cd0 0x5c src/tiny_dma.o + 0x00000cd0 tiny_dma_loop_mode_7 .text.tiny_timer_setup - 0x00000d5a 0x76 src/tiny_timer.o - 0x00000d5a tiny_timer_setup + 0x00000d2c 0x76 src/tiny_timer.o + 0x00000d2c tiny_timer_setup .text.__vector_83 - 0x00000dd0 0xee src/tiny_timer.o - 0x00000dd0 __vector_83 + 0x00000da2 0xee src/tiny_timer.o + 0x00000da2 __vector_83 .text.tiny_uart_setup - 0x00000ebe 0x30 src/tiny_uart.o - 0x00000ebe tiny_uart_setup + 0x00000e90 0x34 src/tiny_uart.o + 0x00000e90 tiny_uart_setup .text.tiny_spi_setup - 0x00000eee 0x18 src/tiny_uart.o - 0x00000eee tiny_spi_setup + 0x00000ec4 0x1e src/tiny_uart.o + 0x00000ec4 tiny_spi_setup + .text.__vector_24 + 0x00000ee2 0x16 src/tiny_uart.o + 0x00000ee2 __vector_24 .text.sysclk_init - 0x00000f06 0xe0 src/ASF/common/services/clock/xmega/sysclk.o - 0x00000f06 sysclk_init + 0x00000ef8 0xe0 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000ef8 sysclk_init .text.sysclk_enable_module - 0x00000fe6 0x18 src/ASF/common/services/clock/xmega/sysclk.o - 0x00000fe6 sysclk_enable_module + 0x00000fd8 0x18 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000fd8 sysclk_enable_module .text.sysclk_enable_usb - 0x00000ffe 0x6e src/ASF/common/services/clock/xmega/sysclk.o - 0x00000ffe sysclk_enable_usb + 0x00000ff0 0x6e src/ASF/common/services/clock/xmega/sysclk.o + 0x00000ff0 sysclk_enable_usb .text.udi_vendor_getsetting - 0x0000106c 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x0000106c udi_vendor_getsetting + 0x0000105e 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000105e udi_vendor_getsetting .text.udi_vendor_enable - 0x00001072 0x16 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001072 udi_vendor_enable + 0x00001064 0x16 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001064 udi_vendor_enable .text.udi_vendor_disable - 0x00001088 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001088 udi_vendor_disable + 0x0000107a 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000107a udi_vendor_disable .text.udi_vendor_setup - 0x00001094 0x4c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001094 udi_vendor_setup + 0x00001086 0x4c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001086 udi_vendor_setup .text.udi_vendor_iso_in_run - 0x000010e0 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000010e0 udi_vendor_iso_in_run + 0x000010d2 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000010d2 udi_vendor_iso_in_run .text.udc_next_desc_in_iface - 0x000010f8 0x64 src/ASF/common/services/usb/udc/udc.o + 0x000010ea 0x64 src/ASF/common/services/usb/udc/udc.o .text.udc_valid_address - 0x0000115c 0xc src/ASF/common/services/usb/udc/udc.o + 0x0000114e 0xc src/ASF/common/services/usb/udc/udc.o .text.udc_update_iface_desc - 0x00001168 0x74 src/ASF/common/services/usb/udc/udc.o + 0x0000115a 0x74 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_disable - 0x000011dc 0x84 src/ASF/common/services/usb/udc/udc.o + 0x000011ce 0x84 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_enable - 0x00001260 0x64 src/ASF/common/services/usb/udc/udc.o + 0x00001252 0x64 src/ASF/common/services/usb/udc/udc.o .text.udc_get_interface_desc - 0x000012c4 0xa src/ASF/common/services/usb/udc/udc.o - 0x000012c4 udc_get_interface_desc + 0x000012b6 0xa src/ASF/common/services/usb/udc/udc.o + 0x000012b6 udc_get_interface_desc .text.udc_start - 0x000012ce 0x4 src/ASF/common/services/usb/udc/udc.o - 0x000012ce udc_start + 0x000012c0 0x4 src/ASF/common/services/usb/udc/udc.o + 0x000012c0 udc_start .text.udc_reset - 0x000012d2 0x4a src/ASF/common/services/usb/udc/udc.o - 0x000012d2 udc_reset + 0x000012c4 0x4a src/ASF/common/services/usb/udc/udc.o + 0x000012c4 udc_reset .text.udc_sof_notify - 0x0000131c 0x60 src/ASF/common/services/usb/udc/udc.o - 0x0000131c udc_sof_notify + 0x0000130e 0x60 src/ASF/common/services/usb/udc/udc.o + 0x0000130e udc_sof_notify .text.udc_process_setup - 0x0000137c 0x70c src/ASF/common/services/usb/udc/udc.o - 0x0000137c udc_process_setup + 0x0000136e 0x70c src/ASF/common/services/usb/udc/udc.o + 0x0000136e udc_process_setup .text.ccp_write_io - 0x00001a88 0xc src/ASF/xmega/drivers/cpu/ccp.o - 0x00001a88 ccp_write_io + 0x00001a7a 0xc src/ASF/xmega/drivers/cpu/ccp.o + 0x00001a7a ccp_write_io .text.nvm_read_byte - 0x00001a94 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o - 0x00001a94 nvm_read_byte + 0x00001a86 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o + 0x00001a86 nvm_read_byte .text.udd_sleep_mode - 0x00001aa8 0x52 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a9a 0x52 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_init - 0x00001afa 0x4e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001aec 0x4e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_stall_data - 0x00001b48 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b3a 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_send_zlp_in - 0x00001b64 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b56 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_endofrequest - 0x00001b80 0x10 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b72 0x10 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_in_sent - 0x00001b90 0xd8 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b82 0xd8 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_size - 0x00001c68 0x4c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001c5a 0x4c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_job - 0x00001cb4 0x36 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001ca6 0x36 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_interrupt_tc_setup - 0x00001cea 0xde src/ASF/xmega/drivers/usb/usb_device.o + 0x00001cdc 0xde src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_trans_complet - 0x00001dc8 0x2b4 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001dba 0x2b4 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_attach - 0x0000207c 0x46 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000207c udd_attach + 0x0000206e 0x46 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000206e udd_attach .text.udd_enable - 0x000020c2 0x10a src/ASF/xmega/drivers/usb/usb_device.o - 0x000020c2 udd_enable + 0x000020b4 0x10a src/ASF/xmega/drivers/usb/usb_device.o + 0x000020b4 udd_enable .text.udd_set_address - 0x000021cc 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x000021cc udd_set_address + 0x000021be 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x000021be udd_set_address .text.udd_getaddress - 0x000021d2 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x000021d2 udd_getaddress + 0x000021c4 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x000021c4 udd_getaddress .text.udd_set_setup_payload - 0x000021d8 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x000021d8 udd_set_setup_payload + 0x000021ca 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x000021ca udd_set_setup_payload .text.udd_ep_alloc - 0x000021e6 0xea src/ASF/xmega/drivers/usb/usb_device.o - 0x000021e6 udd_ep_alloc + 0x000021d8 0xea src/ASF/xmega/drivers/usb/usb_device.o + 0x000021d8 udd_ep_alloc .text.udd_ep_is_halted - 0x000022d0 0x36 src/ASF/xmega/drivers/usb/usb_device.o - 0x000022d0 udd_ep_is_halted + 0x000022c2 0x36 src/ASF/xmega/drivers/usb/usb_device.o + 0x000022c2 udd_ep_is_halted .text.udd_ep_clear_halt - 0x00002306 0x6a src/ASF/xmega/drivers/usb/usb_device.o - 0x00002306 udd_ep_clear_halt + 0x000022f8 0x6a src/ASF/xmega/drivers/usb/usb_device.o + 0x000022f8 udd_ep_clear_halt .text.udd_ep_run - 0x00002370 0x174 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002370 udd_ep_run + 0x00002362 0x174 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002362 udd_ep_run .text.udd_ep_abort - 0x000024e4 0x92 src/ASF/xmega/drivers/usb/usb_device.o - 0x000024e4 udd_ep_abort + 0x000024d6 0x92 src/ASF/xmega/drivers/usb/usb_device.o + 0x000024d6 udd_ep_abort .text.udd_ep_free - 0x00002576 0x38 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002576 udd_ep_free + 0x00002568 0x38 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002568 udd_ep_free .text.udd_ep_set_halt - 0x000025ae 0x5a src/ASF/xmega/drivers/usb/usb_device.o - 0x000025ae udd_ep_set_halt + 0x000025a0 0x5a src/ASF/xmega/drivers/usb/usb_device.o + 0x000025a0 udd_ep_set_halt .text.__vector_125 - 0x00002608 0x174 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002608 __vector_125 + 0x000025fa 0x174 src/ASF/xmega/drivers/usb/usb_device.o + 0x000025fa __vector_125 .text.__vector_126 - 0x0000277c 0x1d4 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000277c __vector_126 + 0x0000276e 0x1d4 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000276e __vector_126 .text.libgcc.div - 0x00002950 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_udivmodhi4.o) - 0x00002950 __udivmodhi4 - .text.libgcc 0x00002978 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_tablejump2.o) - 0x00002978 __tablejump2__ + 0x00002942 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_udivmodhi4.o) + 0x00002942 __udivmodhi4 + .text.libgcc 0x0000296a 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_tablejump2.o) + 0x0000296a __tablejump2__ .text.avr-libc - 0x00002984 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avrxmega2\libc.a(memcpy.o) - 0x00002984 memcpy - 0x00002996 . = ALIGN (0x2) + 0x00002976 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avrxmega2\libc.a(memcpy.o) + 0x00002976 memcpy + 0x00002988 . = ALIGN (0x2) *(.fini9) - .fini9 0x00002996 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) - 0x00002996 _exit - 0x00002996 exit + .fini9 0x00002988 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) + 0x00002988 _exit + 0x00002988 exit *(.fini9) *(.fini8) *(.fini8) @@ -2379,11 +2381,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00002996 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) + .fini0 0x00002988 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) *(.fini0) - 0x0000299a _etext = . + 0x0000298c _etext = . -.data 0x00802000 0xb2 load address 0x0000299a +.data 0x00802000 0xb2 load address 0x0000298c 0x00802000 PROVIDE (__data_start, .) *(.data) *(.data*) @@ -2488,8 +2490,8 @@ END GROUP COMMON 0x00802c42 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o 0x00802c42 sleepmgr_locks 0x00802c48 PROVIDE (__bss_end, .) - 0x0000299a __data_load_start = LOADADDR (.data) - 0x00002a4c __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x0000298c __data_load_start = LOADADDR (.data) + 0x00002a3e __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00802c48 0x0 [!provide] PROVIDE (__noinit_start, .) @@ -2573,7 +2575,7 @@ END GROUP .debug_sfnames *(.debug_sfnames) -.debug_aranges 0x00000000 0x490 +.debug_aranges 0x00000000 0x498 *(.debug_aranges) .debug_aranges 0x00000000 0x20 src/tiny_dig.o @@ -2590,28 +2592,28 @@ END GROUP .debug_aranges 0x000001a0 0x28 src/tiny_timer.o .debug_aranges - 0x000001c8 0x28 src/tiny_uart.o + 0x000001c8 0x30 src/tiny_uart.o .debug_aranges - 0x000001f0 0x40 src/ASF/common/services/clock/xmega/sysclk.o + 0x000001f8 0x40 src/ASF/common/services/clock/xmega/sysclk.o .debug_aranges - 0x00000230 0x18 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + 0x00000238 0x18 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o .debug_aranges - 0x00000248 0x58 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00000250 0x58 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o .debug_aranges - 0x000002a0 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + 0x000002a8 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o .debug_aranges - 0x000002b8 0x70 src/ASF/common/services/usb/udc/udc.o + 0x000002c0 0x70 src/ASF/common/services/usb/udc/udc.o .debug_aranges - 0x00000328 0x20 src/ASF/xmega/drivers/cpu/ccp.o + 0x00000330 0x20 src/ASF/xmega/drivers/cpu/ccp.o .debug_aranges - 0x00000348 0x28 src/ASF/xmega/drivers/nvm/nvm_asm.o + 0x00000350 0x28 src/ASF/xmega/drivers/nvm/nvm_asm.o .debug_aranges - 0x00000370 0x120 src/ASF/xmega/drivers/usb/usb_device.o + 0x00000378 0x120 src/ASF/xmega/drivers/usb/usb_device.o .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0xa23b +.debug_info 0x00000000 0xa277 *(.debug_info .gnu.linkonce.wi.*) .debug_info 0x00000000 0x290 src/tiny_dig.o .debug_info 0x00000290 0xff src/ASF/common/boards/user_board/init.o @@ -2620,17 +2622,17 @@ END GROUP .debug_info 0x00001514 0x5f0 src/tiny_dac.o .debug_info 0x00001b04 0x10d5 src/tiny_dma.o .debug_info 0x00002bd9 0x17b4 src/tiny_timer.o - .debug_info 0x0000438d 0x476 src/tiny_uart.o - .debug_info 0x00004803 0xc3d src/ASF/common/services/clock/xmega/sysclk.o - .debug_info 0x00005440 0x121 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - .debug_info 0x00005561 0x62f src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_info 0x00005b90 0x5fc src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_info 0x0000618c 0x214e src/ASF/common/services/usb/udc/udc.o - .debug_info 0x000082da 0x91 src/ASF/xmega/drivers/cpu/ccp.o - .debug_info 0x0000836b 0x91 src/ASF/xmega/drivers/nvm/nvm_asm.o - .debug_info 0x000083fc 0x1e3f src/ASF/xmega/drivers/usb/usb_device.o + .debug_info 0x0000438d 0x4b2 src/tiny_uart.o + .debug_info 0x0000483f 0xc3d src/ASF/common/services/clock/xmega/sysclk.o + .debug_info 0x0000547c 0x121 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_info 0x0000559d 0x62f src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_info 0x00005bcc 0x5fc src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_info 0x000061c8 0x214e src/ASF/common/services/usb/udc/udc.o + .debug_info 0x00008316 0x91 src/ASF/xmega/drivers/cpu/ccp.o + .debug_info 0x000083a7 0x91 src/ASF/xmega/drivers/nvm/nvm_asm.o + .debug_info 0x00008438 0x1e3f src/ASF/xmega/drivers/usb/usb_device.o -.debug_abbrev 0x00000000 0x1b8a +.debug_abbrev 0x00000000 0x1ba2 *(.debug_abbrev) .debug_abbrev 0x00000000 0xcc src/tiny_dig.o .debug_abbrev 0x000000cc 0x8b src/ASF/common/boards/user_board/init.o @@ -2639,36 +2641,36 @@ END GROUP .debug_abbrev 0x0000055b 0x161 src/tiny_dac.o .debug_abbrev 0x000006bc 0x1f2 src/tiny_dma.o .debug_abbrev 0x000008ae 0x175 src/tiny_timer.o - .debug_abbrev 0x00000a23 0xea src/tiny_uart.o - .debug_abbrev 0x00000b0d 0x2cd src/ASF/common/services/clock/xmega/sysclk.o - .debug_abbrev 0x00000dda 0x80 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - .debug_abbrev 0x00000e5a 0x21d src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_abbrev 0x00001077 0xef src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_abbrev 0x00001166 0x42a src/ASF/common/services/usb/udc/udc.o - .debug_abbrev 0x00001590 0x14 src/ASF/xmega/drivers/cpu/ccp.o - .debug_abbrev 0x000015a4 0x12 src/ASF/xmega/drivers/nvm/nvm_asm.o - .debug_abbrev 0x000015b6 0x5d4 src/ASF/xmega/drivers/usb/usb_device.o + .debug_abbrev 0x00000a23 0x102 src/tiny_uart.o + .debug_abbrev 0x00000b25 0x2cd src/ASF/common/services/clock/xmega/sysclk.o + .debug_abbrev 0x00000df2 0x80 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_abbrev 0x00000e72 0x21d src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_abbrev 0x0000108f 0xef src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_abbrev 0x0000117e 0x42a src/ASF/common/services/usb/udc/udc.o + .debug_abbrev 0x000015a8 0x14 src/ASF/xmega/drivers/cpu/ccp.o + .debug_abbrev 0x000015bc 0x12 src/ASF/xmega/drivers/nvm/nvm_asm.o + .debug_abbrev 0x000015ce 0x5d4 src/ASF/xmega/drivers/usb/usb_device.o -.debug_line 0x00000000 0x89ea +.debug_line 0x00000000 0x89d2 *(.debug_line .debug_line.* .debug_line_end) .debug_line 0x00000000 0x7b8 src/tiny_dig.o .debug_line 0x000007b8 0x78d src/ASF/common/boards/user_board/init.o .debug_line 0x00000f45 0xa09 src/main.o - .debug_line 0x0000194e 0x942 src/tiny_adc.o - .debug_line 0x00002290 0x806 src/tiny_dac.o - .debug_line 0x00002a96 0x12ae src/tiny_dma.o - .debug_line 0x00003d44 0x8bb src/tiny_timer.o - .debug_line 0x000045ff 0x817 src/tiny_uart.o - .debug_line 0x00004e16 0x738 src/ASF/common/services/clock/xmega/sysclk.o - .debug_line 0x0000554e 0x455 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - .debug_line 0x000059a3 0x625 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_line 0x00005fc8 0x4f1 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_line 0x000064b9 0xeae src/ASF/common/services/usb/udc/udc.o - .debug_line 0x00007367 0x6e src/ASF/xmega/drivers/cpu/ccp.o - .debug_line 0x000073d5 0x11f src/ASF/xmega/drivers/nvm/nvm_asm.o - .debug_line 0x000074f4 0x14f6 src/ASF/xmega/drivers/usb/usb_device.o + .debug_line 0x0000194e 0x956 src/tiny_adc.o + .debug_line 0x000022a4 0x806 src/tiny_dac.o + .debug_line 0x00002aaa 0x125a src/tiny_dma.o + .debug_line 0x00003d04 0x8bb src/tiny_timer.o + .debug_line 0x000045bf 0x83f src/tiny_uart.o + .debug_line 0x00004dfe 0x738 src/ASF/common/services/clock/xmega/sysclk.o + .debug_line 0x00005536 0x455 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_line 0x0000598b 0x625 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_line 0x00005fb0 0x4f1 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_line 0x000064a1 0xeae src/ASF/common/services/usb/udc/udc.o + .debug_line 0x0000734f 0x6e src/ASF/xmega/drivers/cpu/ccp.o + .debug_line 0x000073bd 0x11f src/ASF/xmega/drivers/nvm/nvm_asm.o + .debug_line 0x000074dc 0x14f6 src/ASF/xmega/drivers/usb/usb_device.o -.debug_frame 0x00000000 0x9b4 +.debug_frame 0x00000000 0x9d0 *(.debug_frame) .debug_frame 0x00000000 0x24 src/tiny_dig.o .debug_frame 0x00000024 0x24 src/ASF/common/boards/user_board/init.o @@ -2677,54 +2679,55 @@ END GROUP .debug_frame 0x0000015c 0x30 src/tiny_dac.o .debug_frame 0x0000018c 0x14c src/tiny_dma.o .debug_frame 0x000002d8 0x78 src/tiny_timer.o - .debug_frame 0x00000350 0x34 src/tiny_uart.o - .debug_frame 0x00000384 0x80 src/ASF/common/services/clock/xmega/sysclk.o - .debug_frame 0x00000404 0xc4 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_frame 0x000004c8 0x114 src/ASF/common/services/usb/udc/udc.o - .debug_frame 0x000005dc 0x3d8 src/ASF/xmega/drivers/usb/usb_device.o + .debug_frame 0x00000350 0x50 src/tiny_uart.o + .debug_frame 0x000003a0 0x80 src/ASF/common/services/clock/xmega/sysclk.o + .debug_frame 0x00000420 0xc4 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_frame 0x000004e4 0x114 src/ASF/common/services/usb/udc/udc.o + .debug_frame 0x000005f8 0x3d8 src/ASF/xmega/drivers/usb/usb_device.o -.debug_str 0x00000000 0x2f58b +.debug_str 0x00000000 0x2f5e7 *(.debug_str) - .debug_str 0x00000000 0x27638 src/tiny_dig.o - 0x27cab (size before relaxing) - .debug_str 0x00027638 0x36 src/ASF/common/boards/user_board/init.o + .debug_str 0x00000000 0x27632 src/tiny_dig.o + 0x27ca5 (size before relaxing) + .debug_str 0x00027632 0x36 src/ASF/common/boards/user_board/init.o 0x27ad2 (size before relaxing) - .debug_str 0x0002766e 0x94a src/main.o - 0x2859c (size before relaxing) - .debug_str 0x00027fb8 0xd0f src/tiny_adc.o - 0x28e82 (size before relaxing) - .debug_str 0x00028cc7 0x1a6 src/tiny_dac.o + .debug_str 0x00027668 0x94a src/main.o + 0x28596 (size before relaxing) + .debug_str 0x00027fb2 0xd0f src/tiny_adc.o + 0x28e7c (size before relaxing) + .debug_str 0x00028cc1 0x1a6 src/tiny_dac.o 0x282cf (size before relaxing) - .debug_str 0x00028e6d 0xcbc src/tiny_dma.o - 0x2918a (size before relaxing) - .debug_str 0x00029b29 0x1166 src/tiny_timer.o - 0x29579 (size before relaxing) - .debug_str 0x0002ac8f 0x13b src/tiny_uart.o - 0x28350 (size before relaxing) - .debug_str 0x0002adca 0x41c src/ASF/common/services/clock/xmega/sysclk.o + .debug_str 0x00028e67 0xcbc src/tiny_dma.o + 0x29184 (size before relaxing) + .debug_str 0x00029b23 0x1166 src/tiny_timer.o + 0x29573 (size before relaxing) + .debug_str 0x0002ac89 0x19d src/tiny_uart.o + 0x283ac (size before relaxing) + .debug_str 0x0002ae26 0x41c src/ASF/common/services/clock/xmega/sysclk.o 0x2598f (size before relaxing) - .debug_str 0x0002b1e6 0x96 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_str 0x0002b242 0x96 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o 0x24246 (size before relaxing) - .debug_str 0x0002b27c 0x1ce src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_str 0x0002b2d8 0x1ce src/ASF/common/services/usb/class/vendor/device/udi_vendor.o 0x2672f (size before relaxing) - .debug_str 0x0002b44a 0x3f7 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_str 0x0002b4a6 0x3f7 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o 0x26732 (size before relaxing) - .debug_str 0x0002b841 0x7ee src/ASF/common/services/usb/udc/udc.o - 0x29200 (size before relaxing) - .debug_str 0x0002c02f 0x355c src/ASF/xmega/drivers/usb/usb_device.o + .debug_str 0x0002b89d 0x7ee src/ASF/common/services/usb/udc/udc.o + 0x291fa (size before relaxing) + .debug_str 0x0002c08b 0x355c src/ASF/xmega/drivers/usb/usb_device.o 0x2b810 (size before relaxing) -.debug_loc 0x00000000 0x20bd +.debug_loc 0x00000000 0x2105 *(.debug_loc) .debug_loc 0x00000000 0x68 src/main.o - .debug_loc 0x00000068 0x15d src/tiny_adc.o - .debug_loc 0x000001c5 0x2f src/tiny_dac.o - .debug_loc 0x000001f4 0xaa src/tiny_dma.o - .debug_loc 0x0000029e 0x11c src/tiny_timer.o - .debug_loc 0x000003ba 0x320 src/ASF/common/services/clock/xmega/sysclk.o - .debug_loc 0x000006da 0x344 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_loc 0x00000a1e 0x4d3 src/ASF/common/services/usb/udc/udc.o - .debug_loc 0x00000ef1 0x11cc src/ASF/xmega/drivers/usb/usb_device.o + .debug_loc 0x00000068 0x176 src/tiny_adc.o + .debug_loc 0x000001de 0x2f src/tiny_dac.o + .debug_loc 0x0000020d 0xaa src/tiny_dma.o + .debug_loc 0x000002b7 0x11c src/tiny_timer.o + .debug_loc 0x000003d3 0x2f src/tiny_uart.o + .debug_loc 0x00000402 0x320 src/ASF/common/services/clock/xmega/sysclk.o + .debug_loc 0x00000722 0x344 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_loc 0x00000a66 0x4d3 src/ASF/common/services/usb/udc/udc.o + .debug_loc 0x00000f39 0x11cc src/ASF/xmega/drivers/usb/usb_device.o .debug_macinfo *(.debug_macinfo) @@ -2744,7 +2747,7 @@ END GROUP .debug_pubtypes *(.debug_pubtypes) -.debug_ranges 0x00000000 0x3c0 +.debug_ranges 0x00000000 0x3c8 *(.debug_ranges) .debug_ranges 0x00000000 0x10 src/tiny_dig.o .debug_ranges 0x00000010 0x10 src/ASF/common/boards/user_board/init.o @@ -2753,14 +2756,14 @@ END GROUP .debug_ranges 0x000000a0 0x10 src/tiny_dac.o .debug_ranges 0x000000b0 0x90 src/tiny_dma.o .debug_ranges 0x00000140 0x18 src/tiny_timer.o - .debug_ranges 0x00000158 0x18 src/tiny_uart.o - .debug_ranges 0x00000170 0x30 src/ASF/common/services/clock/xmega/sysclk.o - .debug_ranges 0x000001a0 0x48 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_ranges 0x000001e8 0x78 src/ASF/common/services/usb/udc/udc.o - .debug_ranges 0x00000260 0x20 src/ASF/xmega/drivers/nvm/nvm_asm.o - .debug_ranges 0x00000280 0x140 src/ASF/xmega/drivers/usb/usb_device.o + .debug_ranges 0x00000158 0x20 src/tiny_uart.o + .debug_ranges 0x00000178 0x30 src/ASF/common/services/clock/xmega/sysclk.o + .debug_ranges 0x000001a8 0x48 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_ranges 0x000001f0 0x78 src/ASF/common/services/usb/udc/udc.o + .debug_ranges 0x00000268 0x20 src/ASF/xmega/drivers/nvm/nvm_asm.o + .debug_ranges 0x00000288 0x140 src/ASF/xmega/drivers/usb/usb_device.o -.debug_macro 0x00000000 0xb8df +.debug_macro 0x00000000 0xb8d9 *(.debug_macro) .debug_macro 0x00000000 0x311 src/tiny_dig.o .debug_macro 0x00000311 0xa5a src/tiny_dig.o @@ -2812,28 +2815,28 @@ END GROUP .debug_macro 0x00008a72 0x16 src/tiny_dig.o .debug_macro 0x00008a88 0x1c src/tiny_dig.o .debug_macro 0x00008aa4 0x7b src/tiny_dig.o - .debug_macro 0x00008b1f 0x58 src/tiny_dig.o - .debug_macro 0x00008b77 0x2fe src/ASF/common/boards/user_board/init.o - .debug_macro 0x00008e75 0x368 src/main.o - .debug_macro 0x000091dd 0x58 src/main.o - .debug_macro 0x00009235 0x10 src/main.o - .debug_macro 0x00009245 0x97 src/main.o - .debug_macro 0x000092dc 0xf2 src/main.o - .debug_macro 0x000093ce 0xaa src/main.o - .debug_macro 0x00009478 0xef src/main.o - .debug_macro 0x00009567 0x34e src/tiny_adc.o - .debug_macro 0x000098b5 0x16 src/tiny_adc.o - .debug_macro 0x000098cb 0x33c src/tiny_dac.o - .debug_macro 0x00009c07 0x346 src/tiny_dma.o - .debug_macro 0x00009f4d 0x343 src/tiny_timer.o - .debug_macro 0x0000a290 0x337 src/tiny_uart.o - .debug_macro 0x0000a5c7 0x1e6 src/ASF/common/services/clock/xmega/sysclk.o - .debug_macro 0x0000a7ad 0x1a3 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - .debug_macro 0x0000a950 0x22c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_macro 0x0000ab7c 0x94 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_macro 0x0000ac10 0x20c src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_macro 0x0000ae1c 0x362 src/ASF/common/services/usb/udc/udc.o - .debug_macro 0x0000b17e 0x2f7 src/ASF/xmega/drivers/usb/usb_device.o - .debug_macro 0x0000b475 0x46a src/ASF/xmega/drivers/usb/usb_device.o + .debug_macro 0x00008b1f 0x52 src/tiny_dig.o + .debug_macro 0x00008b71 0x2fe src/ASF/common/boards/user_board/init.o + .debug_macro 0x00008e6f 0x368 src/main.o + .debug_macro 0x000091d7 0x58 src/main.o + .debug_macro 0x0000922f 0x10 src/main.o + .debug_macro 0x0000923f 0x97 src/main.o + .debug_macro 0x000092d6 0xf2 src/main.o + .debug_macro 0x000093c8 0xaa src/main.o + .debug_macro 0x00009472 0xef src/main.o + .debug_macro 0x00009561 0x34e src/tiny_adc.o + .debug_macro 0x000098af 0x16 src/tiny_adc.o + .debug_macro 0x000098c5 0x33c src/tiny_dac.o + .debug_macro 0x00009c01 0x346 src/tiny_dma.o + .debug_macro 0x00009f47 0x343 src/tiny_timer.o + .debug_macro 0x0000a28a 0x337 src/tiny_uart.o + .debug_macro 0x0000a5c1 0x1e6 src/ASF/common/services/clock/xmega/sysclk.o + .debug_macro 0x0000a7a7 0x1a3 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_macro 0x0000a94a 0x22c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_macro 0x0000ab76 0x94 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_macro 0x0000ac0a 0x20c src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_macro 0x0000ae16 0x362 src/ASF/common/services/usb/udc/udc.o + .debug_macro 0x0000b178 0x2f7 src/ASF/xmega/drivers/usb/usb_device.o + .debug_macro 0x0000b46f 0x46a src/ASF/xmega/drivers/usb/usb_device.o OUTPUT(USB_BULK_TEST.elf elf32-avr) LOAD linker stubs diff --git a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec index 52b21c45..924f74e9 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec @@ -5,7 +5,7 @@ S113002038C1000036C1000034C1000032C10000F4 S113003030C100002EC100002CC100002AC1000004 S113004028C1000026C1000024C1000022C1000014 S113005020C100001EC100001CC100001AC1000024 -S113006018C1000016C1000014C1000012C1000034 +S113006040C7000016C1000014C1000012C1000006 S113007010C100000EC100000CC100000AC1000044 S113008008C1000006C1000004C1000002C1000054 S113009000C10000FEC00000FCC00000FAC0000067 @@ -19,7 +19,7 @@ S1130100C8C00000C6C00000C4C00000C2C00000D7 S1130110C0C00000BEC00000BCC00000BAC00000E7 S1130120B8C00000B6C00000B4C00000B2C00000F7 S1130130B0C00000AEC00000ACC00000AAC0000007 -S1130140A8C00000A6C00000A4C0000041C6000072 +S1130140A8C00000A6C00000A4C000002AC6000089 S1130150A0C000009EC000009CC000009AC0000027 S113016098C0000096C0000094C0000092C0000037 S113017090C000008EC000008CC000008AC0000047 @@ -30,651 +30,650 @@ S11301B070C000006EC000006CC000006AC0000087 S11301C068C0000066C0000064C0000062C0000097 S11301D060C000005EC000005CC000005AC00000A7 S11301E058C0000056C0000054C0000052C00000B7 -S11301F050C000000C9404130C94BE139301950199 -S1130200970199019B01A0019D019F01E709E9095B -S1130210250A650A6E0A730AC50ACA0A150A170A64 -S1130220190A1B0A1D0A1F0A210A230A550A570A1A -S1130230590A5B0A5D0A5F0A610A630A7F0A8A0A2D -S1130240940AA20AA40AA60AB00ABA0A420E450EE1 -S1130250480E4B0E4E0E510E540E11241FBECFEFFE -S1130260CDBFDFE2DEBF10E2A0E0B0E2EAE9F9E2EE +S11301F050C000000C94FD120C94B71393019501A8 +S1130200970199019B01A0019D019F01E009E20969 +S11302101E0A5E0A670A6C0ABE0AC30A0E0A100A9C +S1130220120A140A160A180A1A0A1C0A4E0A500A52 +S1130230520A540A560A580A5A0A5C0A780A830A65 +S11302408D0A9B0A9D0A9F0AA90AB30A3B0E3E0E19 +S1130250410E440E470E4A0E4D0E11241FBECFEF21 +S1130260CDBFDFE2DEBF10E2A0E0B0E2ECE8F9E2ED S113027002C005900D92A23BB107D9F72CE2A2EB84 S1130280B0E201C01D92A834B207E1F71CD00C946F -S1130290CB14B6CEE0E8F6E08FE0808385E084837B +S1130290C414B6CEE0E8F6E08FE0808385E0848382 S11302A0089508958091B420882319F080E090E0A7 S11302B002C08EEE92E042E551E06EEE72E08A59A1 -S11302C0994D0EC7089587E08093A20078941BD6B9 -S11302D0E8DFFDD7B9D0DCD060E080E078D064D02E -S11302E08CE058D03AD5EBD502D6D4DF000000001C +S11302C0994D07C7089587E08093A200789414D6C7 +S11302D0E8DFF6D7BFD0E2D060E080E07ED06AD01D +S11302E08CE05ED023D5D4D5EDD5D4DF000000005A S11302F000000000000000000000000000000000FA S11303000000000000000000F1CF08950895E0917E S113031000208E2F90E08830910590F4FC01E2508B -S1130320FF4F0C94BC1417D10BC093D109C032D227 -S113033007C0EED205C082D303C06AD401C0DFD4A3 +S1130320FF4F0C94B5141DD10BC099D109C038D21C +S113033007C0F4D205C060D303C053D401C0C8D4ED S11303409091B42081E0911180E08093B4200895CD S113035081E08093B52042E551E06EEE72E086E6DE -S113036096E2BED681E008951092B520089581E00A +S113036096E2B7D681E008951092B520089581E011 S1130370089581E00895E0E0F2E010A2982F9C71C6 -S1130380936890A3881F8827881F880F81A312A2CF -S113039016A20895E0E0F2E010AA836880AB80E141 -S11303A081AB12AA16AA0895E0E0F2E010A683E851 -S11303B080A78FE281A712A616A60895AAECB1E041 -S11303C092E09C93E82FF0E084911C920895CF93DF -S11303D0DF93E0E7F0E091819D7F9183109200022A -S11303E0623031F1E0E0F2E09CE1918390E49283A9 -S11303F0811102C080E401C080EC8093030261306B -S113040011F083E001C082E0C0E0D2E08C8380E29E -S1130410D5DF8C8781E2D2DF8D87188E198E81E03B -S11304208883C2DF0EC080EC8093030283E0ECCFAC -S1130430E0E0F2E09EE1918390E492838111F3CFB6 -S1130440D9CFDF91CF910895CF93DF93E0E7F0E028 -S113045082818B7F8283C0E2D3E08DE0888380E455 -S1130460898389E08A8383E3A9DF888782E3A6DF1F -S1130470898787E3A3DF8A8786E3A0DF8B87E0E2AF -S1130480F6E08081836080831482DF91CF910895A8 -S1130490E0E7F0E080818E7F808380E88093000134 -S11304A00895E0E0F1E0108A80E4808B10A280A33C -S11304B010AA80ABE0E4F1E0108280831092B420B3 -S11304C01092B320089510920020EBDFE0E0F1E0F9 -S11304D016AA34E230AB11AA29E522AB82E083AB41 -S11304E0809102209091032084AB95AB86E694E240 -S11304F080AF91AF12AE8BE384AF83E080933D0174 -S113050010923E0190A9906890AB10924601E0E4ED -S1130510F1E0308310924101209342018093430122 -S1130520209104203091052020934401309345010B -S113053026E532E2209348013093490110924A01A2 -S113054099E390934C0180934D0110924E01808168 -S1130550806880830895E0E0F1E0108A80E4808B75 -S113056084E0808B118A81E9828B80E1838B87E729 -S113057091E0848B958B84E2808F82E0818F128E50 -S11305804091B4202EEE32E0429FC001439F900D73 -S113059011248A59994D848F4091B420429FC001FF -S11305A0439F900D11248A59994D958F168E8089F9 -S11305B08068808B089581E08093002072DFE0E002 -S11305C0F1E010AA80E480AB84E080AB11AA12AA07 -S11305D08BE483AB14AA15AA16AA81E090E280AF3B -S11305E091AF12AE80EA84AF88E080933D0110920F -S11305F03E0180A9806A80AB85E58093A0081092B3 -S11306004601E0E4F1E084E280831092410189E54F -S11306108093420182E08093430180910220909173 -S11306200320809344019093450186E694E28093ED -S113063048019093490110924A018BE380934C0145 -S113064083E080934D0110924E0180818068808305 -S11306500895E0E0F1E0108AA0E4A08B74E0708BD0 -S1130660118A61E9628B80E1838B47E751E0448B17 -S1130670558B84E2808F82E0818F128EB091B420FA -S11306808EEE92E0B89F9001B99F300D11242A5943 -S1130690394D248FB091B420B89F9001B99F300D8B -S11306A011242A59394D358F168E20892068208BC4 -S11306B010A2A0A370A311A262A32BE423A344A3BA -S11306C055A320EA20A728E021A712A64091B42030 -S11306D0489F9001499F300D11242352384D24A77F -S11306E04091B420489F9001499F300D1124C901C5 -S11306F08352984D95A716A680A1806880A308957B -S1130700CF93C2E0C0930020CCDEE0E0F1E016AA73 -S113071034E230AB11AA29E522AB83E083AB4091EC -S113072004205091052044AB55AB46E552E240AF5E -S113073051AF12AE99E394AF80933D0110923E0104 -S113074090A9906890AB10924601E0E4F1E0308308 -S11307501092410120934201C09343012091022051 -S113076030910320209344013093450126E634E27E -S1130770209348013093490110924A019BE39093DE -S11307804C0180934D0110924E01808180688083DA -S1130790CF910895CF93E0E0F1E0108AB0E4B08BFC -S11307A0A4E0A08B118A51E9528B80E1838B67E727 -S11307B071E0648B758B84E2808F42E0418F128EEE -S11307C0C091B4208EEE92E0C89F9001C99F300D75 -S11307D011242A59394D248FC091B420C89F900107 -S11307E0C99F300D11242A59394D358F168E208911 -S11307F02068208B10A2B0A3A0A311A252A322E1CF -S113080023A364A375A324E320A741A712A64091C0 -S1130810B420489F9001499F300D11242352384D34 -S113082024A74091B420489F9001499F300D112482 -S1130830C9018352984D95A716A680A1806880A30C -S1130840CF910895CF93C3E0C09300202ADEE0E067 -S1130850F1E010A280E480A384E080A311A212A29C -S11308608BE483A314A215A216A281E090E280A7D0 -S113087091A712A680EA84A788E085A716A680A17E -S1130880806A80A385E58093A00816AA24E220ABA1 -S113089011AA99E592AB82E083AB4091022050917A -S11308A0032044AB55AB46E654E240AF51AF12AE21 -S11308B08BE384AFC0933D0110923E0180A9806810 -S11308C080AB10924601E0E4F1E0208310924101F4 -S11308D090934201C093430180910420909105209C -S11308E0809344019093450186E592E28093480108 -S11308F09093490110924A0189E380934C01C0937B -S11309004D0110924E01808180688083CF910895BB -S1130910E0E0F1E0108A80E4808B84E0808B118A2F -S113092081E9828B8BE4838B87E791E0848B958BC1 -S113093080EA808F88E0818F128E4091B4202EEE61 -S113094032E0429FC001439F900D11248A59994D72 -S1130950848F4091B420429FC001439F900D112485 -S11309608A59994D958F168E80898068808B089559 -S1130970CF93C4E0C093002094DDE0E0F1E010A246 -S113098080E480A3C0A311A212A28BE483A314A2C7 -S113099015A216A281E090E280A791A712A680EA90 -S11309A084A788E085A716A680A1806A80A385E530 -S11309B08093A00816AA34E230AB11AA29E522AB31 -S11309C083E083AB409104205091052044AB55ABA8 -S11309D046E552E240AF51AF12AE99E394AF809333 -S11309E03D0110923E0190A9906890AB109246018F -S11309F0E0E4F1E03083109241012093420192E05F -S1130A0090934301209102203091032020934401CC -S1130A103093450126E634E220934801309349019E -S1130A2010924A019BE390934C0180934D011092E4 -S1130A304E01808180688083CF910895CF93E0E058 -S1130A40F1E0108AB0E4B08BA4E0A08B118A51E9E4 -S1130A50528B8BE4838B67E771E0648B758B80EA40 -S1130A60808F48E0418F128EC091B4208EEE92E0C8 -S1130A70C89F9001C99F300D11242A59394D248FE4 -S1130A80C091B420C89F9001C99F300D11242A59E8 -S1130A90394D358F168E20892068208B10AAB0AB73 -S1130AA0A0AB11AA52AB2AE423AB64AB75AB23EC25 -S1130AB020AF41AF12AE4091B420489F9001499FAE -S1130AC0300D11242352384D24AF4091B420489F57 -S1130AD09001499F300D1124C9018352984D909380 -S1130AE03D0110923E0180A9806880ABCF910895AA -S1130AF085E080930020D5DCE0E0F1E016AA44E232 -S1130B0040AB11AA39E532AB83E083AB609104209A -S1130B107091052064AB75AB66E572E260AF71AFAE -S1130B2012AE29E324AF80933D0110923E0190A9B7 -S1130B30906890AB10924601E0E4F1E0408310929B -S1130B40410130934201809343014091042050912C -S1130B500520409344015093450146E656E24093F4 -S1130B6048015093490110924A0120934C0180930B -S1130B704D0110924E01808180688083089586E043 -S1130B80809300208EDCE0E0F1E016AA34E230AB82 -S1130B9011AA29E522AB83E083AB40910420509154 -S1130BA0052044AB55AB46E552E240AF51AF12AE1F -S1130BB099E394AF80933D0110923E0190A990680F -S1130BC090AB10924601E0E4F1E0308310924101D1 -S1130BD02093420192E090934301209102203091AE -S1130BE00320209344013093450126E634E2209308 -S1130BF048013093490110924A019BE390934C01C0 -S1130C0080934D0110924E01808180688083089505 -S1130C10E0E0F1E0108A80E4808B84E0808B118A2C -S1130C2081E9828B80E1838B2EEE32E0248B358B3D -S1130C3084E2808F82E0818F128E4091B420429FA3 -S1130C40C001439F900D11248A59994D848F40917E -S1130C50B420429FC001439F900D11248A59994D9D -S1130C60958F168E80898068808B089587E08093A5 -S1130C70002017DCE0E0F1E016AA34E230AB11AA60 -S1130C8029E522AB83E083AB4091042050910520F9 -S1130C9044AB55AB46E552E240AF51AF12AE99E3D7 -S1130CA094AF80933D0110923E0190A9906890AB5F -S1130CB010924601E0E4F1E0308310924101209368 -S1130CC0420192E09093430120910220309103204D -S1130CD0209344013093450126E634E220934801F1 -S1130CE03093490110924A019BE390934C01809305 -S1130CF04D0110924E018081806880830895E0E068 -S1130D00F1E0108A80E4808B85E0808B118A81E990 -S1130D10828B80E1838B2EEE32E0248B358B84E250 -S1130D20808F82E0818F128E4091B420429FC00157 -S1130D30439F900D11248A59994D848F4091B4207A -S1130D40429FC001439F900D11248A59994D958F5C -S1130D50168E80898068808B0895E0E7F0E08381B7 -S1130D608C7F838384818C7F848380818D7F808347 -S1130D70E0E8F1E080EC8283128688EC81831186BE -S1130D80E0E0F8E034E0308323E02183148285ED51 -S1130D9091E086A397A31682E0E4F8E030832183F0 -S1130DA0148286A397A31682E0E6F6E08081806130 -S1130DB08083E0E4F9E083E18183148281E0868327 -S1130DC028EB3BE026A337A310A611A68083089541 -S1130DD01F920F920FB60F9211242F933F934F93AC -S1130DE05F938F939F93EF93FF93CF93DF931F9220 -S1130DF0CDB7DEB780910020873031F4E0E0F2E037 -S1130E0084A5898395A502C090912C028091B2207B -S1130E10891B209168093091690991E082300CF4B2 -S1130E2090E09923C9F091E0223B3B4008F090E028 -S1130E30992391F0209168093091690989301CF453 -S1130E4081E090E002C086E090E0820F931F8093DF -S1130E5078099093790923C0209168093091690930 -S1130E6091E08F3F0CF090E09923C9F091E0273096 -S1130E70310508F490E0992391F0209168093091AC -S1130E806909883F1CF081E090E002C086E090E0B0 -S1130E90A901481B590B40937809509379090F9085 -S1130EA0DF91CF91FF91EF919F918F915F914F913E -S1130EB03F912F910F900FBE0F901F901895E0E770 -S1130EC0F0E083818F7E8383E0E4F6E080818A6AA8 -S1130ED080838FEF848388E5828BE0EAF8E084ECFA -S1130EE0858383E08683178288E184830895E0E71D -S1130EF0F0E08381877F838380E48093C00888E562 -S1130F008093550608950F931F93CF93DF9300D0DA -S1130F1000D0CDB7DEB78FEF80937000809371005F -S1130F2080937200809373008093740080937500A3 -S1130F308093760064E081E490E0A6D56CE170E0F3 -S1130F4082E0A8D58A836DE170E082E0A3D589832D -S1130F5089819A81019621F480E493E289839A83BA -S1130F6089819A818B839C83E0E6F0E082838C8183 -S1130F7083839FB7F894E0E5F0E08081826080830A -S1130F809FBF818181FFFDCF9FB7F89400E510E0FA -S1130F90D80116968C911697897F16968C9316977E -S1130FA0E0E6F0E080E885838BEB868316968C91EF -S1130FB01697846016968C938081816080839FBF8E -S1130FC061E080E490E060D59FB7F894F8018081F7 -S1130FD08E7F80839FBF2496CDBFDEBFDF91CF91EC -S1130FE01F910F9108959FB7F894E82FF0E0E0590E -S1130FF0FF4F60958081682360839FBF089586308A -S113100011F060E001C068E18091510081FD26C0CB -S11310109FB7F894E0E5F0E08081826080839FBF11 -S1131020818181FFFDCF9FB7F894A0E5B0E01696CB -S11310308C911697897F16968C931697E0E6F0E0CC -S113104080E885838BEB868316968C911697846053 -S113105016968C938081816080839FBF636084E453 -S113106090E012D560E480E0BECF08958091B62070 -S1131070089528D1FC0183818093B620811102C098 -S113108067C9089581E008958091B620813009F4FC -S11310906BC908958091562488234CF4807680345B -S11310A0A9F480915724811113C063C908958076EF -S11310B0803481F48091572481110EC080915C2486 -S11310C090915D24892B51F052C9089580E00895D0 -S11310D080E0089580E0089580E0089580E0089518 -S11310E00F931F939B018A01AC0160E083E80E9487 -S11310F0B8111F910F910895E091BB20F091BC208D -S11311000190F081E02D228133812E0F3F1FFC01DD -S11311104081E40FF11DE217F307B8F481818430B4 -S1131120B9F0861309C005C081818430A1F086130B -S113113003C08E2F9F2F08958081E80FF11DE217C1 -S1131140F30790F380E090E0089580E090E0089544 -S113115080E090E0089580E090E008958091582424 -S11311608F770C94E61008959091BE20992381F115 -S1131170E091BB20F091BC200190F081E02D94819E -S1131180891740F5E093B920F093BA202281338186 -S11311902E0F3F1FE217F307F8F49181943061F4A6 -S11311A09281981309C09381961306C0E093B920E5 -S11311B0F093BA2081E008959081E90FF11DE217C0 -S11311C0F30758F3E093B920F093BA2080E0089530 -S11311D080E0089580E0089580E00895EF92FF9202 -S11311E01F93CF93DF93C82F60E0BEDF182F8823AF -S11311F081F1A091BB20B091BC20EC2FF0E0EE0F68 -S1131200FF1F12968D919C911397E80FF91FE080B0 -S1131210F180D7011696ED91FC9117970995682FE7 -S11312208C2FA2DF182F8823A1F0C091B920D09170 -S1131230BA2065E0CE0160DFEC01892B21F08A81C0 -S11312400E94BB12F6CFD7011296ED91FC91139731 -S11312500995812FDF91CF911F91FF90EF90089511 -S11312601F93CF93DF93182F7FDF882339F1C09129 -S1131270B920D091BA2065E0CE013EDFEC01892B84 -S113128041F04C815D816B818A81ADD78111F3CFAF -S113129015C0A091BB20B091BC20E12FF0E0EE0F6F -S11312A0FF1F12968D919C911397E80FF91F0190DF -S11312B0F081E02D0190F081E02D0995DF91CF912F -S11312C01F9108958091B9209091BA200895F9C68C -S11312D00895CF938091BE208823C1F0E091BB2074 -S11312E0F091BC200190F081E02D8481882371F07D -S11312F0C0E08C2F73DFCF5FE091BB20F091BC2066 -S11313000190F081E02D8481C81798F31092BE20DB -S11313101092C2201092C320CF910895CF93809150 -S1131320BE20882349F1A091BB20B091BC20ED914F -S1131330FC91119784818823F9F0C0E0EC2FF0E050 -S1131340EE0FFF1F12968D919C911397E80FF91FD2 -S11313500190F081E02D0084F185E02D309709F0B3 -S11313600995CF5FA091BB20B091BC20ED91FC9179 -S113137011978481C81710F3CF9108950F931F9389 -S1131380CF93DF93E6E5F4E212861386148615867E -S113139016861786808188233CF420915C24309142 -S11313A05D24232B09F464C38076803409F002C1E0 -S11313B0E09157248E2F90E0FC01E05AF109E830C7 -S11313C0F10508F0EEC0EA5FFE4F0C94BC14000077 -S11313D053C3E0E0F8E01082C6E5D4E28A819B8141 -S11313E086AB97AB8C818F7080836E817F8186E51D -S11313F092E2F2D68E819F812091042030910520C3 -S11314008217930709F438C380930420909305202E -S1131410E09100208E2F90E08830910508F0C3C041 -S1131420FC01E25FFE4F0C94BC144DD825C3C3D815 -S113143023C366D921C306DA1FC39ADA1DC358DB56 -S11314401BC39DDB19C312DC17C3E0E4F8E0108270 -S1131450C6E5D4E26E817F816093022070930320FD -S11314608A819B8186AB97AB8C818F70808386E663 -S113147094E2B2D68E819F81209104203091052080 -S11314808217930709F4F8C28093042090930520EF -S1131490E09100208E2F90E08830910508F085C0FF -S11314A0FC01EA5EFE4F0C94BC140DD8E5C283D84F -S11314B0E3C226D9E1C2C6D9DFC25ADADDC218DBDB -S11314C0DBC25DDBD9C2D2DBD7C2109268091092AD -S11314D06909809158248093B220CEC28091582407 -S11314E080932406C9C2E0915824F0915924E8302D -S11314F0F10508F05CC0E25EFE4F0C94BC1460E0A1 -S113150080E00E94E70180915A240E94BB010E945E -S11315106302B2C260E080E00E94E70180915A2435 -S11315200E94BB0148D8A8C261E081E00E94E701A3 -S1131530C6E5D4E28C810E94BB018D810E94CA0160 -S1131540DFD89AC27FD998C213DA96C260E080E0ED -S11315500E94E70180915A240E94BB01C9DA8CC21F -S113156061E080E00E94E70180915A240E94BB015F -S113157006DB82C262E080E00E94E70180915A2487 -S113158080680E94BB0172DB77C2809158248093EB -S1131590840672C2E9E7F0E091E088EDF89484BF34 -S11315A0908380E005C081E003C081E001C080E059 -S11315B0811165C280915624982F907609F0E1C17B -S11315C088230CF005C120915C2430915D24211501 -S11315D0310509F4D6C18F7109F0A3C09091572445 -S11315E0963079F0983009F492C091119AC0223063 -S11315F0310509F0C6C162E070E082EC90E2ECD5FE -S11316003DC28091582490915924292F33272230A8 -S11316103105A9F024F42130310541F0A9C123306A -S11316203105D9F12F30310551F1A2C1809110203B -S113163090911120DC016C9170E0CED559C0E091FD -S11316401020F09111202189821708F09AC199275E -S1131650880F991F880F991FE0911220F091132091 -S1131660E80FF91F80819181FC0162817381B4D5F7 -S1131670E0915E24F0915F2482E0818339C08091FF -S1131680142090911520009709F47BC1DC01129677 -S11316906D917C911397A0D52BC09927813091052A -S11316A071F038F0029709F06CC18AE890E228E101 -S11316B009C064E070E08EEA90E28ED519C083EA36 -S11316C090E229E0382FAAE5B0E2E82FF92F8191C2 -S11316D090E08D939D938E2F831B8217C0F3622F0E -S11316E0660F6E5F6093582070E088E590E274D5D1 -S11316F0E6E5F4E286819781228533858217930794 -S113170008F0BCC18093602490936124B7C1213058 -S1131710310509F036C161E070E08EEB90E25CD5F2 -S1131720ADC18130E1F5909157249A30C1F5213053 -S1131730310509F026C18091BE20882309F421C116 -S1131740C0915A24D0915B240091BB201091BC20FD -S1131750D801ED91FC918481C81708F012C160E0B2 -S11317608C2F02DD882309F40CC1CE019927880F40 -S1131770991FD8011296ED91FC911397E80FF91F68 -S11317800190F081E02D86819781FC010995809379 -S1131790C02061E070E080EC90E21ED56FC1823021 -S11317A009F0EFC0809157248111E4C02230310543 -S11317B009F0E7C080915A248BD590E08093B7203C -S11317C09093B82062E070E087EB90E205D556C1B3 -S11317D08F7109F083C090915724933009F4CCC0E1 -S11317E018F49130A1F07AC0953019F0993039F19C -S11317F075C080915C2490915D24892B09F0C1C04F -S11318008EEA98E0809362249093632437C1809198 -S11318105C2490915D24892B09F0B3C080915824F5 -S113182090915924019709F0ACC08091C220909105 -S1131830C3208D7F8093C2209093C3201FC18091C9 -S11318405C2490915D24892B09F09BC0C2D4882329 -S113185009F497C020915824309159243327E091FA -S11318601020F0911120818990E08217930708F4E9 -S113187088C02FDD80915824909159248093BE20F4 -S1131880882309F4FBC099278150904C880F991F35 -S1131890880F991FE0911220F0911320E80FF91F8F -S11318A0E093BB20F093BC200190F081E02D848173 -S11318B0882309F4E3C0C0E060E08C2FD1DC8823E6 -S11318C009F45FC0CF5FE091BB20F091BC20019090 -S11318D0F081E02D8481C81778F3D0C08130E1F421 -S11318E0909157249B30C1F480915C2490915D24A5 -S11318F0892B09F046C08091BE20882309F441C099 -S1131900E6E5F4E2C481D2818C2F68DC8823C9F136 -S11319106D2F8C2FA5DC33C0823099F5809157242C -S1131920813019F0833089F029C080915C24909132 -S11319305D24892B31F58091582490915924892B69 -S113194001F580915A24DFD41AC080915C249091CF -S11319505D24892BB1F48091582490915924892BCA -S113196081F4C6E5D4E28C81BDD58C8120D607C034 -S113197080E005C080E003C080E001C080E0811108 -S11319807EC0809156248F71813071F58091BE2084 -S1131990882351F100915A2410915B24C091BB20FB -S11319A0D091BC20E881F98184810817E8F460E0D3 -S11319B0802FDADB8823C1F0F801FF27CF01880FDD -S11319C0991FEA81FB81E80FF91FC081D181EE8163 -S11319D0FF810995682F802FC7DB882329F0EC81CC -S11319E0FD81099581114BC0809156248F718230FD -S11319F009F040C08091BE208823B1F1A091BB20A2 -S1131A00B091BC20ED91FC9111978481882371F1F0 -S1131A10C0E0EC2FF0E0EE0FFF1F12968D919C9129 -S1131A201397E80FF91F00811181D8011696ED91E3 -S1131A30FC9117970995682F8C2F96DB8823F9F072 -S1131A40D8011496ED91FC9115970995811117C051 -S1131A50CF5FA091BB20B091BC20ED91FC91119778 -S1131A609481C917B0F20BC080E009C080E007C0C0 -S1131A7080E005C080E003C081E001C081E0DF9127 -S1131A80CF911F910F9108951BBEFC0128ED24BF37 -S1131A90608308954091CA01E62FF72F8093CA010D -S1131AA084914093CA010895811122C090915422D7 -S1131AB09923D9F09091432C911101C0FFCF2FB7F6 -S1131AC0F894E2E4FCE29181915091832FBF0DC020 -S1131AD09091432C9F3F09F4FFCF2FB7F894E2E491 -S1131AE0FCE291819F5F91832FBF809354220895DC -S1131AF090915422992361F3F8CF0F93E8ECF4E02A -S1131B0080818F7D808380818F7D8083E8E1F2E214 -S1131B1002E0059310921A2210921B2200E206930F -S1131B2000E40693E0E1F2E200E2069300E40693A7 -S1131B30E6E5F4E214861586168617861286138661 -S1131B401092FF210F9108950F9385E08093FF2158 -S1131B50E9E1F2E204E00593E1E1F2E204E0059355 -S1131B600F9108950F9383E08093FF2110921A221E -S1131B7010921B22E8E1F2E202E006930F9108952D -S1131B80E0916224F0916324309709F00995089557 -S1131B900F93CF93DF938091FF21833019F4F0DF0B -S1131BA0ACDF5EC08091FB219091FC21C091602448 -S1131BB0D0916124C81BD90B71F52091FD2130917E -S1131BC0FE21820F931F8093FD219093FE2120918B -S1131BD05C2430915D248217930721F08091C42006 -S1131BE0882341F084E08093FF21E0E1F2E202E007 -S1131BF0069336C0E0916424F0916524309799F0FF -S1131C000995882381F01092FB211092FC21C09148 -S1131C106024D0916124C034D10528F01092C420EE -S1131C20C0E4D0E003C081E08093C420E0E0F2E2AD -S1131C30C28FD38F8091FB219091FC2120915E244F -S1131C4030915F24280F391F248F358FC80FD91F77 -S1131C50C093FB21D093FC21E8E1F2E202E0069379 -S1131C60DF91CF910F910895FC018181E82FE770F6 -S1131C708E2F90E0FC013197E730F105C0F4EA5D66 -S1131C80FE4F7AC680E190E0089580E290E00895E6 -S1131C9080E490E0089580E890E0089580E091E089 -S1131CA0089580E092E008958FEF93E0089588E02E -S1131CB090E00895282F2F7030E0220F331F082E54 -S1131CC0000C990B8827990F881F9927820F931F5F -S1131CD002979C01220F331F220F331F220F331F41 -S1131CE0820F931F8B579E4D08950F93CF9380912E -S1131CF0CC0480FF62C081E08093CC04E0E1F2E296 -S1131D0000E80693E8E1F2E200E806938093CA044F -S1131D10E0E1F2E200E106938091FF21882329F0BB -S1131D208350823008F42CDFE8DE809112229091F7 -S1131D301322089709F043C088E0EBEBF1E2A6E533 -S1131D40B4E201900D928A95E1F7E8ECF4E0808129 -S1131D508062808380818062808310DBC82F811140 -S1131D6003C0F2DEC1E02CC08091562488236CF4B9 -S1131D701092FD211092FE211092FB211092FC2161 -S1131D8082E08093FF2104DF1BC080915C2490914A -S1131D905D24892B11F4E6DE13C01092FD2110920C -S1131DA0FE211092FB211092FC2181E08093FF21FF -S1131DB0E0E1F2E202E0069303C0C0E001C0C1E04A -S1131DC08C2FCF910F9108958F929F92AF92BF92D3 -S1131DD0DF92EF92FF920F931F93CF93DF93D82E4E -S1131DE069DF8C01BD2CBB1CBB24BB1CCD2DCF706B -S1131DF0D0E0CC0FDD1FCB0DD11DCE01880F991F74 -S1131E00880F991F880F991F9C01205F3D4D790110 -S1131E10C9012ADF4C01BB2009F470C0FE01EE0F9A -S1131E20FF1FEE0FFF1FEE0FFF1FE050FE4D268930 -S1131E303789D80115968D919C911697820F931F1F -S1131E4015968D939C93169713962D913C91149708 -S1131E508217930709F43CC0281B390B2115B4E001 -S1131E603B0738F02FEF33E0C901B40171D5281BCB -S1131E70390BF801808181FF09C0C901B40168D51B -S1131E8041E0892B09F040E0842F01C080E0D801B3 -S1131E909C9180FB91F99C93CC0FDD1FCC0FDD1F2F -S1131EA0CC0FDD1FC050DE4D1E8A1F8A2A8B3B8B50 -S1131EB011962D913C91129715968D919C911697A0 -S1131EC0820F931F8C8B9D8BF70102E00693CAC08F -S1131ED0D8018C9181FFB3C08D7F8C93CC0FDD1F13 -S1131EE0CC0FDD1FCC0FDD1FC050DE4D1E8A1F8AB4 -S1131EF01A8A1B8AF70102E00693B4C0FE01EE0FB2 -S1131F00FF1FEE0FFF1FEE0FFF1FE050FE4DA288D4 -S1131F10B388D8018C9182FF19C01196ED91FC9180 -S1131F20129715962D913C91169713968D919C912D -S1131F301497B4010DD5B0E4DB9EB00111246B57A6 -S1131F407F4DAC01CF01820F931F1CD5F801258171 -S1131F5036812A0D3B1D2583368383819481821724 -S1131F60930768F485839683CC0FDD1FCC0FDD1FA8 -S1131F70CC0FDD1FC050DE4D8E899F8960C0FE01ED -S1131F80EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D81 -S1131F90468957894A155B0509F051C02817390746 -S1131FA009F44DC0AC01421B530B9A01211554E0B6 -S1131FB0350750F02FEF33E0C901B401C9D4D9017A -S1131FC0A81BB90BCD0107C0C901B401C1D4F901E3 -S1131FD0E81BF90BCF01FE01EE0FFF1FEE0FFF1FF1 -S1131FE0EE0FFF1FE050FE4D128A138A88159905E3 -S1131FF078F4D8018C9184608C93B0E4DB9EC001AA -S113200011248B579F4D848B958B868A978A13C096 -S1132010F8014181528125813681240F351FCC0F6F -S1132020DD1FCC0FDD1FCC0FDD1FC050DE4D2C8B10 -S11320303D8B8E8B9F8BF70102E0069313C0D80172 -S11320408C9180FF0FC08E7F8C931796ED91FC913D -S11320501897309739F015966D917C9116974D2D00 -S113206080E00995DF91CF911F910F91FF90EF9040 -S1132070DF90BF90AF909F908F900895CF93CFB78C -S1132080F89481E011DDEAECF4E080E4808380E2FE -S11320908083E1ECF4E0808181608083A9ECB4E08A -S11320A08C9182608C93E8ECF4E08081806480837E -S11320B08C9181608C93808180688083CFBFCF9125 -S11320C00895CF93DF93C0E6D0E0188280E30E94A6 -S11320D0FF07E0ECF4E080818064808381E0888302 -S11320E0CFB7F89480E090E0FC01EE0FFF1FEE0FF5 -S11320F0FF1FEE0FFF1FE050FE4D118A019688303E -S1132100910591F7E5E8F1E280818E7F8083EEE826 -S1132110F1E280818E7F8083E7E9F1E280818E7F26 -S11321208083E0EAF1E280818E7F8083E9EAF1E254 -S113213080818E7F8083E2EBF1E280818E7F8083D9 -S11321406AE170E082E0A6DC8F3F19F08093FA0424 -S113215003C08FE18093FA046BE170E082E09ADCC3 -S11321608F3F19F08093FB0403C08FE18093FB043D -S1132170E0ECF4E0808183608083808180688083E8 -S113218080818061808380E192E28683978380816D -S1132190806280838FEF8093C504E8ECF4E0808153 -S11321A082608083109254228091472C8F3F09F4DF -S11321B0FFCF9FB7F894E2E4FCE285818F5F8583CB -S11321C09FBF5CDFCFBFDF91CF9108958093C3049D -S11321D008958091C3040895E6E5F4E28087918729 -S11321E0628773870895282F2F7030E0220F331FE2 -S11321F0082E000C990B8827990F881F9927820FA6 -S1132200931FFC01EE0FFF1FEE0FFF1FEE0FFF1FCA -S1132210E050FE4D2189207C09F058C06370613084 -S113222011F018F404C020EC03C020E801C020E43D -S113223040385105E9F050F440325105A9F04034DA -S11322405105A1F040315105D9F40CC0411532E0DB -S1132250530791F04F3F33E0530781F0411551404C -S113226079F408C041E00DC042E00BC043E009C06E -S113227044E007C045E005C046E003C047E001C0B4 -S113228040E0FC01EE0FFF1FEE0FFF1FEE0FFF1FDC -S1132290E050FE4D118ADC01AA0FBB1FAA0FBB1F21 -S11322A0AA0FBB1FA05FBD4D36E03C93242B218BAE -S11322B0880F991F880F991F880F991FFC01E05000 -S11322C0FE4D81898062818B81E0089580E00895CC -S11322D0E82FEF70F0E0EE0FFF1F082E000C990BB3 -S11322E08827990F881F9927E80FF91FEE0FFF1F02 -S11322F0EE0FFF1FEE0FFF1FE050FE4D818982FBA2 -S1132300882780F90895282F2F7030E0A901440F01 -S1132310551F282F082E000C330B2227330F221FA2 -S11323203327240F351FF901EE0FFF1FEE0FFF1F98 -S1132330EE0FFF1FE050FE4D918992FF17C0220F50 -S1132340331F220F331F220F331FF901E050FE4DBC -S113235091899B7F918BAEDCFC01808180FF06C05C -S11323608E7F80830780F085E02D099581E00895B4 -S11323707F928F929F92AF92BF92CF92DF92EF9211 -S1132380FF920F931F93CF93DF93982E862E6A01AB -S1132390790190DC5C01792C771C7724771CC92D9A -S11323A0CF70D0E0CC0FDD1FC70DD11DFE01EE0FA5 -S11323B0FF1FEE0FFF1FEE0FFF1FE050FE4D818940 -S11323C0807C09F47DC0FE01EE0FFF1FEE0FFF1F9E -S11323D0EE0FFF1FE050FE4D8189807C803C61F050 -S11323E0FE01EE0FFF1FEE0FFF1FEE0FFF1FE05069 -S11323F0FE4D818982FD66C08FB7F894F501908106 -S113240090FF03C08FBF712C5EC0F5019081916075 -S113241090838FBFC182D282E382F48215821682B6 -S113242007831087811006C091E0E114F10419F0CC -S113243090E001C091E0F501808190FB81F98B7FF0 -S11324408083772059F0CC0FDD1FCC0FDD1FCC0F1C -S1132450DD1FC050DE4D1E8A1F8A2DC0FE01EE0F07 -S1132460FF1FEE0FFF1FEE0FFF1FE050FE4D81898F -S1132470807C803CA1F4CE01880F991F880F991F9E -S1132480880F991F805F9D4DEFDBBC01C70160D2AF -S1132490892B29F0F50180818E7F808314C0CC0FB5 -S11324A0DD1FCC0FDD1FCC0FDD1FC050DE4D1A8A9F -S11324B01B8A1E8A1F8A892D87DC7724739403C0A4 -S11324C0712C01C0712C872DDF91CF911F910F9139 -S11324D0FF90EF90DF90CF90BF90AF909F908F9040 -S11324E07F900895FF920F931F93CF93DF93182F3C -S11324F0F82EFF1CFF24FF1CC82FCF70D0E0CC0F98 -S1132500DD1FCF0DD11DD6DBDC01FE01EE0FFF1F59 -S1132510EE0FFF1FEE0FFF1FE05FFD4D02E005937E -S11325208C9180FF22C08E7F8C931796ED91FC9145 -S113253018973097D1F0FF2059F0CC0FDD1FCC0F46 -S1132540DD1FCC0FDD1FC050DE4D6E897F890AC0B0 -S1132550CC0FDD1FCC0FDD1FCC0FDD1FC050DE4DB7 -S11325606A897B89412F81E00995DF91CF911F9181 -S11325700F91FF900895CF93C82FB4DFEC2FEF7025 -S1132580F0E0EE0FFF1F8C2FCC0F990B8827990FCB -S1132590881F9927E80FF91FEE0FFF1FEE0FFF1F8B -S11325A0EE0FFF1FE050FE4D118ACF9108950F9357 -S11325B0E82FEF70F0E0EE0FFF1F282F082E000C1D -S11325C0330B2227330F221F3327E20FF31FDF01C0 -S11325D0AA0FBB1FAA0FBB1FAA0FBB1FA050BE4D43 -S11325E051969C915197946051969C93EE0FFF1FC6 -S11325F0EE0FFF1FEE0FFF1FE05FFD4D01E006939E -S113260071DF81E00F9108951F920F920FB60F9220 -S113261011240F932F933F934F935F936F937F9363 -S11326208F939F93AF93BF93EF93FF938091CB04CA -S1132630882344F480E88093CA040E948E090E948F -S113264087018AC08091CB0482FF20C084E08093FC -S1132650CA048091182286FF7FC08091CC0481FD3A -S11326607BC043DB811178C08091FF21813011F45C -S113267079DA72C0843009F06FC0E9E1F2E204E073 -S11326800593E1E1F2E204E0059366C08091CB0496 -S113269081FF5DC082E08093CA048091102286FF8E -S11326A05BC08091CC0481FD57C01FDB811154C0F5 -S11326B08091FF21823041F484E08093FF21E0E1A6 -S11326C0F2E202E0069348C0833009F045C0E9E134 -S11326D0F2E204E00593E1E1F2E204E005933CC098 -S11326E080E18093CA0481E0FDDE81E8FBDE82E0C4 -S11326F0F9DE82E8F7DE0E9469091092C304E0E083 -S1132700F2E2118A96E0908B83E4818B118E908F94 -S1132710818F8BEB91E2848B958BEFD91DC08091D7 -S1132720CB0486FF08C080E48093CA0480E0BCD94F -S11327300E94850111C08091CB0485FF0DC080E209 -S11327408093CA0481E0B0D90E94860105C08091BB -S1132750CB0484FDC5CFE3CFFF91EF91BF91AF913F -S11327609F918F917F916F915F914F913F912F91A5 -S11327700F910F900FBE0F901F9018951F920F92FC -S11327800FB60F9211240F931F932F933F934F93E0 -S11327905F936F937F938F939F93AF93BF93CF93E5 -S11327A0DF93EF93FF938091CC0481FD03C09DDA06 -S11327B08111B9C082E08093CC048091C5048195D5 -S11327C0880FE0E1F2E2E81BF10920813181205118 -S11327D03242369527953695279536952795822F3B -S11327E0869520FD02C090E001C090E8890FE82F93 -S11327F0EF70F0E0EE0FFF1F282F082E000C330BB4 -S11328002227330F221F3327E20FF31FDF01AA0F02 -S1132810BB1FAA0FBB1FAA0FBB1FA05FBD4D9C917E -S113282095FF81C0FD0100E20693811177C080917C -S1132830FF21843019F4A4D960D975C00091122203 -S1132840109113228091602490916124C091FB2106 -S1132850D091FC219E01200F311F8217930718F499 -S11328608C010C1B1D0B80915E2490915F24A801A8 -S11328706BEB71E28C0F9D1F85D0C00FD11FC093ED -S1132880FB21D093FC210034110569F48091FD21D2 -S11328909091FE218C0F9D1F20915C2430915D242A -S11328A08217930780F0E6E5F4E2C287D3870684B3 -S11328B0F785E02D309729F00995811102C044D99C -S11328C032C050D930C08091602490916124C817DF -S11328D0D907F9F4E0916424F0916524309711F458 -S11328E033D921C00995811102C02ED91CC0209171 -S11328F0FD213091FE218091FB219091FC21820FDA -S1132900931F8093FD219093FE211092FB2110923E -S1132910FC21E0E1F2E202E0069305C0803811F404 -S113292037D901C051DAFF91EF91DF91CF91BF9177 -S1132930AF919F918F917F916F915F914F913F9153 -S11329402F911F910F910F900FBE0F901F9018950C -S1132950AA1BBB1B51E107C0AA1FBB1FA617B707C1 -S113296010F0A61BB70B881F991F5A95A9F78095DD -S11329709095BC01CD010895EE0FFF1F0590F491D1 -S1132980E02D0994FB01DC0102C001900D9241503D -S10D29905040D8F70895F894FFCFE3 -S113299AFF5580008000390844084A0836080000B8 -S11329AA4420162000001C201A20062009022700B1 -S11329BA01010080FA0904000003FFFFFF00070574 -S11329CA8102400000070502024000000705830156 -S11329DAFF0301001201000200000040EB0300A003 -S11329EA00020102000100000003000000000000D0 -S11329FA00000000000000000000000000000000C9 -S1132A0A00000000000000000000000000000000B8 -S1132A1A00000000000000000000555342476F62A6 -S1132A2A696E6461722044756D6D792044657669B6 -S1132A3A6365005461706972546563680000040335 -S1052A4A090479 +S1130380936890A388231CF490E182E002C090E07B +S113039080E0892BE0E0F2E081A312A216A2089586 +S11303A0E0E0F2E010AA836880AB80E181AB12AA9E +S11303B016AA0895E0E0F2E010A683E880A78FE291 +S11303C081A712A616A60895AAECB1E092E09C9328 +S11303D0E82FF0E084911C920895CF93DF93E0E737 +S11303E0F0E091819D7F918310920002623031F19F +S11303F0E0E0F2E09CE1918390E49283811102C0F9 +S113040080E401C080EC80930302613011F083E04A +S113041001C082E0C0E0D2E08C8380E2D5DF8C872B +S113042081E2D2DF8D87188E198E81E08883C2DF46 +S11304300EC080EC8093030283E0ECCFE0E0F2E0B6 +S11304409EE1918390E492838111F3CFD9CFDF9120 +S1130450CF910895CF93DF93E0E7F0E082818B7F23 +S11304608283C0E2D3E08DE0888380E4898389E0DD +S11304708A8383E3A9DF888782E3A6DF898787E30A +S1130480A3DF8A8786E3A0DF8B87E0E2F6E0808142 +S1130490836080831482DF91CF910895E0E7F0E0D8 +S11304A080818E7F808380E8809300010895E0E05E +S11304B0F1E0108A80E4808B10A280A310AA80ABA4 +S11304C0E0E4F1E0108280831092B4201092B32013 +S11304D0089510920020EBDFE0E0F1E016AA34E288 +S11304E030AB11AA29E522AB82E083AB80910220D4 +S11304F09091032084AB95AB86E694E280AF91AFF4 +S113050012AE8BE384AF83E080933D0110923E01F1 +S113051090A9906890AB10924601E0E4F1E030833A +S113052010924101209342018093430120910420C1 +S113053030910520209344013093450126E532E2B1 +S1130540209348013093490110924A0199E3909312 +S11305504C0180934D0110924E018081806880830C +S11305600895E0E0F1E0108A80E4808B84E0808BE1 +S1130570118A81E9828B80E1838B87E791E0848B08 +S1130580958B84E2808F82E0818F128E4091B4201B +S11305902EEE32E0429FC001439F900D11248A59F0 +S11305A0994D848F4091B420429FC001439F900D88 +S11305B011248A59994D958F168E80898068808B75 +S11305C0089581E08093002072DFE0E0F1E010AA5A +S11305D080E480AB84E080AB11AA12AA8BE483ABE5 +S11305E014AA15AA16AA81E090E280AF91AF12AEC8 +S11305F080EA84AF88E080933D0110923E0180A997 +S1130600806A80AB85E58093A00810924601E0E4FF +S1130610F1E084E280831092410189E580934201F4 +S113062082E0809343018091022090910320809383 +S113063044019093450186E694E2809348019093A7 +S1130640490110924A018BE380934C0183E080932B +S11306504D0110924E018081806880830895E0E00E +S1130660F1E0108AA0E4A08B74E0708B118A61E938 +S1130670628B80E1838B47E751E0448B558B84E2A6 +S1130680808F82E0818F128EB091B4208EEE92E042 +S1130690B89F9001B99F300D11242A59394D248FE8 +S11306A0B091B420B89F9001B99F300D11242A59FC +S11306B0394D358F168E20892068208B10A2A0A377 +S11306C070A311A262A32BE423A344A355A320EA9D +S11306D020A728E021A712A64091B420489F9001AA +S11306E0499F300D11242352384D24A74091B42042 +S11306F0489F9001499F300D1124C9018352984DA0 +S113070095A716A680A1806880A30895CF93C2E020 +S1130710C0930020CCDEE0E0F1E016AA34E230AB76 +S113072011AA29E522AB83E083AB409104205091C8 +S1130730052044AB55AB46E552E240AF51AF12AE93 +S113074099E394AF80933D0110923E0190A9906883 +S113075090AB10924601E0E4F1E030831092410145 +S113076020934201C0934301209102203091032041 +S1130770209344013093450126E634E22093480156 +S11307803093490110924A019BE390934C0180936A +S11307904D0110924E01808180688083CF9108952D +S11307A0CF93E0E0F1E0108AB0E4B08BA4E0A08B3A +S11307B0118A51E9528B80E1838B67E771E0648B86 +S11307C0758B84E2808F42E0418F128EC091B420F9 +S11307D08EEE92E0C89F9001C99F300D11242A59D2 +S11307E0394D248FC091B420C89F9001C99F300D0A +S11307F011242A59394D358F168E20892068208B73 +S113080010A2B0A3A0A311A252A322E123A364A324 +S113081075A324E320A741A712A64091B420489FC2 +S11308209001499F300D11242352384D24A7409143 +S1130830B420489F9001499F300D1124C90183526F +S1130840984D95A716A680A1806880A3CF9108959E +S1130850CF93C3E0C09300202ADEE0E0F1E010A2D1 +S113086080E480A384E080A311A212A28BE483A37A +S113087014A215A216A281E090E280A791A712A665 +S113088080EA84A788E085A716A680A1806A80A351 +S113089085E58093A00816AA24E220AB11AA99E565 +S11308A092AB82E083AB409102205091032044AB91 +S11308B055AB46E654E240AF51AF12AE8BE384AF82 +S11308C0C0933D0110923E0180A9806880AB1092D4 +S11308D04601E0E4F1E0208310924101909342014B +S11308E0C09343018091042090910520809344019A +S11308F09093450186E592E28093480190934901E3 +S113090010924A0189E380934C01C0934D011092E7 +S11309104E01808180688083CF910895E0E0F1E00A +S1130920108A80E4808B84E0808B118A81E9828B39 +S11309308BE4838B87E791E0848B958B80EA808FAF +S113094088E0818F128E4091B4202EEE32E0429FD7 +S1130950C001439F900D11248A59994D848F409171 +S1130960B420429FC001439F900D11248A59994D90 +S1130970958F168E80898068808B0895CF93C4E00C +S1130980C093002094DDE0E0F1E010A280E480A3B5 +S1130990C0A311A212A28BE483A314A215A216A2CF +S11309A081E090E280A791A712A680EA84A788E05C +S11309B085A716A680A1806A80A316AA84E280ABCC +S11309C011AA89E582AB82E083AB809102209091E9 +S11309D0032084AB95AB86E694E280AF91AF12AE70 +S11309E08BE384AF83E080933D0110923E0180A9A4 +S11309F0806880ABCF910895CF93E0E0F1E0108A56 +S1130A00B0E4B08BA4E0A08B118A51E9528B8BE443 +S1130A10838B67E771E0648B758B80EA808F48E095 +S1130A20418F128EC091B4208EEE92E0C89F900147 +S1130A30C99F300D11242A59394D248FC091B420F7 +S1130A40C89F9001C99F300D11242A59394D358F03 +S1130A50168E20892068208BE0E4F1E01082B083B8 +S1130A60A08310924101509342012AE42093430150 +S1130A70609344017093450123EC20934801409313 +S1130A80490110924A014091B420489F9001499F26 +S1130A90300D11242352384D20934C014091B42041 +S1130AA0489F9001499F300D1124C9018352984DEC +S1130AB090934D0110924E01808180688083CF9184 +S1130AC0089585E080930020F2DCE0E0F1E016AACE +S1130AD044E240AB11AA39E532AB83E083AB6091C9 +S1130AE004207091052064AB75AB66E572E260AFDB +S1130AF071AF12AE29E324AF80933D0110923E0101 +S1130B0090A9906890AB10924601E0E4F1E0408334 +S1130B10109241013093420180934301409104209B +S1130B2050910520409344015093450146E656E216 +S1130B30409348015093490110924A0120934C017B +S1130B4080934D0110924E018081806880830895C6 +S1130B5086E080930020ABDCE0E0F1E016AA34E20A +S1130B6030AB11AA29E522AB83E083AB409104208A +S1130B705091052044AB55AB46E552E240AF51AF2E +S1130B8012AE99E394AF80933D0110923E0190A977 +S1130B90906890AB10924601E0E4F1E0308310924B +S1130BA041012093420192E090934301209102205D +S1130BB030910320209344013093450126E634E22A +S1130BC0209348013093490110924A019BE390938A +S1130BD04C0180934D0110924E0180818068808386 +S1130BE00895E0E0F1E0108A80E4808B84E0808B5B +S1130BF0118A81E9828B80E1838B2EEE32E0248B93 +S1130C00358B84E2808F82E0818F128E4091B420F4 +S1130C10429FC001439F900D11248A59994D848F9E +S1130C204091B420429FC001439F900D11248A59E2 +S1130C30994D958F168E80898068808B089587E002 +S1130C408093002034DCE0E0F1E016AA34E230AB1B +S1130C5011AA29E522AB83E083AB40910420509193 +S1130C60052044AB55AB46E552E240AF51AF12AE5E +S1130C7099E394AF80933D0110923E0190A990684E +S1130C8090AB10924601E0E4F1E030831092410110 +S1130C902093420192E090934301209102203091ED +S1130CA00320209344013093450126E634E2209347 +S1130CB048013093490110924A019BE390934C01FF +S1130CC080934D0110924E01808180688083089545 +S1130CD0E0E0F1E0108A80E4808B85E0808B118A6B +S1130CE081E9828B80E1838B2EEE32E0248B358B7D +S1130CF084E2808F82E0818F128E4091B420429FE3 +S1130D00C001439F900D11248A59994D848F4091BD +S1130D10B420429FC001439F900D11248A59994DDC +S1130D20958F168E80898068808B0895E0E7F0E0C7 +S1130D3083818C7F838384818C7F848380818D7F76 +S1130D408083E0E8F1E080EC8283128688EC818382 +S1130D501186E0E0F8E034E0308323E0218314825C +S1130D6085ED91E086A397A31682E0E4F8E0308352 +S1130D702183148286A397A31682E0E6F6E080819D +S1130D8080618083E0E4F9E083E18183148281E07F +S1130D90868328EB3BE026A337A310A611A6808305 +S1130DA008951F920F920FB60F9211242F933F9321 +S1130DB04F935F938F939F93EF93FF93CF93DF931F +S1130DC01F92CDB7DEB780910020873031F4E0E088 +S1130DD0F2E084A5898395A502C090912C028091AC +S1130DE0B220891B209168093091690991E0823011 +S1130DF00CF490E09923C9F091E0223B3B4008F0C9 +S1130E0090E0992391F02091680930916909893023 +S1130E101CF481E090E002C086E090E0820F931F12 +S1130E20809378099093790923C0209168093091BF +S1130E30690991E08F3F0CF090E09923C9F091E0AB +S1130E402730310508F490E0992391F02091680946 +S1130E5030916909883F1CF081E090E002C086E08F +S1130E6090E0A901481B590B4093780950937909E4 +S1130E700F90DF91CF91FF91EF919F918F915F91AF +S1130E804F913F912F910F900FBE0F901F90189587 +S1130E90E0E7F0E083818F7E8383E0E4F6E0808105 +S1130EA08A6480838FEF848388E5828B80E28687DF +S1130EB0E0EAF8E084EC858383E08683178288E1A6 +S1130EC084830895E0E7F0E08381877F8383E0EC07 +S1130ED0F8E080E4808383E0818388E5809357068B +S1130EE008951F920F920FB60F92112400000F90D5 +S1130EF00FBE0F901F9018950F931F93CF93DF93FE +S1130F0000D000D0CDB7DEB78FEF80937000809310 +S1130F1071008093720080937300809374008093B7 +S1130F2075008093760064E081E490E0A6D56CE1DE +S1130F3070E082E0A8D58A836DE170E082E0A3D5F9 +S1130F40898389819A81019621F480E493E28983DB +S1130F509A8389819A818B839C83E0E6F0E0828383 +S1130F608C8183839FB7F894E0E5F0E08081826010 +S1130F7080839FBF818181FFFDCF9FB7F89400E5F7 +S1130F8010E0D80116968C911697897F16968C934B +S1130F901697E0E6F0E080E885838BEB868316966F +S1130FA08C911697846016968C93808181608083DF +S1130FB09FBF61E080E490E060D59FB7F894F801AA +S1130FC080818E7F80839FBF2496CDBFDEBFDF915B +S1130FD0CF911F910F9108959FB7F894E82FF0E0F7 +S1130FE0E059FF4F60958081682360839FBF089517 +S1130FF0863011F060E001C068E18091510081FD0C +S113100026C09FB7F894E0E5F0E080818260808399 +S11310109FBF818181FFFDCF9FB7F894A0E5B0E029 +S113102016968C911697897F16968C931697E0E600 +S1131030F0E080E885838BEB868316968C91169777 +S1131040846016968C938081816080839FBF6360E7 +S113105084E490E012D560E480E0BECF08958091EE +S1131060B620089528D1FC0183818093B620811194 +S113107002C06EC9089581E008958091B620813040 +S113108009F472C908958091562488234CF480761B +S11310908034A9F480915724811113C06AC908953A +S11310A08076803481F48091572481110EC0809120 +S11310B05C2490915D24892B51F059C9089580E0F6 +S11310C0089580E0089580E0089580E0089580E028 +S11310D008950F931F939B018A01AC0160E083E89C +S11310E00E94B1111F910F910895E091BB20F091DE +S11310F0BC200190F081E02D228133812E0F3F1F0F +S1131100FC014081E40FF11DE217F307B8F481817B +S11311108430B9F0861309C005C081818430A1F000 +S1131120861303C08E2F9F2F08958081E80FF11D31 +S1131130E217F30790F380E090E0089580E090E0F8 +S1131140089580E090E0089580E090E00895809113 +S113115058248F770C94DF1008959091BE20992322 +S113116081F1E091BB20F091BC200190F081E02D51 +S11311709481891740F5E093B920F093BA20228135 +S113118033812E0F3F1FE217F307F8F49181943057 +S113119061F49281981309C09381961306C0E09379 +S11311A0B920F093BA2081E008959081E90FF11DF0 +S11311B0E217F30758F3E093B920F093BA2080E0E4 +S11311C0089580E0089580E0089580E00895EF9206 +S11311D0FF921F93CF93DF93C82F60E0BEDF182FD9 +S11311E0882381F1A091BB20B091BC20EC2FF0E0CA +S11311F0EE0FFF1F12968D919C911397E80FF91F24 +S1131200E080F180D7011696ED91FC91179709952E +S1131210682F8C2FA2DF182F8823A1F0C091B9204A +S1131220D091BA2065E0CE0160DFEC01892B21F07A +S11312308A810E94B412F6CFD7011296ED91FC91E7 +S113124013970995812FDF91CF911F91FF90EF9014 +S113125008951F93CF93DF93182F7FDF882339F1ED +S1131260C091B920D091BA2065E0CE013EDFEC01F7 +S1131270892B41F04C815D816B818A81ADD78111CD +S1131280F3CF15C0A091BB20B091BC20E12FF0E0BA +S1131290EE0FFF1F12968D919C911397E80FF91F83 +S11312A00190F081E02D0190F081E02D0995DF910E +S11312B0CF911F9108958091B9209091BA200895FB +S11312C0F9C60895CF938091BE208823C1F0E091A0 +S11312D0BB20F091BC200190F081E02D8481882313 +S11312E071F0C0E08C2F73DFCF5FE091BB20F091F1 +S11312F0BC200190F081E02D8481C81798F31092EE +S1131300BE201092C2201092C320CF910895CF9393 +S11313108091BE20882349F1A091BB20B091BC20CC +S1131320ED91FC91119784818823F9F0C0E0EC2FB2 +S1131330F0E0EE0FFF1F12968D919C911397E80F2A +S1131340F91F0190F081E02D0084F185E02D3097A4 +S113135009F00995CF5FA091BB20B091BC20ED911D +S1131360FC9111978481C81710F3CF9108950F93BE +S11313701F93CF93DF93E6E5F4E212861386148677 +S1131380158616861786808188233CF420915C2478 +S113139030915D24232B09F464C38076803409F0F2 +S11313A002C1E09157248E2F90E0FC01E05AF1092C +S11313B0E830F10508F0EEC0EA5FFE4F0C94B51476 +S11313C0000053C3E0E0F8E01082C6E5D4E28A816D +S11313D09B8186AB97AB8C818F7080836E817F817C +S11313E086E592E2F2D68E819F812091042030918D +S11313F005208217930709F438C38093042090933F +S11314000520E09100208E2F90E08830910508F0AF +S1131410C3C0FC01E25FFE4F0C94B5145AD825C337 +S1131420D0D823C373D921C313DA1FC3A7DA1DC3CA +S113143048DB1BC38DDB19C302DC17C3E0E4F8E00F +S11314401082C6E5D4E26E817F816093022070939E +S113145003208A819B8186AB97AB8C818F708083BC +S113146086E694E2B2D68E819F8120910420309149 +S113147005208217930709F4F8C2809304209093FF +S11314800520E09100208E2F90E08830910508F02F +S113149085C0FC01EA5EFE4F0C94B5141AD8E5C26F +S11314A090D8E3C233D9E1C2D3D9DFC267DADDC24F +S11314B008DBDBC24DDBD9C2C2DBD7C2109268099C +S11314C010926909809158248093B220CEC28091F1 +S11314D0582480932406C9C2E0915824F0915924D9 +S11314E0E830F10508F05CC0E25EFE4F0C94B514E0 +S11314F060E080E00E94ED0180915A240E94BB01CB +S11315000E946902B2C260E080E00E94ED01809115 +S11315105A240E94BB0155D8A8C261E081E00E9410 +S1131520ED01C6E5D4E28C810E94BB018D810E944D +S1131530D001ECD89AC28CD998C220DA96C260E065 +S113154080E00E94ED0180915A240E94BB01B9DA27 +S11315508CC261E080E00E94ED0180915A240E94D7 +S1131560BB01F6DA82C262E080E00E94ED01809164 +S11315705A2480680E94BB0162DB77C280915824A0 +S11315808093840672C2E9E7F0E091E088EDF89474 +S113159084BF908380E005C081E003C081E001C086 +S11315A080E0811165C280915624982F907609F0CD +S11315B0E1C188230CF005C120915C2430915D24A5 +S11315C02115310509F4D6C18F7109F0A3C090919A +S11315D05724963079F0983009F492C091119AC04A +S11315E02230310509F0C6C162E070E082EC90E27D +S11315F0ECD53DC28091582490915924292F33274A +S113160022303105A9F024F42130310541F0A9C17B +S113161023303105D9F12F30310551F1A2C1809128 +S1131620102090911120DC016C9170E0CED559C04E +S1131630E0911020F09111202189821708F09AC1BD +S11316409927880F991F880F991FE0911220F09114 +S11316501320E80FF91F80819181FC01628173815D +S1131660B4D5E0915E24F0915F2482E0818339C097 +S11316708091142090911520009709F47BC1DC011E +S113168012966D917C911397A0D52BC09927813028 +S1131690910571F038F0029709F06CC18AE890E284 +S11316A028E109C064E070E08EEA90E28ED519C0AA +S11316B083EA90E229E0382FAAE5B0E2E82FF92F77 +S11316C0819190E08D939D938E2F831B8217C0F39D +S11316D0622F660F6E5F6093582070E088E590E299 +S11316E074D5E6E5F4E286819781228533858217F5 +S11316F0930708F0BCC18093602490936124B7C120 +S11317002130310509F036C161E070E08EEB90E2E2 +S11317105CD5ADC18130E1F5909157249A30C1F583 +S11317202130310509F026C18091BE20882309F4B7 +S113173021C1C0915A24D0915B240091BB20109107 +S1131740BC20D801ED91FC918481C81708F012C126 +S113175060E08C2F02DD882309F40CC1CE019927A7 +S1131760880F991FD8011296ED91FC911397E80FF9 +S1131770F91F0190F081E02D86819781FC01099584 +S11317808093C02061E070E080EC90E21ED56FC1D0 +S1131790823009F0EFC0809157248111E4C02230D7 +S11317A0310509F0E7C080915A248BD590E08093ED +S11317B0B7209093B82062E070E087EB90E205D503 +S11317C056C18F7109F083C090915724933009F466 +S11317D0CCC018F49130A1F07AC0953019F099304A +S11317E039F175C080915C2490915D24892B09F0B6 +S11317F0C1C087EA98E0809362249093632437C140 +S113180080915C2490915D24892B09F0B3C0809170 +S1131810582490915924019709F0ACC08091C220BA +S11318209091C3208D7F8093C2209093C3201FC1C9 +S113183080915C2490915D24892B09F09BC0C2D4D3 +S1131840882309F497C020915824309159243327D0 +S1131850E0911020F0911120818990E08217930784 +S113186008F488C02FDD80915824909159248093E6 +S1131870BE20882309F4FBC099278150904C880F1F +S1131880991F880F991FE0911220F0911320E80FFF +S1131890F91FE093BB20F093BC200190F081E02D70 +S11318A08481882309F4E3C0C0E060E08C2FD1DC9C +S11318B0882309F45FC0CF5FE091BB20F091BC2086 +S11318C00190F081E02D8481C81778F3D0C0813075 +S11318D0E1F4909157249B30C1F480915C24909161 +S11318E05D24892B09F046C08091BE20882309F429 +S11318F041C0E6E5F4E2C481D2818C2F68DC882300 +S1131900C9F16D2F8C2FA5DC33C0823099F58091FD +S11319105724813019F0833089F029C080915C24E8 +S113192090915D24892B31F580915824909159240C +S1131930892B01F580915A24DFD41AC080915C244C +S113194090915D24892BB1F480915824909159246D +S1131950892B81F4C6E5D4E28C81BDD58C8120D657 +S113196007C080E005C080E003C080E001C080E0E3 +S113197081117EC0809156248F71813071F58091E0 +S1131980BE20882351F100915A2410915B24C09108 +S1131990BB20D091BC20E881F98184810817E8F448 +S11319A060E0802FDADB8823C1F0F801FF27CF0144 +S11319B0880F991FEA81FB81E80FF91FC081D1814B +S11319C0EE81FF810995682F802FC7DB882329F0DA +S11319D0EC81FD81099581114BC0809156248F7152 +S11319E0823009F040C08091BE208823B1F1A091DB +S11319F0BB20B091BC20ED91FC9111978481882388 +S1131A0071F1C0E0EC2FF0E0EE0FFF1F12968D9104 +S1131A109C911397E80FF91F00811181D801169644 +S1131A20ED91FC9117970995682F8C2F96DB8823ED +S1131A30F9F0D8011496ED91FC911597099581114F +S1131A4017C0CF5FA091BB20B091BC20ED91FC9159 +S1131A5011979481C917B0F20BC080E009C080E0EF +S1131A6007C080E005C080E003C081E001C081E0E0 +S1131A70DF91CF911F910F9108951BBEFC0128EDBA +S1131A8024BF608308954091CA01E62FF72F809305 +S1131A90CA0184914093CA010895811122C0909192 +S1131AA054229923D9F09091432C911101C0FFCF76 +S1131AB02FB7F894E2E4FCE29181915091832FBF17 +S1131AC00DC09091432C9F3F09F4FFCF2FB7F8949A +S1131AD0E2E4FCE291819F5F91832FBF80935422C3 +S1131AE0089590915422992361F3F8CF0F93E8EC71 +S1131AF0F4E080818F7D808380818F7D8083E8E125 +S1131B00F2E202E0059310921A2210921B2200E2E4 +S1131B10069300E40693E0E1F2E200E2069300E4B7 +S1131B200693E6E5F4E21486158616861786128671 +S1131B3013861092FF210F9108950F9385E08093EF +S1131B40FF21E9E1F2E204E00593E1E1F2E204E0DD +S1131B5005930F9108950F9383E08093FF211092D2 +S1131B601A2210921B22E8E1F2E202E006930F919E +S1131B700895E0916224F0916324309709F0099567 +S1131B8008950F93CF93DF938091FF21833019F44D +S1131B90F0DFACDF5EC08091FB219091FC21C0910D +S1131BA06024D0916124C81BD90B71F52091FD21CB +S1131BB03091FE21820F931F8093FD219093FE218B +S1131BC020915C2430915D248217930721F0809149 +S1131BD0C420882341F084E08093FF21E0E1F2E215 +S1131BE002E0069336C0E0916424F09165243097B6 +S1131BF099F00995882381F01092FB211092FC2121 +S1131C00C0916024D0916124C034D10528F0109291 +S1131C10C420C0E4D0E003C081E08093C420E0E0AD +S1131C20F2E2C28FD38F8091FB219091FC2120910D +S1131C305E2430915F24280F391F248F358FC80FFD +S1131C40D91FC093FB21D093FC21E8E1F2E202E02A +S1131C500693DF91CF910F910895FC018181E82FC4 +S1131C60E7708E2F90E0FC013197E730F105C0F466 +S1131C70EA5DFE4F7AC680E190E0089580E290E04C +S1131C80089580E490E0089580E890E0089580E06D +S1131C9091E0089580E092E008958FEF93E0089535 +S1131CA088E090E00895282F2F7030E0220F331F32 +S1131CB0082E000C990B8827990F881F9927820FEB +S1131CC0931F02979C01220F331F220F331F220FF1 +S1131CD0331F820F931F8B579E4D08950F93CF93FD +S1131CE08091CC0480FF62C081E08093CC04E0E169 +S1131CF0F2E200E80693E8E1F2E200E8069380935A +S1131D00CA04E0E1F2E200E106938091FF21882316 +S1131D1029F08350823008F42CDFE8DE809112220F +S1131D2090911322089709F043C088E0EBEBF1E2AD +S1131D30A6E5B4E201900D928A95E1F7E8ECF4E0AF +S1131D4080818062808380818062808310DBC82FE1 +S1131D50811103C0F2DEC1E02CC080915624882397 +S1131D606CF41092FD211092FE211092FB2110922E +S1131D70FC2182E08093FF2104DF1BC080915C245E +S1131D8090915D24892B11F4E6DE13C01092FD219D +S1131D901092FE211092FB211092FC2181E080938D +S1131DA0FF21E0E1F2E202E0069303C0C0E001C0DB +S1131DB0C1E08C2FCF910F9108958F929F92AF9293 +S1131DC0BF92DF92EF92FF920F931F93CF93DF9313 +S1131DD0D82E69DF8C01BD2CBB1CBB24BB1CCD2DB4 +S1131DE0CF70D0E0CC0FDD1FCB0DD11DCE01880FFD +S1131DF0991F880F991F880F991F9C01205F3D4DE3 +S1131E007901C9012ADF4C01BB2009F470C0FE012D +S1131E10EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DF2 +S1131E2026893789D80115968D919C911697820F32 +S1131E30931F15968D939C93169713962D913C9111 +S1131E4014978217930709F43CC0281B390B2115FA +S1131E50B4E03B0738F02FEF33E0C901B40171D58A +S1131E60281B390BF801808181FF09C0C901B40125 +S1131E7068D541E0892B09F040E0842F01C080E05F +S1131E80D8019C9180FB91F99C93CC0FDD1FCC0F62 +S1131E90DD1FCC0FDD1FC050DE4D1E8A1F8A2A8B2A +S1131EA03B8B11962D913C91129715968D919C9197 +S1131EB01697820F931F8C8B9D8BF70102E006937C +S1131EC0CAC0D8018C9181FFB3C08D7F8C93CC0F95 +S1131ED0DD1FCC0FDD1FCC0FDD1FC050DE4D1E8A71 +S1131EE01F8A1A8A1B8AF70102E00693B4C0FE0116 +S1131EF0EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D12 +S1131F00A288B388D8018C9182FF19C01196ED91F3 +S1131F10FC91129715962D913C91169713968D91DD +S1131F209C911497B4010DD5B0E4DB9EB00111244B +S1131F306B577F4DAC01CF01820F931F1CD5F80165 +S1131F40258136812A0D3B1D258336838381948127 +S1131F508217930768F485839683CC0FDD1FCC0F1B +S1131F60DD1FCC0FDD1FC050DE4D8E899F8960C000 +S1131F70FE01EE0FFF1FEE0FFF1FEE0FFF1FE050DD +S1131F80FE4D468957894A155B0509F051C028174B +S1131F90390709F44DC0AC01421B530B9A012115BA +S1131FA054E0350750F02FEF33E0C901B401C9D430 +S1131FB0D901A81BB90BCD0107C0C901B401C1D413 +S1131FC0F901E81BF90BCF01FE01EE0FFF1FEE0F25 +S1131FD0FF1FEE0FFF1FE050FE4D128A138A881573 +S1131FE0990578F4D8018C9184608C93B0E4DB9EDD +S1131FF0C00111248B579F4D848B958B868A978AB9 +S113200013C0F8014181528125813681240F351F87 +S1132010CC0FDD1FCC0FDD1FCC0FDD1FC050DE4DFC +S11320202C8B3D8B8E8B9F8BF70102E0069313C0A4 +S1132030D8018C9180FF0FC08E7F8C931796ED9101 +S1132040FC911897309739F015966D917C911697FD +S11320504D2D80E00995DF91CF911F910F91FF9055 +S1132060EF90DF90BF90AF909F908F900895CF93A3 +S1132070CFB7F89481E011DDEAECF4E080E48083EA +S113208080E28083E1ECF4E0808181608083A9ECCC +S1132090B4E08C9182608C93E8ECF4E080818064FD +S11320A080838C9181608C93808180688083CFBF92 +S11320B0CF910895CF93DF93C0E6D0E0188280E3F8 +S11320C00E94F807E0ECF4E080818064808381E082 +S11320D08883CFB7F89480E090E0FC01EE0FFF1FF7 +S11320E0EE0FFF1FEE0FFF1FE050FE4D118A019609 +S11320F08830910591F7E5E8F1E280818E7F808355 +S1132100EEE8F1E280818E7F8083E7E9F1E280816D +S11321108E7F8083E0EAF1E280818E7F8083E9EA2A +S1132120F1E280818E7F8083E2EBF1E280818E7F19 +S113213080836AE170E082E0A6DC8F3F19F080932F +S1132140FA0403C08FE18093FA046BE170E082E04B +S11321509ADC8F3F19F08093FB0403C08FE18093D6 +S1132160FB04E0ECF4E080818360808380818068FC +S1132170808380818061808380E192E2868397837B +S11321808081806280838FEF8093C504E8ECF4E063 +S1132190808182608083109254228091472C8F3FEB +S11321A009F4FFCF9FB7F894E2E4FCE285818F5FE6 +S11321B085839FBF5CDFCFBFDF91CF91089580936C +S11321C0C30408958091C3040895E6E5F4E280878A +S11321D09187628773870895282F2F7030E0220F2C +S11321E0331F082E000C990B8827990F881F9927F5 +S11321F0820F931FFC01EE0FFF1FEE0FFF1FEE0F68 +S1132200FF1FE050FE4D2189207C09F058C0637007 +S1132210613011F018F404C020EC03C020E801C0C0 +S113222020E440385105E9F050F440325105A9F05A +S113223040345105A1F040315105D9F40CC0411589 +S113224032E0530791F04F3F33E0530781F04115DB +S1132250514079F408C041E00DC042E00BC043E0B6 +S113226009C044E007C045E005C046E003C047E0BC +S113227001C040E0FC01EE0FFF1FEE0FFF1FEE0F49 +S1132280FF1FE050FE4D118ADC01AA0FBB1FAA0FED +S1132290BB1FAA0FBB1FA05FBD4D36E03C93242B90 +S11322A0218B880F991F880F991F880F991FFC0194 +S11322B0E050FE4D81898062818B81E0089580E049 +S11322C00895E82FEF70F0E0EE0FFF1F082E000CCA +S11322D0990B8827990F881F9927E80FF91FEE0F8C +S11322E0FF1FEE0FFF1FEE0FFF1FE050FE4D818911 +S11322F082FB882780F90895282F2F7030E0A901E8 +S1132300440F551F282F082E000C330B2227330FA0 +S1132310221F3327240F351FF901EE0FFF1FEE0F85 +S1132320FF1FEE0FFF1FE050FE4D918992FF17C073 +S1132330220F331F220F331F220F331FF901E050E6 +S1132340FE4D91899B7F918BAEDCFC01808180FFE7 +S113235006C08E7F80830780F085E02D099581E09B +S113236008957F928F929F92AF92BF92CF92DF9205 +S1132370EF92FF920F931F93CF93DF93982E862EA5 +S11323806A01790190DC5C01792C771C7724771C35 +S1132390C92DCF70D0E0CC0FDD1FC70DD11DFE01BC +S11323A0EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D5D +S11323B08189807C09F47DC0FE01EE0FFF1FEE0FC2 +S11323C0FF1FEE0FFF1FE050FE4D8189807C803C93 +S11323D061F0FE01EE0FFF1FEE0FFF1FEE0FFF1F58 +S11323E0E050FE4D818982FD66C08FB7F894F501F7 +S11323F0908190FF03C08FBF712C5EC0F501908166 +S1132400916090838FBFC182D282E382F48215826D +S1132410168207831087811006C091E0E114F1044D +S113242019F090E001C091E0F501808190FB81F901 +S11324308B7F8083772059F0CC0FDD1FCC0FDD1FFD +S1132440CC0FDD1FC050DE4D1E8A1F8A2DC0FE0139 +S1132450EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DAC +S11324608189807C803CA1F4CE01880F991F880F5C +S1132470991F880F991F805F9D4DEFDBBC01C70139 +S113248060D2892B29F0F50180818E7F808314C06E +S1132490CC0FDD1FCC0FDD1FCC0FDD1FC050DE4D78 +S11324A01A8A1B8A1E8A1F8A892D87DC77247394D3 +S11324B003C0712C01C0712C872DDF91CF911F9126 +S11324C00F91FF90EF90DF90CF90BF90AF909F90CF +S11324D08F907F900895FF920F931F93CF93DF9374 +S11324E0182FF82EFF1CFF24FF1CC82FCF70D0E03C +S11324F0CC0FDD1FCF0DD11DD6DBDC01FE01EE0FAD +S1132500FF1FEE0FFF1FEE0FFF1FE05FFD4D02E008 +S113251005938C9180FF22C08E7F8C931796ED914A +S1132520FC9118973097D1F0FF2059F0CC0FDD1FA4 +S1132530CC0FDD1FCC0FDD1FC050DE4D6E897F89AF +S11325400AC0CC0FDD1FCC0FDD1FCC0FDD1FC05028 +S1132550DE4D6A897B89412F81E00995DF91CF9116 +S11325601F910F91FF900895CF93C82FB4DFEC2FE4 +S1132570EF70F0E0EE0FFF1F8C2FCC0F990B882724 +S1132580990F881F9927E80FF91FEE0FFF1FEE0F11 +S1132590FF1FEE0FFF1FE050FE4D118ACF910895EB +S11325A00F93E82FEF70F0E0EE0FFF1F282F082E97 +S11325B0000C330B2227330F221F3327E20FF31FA4 +S11325C0DF01AA0FBB1FAA0FBB1FAA0FBB1FA0507E +S11325D0BE4D51969C915197946051969C93EE0FE9 +S11325E0FF1FEE0FFF1FEE0FFF1FE05FFD4D01E029 +S11325F0069371DF81E00F9108951F920F920FB639 +S11326000F9211240F932F933F934F935F936F93E4 +S11326107F938F939F93AF93BF93EF93FF93809197 +S1132620CB04882344F480E88093CA040E94870979 +S11326300E9487018AC08091CB0482FF20C084E07D +S11326408093CA048091182286FF7FC08091CC04B5 +S113265081FD7BC043DB811178C08091FF218130F3 +S113266011F479DA72C0843009F06FC0E9E1F2E262 +S113267004E00593E1E1F2E204E0059366C0809191 +S1132680CB0481FF5DC082E08093CA048091102254 +S113269086FF5BC08091CC0481FD57C01FDB811194 +S11326A054C08091FF21823041F484E08093FF2163 +S11326B0E0E1F2E202E0069348C0833009F045C04D +S11326C0E9E1F2E204E00593E1E1F2E204E00593DA +S11326D03CC080E18093CA0481E0FDDE81E8FBDE3A +S11326E082E0F9DE82E8F7DE0E9462091092C304F8 +S11326F0E0E0F2E2118A96E0908B83E4818B118E04 +S1132700908F818F8BEB91E2848B958BEFD91DC0D9 +S11327108091CB0486FF08C080E48093CA0480E0E3 +S1132720BCD90E94850111C08091CB0485FF0DC0E6 +S113273080E28093CA0481E0B0D90E94860105C07A +S11327408091CB0484FDC5CFE3CFFF91EF91BF917E +S1132750AF919F918F917F916F915F914F913F9135 +S11327602F910F910F900FBE0F901F9018951F92ED +S11327700F920FB60F9211240F931F932F933F9331 +S11327804F935F936F937F938F939F93AF93BF9375 +S1132790CF93DF93EF93FF938091CC0481FD03C02B +S11327A09DDA8111B9C082E08093CC048091C50484 +S11327B08195880FE0E1F2E2E81BF1092081318183 +S11327C0205132423695279536952795369527958B +S11327D0822F869520FD02C090E001C090E8890F09 +S11327E0E82FEF70F0E0EE0FFF1F282F082E000CEB +S11327F0330B2227330F221F3327E20FF31FDF018E +S1132800AA0FBB1FAA0FBB1FAA0FBB1FA05FBD4D02 +S11328109C9195FF81C0FD0100E20693811177C070 +S11328208091FF21843019F4A4D960D975C0009136 +S11328301222109113228091602490916124C091FE +S1132840FB21D091FC219E01200F311F8217930799 +S113285018F48C010C1B1D0B80915E2490915F2455 +S1132860A8016BEB71E28C0F9D1F85D0C00FD11FA7 +S1132870C093FB21D093FC210034110569F48091AD +S1132880FD219091FE218C0F9D1F20915C2430919D +S11328905D248217930780F0E6E5F4E2C287D387CC +S11328A00684F785E02D309729F00995811102C03F +S11328B044D932C050D930C08091602490916124B1 +S11328C0C817D907F9F4E0916424F091652430978E +S11328D011F433D921C00995811102C02ED91CC02D +S11328E02091FD213091FE218091FB219091FC21CA +S11328F0820F931F8093FD219093FE211092FB2160 +S11329001092FC21E0E1F2E202E0069305C0803877 +S113291011F437D901C051DAFF91EF91DF91CF91D2 +S1132920BF91AF919F918F917F916F915F914F91E3 +S11329303F912F911F910F910F900FBE0F901F90F9 +S11329401895AA1BBB1B51E107C0AA1FBB1FA617E2 +S1132950B70710F0A61BB70B881F991F5A95A9F744 +S113296080959095BC01CD010895EE0FFF1F059051 +S1132970F491E02D0994FB01DC0102C001900D9259 +S10F298041505040D8F70895F894FFCF60 +S113298CFF558000800032083D0843082F080000E2 +S113299C4420162000001C201A20062009022700BF +S11329AC01010080FA0904000003FFFFFF00070582 +S11329BC8102400000070502024000000705830164 +S11329CCFF0301001201000200000040EB0300A011 +S11329DC00020102000100000003000000000000DE +S11329EC00000000000000000000000000000000D7 +S11329FC00000000000000000000000000000000C7 +S1132A0C00000000000000000000555342476F62B4 +S1132A1C696E6461722044756D6D792044657669C4 +S1132A2C6365005461706972546563680000040343 +S1052A3C090487 S9030000FC diff --git a/AVR Code/USB_BULK_TEST/Debug/src/ASF/common/services/usb/udc/udc.o b/AVR Code/USB_BULK_TEST/Debug/src/ASF/common/services/usb/udc/udc.o index 5c942451..999d7b28 100644 Binary files a/AVR Code/USB_BULK_TEST/Debug/src/ASF/common/services/usb/udc/udc.o and b/AVR Code/USB_BULK_TEST/Debug/src/ASF/common/services/usb/udc/udc.o differ diff --git a/AVR Code/USB_BULK_TEST/Debug/src/main.o b/AVR Code/USB_BULK_TEST/Debug/src/main.o index cba71c14..ad1a0d54 100644 Binary files a/AVR Code/USB_BULK_TEST/Debug/src/main.o and b/AVR Code/USB_BULK_TEST/Debug/src/main.o differ diff --git a/AVR Code/USB_BULK_TEST/Debug/src/tiny_adc.o b/AVR Code/USB_BULK_TEST/Debug/src/tiny_adc.o index 602d1ad2..c2c563f6 100644 Binary files a/AVR Code/USB_BULK_TEST/Debug/src/tiny_adc.o and b/AVR Code/USB_BULK_TEST/Debug/src/tiny_adc.o differ diff --git a/AVR Code/USB_BULK_TEST/Debug/src/tiny_dig.o b/AVR Code/USB_BULK_TEST/Debug/src/tiny_dig.o index 410208b2..4847d117 100644 Binary files a/AVR Code/USB_BULK_TEST/Debug/src/tiny_dig.o and b/AVR Code/USB_BULK_TEST/Debug/src/tiny_dig.o differ diff --git a/AVR Code/USB_BULK_TEST/Debug/src/tiny_dma.o b/AVR Code/USB_BULK_TEST/Debug/src/tiny_dma.o index 3dc6f10c..4799e7b7 100644 Binary files a/AVR Code/USB_BULK_TEST/Debug/src/tiny_dma.o and b/AVR Code/USB_BULK_TEST/Debug/src/tiny_dma.o differ diff --git a/AVR Code/USB_BULK_TEST/Debug/src/tiny_timer.o b/AVR Code/USB_BULK_TEST/Debug/src/tiny_timer.o index 810153f8..93031459 100644 Binary files a/AVR Code/USB_BULK_TEST/Debug/src/tiny_timer.o and b/AVR Code/USB_BULK_TEST/Debug/src/tiny_timer.o differ diff --git a/AVR Code/USB_BULK_TEST/Debug/src/tiny_uart.o b/AVR Code/USB_BULK_TEST/Debug/src/tiny_uart.o index 1955f7d4..9f3c0ff3 100644 Binary files a/AVR Code/USB_BULK_TEST/Debug/src/tiny_uart.o and b/AVR Code/USB_BULK_TEST/Debug/src/tiny_uart.o differ diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.elf b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.elf index 95a4c49e..5f6df88a 100644 Binary files a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.elf and b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.elf differ diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex index 891f21f1..caeebe76 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex @@ -4,7 +4,7 @@ :1000300021C100001FC100001DC100001BC1000044 :1000400019C1000017C1000015C1000013C1000054 :1000500011C100000FC100000DC100000BC1000064 -:1000600009C1000007C1000005C1000003C1000074 +:100060000CC7000007C1000005C1000003C100006B :1000700001C10000FFC00000FDC00000FBC0000087 :10008000F9C00000F7C00000F5C00000F3C0000098 :10009000F1C00000EFC00000EDC00000EBC00000A8 @@ -18,7 +18,7 @@ :10011000B1C00000AFC00000ADC00000ABC0000027 :10012000A9C00000A7C00000A5C00000A3C0000037 :10013000A1C000009FC000009DC000009BC0000047 -:1001400099C0000097C0000095C000002AC60000BA +:1001400099C0000097C0000095C000000DC60000D7 :1001500091C000008FC000008DC000008BC0000067 :1001600089C0000087C0000085C0000083C0000077 :1001700081C000007FC000007DC000007BC0000087 @@ -29,28 +29,28 @@ :1001C00059C0000057C0000055C0000053C00000D7 :1001D00051C000004FC000004DC000004BC00000E7 :1001E00049C0000047C0000045C0000043C00000F7 -:1001F00041C000000C94FA100C94AF1183018501EA -:10020000870189018B0190018D018F0170097209AD -:100210008809BF09C809CD091D0A220AE009EA09AF -:10022000F809FA09FC09060A100A1B0AD909E209A9 -:10023000EC09FA09FC09FE09080A120A11241FBE7A -:10024000CFEFCDBFDFE2DEBF10E2A0E0B0E2ECE432 +:1001F00041C000000C94EA100C949F11830185010A +:10020000870189018B0190018D018F0161096309CB +:100210007909B009B909BE090D0A120AD109DA092A +:10022000E809EA09EC09F609000A0B0ACA09D30928 +:10023000DC09EA09EC09EE09F809020A11241FBEDB +:10024000CFEFCDBFDFE2DEBF10E2A0E0B0E2ECE234 :10025000F5E202C005900D92A03CB107D9F72CE25F :10026000A0ECB0E201C01D92A835B207E1F71BD0A7 -:100270000C94A412C5CEE0E8F6E08FE0808385E020 +:100270000C949412C5CEE0E8F6E08FE0808385E030 :100280008483089508958091C220882319F080E026 :1002900090E002C08EEE92E043E451E06EEE72E038 -:1002A0008A58994DCEC687E08093A20078941BD6D9 -:1002B000E9DFA0D7B2D0D5D060E080E07FD06BD0AE -:1002C0008CE05FD033D5CDD5E6D5D5DF000000007A +:1002A0008A58994DBFC687E08093A20078940CD6F7 +:1002B000E9DF91D7B2D0D5D060E080E07FD06BD0BD +:1002C0008CE05FD016D5B0D5C9D5D5DF00000000D1 :1002D000000000000000000000000000000000001E :1002E0000000000000000000F1CF08950895E091A3 :1002F00000208E2F90E08830910590F4FC01E250B0 -:10030000FF4F0C94951210D10BC08CD109C02BD289 -:1003100007C0E7D205C07BD303C063D401C0D8D4E3 +:10030000FF4F0C94851210D10BC08CD109C02BD299 +:1003100007C0E7D205C053D303C046D401C0BBD445 :100320009091C22081E0911180E08093C2200895D5 :1003300081E08093C32043E451E06EEE72E086E7F3 -:1003400096E27FD681E008951092C320089581E05F +:1003400096E270D681E008951092C320089581E06E :10035000089581E0089510922002982F9C7193686F :100360009093200287FF03C090E182E002C090E0FA :1003700080E0892B809321021092220210922602A3 @@ -150,461 +150,459 @@ :1009500010A280E480A3C0A311A212A28BE483A3FF :1009600014A215A216A281E090E280A791A712A678 :1009700080EA84A788E085A716A680A1806A80A364 -:1009800085E58093A00816AA34E230AB11AA29E5C8 -:1009900022AB83E083AB409104205091052044AB0F -:1009A00055AB46E652E240AF51AF12AE99E394AF79 -:1009B00080933D0110923E0190A9906890AB1092F7 -:1009C0004601E0E4F1E030831092410120934201BE -:1009D00092E09093430120910220309103202093D4 -:1009E00044013093450126E734E2209348013093D7 -:1009F000490110924A019BE390934C0180934D0171 -:100A000010924E01808180688083CF910895CF93AA -:100A1000E0E0F1E0108AB0E4B08BA4E0A08B118A92 -:100A200051E9528B8BE4838B67E771E0648B758BA4 -:100A300080EA808F48E0418F128EC091C2208EEEF6 -:100A400092E0C89F9001C99F300D11242A58394D5A -:100A5000248FC091C220C89F9001C99F300D1124DE -:100A60002A58394D358F168E20892068208B10AA80 -:100A7000B0ABA0AB11AA52AB2AE423AB64AB75AB0D -:100A800023EC20AF41AF12AE4091C220489F9001AD -:100A9000499F300D11242351384D24AF4091C2207D -:100AA000489F9001499F300D1124C9018351984DF1 -:100AB00090933D0110923E0180A9806880ABCF9158 -:100AC000089585E080930020D5DCE0E0F1E016AAEF -:100AD00044E240AB11AA39E532AB83E083AB6091CD -:100AE00004207091052064AB75AB66E672E260AFDE -:100AF00071AF12AE29E324AF80933D0110923E0105 -:100B000090A9906890AB10924601E0E4F1E0408338 -:100B1000109241013093420180934301409104209F -:100B200050910520409344015093450146E756E219 -:100B3000409348015093490110924A0120934C017F -:100B400080934D0110924E018081806880830895CA -:100B500086E0809300208EDCE0E0F1E016AA34E22B -:100B600030AB11AA29E522AB83E083AB409104208E -:100B70005091052044AB55AB46E652E240AF51AF31 -:100B800012AE99E394AF80933D0110923E0190A97B -:100B9000906890AB10924601E0E4F1E0308310924F -:100BA00041012093420192E0909343012091022061 -:100BB00030910320209344013093450126E734E22D -:100BC000209348013093490110924A019BE390938E -:100BD0004C0180934D0110924E018081806880838A -:100BE0000895E0E0F1E0108A80E4808B84E0808B5F -:100BF000118A81E9828B80E1838B2EEE32E0248B97 -:100C0000358B84E2808F82E0818F128E4091C220EA -:100C1000429FC001439F900D11248A58994D848FA3 -:100C20004091C220429FC001439F900D11248A58D9 -:100C3000994D958F168E80898068808B089587E006 -:100C40008093002017DCE0E0F1E016AA34E230AB3C -:100C500011AA29E522AB83E083AB40910420509197 -:100C6000052044AB55AB46E652E240AF51AF12AE61 -:100C700099E394AF80933D0110923E0190A9906852 -:100C800090AB10924601E0E4F1E030831092410114 -:100C90002093420192E090934301209102203091F1 -:100CA0000320209344013093450126E734E220934A -:100CB00048013093490110924A019BE390934C0103 -:100CC00080934D0110924E01808180688083089549 -:100CD000E0E0F1E0108A80E4808B85E0808B118A6F -:100CE00081E9828B80E1838B2EEE32E0248B358B81 -:100CF00084E2808F82E0818F128E4091C220429FD9 -:100D0000C001439F900D11248A58994D848F4091C2 -:100D1000C220429FC001439F900D11248A58994DD3 -:100D2000958F168E80898068808B0895E0E7F0E0CB -:100D300083818C7F838384818C7F848380818D7F7A -:100D40008083E0E8F1E080EC8283128688EC818386 -:100D50001186E0E0F8E034E0308323E02183148260 -:100D600085ED91E086A397A31682E0E4F8E0308356 -:100D70002183148286A397A31682E0E6F6E08081A1 -:100D800080618083E0E4F9E083E18183148281E083 -:100D9000868328EB3BE026A337A310A611A6808309 -:100DA00008951F920F920FB60F9211242F933F9325 -:100DB0004F935F938F939F93CF93DF931F92CDB702 -:100DC000DEB780910020873031F480912C02898336 -:100DD00090912D0202C090912C028091C020891B1D -:100DE000209168093091690982308CF0223B3B40A8 -:100DF00070F4209168093091690989301CF481E010 -:100E000090E002C086E090E0820F931F18C020910E -:100E10006809309169098F3FB4F42730310598F0A3 -:100E20002091680930916909883F1CF081E090E0C9 -:100E300002C086E090E0A901481B590BCA018093CB -:100E40007809909379090F90DF91CF919F918F91BD -:100E50005F914F913F912F910F900FBE0F901F9078 -:100E60001895E0E7F0E083818F7E8383E0E4F6E08D -:100E700080818A6A80838FEF848388E5828B80E219 -:100E80008687E0EAF8E084EC858383E08683178236 -:100E900088E184830895E0E7F0E08381877F83839E -:100EA00080E48093C00888E58093570608959FB733 -:100EB000F894A0E5B0E016968C911697897F169667 -:100EC0008C931697E0E6F0E080E885838BEB8683D1 -:100ED00016968C911697846016968C93808181600B -:100EE00080839FBF0895CF93DF9300D000D0CDB70C -:100EF000DEB78FEF80937000809371008093720053 -:100F000080937300809374008093750080937600C3 -:100F100064E081E490E0E5D46CE170E082E0E7D445 -:100F20008C836DE170E082E0E2D48B838B819C81C5 -:100F3000019621F480E493E28B839C838B819C81D6 -:100F400089839A83809362008A81809363009FB72C -:100F5000F894809150008260809350009FBF8091F0 -:100F6000510081FFFCCFA3DF61E080E490E0B9D4C1 -:100F70009FB7F894809150008E7F809350009FBF60 -:100F80002496CDBFDEBFDF91CF9108959FB7F8942F -:100F9000E82FF0E0E059FF4F60958081682360837F -:100FA0009FBF0895CF93863011F0C0E001C0C8E123 -:100FB0008091510081FD0DC09FB7F8948091500041 -:100FC0008260809350009FBF8091510081FFFCCFD1 -:100FD0006EDF6C2F636084E490E083D460E480E093 -:100FE000CF91D4CF8091C42008958091C4208130C6 -:100FF00009F4AAC90895F9D0FC0183818093C42023 -:10100000811101C095C981E0089590916624892FCE -:10101000807697FF07C0803491F480916724811116 -:101020000EC097C9803459F480916724811107C09C -:1010300080916C2490916D24892B09F088C980E0FF -:1010400008950F931F939B018A01AC0160E083E830 -:10105000FCD71F910F910895809168248F7777C7EF -:101060009091CC20911102C080E00895E091C920B8 -:10107000F091CA200190F081E02D94818917A0F7AA -:10108000E093C720F093C820228133812E0F3F1FA9 -:10109000E217F30798F49181943061F492818913F7 -:1010A00009C09381691306C0E093C720F093C8205C -:1010B00081E008959081E90FF11DEACFE093C72008 -:1010C000F093C820D1CFE091C920F091CA200190BF -:1010D000F081E02D228133812E0F3F1FFC014081E2 -:1010E000E40FF11DE217F30748F48181843031F0F9 -:1010F000853039F08081E80FF11DF4CF80E090E079 -:101100000895CF0108951F93CF93DF93182FA8DF81 -:10111000882339F1C091C720D091C820CE01D3DFF8 -:10112000EC01892B41F04C815D816B818A811CD758 -:101130008111F4CF16C0E091C920F091CA209281AC -:101140008381E92FF82FE10FF11DE10FF11D0190CF -:10115000F081E02D0190F081E02DDF91CF911F9182 -:10116000099480E0DF91CF911F910895EF92FF9253 -:101170001F93CF93DF93C82F60E072DF811102C00D -:1011800010E02CC0E091C920F091CA2092818381A7 -:10119000E92FF82FEC0FF11DEC0FF11DE080F1802D -:1011A000D7011696ED91FC9117970995682F8C2F12 -:1011B00057DF182F882321F3C091C720D091C82072 -:1011C000CE0181DFEC01892B19F08A81FAD7F8CFA3 -:1011D000D7011296ED91FC9113970995812FDF911C -:1011E000CF911F91FF90EF9008958091C72090912B -:1011F000C820089534C6CF938091CC20811108C0B7 -:101200001092CC201092D0201092D120CF9108952E -:10121000C0E0E091C920F091CA200190F081E02D5A -:101220008481C81768F78C2FA1DFCF5FF2CFCF93EF -:101230008091CC208823F1F0C0E0E091C920F091AA -:10124000CA20A081B18114968C91C81798F492811C -:101250008381E92FF82FEC0FF11DEC0FF11D0190A8 -:10126000F081E02D0084F185E02D309709F009959B -:10127000CF5FE3CFCF910895EF92FF920F931F932B -:10128000CF93DF931F92CDB7DEB7109270241092E8 -:10129000712410927224109273241092742410926C -:1012A00075248091662487FF07C020916C243091BB -:1012B0006D24232B09F40CC3982F9076903409F0F9 -:1012C000C8C0E09167248E2F90E0FC01E05AF1093C -:1012D000E830F10508F08BC2EA5FFE4F0C949512DE -:1012E0000000F4C210920008809168249091692453 -:1012F000809336089093370880916A248F7080938A -:10130000000860916C2470916D2486E692E219C009 -:101310001092400860916C2470916D2460930220BB -:1013200070930320809168249091692480937608BB -:101330009093770880916A248F708093400886E7A5 -:1013400094E20BD6209104203091052080916C24EA -:1013500090916D242817390709F4B8C280930420AE -:1013600090930520E09100208E2F90E08830910529 -:1013700008F0ACC2FC01E25FFE4F0C949512109293 -:10138000680910926909809168248093C0209EC2E8 -:10139000809168248093240699C2E0916824F0919A -:1013A0006924E830F10508F022C2EA5EFE4F0C9491 -:1013B000951260E080E002D880916A240E94AB011F -:1013C0006BD884C260E080E00E94DE0180916A24D4 -:1013D0000E94AB01D9D87AC261E081E00E94DE01AF -:1013E00080916A240E94AB0180916B240E94C1010C -:1013F00070D96CC210DA6AC2A4DA68C260E080E018 -:101400000E94DE0180916A240E94AB015ADB5EC219 -:1014100061E080E00E94DE0180916A240E94AB01BD -:1014200097DB54C262E080E00E94DE0180916A2472 -:1014300080680E94AB0103DC49C2809168248093DC -:10144000840644C2E9E7F0E091E088EDF89484BFB7 -:1014500090839111CCC187FFFDC020916C24309105 -:101460006D242115310509F4C2C18F7109F09FC0A7 -:1014700080916724863071F0883009F48EC0811124 -:10148000B6C12230310509F0B2C162E070E080EDF2 -:1014900090E28BC08091682490916924292F332792 -:1014A00022303105A1F064F42130310509F09FC1EB -:1014B0008091102090911120DC016C9170E05BC054 -:1014C0002330310589F12F30310509F190C1E091C8 -:1014D0001020F09111202189821708F088C19927E6 -:1014E000880F991F880F991FE0911220F091132007 -:1014F000E80FF91F80819181FC01628173812DD5F4 -:10150000E0916E24F0916F2482E0818335C0809158 -:10151000142090911520009709F469C1DC011296FE -:101520006D917C91139727C099278130910569F0BF -:1015300038F0029709F05BC168E18AE890E208C0E0 -:1015400064E070E08EEA90E216C069E083EA90E21F -:10155000282FAAE5B0E2FC01819190E08D939D9344 -:101560008E2F821B8617C0F3660F6E5F6093582024 -:1015700070E088E590E2F1D480916C2490916D2424 -:1015800020917024309171248217930708F09EC136 -:10159000809370249093712499C12130310509F012 -:1015A00026C161E070E08CEC90E2D7D48FC181302D -:1015B000C9F5809167248A3009F019C121303105BD -:1015C00009F015C18091CC20882309F410C1E09066 -:1015D0006A24F0906B240091C9201091CA20D80190 -:1015E000ED91FC918481E81608F001C160E08E2D38 -:1015F00037DD882309F4FBC0FF24EE0CFF1CF80143 -:10160000828193818E0D9F1DDC01ED91FC910680FE -:10161000F781E02D09958093CE2061E070E08EEC9B -:1016200090E2C3CF823009F0E2C08091672481113B -:10163000DEC02230310509F0DAC080916A24E5D499 -:1016400090E08093C5209093C62062E070E085EC26 -:1016500090E2ABCF8F7109F07DC080916724833019 -:1016600009F4C5C018F48130A1F0C1C0853019F06B -:10167000893039F1BCC080916C2490916D24892B04 -:1016800009F0B5C08CE298E08093722490937324A3 -:101690001DC180916C2490916D24892B09F0A7C005 -:1016A0008091682490916924019709F0A0C08091ED -:1016B000D0209091D1208D7F8093D0209093D12005 -:1016C00005C180916C2490916D24892B09F08FC005 -:1016D00041D4882309F48BC0209168243091692477 -:1016E0003327E0911020F0911120818990E082173A -:1016F000930708F47CC07FDD809168249091692471 -:101700008093CC20882309F4E1C099278150904C24 -:10171000880F991F880F991F209112203091132054 -:10172000820F931F8093C9209093CA2010E0E0910C -:10173000C920F091CA200190F081E02D8481181712 -:1017400008F0C4C060E0812FDEDC882309F44FC0BC -:101750001F5FEDCF8130F1F4809167248B3009F069 -:1017600046C080916C2490916D24892B09F03FC074 -:101770008091CC20882309F43AC010916A246091AA -:101780006824812F6983F2DC6981882381F1812FAC -:10179000BADC2BC0823059F580916724813019F072 -:1017A000833089F024C080916C2490916D24892B22 -:1017B000F1F48091682490916924892BC1F480917F -:1017C0006A242AD412C080916C2490916D24892BB4 -:1017D00071F48091682490916924892B41F480915F -:1017E0006A24BFD480916A24F5D481116FC080919E -:1017F00066248F718130B9F58091CC20882399F1CE -:10180000E0906A24F0906B240091C9201091CA20C6 -:10181000D801ED91FC918481E81628F560E08E2DC9 -:101820001FDC882301F1F701FF27EE0FFF1FD8010E -:1018300012968D919C911397E80FF91F00811181E9 -:10184000D8011696ED91FC9117970995682F8E2D6A -:1018500007DC882341F0D8011496ED91FC9115978F -:101860000995811133C0809166248F71823081F592 -:101870008091CC20882361F1F12CE091C920F09176 -:10188000CA20A081B18114968C91F81608F5928136 -:101890008381E92FF82FEF0DF11DEF0DF11D008170 -:1018A0001181D8011696ED91FC9117970995682F33 -:1018B0008F2DD6DB882361F0D8011496ED91FC9131 -:1018C00015970995811102C0F394D7CF81E001C02B -:1018D00080E00F90DF91CF911F910F91FF90EF90DB -:1018E00008951BBEFC0128ED24BF6083089540913C -:1018F000CA01E62FF72F8093CA0184914093CA0151 -:101900000895E82FF0E0EE5AF34D80818F3F09F4FF -:10191000FFCF9FB7F89480818F5F80839FBF08952A -:10192000E82FF0E0EE5AF34D8081811101C0FFCF26 -:101930009FB7F8948081815080839FBF0895CF9393 -:10194000C82F80916422C11105C0882339F081E03D -:10195000E7DF04C0811102C081E0D3DFC0936422BD -:10196000CF910895282F2F70082E000C990B392F36 -:10197000331F3327331F832F90E0820F911D820F77 -:10198000911D23E0880F991F2A95E1F7805E9D4DF8 -:1019900008950F93E8ECF4E080818F7D808380814F -:1019A0008F7D8083E8E2F2E202E0059310922A2222 -:1019B00010922B2200E2069300E40693E0E2F2E2AA -:1019C00000E2069300E40693E6E6F4E21486158648 -:1019D000168617861286138610920D220F9108958F -:1019E0000F9385E080930D22E9E2F2E204E0059393 -:1019F000E1E2F2E204E005930F9108950F9383E092 -:101A000080930D2210922A2210922B22E8E2F2E219 -:101A100002E006930F910895E0917224F0917324EF -:101A2000309709F009940895282F2F70082E000C84 -:101A3000990B392F331F3327331F832F90E0820FE9 -:101A4000911D820F911D029749E0489F9001499F87 -:101A5000300D1124C9018D569E4D08958F929F928D -:101A6000AF92BF92DF92EF92FF920F931F93CF93AB -:101A7000DF93D82ED9DFEC018D2D74DF7C01DC01E2 -:101A80001196EC91E770E150E73040F4F0E0EE0F92 -:101A9000FF1FEE54FF4D0081118102C008E010E0ED -:101AA000ED81FE812B813C814881D701D7FE48C062 -:101AB00016968D919C9117978E0F9F1F8D839E83F5 -:101AC0008217930761F1281B390B2115B4E03B07FE -:101AD00038F02FEF33E0C901B80113D5281B390BBB -:101AE00041FF0AC0C901B8010CD5AC0191E0452BFA -:101AF00009F090E0892F01C080E0988180FB91F986 -:101B00009883F701168217822283338329813A81D1 -:101B10008D819E81820F931F848395830EC041FF28 -:101B200071C04D7F4883D70116961D921C9217975E -:101B300012961D921C921397F70102E006937BC048 -:101B40001296AD90BC90139742FF10C089809A8086 -:101B5000C901B801D6D4B0E4DB9EB00111246D56A2 -:101B60007F4DAC01C4018E0F9F1FE5D48D819E81F6 -:101B70008A0D9B1D8D839E832B813C8128173907FD -:101B800010F42D833E83F70186819781A816B9064C -:101B9000C9F58D819E8182179307A1F1281B390B0E -:101BA0002115F4E03F0710F02FEF33E0C901B80131 -:101BB000A8D4281B390BD70112961D921C9213979B -:101BC0002017310778F4888184608883B0E4DB9E35 -:101BD000C00111248D569F4DF701848395830683A0 -:101BE0001783AACF49815A818D819E81840F951FC9 -:101BF000D70114968D939C93159716962D933C932D -:101C000017979ACF888180FF16C08E7F8883EF81D7 -:101C1000F885309781F06D817E814D2D80E0DF91D8 -:101C2000CF911F910F91FF90EF90DF90BF90AF90F9 -:101C30009F908F900994DF91CF911F910F91FF900A -:101C4000EF90DF90BF90AF909F908F9008950F938B -:101C5000CF93DF9380910D22833029F4DDDEDF9175 -:101C6000CF910F9196CE2091092230910A22C091F6 -:101C70007024D0917124C21BD30B61F580910B228B -:101C800090910C22820F931F80930B2290930C2231 -:101C900020916C2430916D242817390721F0809110 -:101CA000D220882331F084E080930D22E0E2F2E23A -:101CB00036C0E0917424F0917524309799F009951D -:101CC000882381F01092092210920A22C091702478 -:101CD000D0917124C034D10528F01092D220C0E4F4 -:101CE000D0E003C081E08093D220C0932A22D09319 -:101CF0002B228091092290910A2220916E2430910A -:101D00006F24280F391F20932C2230932D22C80FC7 -:101D1000D91FC0930922D0930A22E8E2F2E202E03E -:101D20000693DF91CF910F9108950F93CF93DF9397 -:101D30001F92CDB7DEB78091CC0480FF65C021E053 -:101D40002093CC0480E292E2FC0100E80693E8E2F2 -:101D5000F2E200E806932093CA04FC0100E1069336 -:101D600080910D22882329F08350823008F454DEBC -:101D700010DE8091222290912322089709F046C01C -:101D800088E0E9ECF1E2A6E6B4E201900D928A95D2 -:101D9000E1F78091C80480628093C8048091C804F0 -:101DA00080628093C80468DA811102C019DE2EC0F7 -:101DB0009091662497FF0EC010920B2210920C2275 -:101DC0001092092210920A2292E090930D228983A8 -:101DD0003EDF08C020916C2430916D24232B21F428 -:101DE00089830CDE898113C010920B2210920C2281 -:101DF0001092092210920A2291E090930D22E0E2C3 -:101E0000F2E202E0069303C080E001C081E00F909F -:101E1000DF91CF910F910895CF93CFB7F89481E0E0 -:101E20008EDDEAECF4E080E4808380E28083E1EC04 -:101E3000F4E0808181608083A9ECB4E08C918260C1 -:101E40008C93E8ECF4E08081806480838C918160E5 -:101E50008C93808180688083CFBFCF910895CF938A -:101E60001092600080E39ED88091C00480648093CB -:101E7000C00481E080936000CFB7F89480E090E0E8 -:101E8000FC0123E0EE0FFF1F2A95E1F7E05FFD4D17 -:101E9000118A01968830910599F7809193218E7F60 -:101EA0008093932180919C218E7F80939C218091AF -:101EB000A5218E7F8093A5218091AE218E7F809376 -:101EC000AE218091B7218E7F8093B7218091C02170 -:101ED0008E7F8093C0216AE170E082E008DD8F3F51 -:101EE00009F48FE18093FA046BE170E082E0FFDC9B -:101EF0008F3F09F48FE18093FB048091C0048360DD -:101F00008093C0048091C00480688093C004809155 -:101F1000C00480618093C00480E292E28093C60492 -:101F20009093C7048091C00480628093C0048FEFB7 -:101F30008093C5048091C80482608093C804109285 -:101F4000642285E0DEDC68DFCFBFCF910895809307 -:101F5000C30408958091C3040895E6E6F4E28087FF -:101F600091876287738708950F931F93CF93DF93B1 -:101F70001F92CDB7DEB78A016983F4DCFC01818151 -:101F8000807C698181113AC06370613019F020F062 -:101F900080E803C080EC01C080E400381105E9F05E -:101FA00058F400321105A9F000341105A1F00031F8 -:101FB0001105C9F491E018C0011592E0190779F0F4 -:101FC0000F3F93E0190769F00115114061F495E0A6 -:101FD0000BC092E009C093E007C094E005C096E012 -:101FE00003C097E001C090E0118226E02083982B87 -:101FF000918381818062818381E001C080E00F90C4 -:10200000DF91CF911F910F910895ACDCFC0181818C -:1020100082FB882780F90895CF93C82FA3DCFC01A9 -:10202000818182FF0FC091819B7F91838C2FFCDC8B -:10203000FC01908190FF06C09E7F90830780F08511 -:10204000E02D099581E0CF9108958F929F92AF92F4 -:10205000BF92DF92EF92FF920F931F93CF93DF9384 -:102060001F92CDB7DEB7D82E5A0179016983DCDC27 -:102070004C018D2D77DC9C01DC0111968C91119720 -:10208000807C6981882309F45EC011968C91119738 -:10209000807C803C21F011968C9182FD54C09FB7CA -:1020A000F894F401808180FF02C09FBF4CC0816022 -:1020B00080839FBFF401A182B282E382F482158201 -:1020C00016820783108791E0611104C0E114F104C6 -:1020D00009F090E0D4018C9190FB81F98B7F8C9377 -:1020E000D7FE04C0F9011682178229C0D9011196C2 -:1020F0008C911197807C803CC9F41196EC91E7702B -:10210000E150E73040F4F0E0EE0FFF1FEE54FF4DDA -:102110006081718102C068E070E0C701F2D1892B53 -:1021200029F0F40180818E7F80830DC0D901129641 -:102130001D921C92139716961D921C9217978D2D27 -:102140008DDC81E001C080E00F90DF91CF911F9185 -:102150000F91FF90EF90DF90BF90AF909F908F9086 -:102160000895EF92FF920F93CF93C82FFBDB7C0172 -:102170008C2F5ADCDC01F70102E005939C9190FF63 -:102180001BC09E7F9C931796ED91FC9118973097FA -:1021900099F0D701C7FF05C016966D917C911797EE -:1021A00004C012966D917C9113974C2F81E0CF91D2 -:1021B0000F91FF90EF900994CF910F91FF90EF90C6 -:1021C0000895CF93C82FCDDF8C2FCCDBFC0111827B -:1021D000CF9108950F93CF93C82FC4DBFC01918159 -:1021E0009460918301E006938C2FBBDF81E0CF9157 -:1021F0000F9108951F920F920FB60F9211240F9313 -:102200002F933F934F935F936F937F938F939F93FE -:10221000AF93BF93EF93FF938091CB0487FF07C0E9 -:1022200080E88093CA0403D80E94770186C0809119 -:10223000CB0482FF18C084E08093CA0480912822D6 -:1022400086FF7BC08091CC0481FD77C06EDD81115B -:1022500074C080910D22813011F4D0DB6EC08430C7 -:1022600009F06BC021C08091CB0481FF26C082E0C1 -:102270008093CA048091202286FF5FC08091CC04A5 -:1022800081FD5BC052DD811158C080910D228230EA -:1022900041F484E080930D22E0E2F2E202E0069352 -:1022A0004CC0833009F049C0E9E2F2E204E0059352 -:1022B000E1E2F2E204E0059340C08091CB0484FFA8 -:1022C00025C080E18093CA0481E04BDF81E849DFCB -:1022D00082E047DF82E845DF0E94FB081092C304DA -:1022E0001092212296E09093202283E48093212271 -:1022F00010922922909328228093292289EC91E23E -:10230000809324229093252244DB17C08091CB0434 -:1023100086FF08C080E48093CA0480E010DB0E943E -:1023200075010BC08091CB0485FF07C080E28093CC -:10233000CA0481E004DB0E947601FF91EF91BF9116 -:10234000AF919F918F917F916F915F914F913F914D -:102350002F910F910F900FBE0F901F9018951F9205 -:102360000F920FB60F9211240F931F932F933F9349 -:102370004F935F936F937F938F939F93AF93BF938D -:10238000CF93DF93EF93FF938091CC0481FF1AC02A -:1023900082E08093CC048091C5048195880FE0E2AF -:1023A000F2E2E81BF109208131812052324283E0C0 -:1023B000369527958A95E1F7822F869520FD06C0F0 -:1023C000C0E005C0B2DC882319F386C0C0E8C80F9E -:1023D0008C2FC8DAFC01208125FF7EC000E2069325 -:1023E000C11174C080910D22843019F415DBD1DA4B -:1023F00073C0009122221091232280917024909129 -:102400007124C0910922D0910A229E01200F311F10 -:102410008217930718F48C010C1B1D0B80916E24FE -:1024200090916F24A80169EC71E28C0F9D1F83D0FD -:10243000C00FD11FC0930922D0930A220034110586 -:1024400069F480910B2290910C228C0F9D1F20919A -:102450006C2430916D248217930788F0C093702408 -:10246000D0937124E0917424F0917524309729F071 -:102470000995811102C0B4DA2FC0C0DA2DC0809155 -:102480007024909171248C179D07D9F4E0917424E5 -:10249000F0917524309779F30995882361F32091A1 -:1024A0000B2230910C228091092290910A22820FF6 -:1024B000931F80930B2290930C221092092210926A -:1024C0000A22E0E2F2E202E0069306C0C03811F40C -:1024D000BEDB02C08C2FC2DAFF91EF91DF91CF916A -:1024E000BF91AF919F918F917F916F915F914F912C -:1024F0003F912F911F910F910F900FBE0F901F9042 -:102500001895AA1BBB1B51E107C0AA1FBB1FA6172A -:10251000B70710F0A61BB70B881F991F5A95A9F78C -:1025200080959095BC01CD010895EE0FFF1F059099 -:10253000F491E02D0994FB01DC0102C001900D92A1 -:0C25400041505040D8F70895F894FFCFA8 -:10254C00FF5580008000FB07F5070508F207000027 -:10255C004420162000001C201A2006200902270007 -:10256C0001010080FA0904000003FFFFFF000705CA -:10257C0081024000000705020240000007058301AC -:10258C00FF0301001201000200000040EB0300A059 -:10259C000002010200010000000300000000000026 -:1025AC00000000000000000000000000000000001F -:1025BC00000000000000000000000000000000000F -:1025CC0000000000000000000000555342476F62FD -:1025DC00696E6461722044756D6D7920446576690D -:1025EC00636500546170697254656368000004038C -:1025FC000904100020004000800000010002FF03CD +:1009800016AA84E280AB11AA89E582AB82E083AB30 +:10099000809102209091032084AB95AB86E794E28E +:1009A00080AF91AF12AE8BE384AF83E080933D01C3 +:1009B00010923E0180A9806880ABCF910895CF93BB +:1009C000E0E0F1E0108AB0E4B08BA4E0A08B118AE3 +:1009D00051E9528B8BE4838B67E771E0648B758BF5 +:1009E00080EA808F48E0418F128EC091C2208EEE47 +:1009F00092E0C89F9001C99F300D11242A58394DAB +:100A0000248FC091C220C89F9001C99F300D11242E +:100A10002A58394D358F168E20892068208BE0E4C6 +:100A2000F1E01082B083A083109241015093420103 +:100A30002AE420934301609344017093450123EC21 +:100A4000209348014093490110924A014091C220ED +:100A5000489F9001499F300D11242351384D209318 +:100A60004C014091C220489F9001499F300D1124B4 +:100A7000C9018351984D90934D0110924E01808190 +:100A800080688083CF91089585E080930020F2DC18 +:100A9000E0E0F1E016AA44E240AB11AA39E532AB3E +:100AA00083E083AB609104207091052064AB75AB4B +:100AB00066E672E260AF71AF12AE29E324AF8093B5 +:100AC0003D0110923E0190A9906890AB10924601B2 +:100AD000E0E4F1E0408310924101309342018093C1 +:100AE00043014091042050910520409344015093CC +:100AF000450146E756E24093480150934901109260 +:100B00004A0120934C0180934D0110924E01808147 +:100B100080688083089586E080930020ABDCE0E06D +:100B2000F1E016AA34E230AB11AA29E522AB83E04A +:100B300083AB409104205091052044AB55AB46E671 +:100B400052E240AF51AF12AE99E394AF80933D01B2 +:100B500010923E0190A9906890AB10924601E0E49B +:100B6000F1E03083109241012093420192E0909392 +:100B700043012091022030910320209344013093BF +:100B8000450126E734E22093480130934901109251 +:100B90004A019BE390934C0180934D0110924E01CA +:100BA0008081806880830895E0E0F1E0108A80E42D +:100BB000808B84E0808B118A81E9828B80E1838B3A +:100BC0002EEE32E0248B358B84E2808F82E0818FA1 +:100BD000128E4091C220429FC001439F900D11246C +:100BE0008A58994D848F4091C220429FC001439FF3 +:100BF000900D11248A58994D958F168E80898068A2 +:100C0000808B089587E08093002034DCE0E0F1E001 +:100C100016AA34E230AB11AA29E522AB83E083ABFC +:100C2000409104205091052044AB55AB46E652E27A +:100C300040AF51AF12AE99E394AF80933D01109253 +:100C40003E0190A9906890AB10924601E0E4F1E07B +:100C50003083109241012093420192E0909343012E +:100C600020910220309103202093440130934501CC +:100C700026E734E2209348013093490110924A015B +:100C80009BE390934C0180934D0110924E01808123 +:100C9000806880830895E0E0F1E0108A80E4808B32 +:100CA00085E0808B118A81E9828B80E1838B2EEE37 +:100CB00032E0248B358B84E2808F82E0818F128E2C +:100CC0004091C220429FC001439F900D11248A5839 +:100CD000994D848F4091C220429FC001439F900D47 +:100CE00011248A58994D958F168E80898068808B43 +:100CF0000895E0E7F0E083818C7F838384818C7F9B +:100D0000848380818D7F8083E0E8F1E080EC8283C2 +:100D1000128688EC81831186E0E0F8E034E03083CD +:100D200023E02183148285ED91E086A397A31682A8 +:100D3000E0E4F8E030832183148286A397A316822F +:100D4000E0E6F6E0808180618083E0E4F9E083E121 +:100D50008183148281E0868328EB3BE026A337A3BE +:100D600010A611A6808308951F920F920FB60F92BE +:100D700011242F933F934F935F938F939F93CF9320 +:100D8000DF931F92CDB7DEB780910020873031F41A +:100D900080912C02898390912D0202C090912C02A7 +:100DA0008091C020891B20916809309169098230A7 +:100DB0008CF0223B3B4070F4209168093091690926 +:100DC00089301CF481E090E002C086E090E0820F60 +:100DD000931F18C020916809309169098F3FB4F4BE +:100DE0002730310598F02091680930916909883FD2 +:100DF0001CF081E090E002C086E090E0A901481B71 +:100E0000590BCA0180937809909379090F90DF916B +:100E1000CF919F918F915F914F913F912F910F9023 +:100E20000FBE0F901F901895E0E7F0E083818F7E52 +:100E30008383E0E4F6E080818A6480838FEF84839B +:100E400088E5828B80E28687E0EAF8E084EC85839F +:100E500083E08683178288E184830895E0E7F0E0E9 +:100E60008381877F8383E0ECF8E080E4808383E004 +:100E7000818388E58093570608951F920F920FB6DD +:100E80000F92112400000F900FBE0F901F90189525 +:100E90009FB7F894A0E5B0E016968C911697897FDD +:100EA00016968C931697E0E6F0E080E885838BEB4E +:100EB000868316968C911697846016968C93808103 +:100EC000816080839FBF0895CF93DF9300D000D0CF +:100ED000CDB7DEB78FEF8093700080937100809361 +:100EE00072008093730080937400809375008093E8 +:100EF000760064E081E490E0E4D46CE170E082E0AC +:100F0000E6D48C836DE170E082E0E1D48B838B8149 +:100F10009C81019621F480E493E28B839C838B81F6 +:100F20009C8189839A83809362008A818093630085 +:100F30009FB7F894809150008260809350009FBFCB +:100F40008091510081FFFCCFA3DF61E080E490E05D +:100F5000B8D49FB7F894809150008E7F8093500052 +:100F60009FBF2496CDBFDEBFDF91CF9108959FB77D +:100F7000F894E82FF0E0E059FF4F609580816823F6 +:100F800060839FBF0895CF93863011F0C0E001C009 +:100F9000C8E18091510081FD0DC09FB7F894809108 +:100FA00050008260809350009FBF8091510081FF6C +:100FB000FCCF6EDF6C2F636084E490E082D460E449 +:100FC00080E0CF91D4CF8091C42008958091C42037 +:100FD000813009F4B9C90895F9D0FC018381809367 +:100FE000C420811101C0A4C981E0089590916624B4 +:100FF000892F807697FF07C0803491F48091672411 +:1010000081110EC0A6C9803459F4809167248111E2 +:1010100007C080916C2490916D24892B09F097C9A9 +:1010200080E008950F931F939B018A01AC0160E05B +:1010300083E8FBD71F910F910895809168248F77E3 +:1010400076C79091CC20911102C080E00895E09184 +:10105000C920F091CA200190F081E02D9481891778 +:10106000A0F7E093C720F093C820228133812E0F90 +:101070003F1FE217F30798F49181943061F4928155 +:10108000891309C09381691306C0E093C720F093C8 +:10109000C82081E008959081E90FF11DEACFE09327 +:1010A000C720F093C820D1CFE091C920F091CA2089 +:1010B0000190F081E02D228133812E0F3F1FFC0132 +:1010C0004081E40FF11DE217F30748F48181843079 +:1010D00031F0853039F08081E80FF11DF4CF80E0E8 +:1010E00090E00895CF0108951F93CF93DF93182FB9 +:1010F000A8DF882339F1C091C720D091C820CE0144 +:10110000D3DFEC01892B41F04C815D816B818A81B9 +:101110001BD78111F4CF16C0E091C920F091CA20ED +:1011200092818381E92FF82FE10FF11DE10FF11D6D +:101130000190F081E02D0190F081E02DDF91CF91C1 +:101140001F91099480E0DF91CF911F910895EF9254 +:10115000FF921F93CF93DF93C82F60E072DF81115E +:1011600002C010E02CC0E091C920F091CA20928109 +:101170008381E92FF82FEC0FF11DEC0FF11DE080BA +:10118000F180D7011696ED91FC9117970995682F7C +:101190008C2F57DF182F882321F3C091C720D091BF +:1011A000C820CE0181DFEC01892B19F08A81F9D7A3 +:1011B000F8CFD7011296ED91FC9113970995812FE5 +:1011C000DF91CF911F91FF90EF9008958091C720FC +:1011D0009091C820089533C6CF938091CC2081117F +:1011E00008C01092CC201092D0201092D120CF9124 +:1011F0000895C0E0E091C920F091CA200190F081EB +:10120000E02D8481C81768F78C2FA1DFCF5FF2CF64 +:10121000CF938091CC208823F1F0C0E0E091C920E9 +:10122000F091CA20A081B18114968C91C81798F4CE +:1012300092818381E92FF82FEC0FF11DEC0FF11D46 +:101240000190F081E02D0084F185E02D309709F0C8 +:101250000995CF5FE3CFCF910895EF92FF920F935F +:101260001F93CF93DF931F92CDB7DEB710927024F8 +:10127000109271241092722410927324109274248C +:10128000109275248091662487FF07C020916C24FA +:1012900030916D24232B09F40BC3982F9076903452 +:1012A00009F0C7C0E09167248E2F90E0FC01E05A5E +:1012B000F109E830F10508F08AC2EA5FFE4F0C94AC +:1012C00085120000F3C2109200088091682490916A +:1012D0006924809336089093370880916A248F7030 +:1012E0008093000860916C2470916D2486E692E2F0 +:1012F00019C01092400860916C2470916D24609325 +:101300000220709303208091682490916924809337 +:1013100076089093770880916A248F7080934008B4 +:1013200086E794E20AD6209104203091052080912E +:101330006C2490916D242817390709F4B7C2809363 +:10134000042090930520E09100208E2F90E08830BB +:10135000910508F0ABC2FC01E25FFE4F0C948512D0 +:101360001092680910926909809168248093C020C6 +:101370009DC2809168248093240698C2E0916824DD +:10138000F0916924E830F10508F021C2EA5EFE4FD1 +:101390000C94851260E080E011D880916A240E944C +:1013A000AB017AD883C260E080E008D880916A24DB +:1013B0000E94AB01E9D87AC261E081E00E94DE01BF +:1013C00080916A240E94AB0180916B240E94C1012C +:1013D00080D96CC220DA6AC2B4DA68C260E080E008 +:1013E0000E94DE0180916A240E94AB014DDB5EC247 +:1013F00061E080E00E94DE0180916A240E94AB01DE +:101400008ADB54C262E080E00E94DE0180916A249F +:1014100080680E94AB01F6DB49C28091682480930A +:10142000840644C2E9E7F0E091E088EDF89484BFD7 +:1014300090839111CCC187FFFDC020916C24309125 +:101440006D242115310509F4C2C18F7109F09FC0C7 +:1014500080916724863071F0883009F48EC0811144 +:10146000B6C12230310509F0B2C162E070E080ED12 +:1014700090E28BC08091682490916924292F3327B2 +:1014800022303105A1F064F42130310509F09FC10B +:101490008091102090911120DC016C9170E05BC074 +:1014A0002330310589F12F30310509F190C1E091E8 +:1014B0001020F09111202189821708F088C1992706 +:1014C000880F991F880F991FE0911220F091132027 +:1014D000E80FF91F80819181FC01628173812DD514 +:1014E000E0916E24F0916F2482E0818335C0809179 +:1014F000142090911520009709F469C1DC0112961F +:101500006D917C91139727C099278130910569F0DF +:1015100038F0029709F05BC168E18AE890E208C000 +:1015200064E070E08EEA90E216C069E083EA90E23F +:10153000282FAAE5B0E2FC01819190E08D939D9364 +:101540008E2F821B8617C0F3660F6E5F6093582044 +:1015500070E088E590E2F1D480916C2490916D2444 +:1015600020917024309171248217930708F09EC156 +:10157000809370249093712499C12130310509F032 +:1015800026C161E070E08CEC90E2D7D48FC181304D +:10159000C9F5809167248A3009F019C121303105DD +:1015A00009F015C18091CC20882309F410C1E09086 +:1015B0006A24F0906B240091C9201091CA20D801B0 +:1015C000ED91FC918481E81608F001C160E08E2D58 +:1015D00038DD882309F4FBC0FF24EE0CFF1CF80162 +:1015E000828193818E0D9F1DDC01ED91FC9106801F +:1015F000F781E02D09958093CE2061E070E08EECBC +:1016000090E2C3CF823009F0E2C08091672481115B +:10161000DEC02230310509F0DAC080916A24E5D4B9 +:1016200090E08093C5209093C62062E070E085EC46 +:1016300090E2ABCF8F7109F07DC080916724833039 +:1016400009F4C5C018F48130A1F0C1C0853019F08B +:10165000893039F1BCC080916C2490916D24892B24 +:1016600009F0B5C08DE198E08093722490937324C3 +:101670001DC180916C2490916D24892B09F0A7C025 +:101680008091682490916924019709F0A0C080910D +:10169000D0209091D1208D7F8093D0209093D12025 +:1016A00005C180916C2490916D24892B09F08FC025 +:1016B00041D4882309F48BC0209168243091692497 +:1016C0003327E0911020F0911120818990E082175A +:1016D000930708F47CC080DD809168249091692490 +:1016E0008093CC20882309F4E1C099278150904C45 +:1016F000880F991F880F991F209112203091132075 +:10170000820F931F8093C9209093CA2010E0E0912C +:10171000C920F091CA200190F081E02D8481181732 +:1017200008F0C4C060E0812FDFDC882309F44FC0DB +:101730001F5FEDCF8130F1F4809167248B3009F089 +:1017400046C080916C2490916D24892B09F03FC094 +:101750008091CC20882309F43AC010916A246091CA +:101760006824812F6983F3DC6981882381F1812FCB +:10177000BBDC2BC0823059F580916724813019F091 +:10178000833089F024C080916C2490916D24892B42 +:10179000F1F48091682490916924892BC1F480919F +:1017A0006A242AD412C080916C2490916D24892BD4 +:1017B00071F48091682490916924892B41F480917F +:1017C0006A24BFD480916A24F5D481116FC08091BE +:1017D00066248F718130B9F58091CC20882399F1EE +:1017E000E0906A24F0906B240091C9201091CA20E7 +:1017F000D801ED91FC918481E81628F560E08E2DEA +:1018000020DC882301F1F701FF27EE0FFF1FD8012D +:1018100012968D919C911397E80FF91F0081118109 +:10182000D8011696ED91FC9117970995682F8E2D8A +:1018300008DC882341F0D8011496ED91FC911597AE +:101840000995811133C0809166248F71823081F5B2 +:101850008091CC20882361F1F12CE091C920F09196 +:10186000CA20A081B18114968C91F81608F5928156 +:101870008381E92FF82FEF0DF11DEF0DF11D008190 +:101880001181D8011696ED91FC9117970995682F53 +:101890008F2DD7DB882361F0D8011496ED91FC9150 +:1018A00015970995811102C0F394D7CF81E001C04B +:1018B00080E00F90DF91CF911F910F91FF90EF90FB +:1018C00008951BBEFC0128ED24BF6083089540915C +:1018D000CA01E62FF72F8093CA0184914093CA0171 +:1018E0000895E82FF0E0EE5AF34D80818F3F09F420 +:1018F000FFCF9FB7F89480818F5F80839FBF08954B +:10190000E82FF0E0EE5AF34D8081811101C0FFCF46 +:101910009FB7F8948081815080839FBF0895CF93B3 +:10192000C82F80916422C11105C0882339F081E05D +:10193000E7DF04C0811102C081E0D3DFC0936422DD +:10194000CF910895282F2F70082E000C990B392F56 +:10195000331F3327331F832F90E0820F911D820F97 +:10196000911D23E0880F991F2A95E1F7805E9D4D18 +:1019700008950F93E8ECF4E080818F7D808380816F +:101980008F7D8083E8E2F2E202E0059310922A2242 +:1019900010922B2200E2069300E40693E0E2F2E2CA +:1019A00000E2069300E40693E6E6F4E21486158668 +:1019B000168617861286138610920D220F910895AF +:1019C0000F9385E080930D22E9E2F2E204E00593B3 +:1019D000E1E2F2E204E005930F9108950F9383E0B2 +:1019E00080930D2210922A2210922B22E8E2F2E23A +:1019F00002E006930F910895E0917224F091732410 +:101A0000309709F009940895282F2F70082E000CA4 +:101A1000990B392F331F3327331F832F90E0820F09 +:101A2000911D820F911D029749E0489F9001499FA7 +:101A3000300D1124C9018D569E4D08958F929F92AD +:101A4000AF92BF92DF92EF92FF920F931F93CF93CB +:101A5000DF93D82ED9DFEC018D2D74DF7C01DC0102 +:101A60001196EC91E770E150E73040F4F0E0EE0FB2 +:101A7000FF1FEE54FF4D0081118102C008E010E00D +:101A8000ED81FE812B813C814881D701D7FE48C082 +:101A900016968D919C9117978E0F9F1F8D839E8315 +:101AA0008217930761F1281B390B2115B4E03B071E +:101AB00038F02FEF33E0C901B80113D5281B390BDB +:101AC00041FF0AC0C901B8010CD5AC0191E0452B1A +:101AD00009F090E0892F01C080E0988180FB91F9A6 +:101AE0009883F701168217822283338329813A81F2 +:101AF0008D819E81820F931F848395830EC041FF49 +:101B000071C04D7F4883D70116961D921C9217977E +:101B100012961D921C921397F70102E006937BC068 +:101B20001296AD90BC90139742FF10C089809A80A6 +:101B3000C901B801D6D4B0E4DB9EB00111246D56C2 +:101B40007F4DAC01C4018E0F9F1FE5D48D819E8116 +:101B50008A0D9B1D8D839E832B813C81281739071D +:101B600010F42D833E83F70186819781A816B9066C +:101B7000C9F58D819E8182179307A1F1281B390B2E +:101B80002115F4E03F0710F02FEF33E0C901B80151 +:101B9000A8D4281B390BD70112961D921C921397BB +:101BA0002017310778F4888184608883B0E4DB9E55 +:101BB000C00111248D569F4DF701848395830683C0 +:101BC0001783AACF49815A818D819E81840F951FE9 +:101BD000D70114968D939C93159716962D933C934D +:101BE00017979ACF888180FF16C08E7F8883EF81F8 +:101BF000F885309781F06D817E814D2D80E0DF91F9 +:101C0000CF911F910F91FF90EF90DF90BF90AF9019 +:101C10009F908F900994DF91CF911F910F91FF902A +:101C2000EF90DF90BF90AF909F908F9008950F93AB +:101C3000CF93DF9380910D22833029F4DDDEDF9195 +:101C4000CF910F9196CE2091092230910A22C09116 +:101C50007024D0917124C21BD30B61F580910B22AB +:101C600090910C22820F931F80930B2290930C2251 +:101C700020916C2430916D242817390721F0809130 +:101C8000D220882331F084E080930D22E0E2F2E25A +:101C900036C0E0917424F0917524309799F009953D +:101CA000882381F01092092210920A22C091702498 +:101CB000D0917124C034D10528F01092D220C0E414 +:101CC000D0E003C081E08093D220C0932A22D09339 +:101CD0002B228091092290910A2220916E2430912A +:101CE0006F24280F391F20932C2230932D22C80FE8 +:101CF000D91FC0930922D0930A22E8E2F2E202E05F +:101D00000693DF91CF910F9108950F93CF93DF93B7 +:101D10001F92CDB7DEB78091CC0480FF65C021E073 +:101D20002093CC0480E292E2FC0100E80693E8E212 +:101D3000F2E200E806932093CA04FC0100E1069356 +:101D400080910D22882329F08350823008F454DEDC +:101D500010DE8091222290912322089709F046C03C +:101D600088E0E9ECF1E2A6E6B4E201900D928A95F2 +:101D7000E1F78091C80480628093C8048091C80410 +:101D800080628093C80469DA811102C019DE2EC016 +:101D90009091662497FF0EC010920B2210920C2295 +:101DA0001092092210920A2292E090930D228983C8 +:101DB0003EDF08C020916C2430916D24232B21F448 +:101DC00089830CDE898113C010920B2210920C22A1 +:101DD0001092092210920A2291E090930D22E0E2E3 +:101DE000F2E202E0069303C080E001C081E00F90C0 +:101DF000DF91CF910F910895CF93CFB7F89481E001 +:101E00008EDDEAECF4E080E4808380E28083E1EC24 +:101E1000F4E0808181608083A9ECB4E08C918260E1 +:101E20008C93E8ECF4E08081806480838C91816005 +:101E30008C93808180688083CFBFCF910895CF93AA +:101E40001092600080E39FD88091C00480648093EA +:101E5000C00481E080936000CFB7F89480E090E008 +:101E6000FC0123E0EE0FFF1F2A95E1F7E05FFD4D37 +:101E7000118A01968830910599F7809193218E7F80 +:101E80008093932180919C218E7F80939C218091CF +:101E9000A5218E7F8093A5218091AE218E7F809396 +:101EA000AE218091B7218E7F8093B7218091C02190 +:101EB0008E7F8093C0216AE170E082E008DD8F3F71 +:101EC00009F48FE18093FA046BE170E082E0FFDCBB +:101ED0008F3F09F48FE18093FB048091C0048360FD +:101EE0008093C0048091C00480688093C004809176 +:101EF000C00480618093C00480E292E28093C604B3 +:101F00009093C7048091C00480628093C0048FEFD7 +:101F10008093C5048091C80482608093C8041092A5 +:101F2000642285E0DEDC68DFCFBFCF910895809327 +:101F3000C30408958091C3040895E6E6F4E280871F +:101F400091876287738708950F931F93CF93DF93D1 +:101F50001F92CDB7DEB78A016983F4DCFC01818171 +:101F6000807C698181113AC06370613019F020F082 +:101F700080E803C080EC01C080E400381105E9F07E +:101F800058F400321105A9F000341105A1F0003118 +:101F90001105C9F491E018C0011592E0190779F014 +:101FA0000F3F93E0190769F00115114061F495E0C6 +:101FB0000BC092E009C093E007C094E005C096E032 +:101FC00003C097E001C090E0118226E02083982BA7 +:101FD000918381818062818381E001C080E00F90E4 +:101FE000DF91CF911F910F910895ACDCFC018181AD +:101FF00082FB882780F90895CF93C82FA3DCFC01CA +:10200000818182FF0FC091819B7F91838C2FFCDCAB +:10201000FC01908190FF06C09E7F90830780F08531 +:10202000E02D099581E0CF9108958F929F92AF9214 +:10203000BF92DF92EF92FF920F931F93CF93DF93A4 +:102040001F92CDB7DEB7D82E5A0179016983DCDC47 +:102050004C018D2D77DC9C01DC0111968C91119740 +:10206000807C6981882309F45EC011968C91119758 +:10207000807C803C21F011968C9182FD54C09FB7EA +:10208000F894F401808180FF02C09FBF4CC0816042 +:1020900080839FBFF401A182B282E382F482158221 +:1020A00016820783108791E0611104C0E114F104E6 +:1020B00009F090E0D4018C9190FB81F98B7F8C9397 +:1020C000D7FE04C0F9011682178229C0D9011196E2 +:1020D0008C911197807C803CC9F41196EC91E7704B +:1020E000E150E73040F4F0E0EE0FFF1FEE54FF4DFB +:1020F0006081718102C068E070E0C701F2D1892B74 +:1021000029F0F40180818E7F80830DC0D901129661 +:102110001D921C92139716961D921C9217978D2D47 +:102120008DDC81E001C080E00F90DF91CF911F91A5 +:102130000F91FF90EF90DF90BF90AF909F908F90A6 +:102140000895EF92FF920F93CF93C82FFBDB7C0192 +:102150008C2F5ADCDC01F70102E005939C9190FF83 +:102160001BC09E7F9C931796ED91FC91189730971A +:1021700099F0D701C7FF05C016966D917C9117970E +:1021800004C012966D917C9113974C2F81E0CF91F2 +:102190000F91FF90EF900994CF910F91FF90EF90E6 +:1021A0000895CF93C82FCDDF8C2FCCDBFC0111829B +:1021B000CF9108950F93CF93C82FC4DBFC01918179 +:1021C0009460918301E006938C2FBBDF81E0CF9177 +:1021D0000F9108951F920F920FB60F9211240F9333 +:1021E0002F933F934F935F936F937F938F939F931F +:1021F000AF93BF93EF93FF938091CB0487FF07C00A +:1022000080E88093CA0404D80E94770186C0809138 +:10221000CB0482FF18C084E08093CA0480912822F6 +:1022200086FF7BC08091CC0481FD77C06EDD81117B +:1022300074C080910D22813011F4D0DB6EC08430E7 +:1022400009F06BC021C08091CB0481FF26C082E0E1 +:102250008093CA048091202286FF5FC08091CC04C5 +:1022600081FD5BC052DD811158C080910D2282300A +:1022700041F484E080930D22E0E2F2E202E0069372 +:102280004CC0833009F049C0E9E2F2E204E0059372 +:10229000E1E2F2E204E0059340C08091CB0484FFC8 +:1022A00025C080E18093CA0481E04BDF81E849DFEB +:1022B00082E047DF82E845DF0E94EC081092C30409 +:1022C0001092212296E09093202283E48093212291 +:1022D00010922922909328228093292289EC91E25E +:1022E000809324229093252244DB17C08091CB0455 +:1022F00086FF08C080E48093CA0480E010DB0E945F +:1023000075010BC08091CB0485FF07C080E28093EC +:10231000CA0481E004DB0E947601FF91EF91BF9136 +:10232000AF919F918F917F916F915F914F913F916D +:102330002F910F910F900FBE0F901F9018951F9225 +:102340000F920FB60F9211240F931F932F933F9369 +:102350004F935F936F937F938F939F93AF93BF93AD +:10236000CF93DF93EF93FF938091CC0481FF1AC04A +:1023700082E08093CC048091C5048195880FE0E2CF +:10238000F2E2E81BF109208131812052324283E0E0 +:10239000369527958A95E1F7822F869520FD06C010 +:1023A000C0E005C0B2DC882319F386C0C0E8C80FBE +:1023B0008C2FC8DAFC01208125FF7EC000E2069345 +:1023C000C11174C080910D22843019F415DBD1DA6B +:1023D00073C0009122221091232280917024909149 +:1023E0007124C0910922D0910A229E01200F311F31 +:1023F0008217930718F48C010C1B1D0B80916E241F +:1024000090916F24A80169EC71E28C0F9D1F83D01D +:10241000C00FD11FC0930922D0930A2200341105A6 +:1024200069F480910B2290910C228C0F9D1F2091BA +:102430006C2430916D248217930788F0C093702428 +:10244000D0937124E0917424F0917524309729F091 +:102450000995811102C0B4DA2FC0C0DA2DC0809175 +:102460007024909171248C179D07D9F4E091742405 +:10247000F0917524309779F30995882361F32091C1 +:102480000B2230910C228091092290910A22820F16 +:10249000931F80930B2290930C221092092210928A +:1024A0000A22E0E2F2E202E0069306C0C03811F42C +:1024B000BEDB02C08C2FC2DAFF91EF91DF91CF918A +:1024C000BF91AF919F918F917F916F915F914F914C +:1024D0003F912F911F910F910F900FBE0F901F9062 +:1024E0001895AA1BBB1B51E107C0AA1FBB1FA6174B +:1024F000B70710F0A61BB70B881F991F5A95A9F7AD +:1025000080959095BC01CD010895EE0FFF1F0590B9 +:10251000F491E02D0994FB01DC0102C001900D92C1 +:0C25200041505040D8F70895F894FFCFC8 +:10252C00FF5580008000EC07E607F607E307000084 +:10253C004420162000001C201A2006200902270027 +:10254C0001010080FA0904000003FFFFFF000705EA +:10255C0081024000000705020240000007058301CC +:10256C00FF0301001201000200000040EB0300A079 +:10257C000002010200010000000300000000000046 +:10258C00000000000000000000000000000000003F +:10259C00000000000000000000000000000000002F +:1025AC0000000000000000000000555342476F621D +:1025BC00696E6461722044756D6D7920446576692D +:1025CC0063650054617069725465636800000403AC +:1025DC000904100020004000800000010002FF03ED :00000001FF diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss index 0dad27b8..746b0d28 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss @@ -3,25 +3,25 @@ USB_BULK_TEST.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 0000254c 00000000 00000000 00000094 2**1 + 0 .text 0000252c 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 000000c0 00802000 0000254c 000025e0 2**2 + 1 .data 000000c0 00802000 0000252c 000025c0 2**2 CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000b98 008020c0 008020c0 000026a0 2**2 + 2 .bss 00000b98 008020c0 008020c0 00002680 2**2 ALLOC - 3 .comment 00000030 00000000 00000000 000026a0 2**0 + 3 .comment 00000030 00000000 00000000 00002680 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 000026d0 2**2 + 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 000026b0 2**2 CONTENTS, READONLY - 5 .debug_aranges 00000048 00000000 00000000 00002710 2**3 + 5 .debug_aranges 00000048 00000000 00000000 000026f0 2**3 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 00000126 00000000 00000000 00002758 2**0 + 6 .debug_info 00000126 00000000 00000000 00002738 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00000026 00000000 00000000 0000287e 2**0 + 7 .debug_abbrev 00000026 00000000 00000000 0000285e 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 0000018d 00000000 00000000 000028a4 2**0 + 8 .debug_line 0000018d 00000000 00000000 00002884 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_ranges 00000020 00000000 00000000 00002a38 2**3 + 9 .debug_ranges 00000020 00000000 00000000 00002a18 2**3 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -75,7 +75,7 @@ Disassembly of section .text: 5a: 00 00 nop 5c: 0b c1 rjmp .+534 ; 0x274 <__bad_interrupt> 5e: 00 00 nop - 60: 09 c1 rjmp .+530 ; 0x274 <__bad_interrupt> + 60: 0c c7 rjmp .+3608 ; 0xe7a <__vector_24> 62: 00 00 nop 64: 07 c1 rjmp .+526 ; 0x274 <__bad_interrupt> 66: 00 00 nop @@ -193,7 +193,7 @@ Disassembly of section .text: 146: 00 00 nop 148: 95 c0 rjmp .+298 ; 0x274 <__bad_interrupt> 14a: 00 00 nop - 14c: 2a c6 rjmp .+3156 ; 0xda2 <__vector_83> + 14c: 0d c6 rjmp .+3098 ; 0xd68 <__vector_83> 14e: 00 00 nop 150: 91 c0 rjmp .+290 ; 0x274 <__bad_interrupt> 152: 00 00 nop @@ -277,8 +277,8 @@ Disassembly of section .text: 1ee: 00 00 nop 1f0: 41 c0 rjmp .+130 ; 0x274 <__bad_interrupt> 1f2: 00 00 nop - 1f4: 0c 94 fa 10 jmp 0x21f4 ; 0x21f4 <__vector_125> - 1f8: 0c 94 af 11 jmp 0x235e ; 0x235e <__vector_126> + 1f4: 0c 94 ea 10 jmp 0x21d4 ; 0x21d4 <__vector_125> + 1f8: 0c 94 9f 11 jmp 0x233e ; 0x233e <__vector_126> 1fc: 83 01 movw r16, r6 1fe: 85 01 movw r16, r10 200: 87 01 movw r16, r14 @@ -287,30 +287,30 @@ Disassembly of section .text: 206: 90 01 movw r18, r0 208: 8d 01 movw r16, r26 20a: 8f 01 movw r16, r30 - 20c: 70 09 sbc r23, r0 - 20e: 72 09 sbc r23, r2 - 210: 88 09 sbc r24, r8 - 212: bf 09 sbc r27, r15 - 214: c8 09 sbc r28, r8 - 216: cd 09 sbc r28, r13 - 218: 1d 0a sbc r1, r29 - 21a: 22 0a sbc r2, r18 - 21c: e0 09 sbc r30, r0 - 21e: ea 09 sbc r30, r10 - 220: f8 09 sbc r31, r8 - 222: fa 09 sbc r31, r10 - 224: fc 09 sbc r31, r12 - 226: 06 0a sbc r0, r22 - 228: 10 0a sbc r1, r16 - 22a: 1b 0a sbc r1, r27 - 22c: d9 09 sbc r29, r9 - 22e: e2 09 sbc r30, r2 - 230: ec 09 sbc r30, r12 - 232: fa 09 sbc r31, r10 - 234: fc 09 sbc r31, r12 - 236: fe 09 sbc r31, r14 - 238: 08 0a sbc r0, r24 - 23a: 12 0a sbc r1, r18 + 20c: 61 09 sbc r22, r1 + 20e: 63 09 sbc r22, r3 + 210: 79 09 sbc r23, r9 + 212: b0 09 sbc r27, r0 + 214: b9 09 sbc r27, r9 + 216: be 09 sbc r27, r14 + 218: 0d 0a sbc r0, r29 + 21a: 12 0a sbc r1, r18 + 21c: d1 09 sbc r29, r1 + 21e: da 09 sbc r29, r10 + 220: e8 09 sbc r30, r8 + 222: ea 09 sbc r30, r10 + 224: ec 09 sbc r30, r12 + 226: f6 09 sbc r31, r6 + 228: 00 0a sbc r0, r16 + 22a: 0b 0a sbc r0, r27 + 22c: ca 09 sbc r28, r10 + 22e: d3 09 sbc r29, r3 + 230: dc 09 sbc r29, r12 + 232: ea 09 sbc r30, r10 + 234: ec 09 sbc r30, r12 + 236: ee 09 sbc r30, r14 + 238: f8 09 sbc r31, r8 + 23a: 02 0a sbc r0, r18 0000023c <__ctors_end>: 23c: 11 24 eor r1, r1 @@ -324,7 +324,7 @@ Disassembly of section .text: 248: 10 e2 ldi r17, 0x20 ; 32 24a: a0 e0 ldi r26, 0x00 ; 0 24c: b0 e2 ldi r27, 0x20 ; 32 - 24e: ec e4 ldi r30, 0x4C ; 76 + 24e: ec e2 ldi r30, 0x2C ; 44 250: f5 e2 ldi r31, 0x25 ; 37 252: 02 c0 rjmp .+4 ; 0x258 <__do_copy_data+0x10> 254: 05 90 lpm r0, Z+ @@ -347,7 +347,7 @@ Disassembly of section .text: 26a: b2 07 cpc r27, r18 26c: e1 f7 brne .-8 ; 0x266 <.do_clear_bss_loop> 26e: 1b d0 rcall .+54 ; 0x2a6
- 270: 0c 94 a4 12 jmp 0x2548 ; 0x2548 <_exit> + 270: 0c 94 94 12 jmp 0x2528 ; 0x2528 <_exit> 00000274 <__bad_interrupt>: 274: c5 ce rjmp .-630 ; 0x0 <__vectors> @@ -379,15 +379,15 @@ Disassembly of section .text: 29e: 72 e0 ldi r23, 0x02 ; 2 2a0: 8a 58 subi r24, 0x8A ; 138 2a2: 99 4d sbci r25, 0xD9 ; 217 - 2a4: ce c6 rjmp .+3484 ; 0x1042 + 2a4: bf c6 rjmp .+3454 ; 0x1024 000002a6
: 2a6: 87 e0 ldi r24, 0x07 ; 7 2a8: 80 93 a2 00 sts 0x00A2, r24 ; 0x8000a2 <__TEXT_REGION_LENGTH__+0x7000a2> 2ac: 78 94 sei - 2ae: 1b d6 rcall .+3126 ; 0xee6 + 2ae: 0c d6 rcall .+3096 ; 0xec8 2b0: e9 df rcall .-46 ; 0x284 - 2b2: a0 d7 rcall .+3904 ; 0x11f4 + 2b2: 91 d7 rcall .+3874 ; 0x11d6 2b4: b2 d0 rcall .+356 ; 0x41a 2b6: d5 d0 rcall .+426 ; 0x462 2b8: 60 e0 ldi r22, 0x00 ; 0 @@ -396,9 +396,9 @@ Disassembly of section .text: 2be: 6b d0 rcall .+214 ; 0x396 2c0: 8c e0 ldi r24, 0x0C ; 12 2c2: 5f d0 rcall .+190 ; 0x382 - 2c4: 33 d5 rcall .+2662 ; 0xd2c - 2c6: cd d5 rcall .+2970 ; 0xe62 - 2c8: e6 d5 rcall .+3020 ; 0xe96 + 2c4: 16 d5 rcall .+2604 ; 0xcf2 + 2c6: b0 d5 rcall .+2912 ; 0xe28 + 2c8: c9 d5 rcall .+2962 ; 0xe5c 2ca: d5 df rcall .-86 ; 0x276 ... 2e8: f1 cf rjmp .-30 ; 0x2cc @@ -419,7 +419,7 @@ Disassembly of section .text: 2fc: fc 01 movw r30, r24 2fe: e2 50 subi r30, 0x02 ; 2 300: ff 4f sbci r31, 0xFF ; 255 - 302: 0c 94 95 12 jmp 0x252a ; 0x252a <__tablejump2__> + 302: 0c 94 85 12 jmp 0x250a ; 0x250a <__tablejump2__> 306: 10 d1 rcall .+544 ; 0x528 308: 0b c0 rjmp .+22 ; 0x320 30a: 8c d1 rcall .+792 ; 0x624 @@ -428,11 +428,11 @@ Disassembly of section .text: 310: 07 c0 rjmp .+14 ; 0x320 312: e7 d2 rcall .+1486 ; 0x8e2 314: 05 c0 rjmp .+10 ; 0x320 - 316: 7b d3 rcall .+1782 ; 0xa0e + 316: 53 d3 rcall .+1702 ; 0x9be 318: 03 c0 rjmp .+6 ; 0x320 - 31a: 63 d4 rcall .+2246 ; 0xbe2 + 31a: 46 d4 rcall .+2188 ; 0xba8 31c: 01 c0 rjmp .+2 ; 0x320 - 31e: d8 d4 rcall .+2480 ; 0xcd0 + 31e: bb d4 rcall .+2422 ; 0xc96 320: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 324: 81 e0 ldi r24, 0x01 ; 1 326: 91 11 cpse r25, r1 @@ -449,7 +449,7 @@ Disassembly of section .text: 33c: 72 e0 ldi r23, 0x02 ; 2 33e: 86 e7 ldi r24, 0x76 ; 118 340: 96 e2 ldi r25, 0x26 ; 38 - 342: 7f d6 rcall .+3326 ; 0x1042 + 342: 70 d6 rcall .+3296 ; 0x1024 344: 81 e0 ldi r24, 0x01 ; 1 346: 08 95 ret @@ -1178,3231 +1178,3225 @@ Disassembly of section .text: 97a: 80 a1 ldd r24, Z+32 ; 0x20 97c: 80 6a ori r24, 0xA0 ; 160 97e: 80 a3 std Z+32, r24 ; 0x20 - 980: 85 e5 ldi r24, 0x55 ; 85 - 982: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> - 986: 16 aa std Z+54, r1 ; 0x36 - 988: 34 e2 ldi r19, 0x24 ; 36 - 98a: 30 ab std Z+48, r19 ; 0x30 - 98c: 11 aa std Z+49, r1 ; 0x31 - 98e: 29 e5 ldi r18, 0x59 ; 89 - 990: 22 ab std Z+50, r18 ; 0x32 - 992: 83 e0 ldi r24, 0x03 ; 3 - 994: 83 ab std Z+51, r24 ; 0x33 - 996: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 99a: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 99e: 44 ab std Z+52, r20 ; 0x34 - 9a0: 55 ab std Z+53, r21 ; 0x35 - 9a2: 46 e6 ldi r20, 0x66 ; 102 - 9a4: 52 e2 ldi r21, 0x22 ; 34 - 9a6: 40 af std Z+56, r20 ; 0x38 - 9a8: 51 af std Z+57, r21 ; 0x39 - 9aa: 12 ae std Z+58, r1 ; 0x3a - 9ac: 99 e3 ldi r25, 0x39 ; 57 - 9ae: 94 af std Z+60, r25 ; 0x3c - 9b0: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 9b4: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 9b8: 90 a9 ldd r25, Z+48 ; 0x30 - 9ba: 90 68 ori r25, 0x80 ; 128 - 9bc: 90 ab std Z+48, r25 ; 0x30 - 9be: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 9c2: e0 e4 ldi r30, 0x40 ; 64 - 9c4: f1 e0 ldi r31, 0x01 ; 1 - 9c6: 30 83 st Z, r19 - 9c8: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 9cc: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 9d0: 92 e0 ldi r25, 0x02 ; 2 - 9d2: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 9d6: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 9da: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 9de: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 9e2: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 9e6: 26 e7 ldi r18, 0x76 ; 118 - 9e8: 34 e2 ldi r19, 0x24 ; 36 - 9ea: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 9ee: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 9f2: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 9f6: 9b e3 ldi r25, 0x3B ; 59 - 9f8: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 9fc: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - a00: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - a04: 80 81 ld r24, Z - a06: 80 68 ori r24, 0x80 ; 128 - a08: 80 83 st Z, r24 - a0a: cf 91 pop r28 - a0c: 08 95 ret + 980: 16 aa std Z+54, r1 ; 0x36 + 982: 84 e2 ldi r24, 0x24 ; 36 + 984: 80 ab std Z+48, r24 ; 0x30 + 986: 11 aa std Z+49, r1 ; 0x31 + 988: 89 e5 ldi r24, 0x59 ; 89 + 98a: 82 ab std Z+50, r24 ; 0x32 + 98c: 82 e0 ldi r24, 0x02 ; 2 + 98e: 83 ab std Z+51, r24 ; 0x33 + 990: 80 91 02 20 lds r24, 0x2002 ; 0x802002 + 994: 90 91 03 20 lds r25, 0x2003 ; 0x802003 + 998: 84 ab std Z+52, r24 ; 0x34 + 99a: 95 ab std Z+53, r25 ; 0x35 + 99c: 86 e7 ldi r24, 0x76 ; 118 + 99e: 94 e2 ldi r25, 0x24 ; 36 + 9a0: 80 af std Z+56, r24 ; 0x38 + 9a2: 91 af std Z+57, r25 ; 0x39 + 9a4: 12 ae std Z+58, r1 ; 0x3a + 9a6: 8b e3 ldi r24, 0x3B ; 59 + 9a8: 84 af std Z+60, r24 ; 0x3c + 9aa: 83 e0 ldi r24, 0x03 ; 3 + 9ac: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 9b0: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 9b4: 80 a9 ldd r24, Z+48 ; 0x30 + 9b6: 80 68 ori r24, 0x80 ; 128 + 9b8: 80 ab std Z+48, r24 ; 0x30 + 9ba: cf 91 pop r28 + 9bc: 08 95 ret -00000a0e : - a0e: cf 93 push r28 - a10: e0 e0 ldi r30, 0x00 ; 0 - a12: f1 e0 ldi r31, 0x01 ; 1 - a14: 10 8a std Z+16, r1 ; 0x10 - a16: b0 e4 ldi r27, 0x40 ; 64 - a18: b0 8b std Z+16, r27 ; 0x10 - a1a: a4 e0 ldi r26, 0x04 ; 4 - a1c: a0 8b std Z+16, r26 ; 0x10 - a1e: 11 8a std Z+17, r1 ; 0x11 - a20: 51 e9 ldi r21, 0x91 ; 145 - a22: 52 8b std Z+18, r21 ; 0x12 - a24: 8b e4 ldi r24, 0x4B ; 75 - a26: 83 8b std Z+19, r24 ; 0x13 - a28: 67 e7 ldi r22, 0x77 ; 119 - a2a: 71 e0 ldi r23, 0x01 ; 1 - a2c: 64 8b std Z+20, r22 ; 0x14 - a2e: 75 8b std Z+21, r23 ; 0x15 - a30: 80 ea ldi r24, 0xA0 ; 160 - a32: 80 8f std Z+24, r24 ; 0x18 - a34: 48 e0 ldi r20, 0x08 ; 8 - a36: 41 8f std Z+25, r20 ; 0x19 - a38: 12 8e std Z+26, r1 ; 0x1a - a3a: c0 91 c2 20 lds r28, 0x20C2 ; 0x8020c2 - a3e: 8e ee ldi r24, 0xEE ; 238 - a40: 92 e0 ldi r25, 0x02 ; 2 - a42: c8 9f mul r28, r24 - a44: 90 01 movw r18, r0 - a46: c9 9f mul r28, r25 - a48: 30 0d add r19, r0 - a4a: 11 24 eor r1, r1 - a4c: 2a 58 subi r18, 0x8A ; 138 - a4e: 39 4d sbci r19, 0xD9 ; 217 - a50: 24 8f std Z+28, r18 ; 0x1c - a52: c0 91 c2 20 lds r28, 0x20C2 ; 0x8020c2 - a56: c8 9f mul r28, r24 - a58: 90 01 movw r18, r0 - a5a: c9 9f mul r28, r25 - a5c: 30 0d add r19, r0 - a5e: 11 24 eor r1, r1 - a60: 2a 58 subi r18, 0x8A ; 138 - a62: 39 4d sbci r19, 0xD9 ; 217 - a64: 35 8f std Z+29, r19 ; 0x1d - a66: 16 8e std Z+30, r1 ; 0x1e - a68: 20 89 ldd r18, Z+16 ; 0x10 - a6a: 20 68 ori r18, 0x80 ; 128 - a6c: 20 8b std Z+16, r18 ; 0x10 - a6e: 10 aa std Z+48, r1 ; 0x30 - a70: b0 ab std Z+48, r27 ; 0x30 - a72: a0 ab std Z+48, r26 ; 0x30 - a74: 11 aa std Z+49, r1 ; 0x31 - a76: 52 ab std Z+50, r21 ; 0x32 - a78: 2a e4 ldi r18, 0x4A ; 74 - a7a: 23 ab std Z+51, r18 ; 0x33 - a7c: 64 ab std Z+52, r22 ; 0x34 - a7e: 75 ab std Z+53, r23 ; 0x35 - a80: 23 ec ldi r18, 0xC3 ; 195 - a82: 20 af std Z+56, r18 ; 0x38 - a84: 41 af std Z+57, r20 ; 0x39 - a86: 12 ae std Z+58, r1 ; 0x3a - a88: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - a8c: 48 9f mul r20, r24 - a8e: 90 01 movw r18, r0 - a90: 49 9f mul r20, r25 - a92: 30 0d add r19, r0 - a94: 11 24 eor r1, r1 - a96: 23 51 subi r18, 0x13 ; 19 - a98: 38 4d sbci r19, 0xD8 ; 216 - a9a: 24 af std Z+60, r18 ; 0x3c - a9c: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - aa0: 48 9f mul r20, r24 - aa2: 90 01 movw r18, r0 - aa4: 49 9f mul r20, r25 - aa6: 30 0d add r19, r0 - aa8: 11 24 eor r1, r1 - aaa: c9 01 movw r24, r18 - aac: 83 51 subi r24, 0x13 ; 19 - aae: 98 4d sbci r25, 0xD8 ; 216 - ab0: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - ab4: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - ab8: 80 a9 ldd r24, Z+48 ; 0x30 - aba: 80 68 ori r24, 0x80 ; 128 - abc: 80 ab std Z+48, r24 ; 0x30 - abe: cf 91 pop r28 - ac0: 08 95 ret +000009be : + 9be: cf 93 push r28 + 9c0: e0 e0 ldi r30, 0x00 ; 0 + 9c2: f1 e0 ldi r31, 0x01 ; 1 + 9c4: 10 8a std Z+16, r1 ; 0x10 + 9c6: b0 e4 ldi r27, 0x40 ; 64 + 9c8: b0 8b std Z+16, r27 ; 0x10 + 9ca: a4 e0 ldi r26, 0x04 ; 4 + 9cc: a0 8b std Z+16, r26 ; 0x10 + 9ce: 11 8a std Z+17, r1 ; 0x11 + 9d0: 51 e9 ldi r21, 0x91 ; 145 + 9d2: 52 8b std Z+18, r21 ; 0x12 + 9d4: 8b e4 ldi r24, 0x4B ; 75 + 9d6: 83 8b std Z+19, r24 ; 0x13 + 9d8: 67 e7 ldi r22, 0x77 ; 119 + 9da: 71 e0 ldi r23, 0x01 ; 1 + 9dc: 64 8b std Z+20, r22 ; 0x14 + 9de: 75 8b std Z+21, r23 ; 0x15 + 9e0: 80 ea ldi r24, 0xA0 ; 160 + 9e2: 80 8f std Z+24, r24 ; 0x18 + 9e4: 48 e0 ldi r20, 0x08 ; 8 + 9e6: 41 8f std Z+25, r20 ; 0x19 + 9e8: 12 8e std Z+26, r1 ; 0x1a + 9ea: c0 91 c2 20 lds r28, 0x20C2 ; 0x8020c2 + 9ee: 8e ee ldi r24, 0xEE ; 238 + 9f0: 92 e0 ldi r25, 0x02 ; 2 + 9f2: c8 9f mul r28, r24 + 9f4: 90 01 movw r18, r0 + 9f6: c9 9f mul r28, r25 + 9f8: 30 0d add r19, r0 + 9fa: 11 24 eor r1, r1 + 9fc: 2a 58 subi r18, 0x8A ; 138 + 9fe: 39 4d sbci r19, 0xD9 ; 217 + a00: 24 8f std Z+28, r18 ; 0x1c + a02: c0 91 c2 20 lds r28, 0x20C2 ; 0x8020c2 + a06: c8 9f mul r28, r24 + a08: 90 01 movw r18, r0 + a0a: c9 9f mul r28, r25 + a0c: 30 0d add r19, r0 + a0e: 11 24 eor r1, r1 + a10: 2a 58 subi r18, 0x8A ; 138 + a12: 39 4d sbci r19, 0xD9 ; 217 + a14: 35 8f std Z+29, r19 ; 0x1d + a16: 16 8e std Z+30, r1 ; 0x1e + a18: 20 89 ldd r18, Z+16 ; 0x10 + a1a: 20 68 ori r18, 0x80 ; 128 + a1c: 20 8b std Z+16, r18 ; 0x10 + a1e: e0 e4 ldi r30, 0x40 ; 64 + a20: f1 e0 ldi r31, 0x01 ; 1 + a22: 10 82 st Z, r1 + a24: b0 83 st Z, r27 + a26: a0 83 st Z, r26 + a28: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + a2c: 50 93 42 01 sts 0x0142, r21 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + a30: 2a e4 ldi r18, 0x4A ; 74 + a32: 20 93 43 01 sts 0x0143, r18 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + a36: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + a3a: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + a3e: 23 ec ldi r18, 0xC3 ; 195 + a40: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + a44: 40 93 49 01 sts 0x0149, r20 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + a48: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + a4c: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + a50: 48 9f mul r20, r24 + a52: 90 01 movw r18, r0 + a54: 49 9f mul r20, r25 + a56: 30 0d add r19, r0 + a58: 11 24 eor r1, r1 + a5a: 23 51 subi r18, 0x13 ; 19 + a5c: 38 4d sbci r19, 0xD8 ; 216 + a5e: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + a62: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + a66: 48 9f mul r20, r24 + a68: 90 01 movw r18, r0 + a6a: 49 9f mul r20, r25 + a6c: 30 0d add r19, r0 + a6e: 11 24 eor r1, r1 + a70: c9 01 movw r24, r18 + a72: 83 51 subi r24, 0x13 ; 19 + a74: 98 4d sbci r25, 0xD8 ; 216 + a76: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + a7a: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + a7e: 80 81 ld r24, Z + a80: 80 68 ori r24, 0x80 ; 128 + a82: 80 83 st Z, r24 + a84: cf 91 pop r28 + a86: 08 95 ret -00000ac2 : - ac2: 85 e0 ldi r24, 0x05 ; 5 - ac4: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - ac8: d5 dc rcall .-1622 ; 0x474 - aca: e0 e0 ldi r30, 0x00 ; 0 - acc: f1 e0 ldi r31, 0x01 ; 1 - ace: 16 aa std Z+54, r1 ; 0x36 - ad0: 44 e2 ldi r20, 0x24 ; 36 - ad2: 40 ab std Z+48, r20 ; 0x30 - ad4: 11 aa std Z+49, r1 ; 0x31 - ad6: 39 e5 ldi r19, 0x59 ; 89 - ad8: 32 ab std Z+50, r19 ; 0x32 - ada: 83 e0 ldi r24, 0x03 ; 3 - adc: 83 ab std Z+51, r24 ; 0x33 - ade: 60 91 04 20 lds r22, 0x2004 ; 0x802004 - ae2: 70 91 05 20 lds r23, 0x2005 ; 0x802005 - ae6: 64 ab std Z+52, r22 ; 0x34 - ae8: 75 ab std Z+53, r23 ; 0x35 - aea: 66 e6 ldi r22, 0x66 ; 102 - aec: 72 e2 ldi r23, 0x22 ; 34 - aee: 60 af std Z+56, r22 ; 0x38 - af0: 71 af std Z+57, r23 ; 0x39 - af2: 12 ae std Z+58, r1 ; 0x3a - af4: 29 e3 ldi r18, 0x39 ; 57 - af6: 24 af std Z+60, r18 ; 0x3c - af8: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - afc: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - b00: 90 a9 ldd r25, Z+48 ; 0x30 - b02: 90 68 ori r25, 0x80 ; 128 - b04: 90 ab std Z+48, r25 ; 0x30 - b06: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - b0a: e0 e4 ldi r30, 0x40 ; 64 - b0c: f1 e0 ldi r31, 0x01 ; 1 - b0e: 40 83 st Z, r20 - b10: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - b14: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - b18: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - b1c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - b20: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - b24: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - b28: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - b2c: 46 e7 ldi r20, 0x76 ; 118 - b2e: 56 e2 ldi r21, 0x26 ; 38 - b30: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - b34: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - b38: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - b3c: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - b40: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - b44: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - b48: 80 81 ld r24, Z - b4a: 80 68 ori r24, 0x80 ; 128 - b4c: 80 83 st Z, r24 - b4e: 08 95 ret +00000a88 : + a88: 85 e0 ldi r24, 0x05 ; 5 + a8a: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + a8e: f2 dc rcall .-1564 ; 0x474 + a90: e0 e0 ldi r30, 0x00 ; 0 + a92: f1 e0 ldi r31, 0x01 ; 1 + a94: 16 aa std Z+54, r1 ; 0x36 + a96: 44 e2 ldi r20, 0x24 ; 36 + a98: 40 ab std Z+48, r20 ; 0x30 + a9a: 11 aa std Z+49, r1 ; 0x31 + a9c: 39 e5 ldi r19, 0x59 ; 89 + a9e: 32 ab std Z+50, r19 ; 0x32 + aa0: 83 e0 ldi r24, 0x03 ; 3 + aa2: 83 ab std Z+51, r24 ; 0x33 + aa4: 60 91 04 20 lds r22, 0x2004 ; 0x802004 + aa8: 70 91 05 20 lds r23, 0x2005 ; 0x802005 + aac: 64 ab std Z+52, r22 ; 0x34 + aae: 75 ab std Z+53, r23 ; 0x35 + ab0: 66 e6 ldi r22, 0x66 ; 102 + ab2: 72 e2 ldi r23, 0x22 ; 34 + ab4: 60 af std Z+56, r22 ; 0x38 + ab6: 71 af std Z+57, r23 ; 0x39 + ab8: 12 ae std Z+58, r1 ; 0x3a + aba: 29 e3 ldi r18, 0x39 ; 57 + abc: 24 af std Z+60, r18 ; 0x3c + abe: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + ac2: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + ac6: 90 a9 ldd r25, Z+48 ; 0x30 + ac8: 90 68 ori r25, 0x80 ; 128 + aca: 90 ab std Z+48, r25 ; 0x30 + acc: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + ad0: e0 e4 ldi r30, 0x40 ; 64 + ad2: f1 e0 ldi r31, 0x01 ; 1 + ad4: 40 83 st Z, r20 + ad6: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + ada: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + ade: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + ae2: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + ae6: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + aea: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + aee: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + af2: 46 e7 ldi r20, 0x76 ; 118 + af4: 56 e2 ldi r21, 0x26 ; 38 + af6: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + afa: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + afe: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + b02: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + b06: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + b0a: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + b0e: 80 81 ld r24, Z + b10: 80 68 ori r24, 0x80 ; 128 + b12: 80 83 st Z, r24 + b14: 08 95 ret -00000b50 : - b50: 86 e0 ldi r24, 0x06 ; 6 - b52: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - b56: 8e dc rcall .-1764 ; 0x474 - b58: e0 e0 ldi r30, 0x00 ; 0 - b5a: f1 e0 ldi r31, 0x01 ; 1 - b5c: 16 aa std Z+54, r1 ; 0x36 - b5e: 34 e2 ldi r19, 0x24 ; 36 - b60: 30 ab std Z+48, r19 ; 0x30 - b62: 11 aa std Z+49, r1 ; 0x31 - b64: 29 e5 ldi r18, 0x59 ; 89 - b66: 22 ab std Z+50, r18 ; 0x32 - b68: 83 e0 ldi r24, 0x03 ; 3 - b6a: 83 ab std Z+51, r24 ; 0x33 - b6c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - b70: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - b74: 44 ab std Z+52, r20 ; 0x34 - b76: 55 ab std Z+53, r21 ; 0x35 - b78: 46 e6 ldi r20, 0x66 ; 102 - b7a: 52 e2 ldi r21, 0x22 ; 34 - b7c: 40 af std Z+56, r20 ; 0x38 - b7e: 51 af std Z+57, r21 ; 0x39 - b80: 12 ae std Z+58, r1 ; 0x3a - b82: 99 e3 ldi r25, 0x39 ; 57 - b84: 94 af std Z+60, r25 ; 0x3c - b86: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - b8a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - b8e: 90 a9 ldd r25, Z+48 ; 0x30 - b90: 90 68 ori r25, 0x80 ; 128 - b92: 90 ab std Z+48, r25 ; 0x30 - b94: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - b98: e0 e4 ldi r30, 0x40 ; 64 - b9a: f1 e0 ldi r31, 0x01 ; 1 - b9c: 30 83 st Z, r19 - b9e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - ba2: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - ba6: 92 e0 ldi r25, 0x02 ; 2 - ba8: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - bac: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - bb0: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - bb4: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - bb8: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - bbc: 26 e7 ldi r18, 0x76 ; 118 - bbe: 34 e2 ldi r19, 0x24 ; 36 - bc0: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - bc4: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - bc8: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - bcc: 9b e3 ldi r25, 0x3B ; 59 - bce: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - bd2: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - bd6: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - bda: 80 81 ld r24, Z - bdc: 80 68 ori r24, 0x80 ; 128 - bde: 80 83 st Z, r24 - be0: 08 95 ret +00000b16 : + b16: 86 e0 ldi r24, 0x06 ; 6 + b18: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + b1c: ab dc rcall .-1706 ; 0x474 + b1e: e0 e0 ldi r30, 0x00 ; 0 + b20: f1 e0 ldi r31, 0x01 ; 1 + b22: 16 aa std Z+54, r1 ; 0x36 + b24: 34 e2 ldi r19, 0x24 ; 36 + b26: 30 ab std Z+48, r19 ; 0x30 + b28: 11 aa std Z+49, r1 ; 0x31 + b2a: 29 e5 ldi r18, 0x59 ; 89 + b2c: 22 ab std Z+50, r18 ; 0x32 + b2e: 83 e0 ldi r24, 0x03 ; 3 + b30: 83 ab std Z+51, r24 ; 0x33 + b32: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + b36: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + b3a: 44 ab std Z+52, r20 ; 0x34 + b3c: 55 ab std Z+53, r21 ; 0x35 + b3e: 46 e6 ldi r20, 0x66 ; 102 + b40: 52 e2 ldi r21, 0x22 ; 34 + b42: 40 af std Z+56, r20 ; 0x38 + b44: 51 af std Z+57, r21 ; 0x39 + b46: 12 ae std Z+58, r1 ; 0x3a + b48: 99 e3 ldi r25, 0x39 ; 57 + b4a: 94 af std Z+60, r25 ; 0x3c + b4c: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + b50: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + b54: 90 a9 ldd r25, Z+48 ; 0x30 + b56: 90 68 ori r25, 0x80 ; 128 + b58: 90 ab std Z+48, r25 ; 0x30 + b5a: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + b5e: e0 e4 ldi r30, 0x40 ; 64 + b60: f1 e0 ldi r31, 0x01 ; 1 + b62: 30 83 st Z, r19 + b64: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + b68: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + b6c: 92 e0 ldi r25, 0x02 ; 2 + b6e: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + b72: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + b76: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + b7a: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + b7e: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + b82: 26 e7 ldi r18, 0x76 ; 118 + b84: 34 e2 ldi r19, 0x24 ; 36 + b86: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + b8a: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + b8e: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + b92: 9b e3 ldi r25, 0x3B ; 59 + b94: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + b98: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + b9c: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + ba0: 80 81 ld r24, Z + ba2: 80 68 ori r24, 0x80 ; 128 + ba4: 80 83 st Z, r24 + ba6: 08 95 ret -00000be2 : - be2: e0 e0 ldi r30, 0x00 ; 0 - be4: f1 e0 ldi r31, 0x01 ; 1 - be6: 10 8a std Z+16, r1 ; 0x10 - be8: 80 e4 ldi r24, 0x40 ; 64 - bea: 80 8b std Z+16, r24 ; 0x10 - bec: 84 e0 ldi r24, 0x04 ; 4 - bee: 80 8b std Z+16, r24 ; 0x10 - bf0: 11 8a std Z+17, r1 ; 0x11 - bf2: 81 e9 ldi r24, 0x91 ; 145 - bf4: 82 8b std Z+18, r24 ; 0x12 - bf6: 80 e1 ldi r24, 0x10 ; 16 - bf8: 83 8b std Z+19, r24 ; 0x13 - bfa: 2e ee ldi r18, 0xEE ; 238 - bfc: 32 e0 ldi r19, 0x02 ; 2 - bfe: 24 8b std Z+20, r18 ; 0x14 - c00: 35 8b std Z+21, r19 ; 0x15 - c02: 84 e2 ldi r24, 0x24 ; 36 - c04: 80 8f std Z+24, r24 ; 0x18 - c06: 82 e0 ldi r24, 0x02 ; 2 - c08: 81 8f std Z+25, r24 ; 0x19 - c0a: 12 8e std Z+26, r1 ; 0x1a - c0c: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - c10: 42 9f mul r20, r18 - c12: c0 01 movw r24, r0 - c14: 43 9f mul r20, r19 - c16: 90 0d add r25, r0 - c18: 11 24 eor r1, r1 - c1a: 8a 58 subi r24, 0x8A ; 138 - c1c: 99 4d sbci r25, 0xD9 ; 217 - c1e: 84 8f std Z+28, r24 ; 0x1c - c20: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - c24: 42 9f mul r20, r18 - c26: c0 01 movw r24, r0 - c28: 43 9f mul r20, r19 - c2a: 90 0d add r25, r0 - c2c: 11 24 eor r1, r1 - c2e: 8a 58 subi r24, 0x8A ; 138 - c30: 99 4d sbci r25, 0xD9 ; 217 - c32: 95 8f std Z+29, r25 ; 0x1d - c34: 16 8e std Z+30, r1 ; 0x1e - c36: 80 89 ldd r24, Z+16 ; 0x10 - c38: 80 68 ori r24, 0x80 ; 128 - c3a: 80 8b std Z+16, r24 ; 0x10 - c3c: 08 95 ret +00000ba8 : + ba8: e0 e0 ldi r30, 0x00 ; 0 + baa: f1 e0 ldi r31, 0x01 ; 1 + bac: 10 8a std Z+16, r1 ; 0x10 + bae: 80 e4 ldi r24, 0x40 ; 64 + bb0: 80 8b std Z+16, r24 ; 0x10 + bb2: 84 e0 ldi r24, 0x04 ; 4 + bb4: 80 8b std Z+16, r24 ; 0x10 + bb6: 11 8a std Z+17, r1 ; 0x11 + bb8: 81 e9 ldi r24, 0x91 ; 145 + bba: 82 8b std Z+18, r24 ; 0x12 + bbc: 80 e1 ldi r24, 0x10 ; 16 + bbe: 83 8b std Z+19, r24 ; 0x13 + bc0: 2e ee ldi r18, 0xEE ; 238 + bc2: 32 e0 ldi r19, 0x02 ; 2 + bc4: 24 8b std Z+20, r18 ; 0x14 + bc6: 35 8b std Z+21, r19 ; 0x15 + bc8: 84 e2 ldi r24, 0x24 ; 36 + bca: 80 8f std Z+24, r24 ; 0x18 + bcc: 82 e0 ldi r24, 0x02 ; 2 + bce: 81 8f std Z+25, r24 ; 0x19 + bd0: 12 8e std Z+26, r1 ; 0x1a + bd2: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + bd6: 42 9f mul r20, r18 + bd8: c0 01 movw r24, r0 + bda: 43 9f mul r20, r19 + bdc: 90 0d add r25, r0 + bde: 11 24 eor r1, r1 + be0: 8a 58 subi r24, 0x8A ; 138 + be2: 99 4d sbci r25, 0xD9 ; 217 + be4: 84 8f std Z+28, r24 ; 0x1c + be6: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + bea: 42 9f mul r20, r18 + bec: c0 01 movw r24, r0 + bee: 43 9f mul r20, r19 + bf0: 90 0d add r25, r0 + bf2: 11 24 eor r1, r1 + bf4: 8a 58 subi r24, 0x8A ; 138 + bf6: 99 4d sbci r25, 0xD9 ; 217 + bf8: 95 8f std Z+29, r25 ; 0x1d + bfa: 16 8e std Z+30, r1 ; 0x1e + bfc: 80 89 ldd r24, Z+16 ; 0x10 + bfe: 80 68 ori r24, 0x80 ; 128 + c00: 80 8b std Z+16, r24 ; 0x10 + c02: 08 95 ret -00000c3e : - c3e: 87 e0 ldi r24, 0x07 ; 7 - c40: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - c44: 17 dc rcall .-2002 ; 0x474 - c46: e0 e0 ldi r30, 0x00 ; 0 - c48: f1 e0 ldi r31, 0x01 ; 1 - c4a: 16 aa std Z+54, r1 ; 0x36 - c4c: 34 e2 ldi r19, 0x24 ; 36 - c4e: 30 ab std Z+48, r19 ; 0x30 - c50: 11 aa std Z+49, r1 ; 0x31 - c52: 29 e5 ldi r18, 0x59 ; 89 - c54: 22 ab std Z+50, r18 ; 0x32 - c56: 83 e0 ldi r24, 0x03 ; 3 - c58: 83 ab std Z+51, r24 ; 0x33 - c5a: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - c5e: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - c62: 44 ab std Z+52, r20 ; 0x34 - c64: 55 ab std Z+53, r21 ; 0x35 - c66: 46 e6 ldi r20, 0x66 ; 102 - c68: 52 e2 ldi r21, 0x22 ; 34 - c6a: 40 af std Z+56, r20 ; 0x38 - c6c: 51 af std Z+57, r21 ; 0x39 - c6e: 12 ae std Z+58, r1 ; 0x3a - c70: 99 e3 ldi r25, 0x39 ; 57 - c72: 94 af std Z+60, r25 ; 0x3c - c74: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - c78: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - c7c: 90 a9 ldd r25, Z+48 ; 0x30 - c7e: 90 68 ori r25, 0x80 ; 128 - c80: 90 ab std Z+48, r25 ; 0x30 - c82: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - c86: e0 e4 ldi r30, 0x40 ; 64 - c88: f1 e0 ldi r31, 0x01 ; 1 - c8a: 30 83 st Z, r19 - c8c: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - c90: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - c94: 92 e0 ldi r25, 0x02 ; 2 - c96: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - c9a: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - c9e: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - ca2: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - ca6: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - caa: 26 e7 ldi r18, 0x76 ; 118 - cac: 34 e2 ldi r19, 0x24 ; 36 - cae: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - cb2: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - cb6: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - cba: 9b e3 ldi r25, 0x3B ; 59 - cbc: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - cc0: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - cc4: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - cc8: 80 81 ld r24, Z - cca: 80 68 ori r24, 0x80 ; 128 - ccc: 80 83 st Z, r24 - cce: 08 95 ret +00000c04 : + c04: 87 e0 ldi r24, 0x07 ; 7 + c06: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + c0a: 34 dc rcall .-1944 ; 0x474 + c0c: e0 e0 ldi r30, 0x00 ; 0 + c0e: f1 e0 ldi r31, 0x01 ; 1 + c10: 16 aa std Z+54, r1 ; 0x36 + c12: 34 e2 ldi r19, 0x24 ; 36 + c14: 30 ab std Z+48, r19 ; 0x30 + c16: 11 aa std Z+49, r1 ; 0x31 + c18: 29 e5 ldi r18, 0x59 ; 89 + c1a: 22 ab std Z+50, r18 ; 0x32 + c1c: 83 e0 ldi r24, 0x03 ; 3 + c1e: 83 ab std Z+51, r24 ; 0x33 + c20: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + c24: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + c28: 44 ab std Z+52, r20 ; 0x34 + c2a: 55 ab std Z+53, r21 ; 0x35 + c2c: 46 e6 ldi r20, 0x66 ; 102 + c2e: 52 e2 ldi r21, 0x22 ; 34 + c30: 40 af std Z+56, r20 ; 0x38 + c32: 51 af std Z+57, r21 ; 0x39 + c34: 12 ae std Z+58, r1 ; 0x3a + c36: 99 e3 ldi r25, 0x39 ; 57 + c38: 94 af std Z+60, r25 ; 0x3c + c3a: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + c3e: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + c42: 90 a9 ldd r25, Z+48 ; 0x30 + c44: 90 68 ori r25, 0x80 ; 128 + c46: 90 ab std Z+48, r25 ; 0x30 + c48: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + c4c: e0 e4 ldi r30, 0x40 ; 64 + c4e: f1 e0 ldi r31, 0x01 ; 1 + c50: 30 83 st Z, r19 + c52: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + c56: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + c5a: 92 e0 ldi r25, 0x02 ; 2 + c5c: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + c60: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + c64: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + c68: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + c6c: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + c70: 26 e7 ldi r18, 0x76 ; 118 + c72: 34 e2 ldi r19, 0x24 ; 36 + c74: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + c78: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + c7c: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + c80: 9b e3 ldi r25, 0x3B ; 59 + c82: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + c86: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + c8a: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + c8e: 80 81 ld r24, Z + c90: 80 68 ori r24, 0x80 ; 128 + c92: 80 83 st Z, r24 + c94: 08 95 ret -00000cd0 : - cd0: e0 e0 ldi r30, 0x00 ; 0 - cd2: f1 e0 ldi r31, 0x01 ; 1 - cd4: 10 8a std Z+16, r1 ; 0x10 - cd6: 80 e4 ldi r24, 0x40 ; 64 - cd8: 80 8b std Z+16, r24 ; 0x10 - cda: 85 e0 ldi r24, 0x05 ; 5 - cdc: 80 8b std Z+16, r24 ; 0x10 - cde: 11 8a std Z+17, r1 ; 0x11 - ce0: 81 e9 ldi r24, 0x91 ; 145 - ce2: 82 8b std Z+18, r24 ; 0x12 - ce4: 80 e1 ldi r24, 0x10 ; 16 - ce6: 83 8b std Z+19, r24 ; 0x13 - ce8: 2e ee ldi r18, 0xEE ; 238 - cea: 32 e0 ldi r19, 0x02 ; 2 - cec: 24 8b std Z+20, r18 ; 0x14 - cee: 35 8b std Z+21, r19 ; 0x15 - cf0: 84 e2 ldi r24, 0x24 ; 36 - cf2: 80 8f std Z+24, r24 ; 0x18 - cf4: 82 e0 ldi r24, 0x02 ; 2 - cf6: 81 8f std Z+25, r24 ; 0x19 - cf8: 12 8e std Z+26, r1 ; 0x1a - cfa: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - cfe: 42 9f mul r20, r18 - d00: c0 01 movw r24, r0 - d02: 43 9f mul r20, r19 - d04: 90 0d add r25, r0 - d06: 11 24 eor r1, r1 - d08: 8a 58 subi r24, 0x8A ; 138 - d0a: 99 4d sbci r25, 0xD9 ; 217 - d0c: 84 8f std Z+28, r24 ; 0x1c - d0e: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - d12: 42 9f mul r20, r18 - d14: c0 01 movw r24, r0 - d16: 43 9f mul r20, r19 - d18: 90 0d add r25, r0 - d1a: 11 24 eor r1, r1 - d1c: 8a 58 subi r24, 0x8A ; 138 - d1e: 99 4d sbci r25, 0xD9 ; 217 - d20: 95 8f std Z+29, r25 ; 0x1d - d22: 16 8e std Z+30, r1 ; 0x1e - d24: 80 89 ldd r24, Z+16 ; 0x10 - d26: 80 68 ori r24, 0x80 ; 128 - d28: 80 8b std Z+16, r24 ; 0x10 - d2a: 08 95 ret +00000c96 : + c96: e0 e0 ldi r30, 0x00 ; 0 + c98: f1 e0 ldi r31, 0x01 ; 1 + c9a: 10 8a std Z+16, r1 ; 0x10 + c9c: 80 e4 ldi r24, 0x40 ; 64 + c9e: 80 8b std Z+16, r24 ; 0x10 + ca0: 85 e0 ldi r24, 0x05 ; 5 + ca2: 80 8b std Z+16, r24 ; 0x10 + ca4: 11 8a std Z+17, r1 ; 0x11 + ca6: 81 e9 ldi r24, 0x91 ; 145 + ca8: 82 8b std Z+18, r24 ; 0x12 + caa: 80 e1 ldi r24, 0x10 ; 16 + cac: 83 8b std Z+19, r24 ; 0x13 + cae: 2e ee ldi r18, 0xEE ; 238 + cb0: 32 e0 ldi r19, 0x02 ; 2 + cb2: 24 8b std Z+20, r18 ; 0x14 + cb4: 35 8b std Z+21, r19 ; 0x15 + cb6: 84 e2 ldi r24, 0x24 ; 36 + cb8: 80 8f std Z+24, r24 ; 0x18 + cba: 82 e0 ldi r24, 0x02 ; 2 + cbc: 81 8f std Z+25, r24 ; 0x19 + cbe: 12 8e std Z+26, r1 ; 0x1a + cc0: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + cc4: 42 9f mul r20, r18 + cc6: c0 01 movw r24, r0 + cc8: 43 9f mul r20, r19 + cca: 90 0d add r25, r0 + ccc: 11 24 eor r1, r1 + cce: 8a 58 subi r24, 0x8A ; 138 + cd0: 99 4d sbci r25, 0xD9 ; 217 + cd2: 84 8f std Z+28, r24 ; 0x1c + cd4: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + cd8: 42 9f mul r20, r18 + cda: c0 01 movw r24, r0 + cdc: 43 9f mul r20, r19 + cde: 90 0d add r25, r0 + ce0: 11 24 eor r1, r1 + ce2: 8a 58 subi r24, 0x8A ; 138 + ce4: 99 4d sbci r25, 0xD9 ; 217 + ce6: 95 8f std Z+29, r25 ; 0x1d + ce8: 16 8e std Z+30, r1 ; 0x1e + cea: 80 89 ldd r24, Z+16 ; 0x10 + cec: 80 68 ori r24, 0x80 ; 128 + cee: 80 8b std Z+16, r24 ; 0x10 + cf0: 08 95 ret -00000d2c : - d2c: e0 e7 ldi r30, 0x70 ; 112 - d2e: f0 e0 ldi r31, 0x00 ; 0 - d30: 83 81 ldd r24, Z+3 ; 0x03 - d32: 8c 7f andi r24, 0xFC ; 252 - d34: 83 83 std Z+3, r24 ; 0x03 - d36: 84 81 ldd r24, Z+4 ; 0x04 - d38: 8c 7f andi r24, 0xFC ; 252 - d3a: 84 83 std Z+4, r24 ; 0x04 - d3c: 80 81 ld r24, Z - d3e: 8d 7f andi r24, 0xFD ; 253 - d40: 80 83 st Z, r24 - d42: e0 e8 ldi r30, 0x80 ; 128 - d44: f1 e0 ldi r31, 0x01 ; 1 - d46: 80 ec ldi r24, 0xC0 ; 192 - d48: 82 83 std Z+2, r24 ; 0x02 - d4a: 12 86 std Z+10, r1 ; 0x0a - d4c: 88 ec ldi r24, 0xC8 ; 200 - d4e: 81 83 std Z+1, r24 ; 0x01 - d50: 11 86 std Z+9, r1 ; 0x09 - d52: e0 e0 ldi r30, 0x00 ; 0 - d54: f8 e0 ldi r31, 0x08 ; 8 - d56: 34 e0 ldi r19, 0x04 ; 4 - d58: 30 83 st Z, r19 - d5a: 23 e0 ldi r18, 0x03 ; 3 - d5c: 21 83 std Z+1, r18 ; 0x01 - d5e: 14 82 std Z+4, r1 ; 0x04 - d60: 85 ed ldi r24, 0xD5 ; 213 - d62: 91 e0 ldi r25, 0x01 ; 1 - d64: 86 a3 std Z+38, r24 ; 0x26 - d66: 97 a3 std Z+39, r25 ; 0x27 - d68: 16 82 std Z+6, r1 ; 0x06 - d6a: e0 e4 ldi r30, 0x40 ; 64 - d6c: f8 e0 ldi r31, 0x08 ; 8 - d6e: 30 83 st Z, r19 - d70: 21 83 std Z+1, r18 ; 0x01 - d72: 14 82 std Z+4, r1 ; 0x04 - d74: 86 a3 std Z+38, r24 ; 0x26 - d76: 97 a3 std Z+39, r25 ; 0x27 - d78: 16 82 std Z+6, r1 ; 0x06 - d7a: e0 e6 ldi r30, 0x60 ; 96 - d7c: f6 e0 ldi r31, 0x06 ; 6 - d7e: 80 81 ld r24, Z - d80: 80 61 ori r24, 0x10 ; 16 - d82: 80 83 st Z, r24 - d84: e0 e4 ldi r30, 0x40 ; 64 - d86: f9 e0 ldi r31, 0x09 ; 9 - d88: 83 e1 ldi r24, 0x13 ; 19 - d8a: 81 83 std Z+1, r24 ; 0x01 - d8c: 14 82 std Z+4, r1 ; 0x04 - d8e: 81 e0 ldi r24, 0x01 ; 1 - d90: 86 83 std Z+6, r24 ; 0x06 - d92: 28 eb ldi r18, 0xB8 ; 184 - d94: 3b e0 ldi r19, 0x0B ; 11 - d96: 26 a3 std Z+38, r18 ; 0x26 - d98: 37 a3 std Z+39, r19 ; 0x27 - d9a: 10 a6 std Z+40, r1 ; 0x28 - d9c: 11 a6 std Z+41, r1 ; 0x29 - d9e: 80 83 st Z, r24 - da0: 08 95 ret +00000cf2 : + cf2: e0 e7 ldi r30, 0x70 ; 112 + cf4: f0 e0 ldi r31, 0x00 ; 0 + cf6: 83 81 ldd r24, Z+3 ; 0x03 + cf8: 8c 7f andi r24, 0xFC ; 252 + cfa: 83 83 std Z+3, r24 ; 0x03 + cfc: 84 81 ldd r24, Z+4 ; 0x04 + cfe: 8c 7f andi r24, 0xFC ; 252 + d00: 84 83 std Z+4, r24 ; 0x04 + d02: 80 81 ld r24, Z + d04: 8d 7f andi r24, 0xFD ; 253 + d06: 80 83 st Z, r24 + d08: e0 e8 ldi r30, 0x80 ; 128 + d0a: f1 e0 ldi r31, 0x01 ; 1 + d0c: 80 ec ldi r24, 0xC0 ; 192 + d0e: 82 83 std Z+2, r24 ; 0x02 + d10: 12 86 std Z+10, r1 ; 0x0a + d12: 88 ec ldi r24, 0xC8 ; 200 + d14: 81 83 std Z+1, r24 ; 0x01 + d16: 11 86 std Z+9, r1 ; 0x09 + d18: e0 e0 ldi r30, 0x00 ; 0 + d1a: f8 e0 ldi r31, 0x08 ; 8 + d1c: 34 e0 ldi r19, 0x04 ; 4 + d1e: 30 83 st Z, r19 + d20: 23 e0 ldi r18, 0x03 ; 3 + d22: 21 83 std Z+1, r18 ; 0x01 + d24: 14 82 std Z+4, r1 ; 0x04 + d26: 85 ed ldi r24, 0xD5 ; 213 + d28: 91 e0 ldi r25, 0x01 ; 1 + d2a: 86 a3 std Z+38, r24 ; 0x26 + d2c: 97 a3 std Z+39, r25 ; 0x27 + d2e: 16 82 std Z+6, r1 ; 0x06 + d30: e0 e4 ldi r30, 0x40 ; 64 + d32: f8 e0 ldi r31, 0x08 ; 8 + d34: 30 83 st Z, r19 + d36: 21 83 std Z+1, r18 ; 0x01 + d38: 14 82 std Z+4, r1 ; 0x04 + d3a: 86 a3 std Z+38, r24 ; 0x26 + d3c: 97 a3 std Z+39, r25 ; 0x27 + d3e: 16 82 std Z+6, r1 ; 0x06 + d40: e0 e6 ldi r30, 0x60 ; 96 + d42: f6 e0 ldi r31, 0x06 ; 6 + d44: 80 81 ld r24, Z + d46: 80 61 ori r24, 0x10 ; 16 + d48: 80 83 st Z, r24 + d4a: e0 e4 ldi r30, 0x40 ; 64 + d4c: f9 e0 ldi r31, 0x09 ; 9 + d4e: 83 e1 ldi r24, 0x13 ; 19 + d50: 81 83 std Z+1, r24 ; 0x01 + d52: 14 82 std Z+4, r1 ; 0x04 + d54: 81 e0 ldi r24, 0x01 ; 1 + d56: 86 83 std Z+6, r24 ; 0x06 + d58: 28 eb ldi r18, 0xB8 ; 184 + d5a: 3b e0 ldi r19, 0x0B ; 11 + d5c: 26 a3 std Z+38, r18 ; 0x26 + d5e: 37 a3 std Z+39, r19 ; 0x27 + d60: 10 a6 std Z+40, r1 ; 0x28 + d62: 11 a6 std Z+41, r1 ; 0x29 + d64: 80 83 st Z, r24 + d66: 08 95 ret -00000da2 <__vector_83>: - da2: 1f 92 push r1 - da4: 0f 92 push r0 - da6: 0f b6 in r0, 0x3f ; 63 - da8: 0f 92 push r0 - daa: 11 24 eor r1, r1 - dac: 2f 93 push r18 - dae: 3f 93 push r19 - db0: 4f 93 push r20 - db2: 5f 93 push r21 - db4: 8f 93 push r24 - db6: 9f 93 push r25 - db8: cf 93 push r28 - dba: df 93 push r29 - dbc: 1f 92 push r1 - dbe: cd b7 in r28, 0x3d ; 61 - dc0: de b7 in r29, 0x3e ; 62 - dc2: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - dc6: 87 30 cpi r24, 0x07 ; 7 - dc8: 31 f4 brne .+12 ; 0xdd6 <__vector_83+0x34> - dca: 80 91 2c 02 lds r24, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> - dce: 89 83 std Y+1, r24 ; 0x01 - dd0: 90 91 2d 02 lds r25, 0x022D ; 0x80022d <__TEXT_REGION_LENGTH__+0x70022d> - dd4: 02 c0 rjmp .+4 ; 0xdda <__vector_83+0x38> - dd6: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> - dda: 80 91 c0 20 lds r24, 0x20C0 ; 0x8020c0 <__data_end> - dde: 89 1b sub r24, r25 - de0: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - de4: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - de8: 82 30 cpi r24, 0x02 ; 2 - dea: 8c f0 brlt .+34 ; 0xe0e <__vector_83+0x6c> - dec: 22 3b cpi r18, 0xB2 ; 178 - dee: 3b 40 sbci r19, 0x0B ; 11 - df0: 70 f4 brcc .+28 ; 0xe0e <__vector_83+0x6c> - df2: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - df6: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - dfa: 89 30 cpi r24, 0x09 ; 9 - dfc: 1c f4 brge .+6 ; 0xe04 <__vector_83+0x62> - dfe: 81 e0 ldi r24, 0x01 ; 1 - e00: 90 e0 ldi r25, 0x00 ; 0 - e02: 02 c0 rjmp .+4 ; 0xe08 <__vector_83+0x66> - e04: 86 e0 ldi r24, 0x06 ; 6 - e06: 90 e0 ldi r25, 0x00 ; 0 - e08: 82 0f add r24, r18 - e0a: 93 1f adc r25, r19 - e0c: 18 c0 rjmp .+48 ; 0xe3e <__vector_83+0x9c> - e0e: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e12: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e16: 8f 3f cpi r24, 0xFF ; 255 - e18: b4 f4 brge .+44 ; 0xe46 <__vector_83+0xa4> - e1a: 27 30 cpi r18, 0x07 ; 7 - e1c: 31 05 cpc r19, r1 - e1e: 98 f0 brcs .+38 ; 0xe46 <__vector_83+0xa4> - e20: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e24: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e28: 88 3f cpi r24, 0xF8 ; 248 - e2a: 1c f0 brlt .+6 ; 0xe32 <__vector_83+0x90> - e2c: 81 e0 ldi r24, 0x01 ; 1 - e2e: 90 e0 ldi r25, 0x00 ; 0 - e30: 02 c0 rjmp .+4 ; 0xe36 <__vector_83+0x94> - e32: 86 e0 ldi r24, 0x06 ; 6 - e34: 90 e0 ldi r25, 0x00 ; 0 - e36: a9 01 movw r20, r18 - e38: 48 1b sub r20, r24 - e3a: 59 0b sbc r21, r25 - e3c: ca 01 movw r24, r20 - e3e: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - e42: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> - e46: 0f 90 pop r0 - e48: df 91 pop r29 - e4a: cf 91 pop r28 - e4c: 9f 91 pop r25 - e4e: 8f 91 pop r24 - e50: 5f 91 pop r21 - e52: 4f 91 pop r20 - e54: 3f 91 pop r19 - e56: 2f 91 pop r18 - e58: 0f 90 pop r0 - e5a: 0f be out 0x3f, r0 ; 63 - e5c: 0f 90 pop r0 - e5e: 1f 90 pop r1 - e60: 18 95 reti +00000d68 <__vector_83>: + d68: 1f 92 push r1 + d6a: 0f 92 push r0 + d6c: 0f b6 in r0, 0x3f ; 63 + d6e: 0f 92 push r0 + d70: 11 24 eor r1, r1 + d72: 2f 93 push r18 + d74: 3f 93 push r19 + d76: 4f 93 push r20 + d78: 5f 93 push r21 + d7a: 8f 93 push r24 + d7c: 9f 93 push r25 + d7e: cf 93 push r28 + d80: df 93 push r29 + d82: 1f 92 push r1 + d84: cd b7 in r28, 0x3d ; 61 + d86: de b7 in r29, 0x3e ; 62 + d88: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> + d8c: 87 30 cpi r24, 0x07 ; 7 + d8e: 31 f4 brne .+12 ; 0xd9c <__vector_83+0x34> + d90: 80 91 2c 02 lds r24, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + d94: 89 83 std Y+1, r24 ; 0x01 + d96: 90 91 2d 02 lds r25, 0x022D ; 0x80022d <__TEXT_REGION_LENGTH__+0x70022d> + d9a: 02 c0 rjmp .+4 ; 0xda0 <__vector_83+0x38> + d9c: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + da0: 80 91 c0 20 lds r24, 0x20C0 ; 0x8020c0 <__data_end> + da4: 89 1b sub r24, r25 + da6: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + daa: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + dae: 82 30 cpi r24, 0x02 ; 2 + db0: 8c f0 brlt .+34 ; 0xdd4 <__vector_83+0x6c> + db2: 22 3b cpi r18, 0xB2 ; 178 + db4: 3b 40 sbci r19, 0x0B ; 11 + db6: 70 f4 brcc .+28 ; 0xdd4 <__vector_83+0x6c> + db8: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + dbc: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + dc0: 89 30 cpi r24, 0x09 ; 9 + dc2: 1c f4 brge .+6 ; 0xdca <__vector_83+0x62> + dc4: 81 e0 ldi r24, 0x01 ; 1 + dc6: 90 e0 ldi r25, 0x00 ; 0 + dc8: 02 c0 rjmp .+4 ; 0xdce <__vector_83+0x66> + dca: 86 e0 ldi r24, 0x06 ; 6 + dcc: 90 e0 ldi r25, 0x00 ; 0 + dce: 82 0f add r24, r18 + dd0: 93 1f adc r25, r19 + dd2: 18 c0 rjmp .+48 ; 0xe04 <__vector_83+0x9c> + dd4: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + dd8: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + ddc: 8f 3f cpi r24, 0xFF ; 255 + dde: b4 f4 brge .+44 ; 0xe0c <__vector_83+0xa4> + de0: 27 30 cpi r18, 0x07 ; 7 + de2: 31 05 cpc r19, r1 + de4: 98 f0 brcs .+38 ; 0xe0c <__vector_83+0xa4> + de6: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + dea: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + dee: 88 3f cpi r24, 0xF8 ; 248 + df0: 1c f0 brlt .+6 ; 0xdf8 <__vector_83+0x90> + df2: 81 e0 ldi r24, 0x01 ; 1 + df4: 90 e0 ldi r25, 0x00 ; 0 + df6: 02 c0 rjmp .+4 ; 0xdfc <__vector_83+0x94> + df8: 86 e0 ldi r24, 0x06 ; 6 + dfa: 90 e0 ldi r25, 0x00 ; 0 + dfc: a9 01 movw r20, r18 + dfe: 48 1b sub r20, r24 + e00: 59 0b sbc r21, r25 + e02: ca 01 movw r24, r20 + e04: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + e08: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + e0c: 0f 90 pop r0 + e0e: df 91 pop r29 + e10: cf 91 pop r28 + e12: 9f 91 pop r25 + e14: 8f 91 pop r24 + e16: 5f 91 pop r21 + e18: 4f 91 pop r20 + e1a: 3f 91 pop r19 + e1c: 2f 91 pop r18 + e1e: 0f 90 pop r0 + e20: 0f be out 0x3f, r0 ; 63 + e22: 0f 90 pop r0 + e24: 1f 90 pop r1 + e26: 18 95 reti -00000e62 : - e62: e0 e7 ldi r30, 0x70 ; 112 - e64: f0 e0 ldi r31, 0x00 ; 0 - e66: 83 81 ldd r24, Z+3 ; 0x03 - e68: 8f 7e andi r24, 0xEF ; 239 - e6a: 83 83 std Z+3, r24 ; 0x03 - e6c: e0 e4 ldi r30, 0x40 ; 64 - e6e: f6 e0 ldi r31, 0x06 ; 6 - e70: 80 81 ld r24, Z - e72: 8a 6a ori r24, 0xAA ; 170 - e74: 80 83 st Z, r24 - e76: 8f ef ldi r24, 0xFF ; 255 - e78: 84 83 std Z+4, r24 ; 0x04 - e7a: 88 e5 ldi r24, 0x58 ; 88 - e7c: 82 8b std Z+18, r24 ; 0x12 - e7e: 80 e2 ldi r24, 0x20 ; 32 - e80: 86 87 std Z+14, r24 ; 0x0e - e82: e0 ea ldi r30, 0xA0 ; 160 - e84: f8 e0 ldi r31, 0x08 ; 8 - e86: 84 ec ldi r24, 0xC4 ; 196 - e88: 85 83 std Z+5, r24 ; 0x05 - e8a: 83 e0 ldi r24, 0x03 ; 3 - e8c: 86 83 std Z+6, r24 ; 0x06 - e8e: 17 82 std Z+7, r1 ; 0x07 - e90: 88 e1 ldi r24, 0x18 ; 24 - e92: 84 83 std Z+4, r24 ; 0x04 - e94: 08 95 ret +00000e28 : + e28: e0 e7 ldi r30, 0x70 ; 112 + e2a: f0 e0 ldi r31, 0x00 ; 0 + e2c: 83 81 ldd r24, Z+3 ; 0x03 + e2e: 8f 7e andi r24, 0xEF ; 239 + e30: 83 83 std Z+3, r24 ; 0x03 + e32: e0 e4 ldi r30, 0x40 ; 64 + e34: f6 e0 ldi r31, 0x06 ; 6 + e36: 80 81 ld r24, Z + e38: 8a 64 ori r24, 0x4A ; 74 + e3a: 80 83 st Z, r24 + e3c: 8f ef ldi r24, 0xFF ; 255 + e3e: 84 83 std Z+4, r24 ; 0x04 + e40: 88 e5 ldi r24, 0x58 ; 88 + e42: 82 8b std Z+18, r24 ; 0x12 + e44: 80 e2 ldi r24, 0x20 ; 32 + e46: 86 87 std Z+14, r24 ; 0x0e + e48: e0 ea ldi r30, 0xA0 ; 160 + e4a: f8 e0 ldi r31, 0x08 ; 8 + e4c: 84 ec ldi r24, 0xC4 ; 196 + e4e: 85 83 std Z+5, r24 ; 0x05 + e50: 83 e0 ldi r24, 0x03 ; 3 + e52: 86 83 std Z+6, r24 ; 0x06 + e54: 17 82 std Z+7, r1 ; 0x07 + e56: 88 e1 ldi r24, 0x18 ; 24 + e58: 84 83 std Z+4, r24 ; 0x04 + e5a: 08 95 ret -00000e96 : - e96: e0 e7 ldi r30, 0x70 ; 112 - e98: f0 e0 ldi r31, 0x00 ; 0 - e9a: 83 81 ldd r24, Z+3 ; 0x03 - e9c: 87 7f andi r24, 0xF7 ; 247 - e9e: 83 83 std Z+3, r24 ; 0x03 - ea0: 80 e4 ldi r24, 0x40 ; 64 - ea2: 80 93 c0 08 sts 0x08C0, r24 ; 0x8008c0 <__TEXT_REGION_LENGTH__+0x7008c0> - ea6: 88 e5 ldi r24, 0x58 ; 88 - ea8: 80 93 57 06 sts 0x0657, r24 ; 0x800657 <__TEXT_REGION_LENGTH__+0x700657> - eac: 08 95 ret +00000e5c : + e5c: e0 e7 ldi r30, 0x70 ; 112 + e5e: f0 e0 ldi r31, 0x00 ; 0 + e60: 83 81 ldd r24, Z+3 ; 0x03 + e62: 87 7f andi r24, 0xF7 ; 247 + e64: 83 83 std Z+3, r24 ; 0x03 + e66: e0 ec ldi r30, 0xC0 ; 192 + e68: f8 e0 ldi r31, 0x08 ; 8 + e6a: 80 e4 ldi r24, 0x40 ; 64 + e6c: 80 83 st Z, r24 + e6e: 83 e0 ldi r24, 0x03 ; 3 + e70: 81 83 std Z+1, r24 ; 0x01 + e72: 88 e5 ldi r24, 0x58 ; 88 + e74: 80 93 57 06 sts 0x0657, r24 ; 0x800657 <__TEXT_REGION_LENGTH__+0x700657> + e78: 08 95 ret -00000eae : - eae: 9f b7 in r25, 0x3f ; 63 - eb0: f8 94 cli - eb2: a0 e5 ldi r26, 0x50 ; 80 - eb4: b0 e0 ldi r27, 0x00 ; 0 - eb6: 16 96 adiw r26, 0x06 ; 6 - eb8: 8c 91 ld r24, X - eba: 16 97 sbiw r26, 0x06 ; 6 - ebc: 89 7f andi r24, 0xF9 ; 249 - ebe: 16 96 adiw r26, 0x06 ; 6 - ec0: 8c 93 st X, r24 - ec2: 16 97 sbiw r26, 0x06 ; 6 - ec4: e0 e6 ldi r30, 0x60 ; 96 - ec6: f0 e0 ldi r31, 0x00 ; 0 - ec8: 80 e8 ldi r24, 0x80 ; 128 - eca: 85 83 std Z+5, r24 ; 0x05 - ecc: 8b eb ldi r24, 0xBB ; 187 - ece: 86 83 std Z+6, r24 ; 0x06 - ed0: 16 96 adiw r26, 0x06 ; 6 - ed2: 8c 91 ld r24, X - ed4: 16 97 sbiw r26, 0x06 ; 6 - ed6: 84 60 ori r24, 0x04 ; 4 - ed8: 16 96 adiw r26, 0x06 ; 6 - eda: 8c 93 st X, r24 - edc: 80 81 ld r24, Z - ede: 81 60 ori r24, 0x01 ; 1 - ee0: 80 83 st Z, r24 - ee2: 9f bf out 0x3f, r25 ; 63 - ee4: 08 95 ret +00000e7a <__vector_24>: + e7a: 1f 92 push r1 + e7c: 0f 92 push r0 + e7e: 0f b6 in r0, 0x3f ; 63 + e80: 0f 92 push r0 + e82: 11 24 eor r1, r1 + e84: 00 00 nop + e86: 0f 90 pop r0 + e88: 0f be out 0x3f, r0 ; 63 + e8a: 0f 90 pop r0 + e8c: 1f 90 pop r1 + e8e: 18 95 reti -00000ee6 : - ee6: cf 93 push r28 - ee8: df 93 push r29 - eea: 00 d0 rcall .+0 ; 0xeec - eec: 00 d0 rcall .+0 ; 0xeee - eee: cd b7 in r28, 0x3d ; 61 - ef0: de b7 in r29, 0x3e ; 62 - ef2: 8f ef ldi r24, 0xFF ; 255 - ef4: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> - ef8: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - efc: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> - f00: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> - f04: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> - f08: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> - f0c: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> - f10: 64 e0 ldi r22, 0x04 ; 4 - f12: 81 e4 ldi r24, 0x41 ; 65 - f14: 90 e0 ldi r25, 0x00 ; 0 - f16: e5 d4 rcall .+2506 ; 0x18e2 - f18: 6c e1 ldi r22, 0x1C ; 28 - f1a: 70 e0 ldi r23, 0x00 ; 0 - f1c: 82 e0 ldi r24, 0x02 ; 2 - f1e: e7 d4 rcall .+2510 ; 0x18ee - f20: 8c 83 std Y+4, r24 ; 0x04 - f22: 6d e1 ldi r22, 0x1D ; 29 - f24: 70 e0 ldi r23, 0x00 ; 0 - f26: 82 e0 ldi r24, 0x02 ; 2 - f28: e2 d4 rcall .+2500 ; 0x18ee - f2a: 8b 83 std Y+3, r24 ; 0x03 - f2c: 8b 81 ldd r24, Y+3 ; 0x03 - f2e: 9c 81 ldd r25, Y+4 ; 0x04 - f30: 01 96 adiw r24, 0x01 ; 1 - f32: 21 f4 brne .+8 ; 0xf3c - f34: 80 e4 ldi r24, 0x40 ; 64 - f36: 93 e2 ldi r25, 0x23 ; 35 - f38: 8b 83 std Y+3, r24 ; 0x03 - f3a: 9c 83 std Y+4, r25 ; 0x04 - f3c: 8b 81 ldd r24, Y+3 ; 0x03 - f3e: 9c 81 ldd r25, Y+4 ; 0x04 - f40: 89 83 std Y+1, r24 ; 0x01 - f42: 9a 83 std Y+2, r25 ; 0x02 - f44: 80 93 62 00 sts 0x0062, r24 ; 0x800062 <__TEXT_REGION_LENGTH__+0x700062> - f48: 8a 81 ldd r24, Y+2 ; 0x02 - f4a: 80 93 63 00 sts 0x0063, r24 ; 0x800063 <__TEXT_REGION_LENGTH__+0x700063> - f4e: 9f b7 in r25, 0x3f ; 63 - f50: f8 94 cli - f52: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - f56: 82 60 ori r24, 0x02 ; 2 - f58: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - f5c: 9f bf out 0x3f, r25 ; 63 - f5e: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - f62: 81 ff sbrs r24, 1 - f64: fc cf rjmp .-8 ; 0xf5e - f66: a3 df rcall .-186 ; 0xeae - f68: 61 e0 ldi r22, 0x01 ; 1 - f6a: 80 e4 ldi r24, 0x40 ; 64 - f6c: 90 e0 ldi r25, 0x00 ; 0 - f6e: b9 d4 rcall .+2418 ; 0x18e2 - f70: 9f b7 in r25, 0x3f ; 63 - f72: f8 94 cli - f74: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - f78: 8e 7f andi r24, 0xFE ; 254 - f7a: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - f7e: 9f bf out 0x3f, r25 ; 63 - f80: 24 96 adiw r28, 0x04 ; 4 - f82: cd bf out 0x3d, r28 ; 61 - f84: de bf out 0x3e, r29 ; 62 - f86: df 91 pop r29 - f88: cf 91 pop r28 - f8a: 08 95 ret +00000e90 : + e90: 9f b7 in r25, 0x3f ; 63 + e92: f8 94 cli + e94: a0 e5 ldi r26, 0x50 ; 80 + e96: b0 e0 ldi r27, 0x00 ; 0 + e98: 16 96 adiw r26, 0x06 ; 6 + e9a: 8c 91 ld r24, X + e9c: 16 97 sbiw r26, 0x06 ; 6 + e9e: 89 7f andi r24, 0xF9 ; 249 + ea0: 16 96 adiw r26, 0x06 ; 6 + ea2: 8c 93 st X, r24 + ea4: 16 97 sbiw r26, 0x06 ; 6 + ea6: e0 e6 ldi r30, 0x60 ; 96 + ea8: f0 e0 ldi r31, 0x00 ; 0 + eaa: 80 e8 ldi r24, 0x80 ; 128 + eac: 85 83 std Z+5, r24 ; 0x05 + eae: 8b eb ldi r24, 0xBB ; 187 + eb0: 86 83 std Z+6, r24 ; 0x06 + eb2: 16 96 adiw r26, 0x06 ; 6 + eb4: 8c 91 ld r24, X + eb6: 16 97 sbiw r26, 0x06 ; 6 + eb8: 84 60 ori r24, 0x04 ; 4 + eba: 16 96 adiw r26, 0x06 ; 6 + ebc: 8c 93 st X, r24 + ebe: 80 81 ld r24, Z + ec0: 81 60 ori r24, 0x01 ; 1 + ec2: 80 83 st Z, r24 + ec4: 9f bf out 0x3f, r25 ; 63 + ec6: 08 95 ret -00000f8c : - f8c: 9f b7 in r25, 0x3f ; 63 - f8e: f8 94 cli - f90: e8 2f mov r30, r24 - f92: f0 e0 ldi r31, 0x00 ; 0 - f94: e0 59 subi r30, 0x90 ; 144 - f96: ff 4f sbci r31, 0xFF ; 255 - f98: 60 95 com r22 - f9a: 80 81 ld r24, Z - f9c: 68 23 and r22, r24 - f9e: 60 83 st Z, r22 - fa0: 9f bf out 0x3f, r25 ; 63 - fa2: 08 95 ret +00000ec8 : + ec8: cf 93 push r28 + eca: df 93 push r29 + ecc: 00 d0 rcall .+0 ; 0xece + ece: 00 d0 rcall .+0 ; 0xed0 + ed0: cd b7 in r28, 0x3d ; 61 + ed2: de b7 in r29, 0x3e ; 62 + ed4: 8f ef ldi r24, 0xFF ; 255 + ed6: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> + eda: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + ede: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> + ee2: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> + ee6: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> + eea: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> + eee: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> + ef2: 64 e0 ldi r22, 0x04 ; 4 + ef4: 81 e4 ldi r24, 0x41 ; 65 + ef6: 90 e0 ldi r25, 0x00 ; 0 + ef8: e4 d4 rcall .+2504 ; 0x18c2 + efa: 6c e1 ldi r22, 0x1C ; 28 + efc: 70 e0 ldi r23, 0x00 ; 0 + efe: 82 e0 ldi r24, 0x02 ; 2 + f00: e6 d4 rcall .+2508 ; 0x18ce + f02: 8c 83 std Y+4, r24 ; 0x04 + f04: 6d e1 ldi r22, 0x1D ; 29 + f06: 70 e0 ldi r23, 0x00 ; 0 + f08: 82 e0 ldi r24, 0x02 ; 2 + f0a: e1 d4 rcall .+2498 ; 0x18ce + f0c: 8b 83 std Y+3, r24 ; 0x03 + f0e: 8b 81 ldd r24, Y+3 ; 0x03 + f10: 9c 81 ldd r25, Y+4 ; 0x04 + f12: 01 96 adiw r24, 0x01 ; 1 + f14: 21 f4 brne .+8 ; 0xf1e + f16: 80 e4 ldi r24, 0x40 ; 64 + f18: 93 e2 ldi r25, 0x23 ; 35 + f1a: 8b 83 std Y+3, r24 ; 0x03 + f1c: 9c 83 std Y+4, r25 ; 0x04 + f1e: 8b 81 ldd r24, Y+3 ; 0x03 + f20: 9c 81 ldd r25, Y+4 ; 0x04 + f22: 89 83 std Y+1, r24 ; 0x01 + f24: 9a 83 std Y+2, r25 ; 0x02 + f26: 80 93 62 00 sts 0x0062, r24 ; 0x800062 <__TEXT_REGION_LENGTH__+0x700062> + f2a: 8a 81 ldd r24, Y+2 ; 0x02 + f2c: 80 93 63 00 sts 0x0063, r24 ; 0x800063 <__TEXT_REGION_LENGTH__+0x700063> + f30: 9f b7 in r25, 0x3f ; 63 + f32: f8 94 cli + f34: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + f38: 82 60 ori r24, 0x02 ; 2 + f3a: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + f3e: 9f bf out 0x3f, r25 ; 63 + f40: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + f44: 81 ff sbrs r24, 1 + f46: fc cf rjmp .-8 ; 0xf40 + f48: a3 df rcall .-186 ; 0xe90 + f4a: 61 e0 ldi r22, 0x01 ; 1 + f4c: 80 e4 ldi r24, 0x40 ; 64 + f4e: 90 e0 ldi r25, 0x00 ; 0 + f50: b8 d4 rcall .+2416 ; 0x18c2 + f52: 9f b7 in r25, 0x3f ; 63 + f54: f8 94 cli + f56: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + f5a: 8e 7f andi r24, 0xFE ; 254 + f5c: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + f60: 9f bf out 0x3f, r25 ; 63 + f62: 24 96 adiw r28, 0x04 ; 4 + f64: cd bf out 0x3d, r28 ; 61 + f66: de bf out 0x3e, r29 ; 62 + f68: df 91 pop r29 + f6a: cf 91 pop r28 + f6c: 08 95 ret -00000fa4 : - fa4: cf 93 push r28 - fa6: 86 30 cpi r24, 0x06 ; 6 - fa8: 11 f0 breq .+4 ; 0xfae - faa: c0 e0 ldi r28, 0x00 ; 0 - fac: 01 c0 rjmp .+2 ; 0xfb0 - fae: c8 e1 ldi r28, 0x18 ; 24 - fb0: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - fb4: 81 fd sbrc r24, 1 - fb6: 0d c0 rjmp .+26 ; 0xfd2 - fb8: 9f b7 in r25, 0x3f ; 63 - fba: f8 94 cli - fbc: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - fc0: 82 60 ori r24, 0x02 ; 2 - fc2: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - fc6: 9f bf out 0x3f, r25 ; 63 - fc8: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - fcc: 81 ff sbrs r24, 1 - fce: fc cf rjmp .-8 ; 0xfc8 - fd0: 6e df rcall .-292 ; 0xeae - fd2: 6c 2f mov r22, r28 - fd4: 63 60 ori r22, 0x03 ; 3 - fd6: 84 e4 ldi r24, 0x44 ; 68 - fd8: 90 e0 ldi r25, 0x00 ; 0 - fda: 83 d4 rcall .+2310 ; 0x18e2 - fdc: 60 e4 ldi r22, 0x40 ; 64 - fde: 80 e0 ldi r24, 0x00 ; 0 - fe0: cf 91 pop r28 - fe2: d4 cf rjmp .-88 ; 0xf8c +00000f6e : + f6e: 9f b7 in r25, 0x3f ; 63 + f70: f8 94 cli + f72: e8 2f mov r30, r24 + f74: f0 e0 ldi r31, 0x00 ; 0 + f76: e0 59 subi r30, 0x90 ; 144 + f78: ff 4f sbci r31, 0xFF ; 255 + f7a: 60 95 com r22 + f7c: 80 81 ld r24, Z + f7e: 68 23 and r22, r24 + f80: 60 83 st Z, r22 + f82: 9f bf out 0x3f, r25 ; 63 + f84: 08 95 ret -00000fe4 : - fe4: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 - fe8: 08 95 ret +00000f86 : + f86: cf 93 push r28 + f88: 86 30 cpi r24, 0x06 ; 6 + f8a: 11 f0 breq .+4 ; 0xf90 + f8c: c0 e0 ldi r28, 0x00 ; 0 + f8e: 01 c0 rjmp .+2 ; 0xf92 + f90: c8 e1 ldi r28, 0x18 ; 24 + f92: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + f96: 81 fd sbrc r24, 1 + f98: 0d c0 rjmp .+26 ; 0xfb4 + f9a: 9f b7 in r25, 0x3f ; 63 + f9c: f8 94 cli + f9e: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + fa2: 82 60 ori r24, 0x02 ; 2 + fa4: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + fa8: 9f bf out 0x3f, r25 ; 63 + faa: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + fae: 81 ff sbrs r24, 1 + fb0: fc cf rjmp .-8 ; 0xfaa + fb2: 6e df rcall .-292 ; 0xe90 + fb4: 6c 2f mov r22, r28 + fb6: 63 60 ori r22, 0x03 ; 3 + fb8: 84 e4 ldi r24, 0x44 ; 68 + fba: 90 e0 ldi r25, 0x00 ; 0 + fbc: 82 d4 rcall .+2308 ; 0x18c2 + fbe: 60 e4 ldi r22, 0x40 ; 64 + fc0: 80 e0 ldi r24, 0x00 ; 0 + fc2: cf 91 pop r28 + fc4: d4 cf rjmp .-88 ; 0xf6e -00000fea : - fea: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 - fee: 81 30 cpi r24, 0x01 ; 1 - ff0: 09 f4 brne .+2 ; 0xff4 - ff2: aa c9 rjmp .-3244 ; 0x348 - ff4: 08 95 ret +00000fc6 : + fc6: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 + fca: 08 95 ret -00000ff6 : - ff6: f9 d0 rcall .+498 ; 0x11ea - ff8: fc 01 movw r30, r24 - ffa: 83 81 ldd r24, Z+3 ; 0x03 - ffc: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 +00000fcc : + fcc: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 + fd0: 81 30 cpi r24, 0x01 ; 1 + fd2: 09 f4 brne .+2 ; 0xfd6 + fd4: b9 c9 rjmp .-3214 ; 0x348 + fd6: 08 95 ret + +00000fd8 : + fd8: f9 d0 rcall .+498 ; 0x11cc + fda: fc 01 movw r30, r24 + fdc: 83 81 ldd r24, Z+3 ; 0x03 + fde: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 + fe2: 81 11 cpse r24, r1 + fe4: 01 c0 rjmp .+2 ; 0xfe8 + fe6: a4 c9 rjmp .-3256 ; 0x330 + fe8: 81 e0 ldi r24, 0x01 ; 1 + fea: 08 95 ret + +00000fec : + fec: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + ff0: 89 2f mov r24, r25 + ff2: 80 76 andi r24, 0x60 ; 96 + ff4: 97 ff sbrs r25, 7 + ff6: 07 c0 rjmp .+14 ; 0x1006 + ff8: 80 34 cpi r24, 0x40 ; 64 + ffa: 91 f4 brne .+36 ; 0x1020 + ffc: 80 91 67 24 lds r24, 0x2467 ; 0x802467 1000: 81 11 cpse r24, r1 - 1002: 01 c0 rjmp .+2 ; 0x1006 - 1004: 95 c9 rjmp .-3286 ; 0x330 - 1006: 81 e0 ldi r24, 0x01 ; 1 - 1008: 08 95 ret + 1002: 0e c0 rjmp .+28 ; 0x1020 + 1004: a6 c9 rjmp .-3252 ; 0x352 + 1006: 80 34 cpi r24, 0x40 ; 64 + 1008: 59 f4 brne .+22 ; 0x1020 + 100a: 80 91 67 24 lds r24, 0x2467 ; 0x802467 + 100e: 81 11 cpse r24, r1 + 1010: 07 c0 rjmp .+14 ; 0x1020 + 1012: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 1016: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 101a: 89 2b or r24, r25 + 101c: 09 f0 breq .+2 ; 0x1020 + 101e: 97 c9 rjmp .-3282 ; 0x34e + 1020: 80 e0 ldi r24, 0x00 ; 0 + 1022: 08 95 ret -0000100a : - 100a: 90 91 66 24 lds r25, 0x2466 ; 0x802466 - 100e: 89 2f mov r24, r25 - 1010: 80 76 andi r24, 0x60 ; 96 - 1012: 97 ff sbrs r25, 7 - 1014: 07 c0 rjmp .+14 ; 0x1024 - 1016: 80 34 cpi r24, 0x40 ; 64 - 1018: 91 f4 brne .+36 ; 0x103e - 101a: 80 91 67 24 lds r24, 0x2467 ; 0x802467 - 101e: 81 11 cpse r24, r1 - 1020: 0e c0 rjmp .+28 ; 0x103e - 1022: 97 c9 rjmp .-3282 ; 0x352 - 1024: 80 34 cpi r24, 0x40 ; 64 - 1026: 59 f4 brne .+22 ; 0x103e - 1028: 80 91 67 24 lds r24, 0x2467 ; 0x802467 - 102c: 81 11 cpse r24, r1 - 102e: 07 c0 rjmp .+14 ; 0x103e - 1030: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1034: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 1038: 89 2b or r24, r25 - 103a: 09 f0 breq .+2 ; 0x103e - 103c: 88 c9 rjmp .-3312 ; 0x34e - 103e: 80 e0 ldi r24, 0x00 ; 0 - 1040: 08 95 ret +00001024 : + 1024: 0f 93 push r16 + 1026: 1f 93 push r17 + 1028: 9b 01 movw r18, r22 + 102a: 8a 01 movw r16, r20 + 102c: ac 01 movw r20, r24 + 102e: 60 e0 ldi r22, 0x00 ; 0 + 1030: 83 e8 ldi r24, 0x83 ; 131 + 1032: fb d7 rcall .+4086 ; 0x202a + 1034: 1f 91 pop r17 + 1036: 0f 91 pop r16 + 1038: 08 95 ret -00001042 : - 1042: 0f 93 push r16 - 1044: 1f 93 push r17 - 1046: 9b 01 movw r18, r22 - 1048: 8a 01 movw r16, r20 - 104a: ac 01 movw r20, r24 - 104c: 60 e0 ldi r22, 0x00 ; 0 - 104e: 83 e8 ldi r24, 0x83 ; 131 - 1050: fc d7 rcall .+4088 ; 0x204a - 1052: 1f 91 pop r17 - 1054: 0f 91 pop r16 - 1056: 08 95 ret +0000103a : + 103a: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 103e: 8f 77 andi r24, 0x7F ; 127 + 1040: 76 c7 rjmp .+3820 ; 0x1f2e -00001058 : - 1058: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 105c: 8f 77 andi r24, 0x7F ; 127 - 105e: 77 c7 rjmp .+3822 ; 0x1f4e +00001042 : + 1042: 90 91 cc 20 lds r25, 0x20CC ; 0x8020cc + 1046: 91 11 cpse r25, r1 + 1048: 02 c0 rjmp .+4 ; 0x104e + 104a: 80 e0 ldi r24, 0x00 ; 0 + 104c: 08 95 ret + 104e: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 + 1052: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca + 1056: 01 90 ld r0, Z+ + 1058: f0 81 ld r31, Z + 105a: e0 2d mov r30, r0 + 105c: 94 81 ldd r25, Z+4 ; 0x04 + 105e: 89 17 cp r24, r25 + 1060: a0 f7 brcc .-24 ; 0x104a + 1062: e0 93 c7 20 sts 0x20C7, r30 ; 0x8020c7 + 1066: f0 93 c8 20 sts 0x20C8, r31 ; 0x8020c8 + 106a: 22 81 ldd r18, Z+2 ; 0x02 + 106c: 33 81 ldd r19, Z+3 ; 0x03 + 106e: 2e 0f add r18, r30 + 1070: 3f 1f adc r19, r31 + 1072: e2 17 cp r30, r18 + 1074: f3 07 cpc r31, r19 + 1076: 98 f4 brcc .+38 ; 0x109e + 1078: 91 81 ldd r25, Z+1 ; 0x01 + 107a: 94 30 cpi r25, 0x04 ; 4 + 107c: 61 f4 brne .+24 ; 0x1096 + 107e: 92 81 ldd r25, Z+2 ; 0x02 + 1080: 89 13 cpse r24, r25 + 1082: 09 c0 rjmp .+18 ; 0x1096 + 1084: 93 81 ldd r25, Z+3 ; 0x03 + 1086: 69 13 cpse r22, r25 + 1088: 06 c0 rjmp .+12 ; 0x1096 + 108a: e0 93 c7 20 sts 0x20C7, r30 ; 0x8020c7 + 108e: f0 93 c8 20 sts 0x20C8, r31 ; 0x8020c8 + 1092: 81 e0 ldi r24, 0x01 ; 1 + 1094: 08 95 ret + 1096: 90 81 ld r25, Z + 1098: e9 0f add r30, r25 + 109a: f1 1d adc r31, r1 + 109c: ea cf rjmp .-44 ; 0x1072 + 109e: e0 93 c7 20 sts 0x20C7, r30 ; 0x8020c7 + 10a2: f0 93 c8 20 sts 0x20C8, r31 ; 0x8020c8 + 10a6: d1 cf rjmp .-94 ; 0x104a -00001060 : - 1060: 90 91 cc 20 lds r25, 0x20CC ; 0x8020cc - 1064: 91 11 cpse r25, r1 - 1066: 02 c0 rjmp .+4 ; 0x106c - 1068: 80 e0 ldi r24, 0x00 ; 0 - 106a: 08 95 ret - 106c: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 - 1070: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca - 1074: 01 90 ld r0, Z+ - 1076: f0 81 ld r31, Z - 1078: e0 2d mov r30, r0 - 107a: 94 81 ldd r25, Z+4 ; 0x04 - 107c: 89 17 cp r24, r25 - 107e: a0 f7 brcc .-24 ; 0x1068 - 1080: e0 93 c7 20 sts 0x20C7, r30 ; 0x8020c7 - 1084: f0 93 c8 20 sts 0x20C8, r31 ; 0x8020c8 - 1088: 22 81 ldd r18, Z+2 ; 0x02 - 108a: 33 81 ldd r19, Z+3 ; 0x03 - 108c: 2e 0f add r18, r30 - 108e: 3f 1f adc r19, r31 - 1090: e2 17 cp r30, r18 - 1092: f3 07 cpc r31, r19 - 1094: 98 f4 brcc .+38 ; 0x10bc - 1096: 91 81 ldd r25, Z+1 ; 0x01 - 1098: 94 30 cpi r25, 0x04 ; 4 - 109a: 61 f4 brne .+24 ; 0x10b4 - 109c: 92 81 ldd r25, Z+2 ; 0x02 - 109e: 89 13 cpse r24, r25 - 10a0: 09 c0 rjmp .+18 ; 0x10b4 - 10a2: 93 81 ldd r25, Z+3 ; 0x03 - 10a4: 69 13 cpse r22, r25 - 10a6: 06 c0 rjmp .+12 ; 0x10b4 - 10a8: e0 93 c7 20 sts 0x20C7, r30 ; 0x8020c7 - 10ac: f0 93 c8 20 sts 0x20C8, r31 ; 0x8020c8 - 10b0: 81 e0 ldi r24, 0x01 ; 1 - 10b2: 08 95 ret - 10b4: 90 81 ld r25, Z - 10b6: e9 0f add r30, r25 - 10b8: f1 1d adc r31, r1 - 10ba: ea cf rjmp .-44 ; 0x1090 - 10bc: e0 93 c7 20 sts 0x20C7, r30 ; 0x8020c7 - 10c0: f0 93 c8 20 sts 0x20C8, r31 ; 0x8020c8 - 10c4: d1 cf rjmp .-94 ; 0x1068 +000010a8 : + 10a8: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 + 10ac: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca + 10b0: 01 90 ld r0, Z+ + 10b2: f0 81 ld r31, Z + 10b4: e0 2d mov r30, r0 + 10b6: 22 81 ldd r18, Z+2 ; 0x02 + 10b8: 33 81 ldd r19, Z+3 ; 0x03 + 10ba: 2e 0f add r18, r30 + 10bc: 3f 1f adc r19, r31 + 10be: fc 01 movw r30, r24 + 10c0: 40 81 ld r20, Z + 10c2: e4 0f add r30, r20 + 10c4: f1 1d adc r31, r1 + 10c6: e2 17 cp r30, r18 + 10c8: f3 07 cpc r31, r19 + 10ca: 48 f4 brcc .+18 ; 0x10de + 10cc: 81 81 ldd r24, Z+1 ; 0x01 + 10ce: 84 30 cpi r24, 0x04 ; 4 + 10d0: 31 f0 breq .+12 ; 0x10de + 10d2: 85 30 cpi r24, 0x05 ; 5 + 10d4: 39 f0 breq .+14 ; 0x10e4 + 10d6: 80 81 ld r24, Z + 10d8: e8 0f add r30, r24 + 10da: f1 1d adc r31, r1 + 10dc: f4 cf rjmp .-24 ; 0x10c6 + 10de: 80 e0 ldi r24, 0x00 ; 0 + 10e0: 90 e0 ldi r25, 0x00 ; 0 + 10e2: 08 95 ret + 10e4: cf 01 movw r24, r30 + 10e6: 08 95 ret -000010c6 : - 10c6: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 - 10ca: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca - 10ce: 01 90 ld r0, Z+ - 10d0: f0 81 ld r31, Z - 10d2: e0 2d mov r30, r0 - 10d4: 22 81 ldd r18, Z+2 ; 0x02 - 10d6: 33 81 ldd r19, Z+3 ; 0x03 - 10d8: 2e 0f add r18, r30 - 10da: 3f 1f adc r19, r31 - 10dc: fc 01 movw r30, r24 - 10de: 40 81 ld r20, Z - 10e0: e4 0f add r30, r20 - 10e2: f1 1d adc r31, r1 - 10e4: e2 17 cp r30, r18 - 10e6: f3 07 cpc r31, r19 - 10e8: 48 f4 brcc .+18 ; 0x10fc - 10ea: 81 81 ldd r24, Z+1 ; 0x01 - 10ec: 84 30 cpi r24, 0x04 ; 4 - 10ee: 31 f0 breq .+12 ; 0x10fc - 10f0: 85 30 cpi r24, 0x05 ; 5 - 10f2: 39 f0 breq .+14 ; 0x1102 - 10f4: 80 81 ld r24, Z - 10f6: e8 0f add r30, r24 - 10f8: f1 1d adc r31, r1 - 10fa: f4 cf rjmp .-24 ; 0x10e4 - 10fc: 80 e0 ldi r24, 0x00 ; 0 - 10fe: 90 e0 ldi r25, 0x00 ; 0 - 1100: 08 95 ret - 1102: cf 01 movw r24, r30 - 1104: 08 95 ret +000010e8 : + 10e8: 1f 93 push r17 + 10ea: cf 93 push r28 + 10ec: df 93 push r29 + 10ee: 18 2f mov r17, r24 + 10f0: a8 df rcall .-176 ; 0x1042 + 10f2: 88 23 and r24, r24 + 10f4: 39 f1 breq .+78 ; 0x1144 + 10f6: c0 91 c7 20 lds r28, 0x20C7 ; 0x8020c7 + 10fa: d0 91 c8 20 lds r29, 0x20C8 ; 0x8020c8 + 10fe: ce 01 movw r24, r28 + 1100: d3 df rcall .-90 ; 0x10a8 + 1102: ec 01 movw r28, r24 + 1104: 89 2b or r24, r25 + 1106: 41 f0 breq .+16 ; 0x1118 + 1108: 4c 81 ldd r20, Y+4 ; 0x04 + 110a: 5d 81 ldd r21, Y+5 ; 0x05 + 110c: 6b 81 ldd r22, Y+3 ; 0x03 + 110e: 8a 81 ldd r24, Y+2 ; 0x02 + 1110: 1b d7 rcall .+3638 ; 0x1f48 + 1112: 81 11 cpse r24, r1 + 1114: f4 cf rjmp .-24 ; 0x10fe + 1116: 16 c0 rjmp .+44 ; 0x1144 + 1118: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 + 111c: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca + 1120: 92 81 ldd r25, Z+2 ; 0x02 + 1122: 83 81 ldd r24, Z+3 ; 0x03 + 1124: e9 2f mov r30, r25 + 1126: f8 2f mov r31, r24 + 1128: e1 0f add r30, r17 + 112a: f1 1d adc r31, r1 + 112c: e1 0f add r30, r17 + 112e: f1 1d adc r31, r1 + 1130: 01 90 ld r0, Z+ + 1132: f0 81 ld r31, Z + 1134: e0 2d mov r30, r0 + 1136: 01 90 ld r0, Z+ + 1138: f0 81 ld r31, Z + 113a: e0 2d mov r30, r0 + 113c: df 91 pop r29 + 113e: cf 91 pop r28 + 1140: 1f 91 pop r17 + 1142: 09 94 ijmp + 1144: 80 e0 ldi r24, 0x00 ; 0 + 1146: df 91 pop r29 + 1148: cf 91 pop r28 + 114a: 1f 91 pop r17 + 114c: 08 95 ret -00001106 : - 1106: 1f 93 push r17 - 1108: cf 93 push r28 - 110a: df 93 push r29 - 110c: 18 2f mov r17, r24 - 110e: a8 df rcall .-176 ; 0x1060 - 1110: 88 23 and r24, r24 - 1112: 39 f1 breq .+78 ; 0x1162 - 1114: c0 91 c7 20 lds r28, 0x20C7 ; 0x8020c7 - 1118: d0 91 c8 20 lds r29, 0x20C8 ; 0x8020c8 - 111c: ce 01 movw r24, r28 - 111e: d3 df rcall .-90 ; 0x10c6 - 1120: ec 01 movw r28, r24 - 1122: 89 2b or r24, r25 - 1124: 41 f0 breq .+16 ; 0x1136 - 1126: 4c 81 ldd r20, Y+4 ; 0x04 - 1128: 5d 81 ldd r21, Y+5 ; 0x05 - 112a: 6b 81 ldd r22, Y+3 ; 0x03 - 112c: 8a 81 ldd r24, Y+2 ; 0x02 - 112e: 1c d7 rcall .+3640 ; 0x1f68 - 1130: 81 11 cpse r24, r1 - 1132: f4 cf rjmp .-24 ; 0x111c - 1134: 16 c0 rjmp .+44 ; 0x1162 - 1136: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 - 113a: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca - 113e: 92 81 ldd r25, Z+2 ; 0x02 - 1140: 83 81 ldd r24, Z+3 ; 0x03 - 1142: e9 2f mov r30, r25 - 1144: f8 2f mov r31, r24 - 1146: e1 0f add r30, r17 - 1148: f1 1d adc r31, r1 - 114a: e1 0f add r30, r17 - 114c: f1 1d adc r31, r1 - 114e: 01 90 ld r0, Z+ - 1150: f0 81 ld r31, Z - 1152: e0 2d mov r30, r0 - 1154: 01 90 ld r0, Z+ - 1156: f0 81 ld r31, Z - 1158: e0 2d mov r30, r0 - 115a: df 91 pop r29 - 115c: cf 91 pop r28 - 115e: 1f 91 pop r17 - 1160: 09 94 ijmp - 1162: 80 e0 ldi r24, 0x00 ; 0 - 1164: df 91 pop r29 - 1166: cf 91 pop r28 - 1168: 1f 91 pop r17 - 116a: 08 95 ret +0000114e : + 114e: ef 92 push r14 + 1150: ff 92 push r15 + 1152: 1f 93 push r17 + 1154: cf 93 push r28 + 1156: df 93 push r29 + 1158: c8 2f mov r28, r24 + 115a: 60 e0 ldi r22, 0x00 ; 0 + 115c: 72 df rcall .-284 ; 0x1042 + 115e: 81 11 cpse r24, r1 + 1160: 02 c0 rjmp .+4 ; 0x1166 + 1162: 10 e0 ldi r17, 0x00 ; 0 + 1164: 2c c0 rjmp .+88 ; 0x11be + 1166: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 + 116a: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca + 116e: 92 81 ldd r25, Z+2 ; 0x02 + 1170: 83 81 ldd r24, Z+3 ; 0x03 + 1172: e9 2f mov r30, r25 + 1174: f8 2f mov r31, r24 + 1176: ec 0f add r30, r28 + 1178: f1 1d adc r31, r1 + 117a: ec 0f add r30, r28 + 117c: f1 1d adc r31, r1 + 117e: e0 80 ld r14, Z + 1180: f1 80 ldd r15, Z+1 ; 0x01 + 1182: d7 01 movw r26, r14 + 1184: 16 96 adiw r26, 0x06 ; 6 + 1186: ed 91 ld r30, X+ + 1188: fc 91 ld r31, X + 118a: 17 97 sbiw r26, 0x07 ; 7 + 118c: 09 95 icall + 118e: 68 2f mov r22, r24 + 1190: 8c 2f mov r24, r28 + 1192: 57 df rcall .-338 ; 0x1042 + 1194: 18 2f mov r17, r24 + 1196: 88 23 and r24, r24 + 1198: 21 f3 breq .-56 ; 0x1162 + 119a: c0 91 c7 20 lds r28, 0x20C7 ; 0x8020c7 + 119e: d0 91 c8 20 lds r29, 0x20C8 ; 0x8020c8 + 11a2: ce 01 movw r24, r28 + 11a4: 81 df rcall .-254 ; 0x10a8 + 11a6: ec 01 movw r28, r24 + 11a8: 89 2b or r24, r25 + 11aa: 19 f0 breq .+6 ; 0x11b2 + 11ac: 8a 81 ldd r24, Y+2 ; 0x02 + 11ae: f9 d7 rcall .+4082 ; 0x21a2 + 11b0: f8 cf rjmp .-16 ; 0x11a2 + 11b2: d7 01 movw r26, r14 + 11b4: 12 96 adiw r26, 0x02 ; 2 + 11b6: ed 91 ld r30, X+ + 11b8: fc 91 ld r31, X + 11ba: 13 97 sbiw r26, 0x03 ; 3 + 11bc: 09 95 icall + 11be: 81 2f mov r24, r17 + 11c0: df 91 pop r29 + 11c2: cf 91 pop r28 + 11c4: 1f 91 pop r17 + 11c6: ff 90 pop r15 + 11c8: ef 90 pop r14 + 11ca: 08 95 ret -0000116c : - 116c: ef 92 push r14 - 116e: ff 92 push r15 - 1170: 1f 93 push r17 - 1172: cf 93 push r28 - 1174: df 93 push r29 - 1176: c8 2f mov r28, r24 - 1178: 60 e0 ldi r22, 0x00 ; 0 - 117a: 72 df rcall .-284 ; 0x1060 - 117c: 81 11 cpse r24, r1 - 117e: 02 c0 rjmp .+4 ; 0x1184 - 1180: 10 e0 ldi r17, 0x00 ; 0 - 1182: 2c c0 rjmp .+88 ; 0x11dc - 1184: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 - 1188: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca - 118c: 92 81 ldd r25, Z+2 ; 0x02 - 118e: 83 81 ldd r24, Z+3 ; 0x03 - 1190: e9 2f mov r30, r25 - 1192: f8 2f mov r31, r24 - 1194: ec 0f add r30, r28 - 1196: f1 1d adc r31, r1 - 1198: ec 0f add r30, r28 - 119a: f1 1d adc r31, r1 - 119c: e0 80 ld r14, Z - 119e: f1 80 ldd r15, Z+1 ; 0x01 - 11a0: d7 01 movw r26, r14 - 11a2: 16 96 adiw r26, 0x06 ; 6 - 11a4: ed 91 ld r30, X+ - 11a6: fc 91 ld r31, X - 11a8: 17 97 sbiw r26, 0x07 ; 7 - 11aa: 09 95 icall - 11ac: 68 2f mov r22, r24 - 11ae: 8c 2f mov r24, r28 - 11b0: 57 df rcall .-338 ; 0x1060 - 11b2: 18 2f mov r17, r24 - 11b4: 88 23 and r24, r24 - 11b6: 21 f3 breq .-56 ; 0x1180 - 11b8: c0 91 c7 20 lds r28, 0x20C7 ; 0x8020c7 - 11bc: d0 91 c8 20 lds r29, 0x20C8 ; 0x8020c8 - 11c0: ce 01 movw r24, r28 - 11c2: 81 df rcall .-254 ; 0x10c6 - 11c4: ec 01 movw r28, r24 - 11c6: 89 2b or r24, r25 - 11c8: 19 f0 breq .+6 ; 0x11d0 - 11ca: 8a 81 ldd r24, Y+2 ; 0x02 - 11cc: fa d7 rcall .+4084 ; 0x21c2 - 11ce: f8 cf rjmp .-16 ; 0x11c0 - 11d0: d7 01 movw r26, r14 - 11d2: 12 96 adiw r26, 0x02 ; 2 - 11d4: ed 91 ld r30, X+ - 11d6: fc 91 ld r31, X - 11d8: 13 97 sbiw r26, 0x03 ; 3 - 11da: 09 95 icall - 11dc: 81 2f mov r24, r17 - 11de: df 91 pop r29 - 11e0: cf 91 pop r28 - 11e2: 1f 91 pop r17 - 11e4: ff 90 pop r15 - 11e6: ef 90 pop r14 - 11e8: 08 95 ret +000011cc : + 11cc: 80 91 c7 20 lds r24, 0x20C7 ; 0x8020c7 + 11d0: 90 91 c8 20 lds r25, 0x20C8 ; 0x8020c8 + 11d4: 08 95 ret -000011ea : - 11ea: 80 91 c7 20 lds r24, 0x20C7 ; 0x8020c7 - 11ee: 90 91 c8 20 lds r25, 0x20C8 ; 0x8020c8 - 11f2: 08 95 ret +000011d6 : + 11d6: 33 c6 rjmp .+3174 ; 0x1e3e -000011f4 : - 11f4: 34 c6 rjmp .+3176 ; 0x1e5e +000011d8 : + 11d8: cf 93 push r28 + 11da: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 11de: 81 11 cpse r24, r1 + 11e0: 08 c0 rjmp .+16 ; 0x11f2 + 11e2: 10 92 cc 20 sts 0x20CC, r1 ; 0x8020cc + 11e6: 10 92 d0 20 sts 0x20D0, r1 ; 0x8020d0 + 11ea: 10 92 d1 20 sts 0x20D1, r1 ; 0x8020d1 + 11ee: cf 91 pop r28 + 11f0: 08 95 ret + 11f2: c0 e0 ldi r28, 0x00 ; 0 + 11f4: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 + 11f8: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca + 11fc: 01 90 ld r0, Z+ + 11fe: f0 81 ld r31, Z + 1200: e0 2d mov r30, r0 + 1202: 84 81 ldd r24, Z+4 ; 0x04 + 1204: c8 17 cp r28, r24 + 1206: 68 f7 brcc .-38 ; 0x11e2 + 1208: 8c 2f mov r24, r28 + 120a: a1 df rcall .-190 ; 0x114e + 120c: cf 5f subi r28, 0xFF ; 255 + 120e: f2 cf rjmp .-28 ; 0x11f4 -000011f6 : - 11f6: cf 93 push r28 - 11f8: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 11fc: 81 11 cpse r24, r1 - 11fe: 08 c0 rjmp .+16 ; 0x1210 - 1200: 10 92 cc 20 sts 0x20CC, r1 ; 0x8020cc - 1204: 10 92 d0 20 sts 0x20D0, r1 ; 0x8020d0 - 1208: 10 92 d1 20 sts 0x20D1, r1 ; 0x8020d1 - 120c: cf 91 pop r28 - 120e: 08 95 ret - 1210: c0 e0 ldi r28, 0x00 ; 0 - 1212: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 - 1216: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca - 121a: 01 90 ld r0, Z+ - 121c: f0 81 ld r31, Z - 121e: e0 2d mov r30, r0 - 1220: 84 81 ldd r24, Z+4 ; 0x04 - 1222: c8 17 cp r28, r24 - 1224: 68 f7 brcc .-38 ; 0x1200 - 1226: 8c 2f mov r24, r28 - 1228: a1 df rcall .-190 ; 0x116c - 122a: cf 5f subi r28, 0xFF ; 255 - 122c: f2 cf rjmp .-28 ; 0x1212 +00001210 : + 1210: cf 93 push r28 + 1212: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1216: 88 23 and r24, r24 + 1218: f1 f0 breq .+60 ; 0x1256 + 121a: c0 e0 ldi r28, 0x00 ; 0 + 121c: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 + 1220: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca + 1224: a0 81 ld r26, Z + 1226: b1 81 ldd r27, Z+1 ; 0x01 + 1228: 14 96 adiw r26, 0x04 ; 4 + 122a: 8c 91 ld r24, X + 122c: c8 17 cp r28, r24 + 122e: 98 f4 brcc .+38 ; 0x1256 + 1230: 92 81 ldd r25, Z+2 ; 0x02 + 1232: 83 81 ldd r24, Z+3 ; 0x03 + 1234: e9 2f mov r30, r25 + 1236: f8 2f mov r31, r24 + 1238: ec 0f add r30, r28 + 123a: f1 1d adc r31, r1 + 123c: ec 0f add r30, r28 + 123e: f1 1d adc r31, r1 + 1240: 01 90 ld r0, Z+ + 1242: f0 81 ld r31, Z + 1244: e0 2d mov r30, r0 + 1246: 00 84 ldd r0, Z+8 ; 0x08 + 1248: f1 85 ldd r31, Z+9 ; 0x09 + 124a: e0 2d mov r30, r0 + 124c: 30 97 sbiw r30, 0x00 ; 0 + 124e: 09 f0 breq .+2 ; 0x1252 + 1250: 09 95 icall + 1252: cf 5f subi r28, 0xFF ; 255 + 1254: e3 cf rjmp .-58 ; 0x121c + 1256: cf 91 pop r28 + 1258: 08 95 ret -0000122e : - 122e: cf 93 push r28 - 1230: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 1234: 88 23 and r24, r24 - 1236: f1 f0 breq .+60 ; 0x1274 - 1238: c0 e0 ldi r28, 0x00 ; 0 - 123a: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 - 123e: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca - 1242: a0 81 ld r26, Z - 1244: b1 81 ldd r27, Z+1 ; 0x01 - 1246: 14 96 adiw r26, 0x04 ; 4 - 1248: 8c 91 ld r24, X - 124a: c8 17 cp r28, r24 - 124c: 98 f4 brcc .+38 ; 0x1274 - 124e: 92 81 ldd r25, Z+2 ; 0x02 - 1250: 83 81 ldd r24, Z+3 ; 0x03 - 1252: e9 2f mov r30, r25 - 1254: f8 2f mov r31, r24 - 1256: ec 0f add r30, r28 - 1258: f1 1d adc r31, r1 - 125a: ec 0f add r30, r28 - 125c: f1 1d adc r31, r1 - 125e: 01 90 ld r0, Z+ - 1260: f0 81 ld r31, Z - 1262: e0 2d mov r30, r0 - 1264: 00 84 ldd r0, Z+8 ; 0x08 - 1266: f1 85 ldd r31, Z+9 ; 0x09 - 1268: e0 2d mov r30, r0 - 126a: 30 97 sbiw r30, 0x00 ; 0 - 126c: 09 f0 breq .+2 ; 0x1270 - 126e: 09 95 icall - 1270: cf 5f subi r28, 0xFF ; 255 - 1272: e3 cf rjmp .-58 ; 0x123a - 1274: cf 91 pop r28 - 1276: 08 95 ret - -00001278 : - 1278: ef 92 push r14 - 127a: ff 92 push r15 - 127c: 0f 93 push r16 - 127e: 1f 93 push r17 - 1280: cf 93 push r28 - 1282: df 93 push r29 - 1284: 1f 92 push r1 - 1286: cd b7 in r28, 0x3d ; 61 - 1288: de b7 in r29, 0x3e ; 62 - 128a: 10 92 70 24 sts 0x2470, r1 ; 0x802470 - 128e: 10 92 71 24 sts 0x2471, r1 ; 0x802471 - 1292: 10 92 72 24 sts 0x2472, r1 ; 0x802472 - 1296: 10 92 73 24 sts 0x2473, r1 ; 0x802473 - 129a: 10 92 74 24 sts 0x2474, r1 ; 0x802474 - 129e: 10 92 75 24 sts 0x2475, r1 ; 0x802475 - 12a2: 80 91 66 24 lds r24, 0x2466 ; 0x802466 - 12a6: 87 ff sbrs r24, 7 - 12a8: 07 c0 rjmp .+14 ; 0x12b8 - 12aa: 20 91 6c 24 lds r18, 0x246C ; 0x80246c - 12ae: 30 91 6d 24 lds r19, 0x246D ; 0x80246d - 12b2: 23 2b or r18, r19 - 12b4: 09 f4 brne .+2 ; 0x12b8 - 12b6: 0c c3 rjmp .+1560 ; 0x18d0 - 12b8: 98 2f mov r25, r24 - 12ba: 90 76 andi r25, 0x60 ; 96 - 12bc: 90 34 cpi r25, 0x40 ; 64 - 12be: 09 f0 breq .+2 ; 0x12c2 - 12c0: c8 c0 rjmp .+400 ; 0x1452 - 12c2: e0 91 67 24 lds r30, 0x2467 ; 0x802467 - 12c6: 8e 2f mov r24, r30 - 12c8: 90 e0 ldi r25, 0x00 ; 0 - 12ca: fc 01 movw r30, r24 - 12cc: e0 5a subi r30, 0xA0 ; 160 - 12ce: f1 09 sbc r31, r1 - 12d0: e8 30 cpi r30, 0x08 ; 8 - 12d2: f1 05 cpc r31, r1 - 12d4: 08 f0 brcs .+2 ; 0x12d8 - 12d6: 8b c2 rjmp .+1302 ; 0x17ee - 12d8: ea 5f subi r30, 0xFA ; 250 - 12da: fe 4f sbci r31, 0xFE ; 254 - 12dc: 0c 94 95 12 jmp 0x252a ; 0x252a <__tablejump2__> - 12e0: 00 00 nop - 12e2: f4 c2 rjmp .+1512 ; 0x18cc - 12e4: 10 92 00 08 sts 0x0800, r1 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> - 12e8: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 12ec: 90 91 69 24 lds r25, 0x2469 ; 0x802469 - 12f0: 80 93 36 08 sts 0x0836, r24 ; 0x800836 <__TEXT_REGION_LENGTH__+0x700836> - 12f4: 90 93 37 08 sts 0x0837, r25 ; 0x800837 <__TEXT_REGION_LENGTH__+0x700837> - 12f8: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 12fc: 8f 70 andi r24, 0x0F ; 15 - 12fe: 80 93 00 08 sts 0x0800, r24 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> - 1302: 60 91 6c 24 lds r22, 0x246C ; 0x80246c - 1306: 70 91 6d 24 lds r23, 0x246D ; 0x80246d - 130a: 86 e6 ldi r24, 0x66 ; 102 - 130c: 92 e2 ldi r25, 0x22 ; 34 - 130e: 19 c0 rjmp .+50 ; 0x1342 - 1310: 10 92 40 08 sts 0x0840, r1 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> - 1314: 60 91 6c 24 lds r22, 0x246C ; 0x80246c - 1318: 70 91 6d 24 lds r23, 0x246D ; 0x80246d - 131c: 60 93 02 20 sts 0x2002, r22 ; 0x802002 - 1320: 70 93 03 20 sts 0x2003, r23 ; 0x802003 - 1324: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 1328: 90 91 69 24 lds r25, 0x2469 ; 0x802469 - 132c: 80 93 76 08 sts 0x0876, r24 ; 0x800876 <__TEXT_REGION_LENGTH__+0x700876> - 1330: 90 93 77 08 sts 0x0877, r25 ; 0x800877 <__TEXT_REGION_LENGTH__+0x700877> - 1334: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 1338: 8f 70 andi r24, 0x0F ; 15 - 133a: 80 93 40 08 sts 0x0840, r24 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> - 133e: 86 e7 ldi r24, 0x76 ; 118 - 1340: 94 e2 ldi r25, 0x24 ; 36 - 1342: 0b d6 rcall .+3094 ; 0x1f5a - 1344: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 1348: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 134c: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1350: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 1354: 28 17 cp r18, r24 - 1356: 39 07 cpc r19, r25 - 1358: 09 f4 brne .+2 ; 0x135c - 135a: b8 c2 rjmp .+1392 ; 0x18cc - 135c: 80 93 04 20 sts 0x2004, r24 ; 0x802004 - 1360: 90 93 05 20 sts 0x2005, r25 ; 0x802005 - 1364: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 1368: 8e 2f mov r24, r30 - 136a: 90 e0 ldi r25, 0x00 ; 0 - 136c: 88 30 cpi r24, 0x08 ; 8 - 136e: 91 05 cpc r25, r1 - 1370: 08 f0 brcs .+2 ; 0x1374 - 1372: ac c2 rjmp .+1368 ; 0x18cc - 1374: fc 01 movw r30, r24 - 1376: e2 5f subi r30, 0xF2 ; 242 - 1378: fe 4f sbci r31, 0xFE ; 254 - 137a: 0c 94 95 12 jmp 0x252a ; 0x252a <__tablejump2__> - 137e: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 1382: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 1386: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 138a: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 <__data_end> - 138e: 9e c2 rjmp .+1340 ; 0x18cc - 1390: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 1394: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> - 1398: 99 c2 rjmp .+1330 ; 0x18cc - 139a: e0 91 68 24 lds r30, 0x2468 ; 0x802468 - 139e: f0 91 69 24 lds r31, 0x2469 ; 0x802469 - 13a2: e8 30 cpi r30, 0x08 ; 8 - 13a4: f1 05 cpc r31, r1 - 13a6: 08 f0 brcs .+2 ; 0x13aa - 13a8: 22 c2 rjmp .+1092 ; 0x17ee - 13aa: ea 5e subi r30, 0xEA ; 234 - 13ac: fe 4f sbci r31, 0xFE ; 254 - 13ae: 0c 94 95 12 jmp 0x252a ; 0x252a <__tablejump2__> - 13b2: 60 e0 ldi r22, 0x00 ; 0 - 13b4: 80 e0 ldi r24, 0x00 ; 0 - 13b6: 02 d8 rcall .-4092 ; 0x3bc - 13b8: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 13bc: 0e 94 ab 01 call 0x356 ; 0x356 - 13c0: 6b d8 rcall .-3882 ; 0x498 - 13c2: 84 c2 rjmp .+1288 ; 0x18cc - 13c4: 60 e0 ldi r22, 0x00 ; 0 - 13c6: 80 e0 ldi r24, 0x00 ; 0 - 13c8: 0e 94 de 01 call 0x3bc ; 0x3bc - 13cc: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 13d0: 0e 94 ab 01 call 0x356 ; 0x356 - 13d4: d9 d8 rcall .-3662 ; 0x588 - 13d6: 7a c2 rjmp .+1268 ; 0x18cc - 13d8: 61 e0 ldi r22, 0x01 ; 1 - 13da: 81 e0 ldi r24, 0x01 ; 1 - 13dc: 0e 94 de 01 call 0x3bc ; 0x3bc - 13e0: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 13e4: 0e 94 ab 01 call 0x356 ; 0x356 - 13e8: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 13ec: 0e 94 c1 01 call 0x382 ; 0x382 - 13f0: 70 d9 rcall .-3360 ; 0x6d2 - 13f2: 6c c2 rjmp .+1240 ; 0x18cc - 13f4: 10 da rcall .-3040 ; 0x816 - 13f6: 6a c2 rjmp .+1236 ; 0x18cc - 13f8: a4 da rcall .-2744 ; 0x942 - 13fa: 68 c2 rjmp .+1232 ; 0x18cc - 13fc: 60 e0 ldi r22, 0x00 ; 0 - 13fe: 80 e0 ldi r24, 0x00 ; 0 - 1400: 0e 94 de 01 call 0x3bc ; 0x3bc - 1404: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 1408: 0e 94 ab 01 call 0x356 ; 0x356 - 140c: 5a db rcall .-2380 ; 0xac2 - 140e: 5e c2 rjmp .+1212 ; 0x18cc - 1410: 61 e0 ldi r22, 0x01 ; 1 - 1412: 80 e0 ldi r24, 0x00 ; 0 - 1414: 0e 94 de 01 call 0x3bc ; 0x3bc - 1418: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 141c: 0e 94 ab 01 call 0x356 ; 0x356 - 1420: 97 db rcall .-2258 ; 0xb50 - 1422: 54 c2 rjmp .+1192 ; 0x18cc - 1424: 62 e0 ldi r22, 0x02 ; 2 - 1426: 80 e0 ldi r24, 0x00 ; 0 - 1428: 0e 94 de 01 call 0x3bc ; 0x3bc - 142c: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 1430: 80 68 ori r24, 0x80 ; 128 - 1432: 0e 94 ab 01 call 0x356 ; 0x356 - 1436: 03 dc rcall .-2042 ; 0xc3e - 1438: 49 c2 rjmp .+1170 ; 0x18cc - 143a: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 143e: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> - 1442: 44 c2 rjmp .+1160 ; 0x18cc - 1444: e9 e7 ldi r30, 0x79 ; 121 - 1446: f0 e0 ldi r31, 0x00 ; 0 - 1448: 91 e0 ldi r25, 0x01 ; 1 - 144a: 88 ed ldi r24, 0xD8 ; 216 - 144c: f8 94 cli - 144e: 84 bf out 0x34, r24 ; 52 - 1450: 90 83 st Z, r25 - 1452: 91 11 cpse r25, r1 - 1454: cc c1 rjmp .+920 ; 0x17ee - 1456: 87 ff sbrs r24, 7 - 1458: fd c0 rjmp .+506 ; 0x1654 - 145a: 20 91 6c 24 lds r18, 0x246C ; 0x80246c - 145e: 30 91 6d 24 lds r19, 0x246D ; 0x80246d - 1462: 21 15 cp r18, r1 +0000125a : + 125a: ef 92 push r14 + 125c: ff 92 push r15 + 125e: 0f 93 push r16 + 1260: 1f 93 push r17 + 1262: cf 93 push r28 + 1264: df 93 push r29 + 1266: 1f 92 push r1 + 1268: cd b7 in r28, 0x3d ; 61 + 126a: de b7 in r29, 0x3e ; 62 + 126c: 10 92 70 24 sts 0x2470, r1 ; 0x802470 + 1270: 10 92 71 24 sts 0x2471, r1 ; 0x802471 + 1274: 10 92 72 24 sts 0x2472, r1 ; 0x802472 + 1278: 10 92 73 24 sts 0x2473, r1 ; 0x802473 + 127c: 10 92 74 24 sts 0x2474, r1 ; 0x802474 + 1280: 10 92 75 24 sts 0x2475, r1 ; 0x802475 + 1284: 80 91 66 24 lds r24, 0x2466 ; 0x802466 + 1288: 87 ff sbrs r24, 7 + 128a: 07 c0 rjmp .+14 ; 0x129a + 128c: 20 91 6c 24 lds r18, 0x246C ; 0x80246c + 1290: 30 91 6d 24 lds r19, 0x246D ; 0x80246d + 1294: 23 2b or r18, r19 + 1296: 09 f4 brne .+2 ; 0x129a + 1298: 0b c3 rjmp .+1558 ; 0x18b0 + 129a: 98 2f mov r25, r24 + 129c: 90 76 andi r25, 0x60 ; 96 + 129e: 90 34 cpi r25, 0x40 ; 64 + 12a0: 09 f0 breq .+2 ; 0x12a4 + 12a2: c7 c0 rjmp .+398 ; 0x1432 + 12a4: e0 91 67 24 lds r30, 0x2467 ; 0x802467 + 12a8: 8e 2f mov r24, r30 + 12aa: 90 e0 ldi r25, 0x00 ; 0 + 12ac: fc 01 movw r30, r24 + 12ae: e0 5a subi r30, 0xA0 ; 160 + 12b0: f1 09 sbc r31, r1 + 12b2: e8 30 cpi r30, 0x08 ; 8 + 12b4: f1 05 cpc r31, r1 + 12b6: 08 f0 brcs .+2 ; 0x12ba + 12b8: 8a c2 rjmp .+1300 ; 0x17ce + 12ba: ea 5f subi r30, 0xFA ; 250 + 12bc: fe 4f sbci r31, 0xFE ; 254 + 12be: 0c 94 85 12 jmp 0x250a ; 0x250a <__tablejump2__> + 12c2: 00 00 nop + 12c4: f3 c2 rjmp .+1510 ; 0x18ac + 12c6: 10 92 00 08 sts 0x0800, r1 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> + 12ca: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 12ce: 90 91 69 24 lds r25, 0x2469 ; 0x802469 + 12d2: 80 93 36 08 sts 0x0836, r24 ; 0x800836 <__TEXT_REGION_LENGTH__+0x700836> + 12d6: 90 93 37 08 sts 0x0837, r25 ; 0x800837 <__TEXT_REGION_LENGTH__+0x700837> + 12da: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 12de: 8f 70 andi r24, 0x0F ; 15 + 12e0: 80 93 00 08 sts 0x0800, r24 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> + 12e4: 60 91 6c 24 lds r22, 0x246C ; 0x80246c + 12e8: 70 91 6d 24 lds r23, 0x246D ; 0x80246d + 12ec: 86 e6 ldi r24, 0x66 ; 102 + 12ee: 92 e2 ldi r25, 0x22 ; 34 + 12f0: 19 c0 rjmp .+50 ; 0x1324 + 12f2: 10 92 40 08 sts 0x0840, r1 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> + 12f6: 60 91 6c 24 lds r22, 0x246C ; 0x80246c + 12fa: 70 91 6d 24 lds r23, 0x246D ; 0x80246d + 12fe: 60 93 02 20 sts 0x2002, r22 ; 0x802002 + 1302: 70 93 03 20 sts 0x2003, r23 ; 0x802003 + 1306: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 130a: 90 91 69 24 lds r25, 0x2469 ; 0x802469 + 130e: 80 93 76 08 sts 0x0876, r24 ; 0x800876 <__TEXT_REGION_LENGTH__+0x700876> + 1312: 90 93 77 08 sts 0x0877, r25 ; 0x800877 <__TEXT_REGION_LENGTH__+0x700877> + 1316: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 131a: 8f 70 andi r24, 0x0F ; 15 + 131c: 80 93 40 08 sts 0x0840, r24 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> + 1320: 86 e7 ldi r24, 0x76 ; 118 + 1322: 94 e2 ldi r25, 0x24 ; 36 + 1324: 0a d6 rcall .+3092 ; 0x1f3a + 1326: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + 132a: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + 132e: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 1332: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 1336: 28 17 cp r18, r24 + 1338: 39 07 cpc r19, r25 + 133a: 09 f4 brne .+2 ; 0x133e + 133c: b7 c2 rjmp .+1390 ; 0x18ac + 133e: 80 93 04 20 sts 0x2004, r24 ; 0x802004 + 1342: 90 93 05 20 sts 0x2005, r25 ; 0x802005 + 1346: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 134a: 8e 2f mov r24, r30 + 134c: 90 e0 ldi r25, 0x00 ; 0 + 134e: 88 30 cpi r24, 0x08 ; 8 + 1350: 91 05 cpc r25, r1 + 1352: 08 f0 brcs .+2 ; 0x1356 + 1354: ab c2 rjmp .+1366 ; 0x18ac + 1356: fc 01 movw r30, r24 + 1358: e2 5f subi r30, 0xF2 ; 242 + 135a: fe 4f sbci r31, 0xFE ; 254 + 135c: 0c 94 85 12 jmp 0x250a ; 0x250a <__tablejump2__> + 1360: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 1364: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 1368: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 136c: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 <__data_end> + 1370: 9d c2 rjmp .+1338 ; 0x18ac + 1372: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 1376: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> + 137a: 98 c2 rjmp .+1328 ; 0x18ac + 137c: e0 91 68 24 lds r30, 0x2468 ; 0x802468 + 1380: f0 91 69 24 lds r31, 0x2469 ; 0x802469 + 1384: e8 30 cpi r30, 0x08 ; 8 + 1386: f1 05 cpc r31, r1 + 1388: 08 f0 brcs .+2 ; 0x138c + 138a: 21 c2 rjmp .+1090 ; 0x17ce + 138c: ea 5e subi r30, 0xEA ; 234 + 138e: fe 4f sbci r31, 0xFE ; 254 + 1390: 0c 94 85 12 jmp 0x250a ; 0x250a <__tablejump2__> + 1394: 60 e0 ldi r22, 0x00 ; 0 + 1396: 80 e0 ldi r24, 0x00 ; 0 + 1398: 11 d8 rcall .-4062 ; 0x3bc + 139a: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 139e: 0e 94 ab 01 call 0x356 ; 0x356 + 13a2: 7a d8 rcall .-3852 ; 0x498 + 13a4: 83 c2 rjmp .+1286 ; 0x18ac + 13a6: 60 e0 ldi r22, 0x00 ; 0 + 13a8: 80 e0 ldi r24, 0x00 ; 0 + 13aa: 08 d8 rcall .-4080 ; 0x3bc + 13ac: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 13b0: 0e 94 ab 01 call 0x356 ; 0x356 + 13b4: e9 d8 rcall .-3630 ; 0x588 + 13b6: 7a c2 rjmp .+1268 ; 0x18ac + 13b8: 61 e0 ldi r22, 0x01 ; 1 + 13ba: 81 e0 ldi r24, 0x01 ; 1 + 13bc: 0e 94 de 01 call 0x3bc ; 0x3bc + 13c0: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 13c4: 0e 94 ab 01 call 0x356 ; 0x356 + 13c8: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 13cc: 0e 94 c1 01 call 0x382 ; 0x382 + 13d0: 80 d9 rcall .-3328 ; 0x6d2 + 13d2: 6c c2 rjmp .+1240 ; 0x18ac + 13d4: 20 da rcall .-3008 ; 0x816 + 13d6: 6a c2 rjmp .+1236 ; 0x18ac + 13d8: b4 da rcall .-2712 ; 0x942 + 13da: 68 c2 rjmp .+1232 ; 0x18ac + 13dc: 60 e0 ldi r22, 0x00 ; 0 + 13de: 80 e0 ldi r24, 0x00 ; 0 + 13e0: 0e 94 de 01 call 0x3bc ; 0x3bc + 13e4: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 13e8: 0e 94 ab 01 call 0x356 ; 0x356 + 13ec: 4d db rcall .-2406 ; 0xa88 + 13ee: 5e c2 rjmp .+1212 ; 0x18ac + 13f0: 61 e0 ldi r22, 0x01 ; 1 + 13f2: 80 e0 ldi r24, 0x00 ; 0 + 13f4: 0e 94 de 01 call 0x3bc ; 0x3bc + 13f8: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 13fc: 0e 94 ab 01 call 0x356 ; 0x356 + 1400: 8a db rcall .-2284 ; 0xb16 + 1402: 54 c2 rjmp .+1192 ; 0x18ac + 1404: 62 e0 ldi r22, 0x02 ; 2 + 1406: 80 e0 ldi r24, 0x00 ; 0 + 1408: 0e 94 de 01 call 0x3bc ; 0x3bc + 140c: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 1410: 80 68 ori r24, 0x80 ; 128 + 1412: 0e 94 ab 01 call 0x356 ; 0x356 + 1416: f6 db rcall .-2068 ; 0xc04 + 1418: 49 c2 rjmp .+1170 ; 0x18ac + 141a: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 141e: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> + 1422: 44 c2 rjmp .+1160 ; 0x18ac + 1424: e9 e7 ldi r30, 0x79 ; 121 + 1426: f0 e0 ldi r31, 0x00 ; 0 + 1428: 91 e0 ldi r25, 0x01 ; 1 + 142a: 88 ed ldi r24, 0xD8 ; 216 + 142c: f8 94 cli + 142e: 84 bf out 0x34, r24 ; 52 + 1430: 90 83 st Z, r25 + 1432: 91 11 cpse r25, r1 + 1434: cc c1 rjmp .+920 ; 0x17ce + 1436: 87 ff sbrs r24, 7 + 1438: fd c0 rjmp .+506 ; 0x1634 + 143a: 20 91 6c 24 lds r18, 0x246C ; 0x80246c + 143e: 30 91 6d 24 lds r19, 0x246D ; 0x80246d + 1442: 21 15 cp r18, r1 + 1444: 31 05 cpc r19, r1 + 1446: 09 f4 brne .+2 ; 0x144a + 1448: c2 c1 rjmp .+900 ; 0x17ce + 144a: 8f 71 andi r24, 0x1F ; 31 + 144c: 09 f0 breq .+2 ; 0x1450 + 144e: 9f c0 rjmp .+318 ; 0x158e + 1450: 80 91 67 24 lds r24, 0x2467 ; 0x802467 + 1454: 86 30 cpi r24, 0x06 ; 6 + 1456: 71 f0 breq .+28 ; 0x1474 + 1458: 88 30 cpi r24, 0x08 ; 8 + 145a: 09 f4 brne .+2 ; 0x145e + 145c: 8e c0 rjmp .+284 ; 0x157a + 145e: 81 11 cpse r24, r1 + 1460: b6 c1 rjmp .+876 ; 0x17ce + 1462: 22 30 cpi r18, 0x02 ; 2 1464: 31 05 cpc r19, r1 - 1466: 09 f4 brne .+2 ; 0x146a - 1468: c2 c1 rjmp .+900 ; 0x17ee - 146a: 8f 71 andi r24, 0x1F ; 31 - 146c: 09 f0 breq .+2 ; 0x1470 - 146e: 9f c0 rjmp .+318 ; 0x15ae - 1470: 80 91 67 24 lds r24, 0x2467 ; 0x802467 - 1474: 86 30 cpi r24, 0x06 ; 6 - 1476: 71 f0 breq .+28 ; 0x1494 - 1478: 88 30 cpi r24, 0x08 ; 8 - 147a: 09 f4 brne .+2 ; 0x147e - 147c: 8e c0 rjmp .+284 ; 0x159a - 147e: 81 11 cpse r24, r1 - 1480: b6 c1 rjmp .+876 ; 0x17ee - 1482: 22 30 cpi r18, 0x02 ; 2 - 1484: 31 05 cpc r19, r1 - 1486: 09 f0 breq .+2 ; 0x148a - 1488: b2 c1 rjmp .+868 ; 0x17ee - 148a: 62 e0 ldi r22, 0x02 ; 2 - 148c: 70 e0 ldi r23, 0x00 ; 0 - 148e: 80 ed ldi r24, 0xD0 ; 208 - 1490: 90 e2 ldi r25, 0x20 ; 32 - 1492: 8b c0 rjmp .+278 ; 0x15aa - 1494: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 1498: 90 91 69 24 lds r25, 0x2469 ; 0x802469 - 149c: 29 2f mov r18, r25 - 149e: 33 27 eor r19, r19 - 14a0: 22 30 cpi r18, 0x02 ; 2 + 1466: 09 f0 breq .+2 ; 0x146a + 1468: b2 c1 rjmp .+868 ; 0x17ce + 146a: 62 e0 ldi r22, 0x02 ; 2 + 146c: 70 e0 ldi r23, 0x00 ; 0 + 146e: 80 ed ldi r24, 0xD0 ; 208 + 1470: 90 e2 ldi r25, 0x20 ; 32 + 1472: 8b c0 rjmp .+278 ; 0x158a + 1474: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 1478: 90 91 69 24 lds r25, 0x2469 ; 0x802469 + 147c: 29 2f mov r18, r25 + 147e: 33 27 eor r19, r19 + 1480: 22 30 cpi r18, 0x02 ; 2 + 1482: 31 05 cpc r19, r1 + 1484: a1 f0 breq .+40 ; 0x14ae + 1486: 64 f4 brge .+24 ; 0x14a0 + 1488: 21 30 cpi r18, 0x01 ; 1 + 148a: 31 05 cpc r19, r1 + 148c: 09 f0 breq .+2 ; 0x1490 + 148e: 9f c1 rjmp .+830 ; 0x17ce + 1490: 80 91 10 20 lds r24, 0x2010 ; 0x802010 + 1494: 90 91 11 20 lds r25, 0x2011 ; 0x802011 + 1498: dc 01 movw r26, r24 + 149a: 6c 91 ld r22, X + 149c: 70 e0 ldi r23, 0x00 ; 0 + 149e: 5b c0 rjmp .+182 ; 0x1556 + 14a0: 23 30 cpi r18, 0x03 ; 3 14a2: 31 05 cpc r19, r1 - 14a4: a1 f0 breq .+40 ; 0x14ce - 14a6: 64 f4 brge .+24 ; 0x14c0 - 14a8: 21 30 cpi r18, 0x01 ; 1 - 14aa: 31 05 cpc r19, r1 - 14ac: 09 f0 breq .+2 ; 0x14b0 - 14ae: 9f c1 rjmp .+830 ; 0x17ee - 14b0: 80 91 10 20 lds r24, 0x2010 ; 0x802010 - 14b4: 90 91 11 20 lds r25, 0x2011 ; 0x802011 - 14b8: dc 01 movw r26, r24 - 14ba: 6c 91 ld r22, X - 14bc: 70 e0 ldi r23, 0x00 ; 0 - 14be: 5b c0 rjmp .+182 ; 0x1576 - 14c0: 23 30 cpi r18, 0x03 ; 3 - 14c2: 31 05 cpc r19, r1 - 14c4: 89 f1 breq .+98 ; 0x1528 - 14c6: 2f 30 cpi r18, 0x0F ; 15 - 14c8: 31 05 cpc r19, r1 - 14ca: 09 f1 breq .+66 ; 0x150e - 14cc: 90 c1 rjmp .+800 ; 0x17ee - 14ce: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 14d2: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 14d6: 21 89 ldd r18, Z+17 ; 0x11 - 14d8: 82 17 cp r24, r18 - 14da: 08 f0 brcs .+2 ; 0x14de - 14dc: 88 c1 rjmp .+784 ; 0x17ee - 14de: 99 27 eor r25, r25 - 14e0: 88 0f add r24, r24 - 14e2: 99 1f adc r25, r25 - 14e4: 88 0f add r24, r24 - 14e6: 99 1f adc r25, r25 - 14e8: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 14ec: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 14f0: e8 0f add r30, r24 - 14f2: f9 1f adc r31, r25 - 14f4: 80 81 ld r24, Z - 14f6: 91 81 ldd r25, Z+1 ; 0x01 - 14f8: fc 01 movw r30, r24 - 14fa: 62 81 ldd r22, Z+2 ; 0x02 - 14fc: 73 81 ldd r23, Z+3 ; 0x03 - 14fe: 2d d5 rcall .+2650 ; 0x1f5a - 1500: e0 91 6e 24 lds r30, 0x246E ; 0x80246e - 1504: f0 91 6f 24 lds r31, 0x246F ; 0x80246f - 1508: 82 e0 ldi r24, 0x02 ; 2 - 150a: 81 83 std Z+1, r24 ; 0x01 - 150c: 35 c0 rjmp .+106 ; 0x1578 - 150e: 80 91 14 20 lds r24, 0x2014 ; 0x802014 - 1512: 90 91 15 20 lds r25, 0x2015 ; 0x802015 - 1516: 00 97 sbiw r24, 0x00 ; 0 - 1518: 09 f4 brne .+2 ; 0x151c - 151a: 69 c1 rjmp .+722 ; 0x17ee - 151c: dc 01 movw r26, r24 - 151e: 12 96 adiw r26, 0x02 ; 2 - 1520: 6d 91 ld r22, X+ - 1522: 7c 91 ld r23, X - 1524: 13 97 sbiw r26, 0x03 ; 3 - 1526: 27 c0 rjmp .+78 ; 0x1576 - 1528: 99 27 eor r25, r25 - 152a: 81 30 cpi r24, 0x01 ; 1 - 152c: 91 05 cpc r25, r1 - 152e: 69 f0 breq .+26 ; 0x154a - 1530: 38 f0 brcs .+14 ; 0x1540 - 1532: 02 97 sbiw r24, 0x02 ; 2 - 1534: 09 f0 breq .+2 ; 0x1538 - 1536: 5b c1 rjmp .+694 ; 0x17ee - 1538: 68 e1 ldi r22, 0x18 ; 24 - 153a: 8a e8 ldi r24, 0x8A ; 138 - 153c: 90 e2 ldi r25, 0x20 ; 32 - 153e: 08 c0 rjmp .+16 ; 0x1550 - 1540: 64 e0 ldi r22, 0x04 ; 4 - 1542: 70 e0 ldi r23, 0x00 ; 0 - 1544: 8e ea ldi r24, 0xAE ; 174 - 1546: 90 e2 ldi r25, 0x20 ; 32 - 1548: 16 c0 rjmp .+44 ; 0x1576 - 154a: 69 e0 ldi r22, 0x09 ; 9 - 154c: 83 ea ldi r24, 0xA3 ; 163 - 154e: 90 e2 ldi r25, 0x20 ; 32 - 1550: 28 2f mov r18, r24 - 1552: aa e5 ldi r26, 0x5A ; 90 - 1554: b0 e2 ldi r27, 0x20 ; 32 - 1556: fc 01 movw r30, r24 - 1558: 81 91 ld r24, Z+ - 155a: 90 e0 ldi r25, 0x00 ; 0 - 155c: 8d 93 st X+, r24 - 155e: 9d 93 st X+, r25 - 1560: 8e 2f mov r24, r30 - 1562: 82 1b sub r24, r18 - 1564: 86 17 cp r24, r22 - 1566: c0 f3 brcs .-16 ; 0x1558 - 1568: 66 0f add r22, r22 - 156a: 6e 5f subi r22, 0xFE ; 254 - 156c: 60 93 58 20 sts 0x2058, r22 ; 0x802058 - 1570: 70 e0 ldi r23, 0x00 ; 0 - 1572: 88 e5 ldi r24, 0x58 ; 88 - 1574: 90 e2 ldi r25, 0x20 ; 32 - 1576: f1 d4 rcall .+2530 ; 0x1f5a - 1578: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 157c: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 1580: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 1584: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 1588: 82 17 cp r24, r18 - 158a: 93 07 cpc r25, r19 - 158c: 08 f0 brcs .+2 ; 0x1590 - 158e: 9e c1 rjmp .+828 ; 0x18cc - 1590: 80 93 70 24 sts 0x2470, r24 ; 0x802470 - 1594: 90 93 71 24 sts 0x2471, r25 ; 0x802471 - 1598: 99 c1 rjmp .+818 ; 0x18cc - 159a: 21 30 cpi r18, 0x01 ; 1 - 159c: 31 05 cpc r19, r1 - 159e: 09 f0 breq .+2 ; 0x15a2 - 15a0: 26 c1 rjmp .+588 ; 0x17ee - 15a2: 61 e0 ldi r22, 0x01 ; 1 - 15a4: 70 e0 ldi r23, 0x00 ; 0 - 15a6: 8c ec ldi r24, 0xCC ; 204 - 15a8: 90 e2 ldi r25, 0x20 ; 32 - 15aa: d7 d4 rcall .+2478 ; 0x1f5a - 15ac: 8f c1 rjmp .+798 ; 0x18cc - 15ae: 81 30 cpi r24, 0x01 ; 1 - 15b0: c9 f5 brne .+114 ; 0x1624 - 15b2: 80 91 67 24 lds r24, 0x2467 ; 0x802467 - 15b6: 8a 30 cpi r24, 0x0A ; 10 - 15b8: 09 f0 breq .+2 ; 0x15bc - 15ba: 19 c1 rjmp .+562 ; 0x17ee - 15bc: 21 30 cpi r18, 0x01 ; 1 - 15be: 31 05 cpc r19, r1 - 15c0: 09 f0 breq .+2 ; 0x15c4 - 15c2: 15 c1 rjmp .+554 ; 0x17ee - 15c4: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 15c8: 88 23 and r24, r24 - 15ca: 09 f4 brne .+2 ; 0x15ce - 15cc: 10 c1 rjmp .+544 ; 0x17ee - 15ce: e0 90 6a 24 lds r14, 0x246A ; 0x80246a - 15d2: f0 90 6b 24 lds r15, 0x246B ; 0x80246b - 15d6: 00 91 c9 20 lds r16, 0x20C9 ; 0x8020c9 - 15da: 10 91 ca 20 lds r17, 0x20CA ; 0x8020ca - 15de: d8 01 movw r26, r16 - 15e0: ed 91 ld r30, X+ - 15e2: fc 91 ld r31, X - 15e4: 84 81 ldd r24, Z+4 ; 0x04 - 15e6: e8 16 cp r14, r24 - 15e8: 08 f0 brcs .+2 ; 0x15ec - 15ea: 01 c1 rjmp .+514 ; 0x17ee - 15ec: 60 e0 ldi r22, 0x00 ; 0 - 15ee: 8e 2d mov r24, r14 - 15f0: 37 dd rcall .-1426 ; 0x1060 - 15f2: 88 23 and r24, r24 - 15f4: 09 f4 brne .+2 ; 0x15f8 - 15f6: fb c0 rjmp .+502 ; 0x17ee - 15f8: ff 24 eor r15, r15 - 15fa: ee 0c add r14, r14 - 15fc: ff 1c adc r15, r15 - 15fe: f8 01 movw r30, r16 - 1600: 82 81 ldd r24, Z+2 ; 0x02 - 1602: 93 81 ldd r25, Z+3 ; 0x03 - 1604: 8e 0d add r24, r14 - 1606: 9f 1d adc r25, r15 - 1608: dc 01 movw r26, r24 - 160a: ed 91 ld r30, X+ - 160c: fc 91 ld r31, X - 160e: 06 80 ldd r0, Z+6 ; 0x06 - 1610: f7 81 ldd r31, Z+7 ; 0x07 - 1612: e0 2d mov r30, r0 - 1614: 09 95 icall - 1616: 80 93 ce 20 sts 0x20CE, r24 ; 0x8020ce - 161a: 61 e0 ldi r22, 0x01 ; 1 - 161c: 70 e0 ldi r23, 0x00 ; 0 - 161e: 8e ec ldi r24, 0xCE ; 206 - 1620: 90 e2 ldi r25, 0x20 ; 32 - 1622: c3 cf rjmp .-122 ; 0x15aa - 1624: 82 30 cpi r24, 0x02 ; 2 - 1626: 09 f0 breq .+2 ; 0x162a - 1628: e2 c0 rjmp .+452 ; 0x17ee - 162a: 80 91 67 24 lds r24, 0x2467 ; 0x802467 - 162e: 81 11 cpse r24, r1 - 1630: de c0 rjmp .+444 ; 0x17ee - 1632: 22 30 cpi r18, 0x02 ; 2 - 1634: 31 05 cpc r19, r1 - 1636: 09 f0 breq .+2 ; 0x163a - 1638: da c0 rjmp .+436 ; 0x17ee - 163a: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 163e: e5 d4 rcall .+2506 ; 0x200a - 1640: 90 e0 ldi r25, 0x00 ; 0 - 1642: 80 93 c5 20 sts 0x20C5, r24 ; 0x8020c5 - 1646: 90 93 c6 20 sts 0x20C6, r25 ; 0x8020c6 - 164a: 62 e0 ldi r22, 0x02 ; 2 - 164c: 70 e0 ldi r23, 0x00 ; 0 - 164e: 85 ec ldi r24, 0xC5 ; 197 - 1650: 90 e2 ldi r25, 0x20 ; 32 - 1652: ab cf rjmp .-170 ; 0x15aa - 1654: 8f 71 andi r24, 0x1F ; 31 - 1656: 09 f0 breq .+2 ; 0x165a - 1658: 7d c0 rjmp .+250 ; 0x1754 - 165a: 80 91 67 24 lds r24, 0x2467 ; 0x802467 - 165e: 83 30 cpi r24, 0x03 ; 3 - 1660: 09 f4 brne .+2 ; 0x1664 - 1662: c5 c0 rjmp .+394 ; 0x17ee - 1664: 18 f4 brcc .+6 ; 0x166c - 1666: 81 30 cpi r24, 0x01 ; 1 - 1668: a1 f0 breq .+40 ; 0x1692 - 166a: c1 c0 rjmp .+386 ; 0x17ee - 166c: 85 30 cpi r24, 0x05 ; 5 - 166e: 19 f0 breq .+6 ; 0x1676 - 1670: 89 30 cpi r24, 0x09 ; 9 - 1672: 39 f1 breq .+78 ; 0x16c2 - 1674: bc c0 rjmp .+376 ; 0x17ee - 1676: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 167a: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 167e: 89 2b or r24, r25 - 1680: 09 f0 breq .+2 ; 0x1684 - 1682: b5 c0 rjmp .+362 ; 0x17ee - 1684: 8c e2 ldi r24, 0x2C ; 44 - 1686: 98 e0 ldi r25, 0x08 ; 8 - 1688: 80 93 72 24 sts 0x2472, r24 ; 0x802472 - 168c: 90 93 73 24 sts 0x2473, r25 ; 0x802473 - 1690: 1d c1 rjmp .+570 ; 0x18cc - 1692: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1696: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 169a: 89 2b or r24, r25 - 169c: 09 f0 breq .+2 ; 0x16a0 - 169e: a7 c0 rjmp .+334 ; 0x17ee - 16a0: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 16a4: 90 91 69 24 lds r25, 0x2469 ; 0x802469 - 16a8: 01 97 sbiw r24, 0x01 ; 1 - 16aa: 09 f0 breq .+2 ; 0x16ae - 16ac: a0 c0 rjmp .+320 ; 0x17ee - 16ae: 80 91 d0 20 lds r24, 0x20D0 ; 0x8020d0 - 16b2: 90 91 d1 20 lds r25, 0x20D1 ; 0x8020d1 - 16b6: 8d 7f andi r24, 0xFD ; 253 - 16b8: 80 93 d0 20 sts 0x20D0, r24 ; 0x8020d0 - 16bc: 90 93 d1 20 sts 0x20D1, r25 ; 0x8020d1 - 16c0: 05 c1 rjmp .+522 ; 0x18cc - 16c2: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 16c6: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 16ca: 89 2b or r24, r25 - 16cc: 09 f0 breq .+2 ; 0x16d0 - 16ce: 8f c0 rjmp .+286 ; 0x17ee - 16d0: 41 d4 rcall .+2178 ; 0x1f54 - 16d2: 88 23 and r24, r24 - 16d4: 09 f4 brne .+2 ; 0x16d8 - 16d6: 8b c0 rjmp .+278 ; 0x17ee - 16d8: 20 91 68 24 lds r18, 0x2468 ; 0x802468 - 16dc: 30 91 69 24 lds r19, 0x2469 ; 0x802469 - 16e0: 33 27 eor r19, r19 - 16e2: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 16e6: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 16ea: 81 89 ldd r24, Z+17 ; 0x11 - 16ec: 90 e0 ldi r25, 0x00 ; 0 - 16ee: 82 17 cp r24, r18 - 16f0: 93 07 cpc r25, r19 - 16f2: 08 f4 brcc .+2 ; 0x16f6 - 16f4: 7c c0 rjmp .+248 ; 0x17ee - 16f6: 7f dd rcall .-1282 ; 0x11f6 - 16f8: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 16fc: 90 91 69 24 lds r25, 0x2469 ; 0x802469 - 1700: 80 93 cc 20 sts 0x20CC, r24 ; 0x8020cc - 1704: 88 23 and r24, r24 - 1706: 09 f4 brne .+2 ; 0x170a - 1708: e1 c0 rjmp .+450 ; 0x18cc - 170a: 99 27 eor r25, r25 - 170c: 81 50 subi r24, 0x01 ; 1 - 170e: 90 4c sbci r25, 0xC0 ; 192 - 1710: 88 0f add r24, r24 - 1712: 99 1f adc r25, r25 - 1714: 88 0f add r24, r24 - 1716: 99 1f adc r25, r25 - 1718: 20 91 12 20 lds r18, 0x2012 ; 0x802012 - 171c: 30 91 13 20 lds r19, 0x2013 ; 0x802013 - 1720: 82 0f add r24, r18 - 1722: 93 1f adc r25, r19 - 1724: 80 93 c9 20 sts 0x20C9, r24 ; 0x8020c9 - 1728: 90 93 ca 20 sts 0x20CA, r25 ; 0x8020ca - 172c: 10 e0 ldi r17, 0x00 ; 0 - 172e: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 - 1732: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca - 1736: 01 90 ld r0, Z+ - 1738: f0 81 ld r31, Z - 173a: e0 2d mov r30, r0 - 173c: 84 81 ldd r24, Z+4 ; 0x04 - 173e: 18 17 cp r17, r24 - 1740: 08 f0 brcs .+2 ; 0x1744 - 1742: c4 c0 rjmp .+392 ; 0x18cc - 1744: 60 e0 ldi r22, 0x00 ; 0 - 1746: 81 2f mov r24, r17 - 1748: de dc rcall .-1604 ; 0x1106 - 174a: 88 23 and r24, r24 - 174c: 09 f4 brne .+2 ; 0x1750 - 174e: 4f c0 rjmp .+158 ; 0x17ee - 1750: 1f 5f subi r17, 0xFF ; 255 - 1752: ed cf rjmp .-38 ; 0x172e - 1754: 81 30 cpi r24, 0x01 ; 1 - 1756: f1 f4 brne .+60 ; 0x1794 - 1758: 80 91 67 24 lds r24, 0x2467 ; 0x802467 - 175c: 8b 30 cpi r24, 0x0B ; 11 - 175e: 09 f0 breq .+2 ; 0x1762 - 1760: 46 c0 rjmp .+140 ; 0x17ee - 1762: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1766: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 176a: 89 2b or r24, r25 - 176c: 09 f0 breq .+2 ; 0x1770 - 176e: 3f c0 rjmp .+126 ; 0x17ee - 1770: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 1774: 88 23 and r24, r24 - 1776: 09 f4 brne .+2 ; 0x177a - 1778: 3a c0 rjmp .+116 ; 0x17ee - 177a: 10 91 6a 24 lds r17, 0x246A ; 0x80246a - 177e: 60 91 68 24 lds r22, 0x2468 ; 0x802468 - 1782: 81 2f mov r24, r17 - 1784: 69 83 std Y+1, r22 ; 0x01 - 1786: f2 dc rcall .-1564 ; 0x116c - 1788: 69 81 ldd r22, Y+1 ; 0x01 - 178a: 88 23 and r24, r24 - 178c: 81 f1 breq .+96 ; 0x17ee - 178e: 81 2f mov r24, r17 - 1790: ba dc rcall .-1676 ; 0x1106 - 1792: 2b c0 rjmp .+86 ; 0x17ea - 1794: 82 30 cpi r24, 0x02 ; 2 - 1796: 59 f5 brne .+86 ; 0x17ee - 1798: 80 91 67 24 lds r24, 0x2467 ; 0x802467 - 179c: 81 30 cpi r24, 0x01 ; 1 - 179e: 19 f0 breq .+6 ; 0x17a6 - 17a0: 83 30 cpi r24, 0x03 ; 3 - 17a2: 89 f0 breq .+34 ; 0x17c6 - 17a4: 24 c0 rjmp .+72 ; 0x17ee + 14a4: 89 f1 breq .+98 ; 0x1508 + 14a6: 2f 30 cpi r18, 0x0F ; 15 + 14a8: 31 05 cpc r19, r1 + 14aa: 09 f1 breq .+66 ; 0x14ee + 14ac: 90 c1 rjmp .+800 ; 0x17ce + 14ae: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 14b2: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 14b6: 21 89 ldd r18, Z+17 ; 0x11 + 14b8: 82 17 cp r24, r18 + 14ba: 08 f0 brcs .+2 ; 0x14be + 14bc: 88 c1 rjmp .+784 ; 0x17ce + 14be: 99 27 eor r25, r25 + 14c0: 88 0f add r24, r24 + 14c2: 99 1f adc r25, r25 + 14c4: 88 0f add r24, r24 + 14c6: 99 1f adc r25, r25 + 14c8: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 14cc: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 14d0: e8 0f add r30, r24 + 14d2: f9 1f adc r31, r25 + 14d4: 80 81 ld r24, Z + 14d6: 91 81 ldd r25, Z+1 ; 0x01 + 14d8: fc 01 movw r30, r24 + 14da: 62 81 ldd r22, Z+2 ; 0x02 + 14dc: 73 81 ldd r23, Z+3 ; 0x03 + 14de: 2d d5 rcall .+2650 ; 0x1f3a + 14e0: e0 91 6e 24 lds r30, 0x246E ; 0x80246e + 14e4: f0 91 6f 24 lds r31, 0x246F ; 0x80246f + 14e8: 82 e0 ldi r24, 0x02 ; 2 + 14ea: 81 83 std Z+1, r24 ; 0x01 + 14ec: 35 c0 rjmp .+106 ; 0x1558 + 14ee: 80 91 14 20 lds r24, 0x2014 ; 0x802014 + 14f2: 90 91 15 20 lds r25, 0x2015 ; 0x802015 + 14f6: 00 97 sbiw r24, 0x00 ; 0 + 14f8: 09 f4 brne .+2 ; 0x14fc + 14fa: 69 c1 rjmp .+722 ; 0x17ce + 14fc: dc 01 movw r26, r24 + 14fe: 12 96 adiw r26, 0x02 ; 2 + 1500: 6d 91 ld r22, X+ + 1502: 7c 91 ld r23, X + 1504: 13 97 sbiw r26, 0x03 ; 3 + 1506: 27 c0 rjmp .+78 ; 0x1556 + 1508: 99 27 eor r25, r25 + 150a: 81 30 cpi r24, 0x01 ; 1 + 150c: 91 05 cpc r25, r1 + 150e: 69 f0 breq .+26 ; 0x152a + 1510: 38 f0 brcs .+14 ; 0x1520 + 1512: 02 97 sbiw r24, 0x02 ; 2 + 1514: 09 f0 breq .+2 ; 0x1518 + 1516: 5b c1 rjmp .+694 ; 0x17ce + 1518: 68 e1 ldi r22, 0x18 ; 24 + 151a: 8a e8 ldi r24, 0x8A ; 138 + 151c: 90 e2 ldi r25, 0x20 ; 32 + 151e: 08 c0 rjmp .+16 ; 0x1530 + 1520: 64 e0 ldi r22, 0x04 ; 4 + 1522: 70 e0 ldi r23, 0x00 ; 0 + 1524: 8e ea ldi r24, 0xAE ; 174 + 1526: 90 e2 ldi r25, 0x20 ; 32 + 1528: 16 c0 rjmp .+44 ; 0x1556 + 152a: 69 e0 ldi r22, 0x09 ; 9 + 152c: 83 ea ldi r24, 0xA3 ; 163 + 152e: 90 e2 ldi r25, 0x20 ; 32 + 1530: 28 2f mov r18, r24 + 1532: aa e5 ldi r26, 0x5A ; 90 + 1534: b0 e2 ldi r27, 0x20 ; 32 + 1536: fc 01 movw r30, r24 + 1538: 81 91 ld r24, Z+ + 153a: 90 e0 ldi r25, 0x00 ; 0 + 153c: 8d 93 st X+, r24 + 153e: 9d 93 st X+, r25 + 1540: 8e 2f mov r24, r30 + 1542: 82 1b sub r24, r18 + 1544: 86 17 cp r24, r22 + 1546: c0 f3 brcs .-16 ; 0x1538 + 1548: 66 0f add r22, r22 + 154a: 6e 5f subi r22, 0xFE ; 254 + 154c: 60 93 58 20 sts 0x2058, r22 ; 0x802058 + 1550: 70 e0 ldi r23, 0x00 ; 0 + 1552: 88 e5 ldi r24, 0x58 ; 88 + 1554: 90 e2 ldi r25, 0x20 ; 32 + 1556: f1 d4 rcall .+2530 ; 0x1f3a + 1558: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 155c: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 1560: 20 91 70 24 lds r18, 0x2470 ; 0x802470 + 1564: 30 91 71 24 lds r19, 0x2471 ; 0x802471 + 1568: 82 17 cp r24, r18 + 156a: 93 07 cpc r25, r19 + 156c: 08 f0 brcs .+2 ; 0x1570 + 156e: 9e c1 rjmp .+828 ; 0x18ac + 1570: 80 93 70 24 sts 0x2470, r24 ; 0x802470 + 1574: 90 93 71 24 sts 0x2471, r25 ; 0x802471 + 1578: 99 c1 rjmp .+818 ; 0x18ac + 157a: 21 30 cpi r18, 0x01 ; 1 + 157c: 31 05 cpc r19, r1 + 157e: 09 f0 breq .+2 ; 0x1582 + 1580: 26 c1 rjmp .+588 ; 0x17ce + 1582: 61 e0 ldi r22, 0x01 ; 1 + 1584: 70 e0 ldi r23, 0x00 ; 0 + 1586: 8c ec ldi r24, 0xCC ; 204 + 1588: 90 e2 ldi r25, 0x20 ; 32 + 158a: d7 d4 rcall .+2478 ; 0x1f3a + 158c: 8f c1 rjmp .+798 ; 0x18ac + 158e: 81 30 cpi r24, 0x01 ; 1 + 1590: c9 f5 brne .+114 ; 0x1604 + 1592: 80 91 67 24 lds r24, 0x2467 ; 0x802467 + 1596: 8a 30 cpi r24, 0x0A ; 10 + 1598: 09 f0 breq .+2 ; 0x159c + 159a: 19 c1 rjmp .+562 ; 0x17ce + 159c: 21 30 cpi r18, 0x01 ; 1 + 159e: 31 05 cpc r19, r1 + 15a0: 09 f0 breq .+2 ; 0x15a4 + 15a2: 15 c1 rjmp .+554 ; 0x17ce + 15a4: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 15a8: 88 23 and r24, r24 + 15aa: 09 f4 brne .+2 ; 0x15ae + 15ac: 10 c1 rjmp .+544 ; 0x17ce + 15ae: e0 90 6a 24 lds r14, 0x246A ; 0x80246a + 15b2: f0 90 6b 24 lds r15, 0x246B ; 0x80246b + 15b6: 00 91 c9 20 lds r16, 0x20C9 ; 0x8020c9 + 15ba: 10 91 ca 20 lds r17, 0x20CA ; 0x8020ca + 15be: d8 01 movw r26, r16 + 15c0: ed 91 ld r30, X+ + 15c2: fc 91 ld r31, X + 15c4: 84 81 ldd r24, Z+4 ; 0x04 + 15c6: e8 16 cp r14, r24 + 15c8: 08 f0 brcs .+2 ; 0x15cc + 15ca: 01 c1 rjmp .+514 ; 0x17ce + 15cc: 60 e0 ldi r22, 0x00 ; 0 + 15ce: 8e 2d mov r24, r14 + 15d0: 38 dd rcall .-1424 ; 0x1042 + 15d2: 88 23 and r24, r24 + 15d4: 09 f4 brne .+2 ; 0x15d8 + 15d6: fb c0 rjmp .+502 ; 0x17ce + 15d8: ff 24 eor r15, r15 + 15da: ee 0c add r14, r14 + 15dc: ff 1c adc r15, r15 + 15de: f8 01 movw r30, r16 + 15e0: 82 81 ldd r24, Z+2 ; 0x02 + 15e2: 93 81 ldd r25, Z+3 ; 0x03 + 15e4: 8e 0d add r24, r14 + 15e6: 9f 1d adc r25, r15 + 15e8: dc 01 movw r26, r24 + 15ea: ed 91 ld r30, X+ + 15ec: fc 91 ld r31, X + 15ee: 06 80 ldd r0, Z+6 ; 0x06 + 15f0: f7 81 ldd r31, Z+7 ; 0x07 + 15f2: e0 2d mov r30, r0 + 15f4: 09 95 icall + 15f6: 80 93 ce 20 sts 0x20CE, r24 ; 0x8020ce + 15fa: 61 e0 ldi r22, 0x01 ; 1 + 15fc: 70 e0 ldi r23, 0x00 ; 0 + 15fe: 8e ec ldi r24, 0xCE ; 206 + 1600: 90 e2 ldi r25, 0x20 ; 32 + 1602: c3 cf rjmp .-122 ; 0x158a + 1604: 82 30 cpi r24, 0x02 ; 2 + 1606: 09 f0 breq .+2 ; 0x160a + 1608: e2 c0 rjmp .+452 ; 0x17ce + 160a: 80 91 67 24 lds r24, 0x2467 ; 0x802467 + 160e: 81 11 cpse r24, r1 + 1610: de c0 rjmp .+444 ; 0x17ce + 1612: 22 30 cpi r18, 0x02 ; 2 + 1614: 31 05 cpc r19, r1 + 1616: 09 f0 breq .+2 ; 0x161a + 1618: da c0 rjmp .+436 ; 0x17ce + 161a: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 161e: e5 d4 rcall .+2506 ; 0x1fea + 1620: 90 e0 ldi r25, 0x00 ; 0 + 1622: 80 93 c5 20 sts 0x20C5, r24 ; 0x8020c5 + 1626: 90 93 c6 20 sts 0x20C6, r25 ; 0x8020c6 + 162a: 62 e0 ldi r22, 0x02 ; 2 + 162c: 70 e0 ldi r23, 0x00 ; 0 + 162e: 85 ec ldi r24, 0xC5 ; 197 + 1630: 90 e2 ldi r25, 0x20 ; 32 + 1632: ab cf rjmp .-170 ; 0x158a + 1634: 8f 71 andi r24, 0x1F ; 31 + 1636: 09 f0 breq .+2 ; 0x163a + 1638: 7d c0 rjmp .+250 ; 0x1734 + 163a: 80 91 67 24 lds r24, 0x2467 ; 0x802467 + 163e: 83 30 cpi r24, 0x03 ; 3 + 1640: 09 f4 brne .+2 ; 0x1644 + 1642: c5 c0 rjmp .+394 ; 0x17ce + 1644: 18 f4 brcc .+6 ; 0x164c + 1646: 81 30 cpi r24, 0x01 ; 1 + 1648: a1 f0 breq .+40 ; 0x1672 + 164a: c1 c0 rjmp .+386 ; 0x17ce + 164c: 85 30 cpi r24, 0x05 ; 5 + 164e: 19 f0 breq .+6 ; 0x1656 + 1650: 89 30 cpi r24, 0x09 ; 9 + 1652: 39 f1 breq .+78 ; 0x16a2 + 1654: bc c0 rjmp .+376 ; 0x17ce + 1656: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 165a: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 165e: 89 2b or r24, r25 + 1660: 09 f0 breq .+2 ; 0x1664 + 1662: b5 c0 rjmp .+362 ; 0x17ce + 1664: 8d e1 ldi r24, 0x1D ; 29 + 1666: 98 e0 ldi r25, 0x08 ; 8 + 1668: 80 93 72 24 sts 0x2472, r24 ; 0x802472 + 166c: 90 93 73 24 sts 0x2473, r25 ; 0x802473 + 1670: 1d c1 rjmp .+570 ; 0x18ac + 1672: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 1676: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 167a: 89 2b or r24, r25 + 167c: 09 f0 breq .+2 ; 0x1680 + 167e: a7 c0 rjmp .+334 ; 0x17ce + 1680: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 1684: 90 91 69 24 lds r25, 0x2469 ; 0x802469 + 1688: 01 97 sbiw r24, 0x01 ; 1 + 168a: 09 f0 breq .+2 ; 0x168e + 168c: a0 c0 rjmp .+320 ; 0x17ce + 168e: 80 91 d0 20 lds r24, 0x20D0 ; 0x8020d0 + 1692: 90 91 d1 20 lds r25, 0x20D1 ; 0x8020d1 + 1696: 8d 7f andi r24, 0xFD ; 253 + 1698: 80 93 d0 20 sts 0x20D0, r24 ; 0x8020d0 + 169c: 90 93 d1 20 sts 0x20D1, r25 ; 0x8020d1 + 16a0: 05 c1 rjmp .+522 ; 0x18ac + 16a2: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 16a6: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 16aa: 89 2b or r24, r25 + 16ac: 09 f0 breq .+2 ; 0x16b0 + 16ae: 8f c0 rjmp .+286 ; 0x17ce + 16b0: 41 d4 rcall .+2178 ; 0x1f34 + 16b2: 88 23 and r24, r24 + 16b4: 09 f4 brne .+2 ; 0x16b8 + 16b6: 8b c0 rjmp .+278 ; 0x17ce + 16b8: 20 91 68 24 lds r18, 0x2468 ; 0x802468 + 16bc: 30 91 69 24 lds r19, 0x2469 ; 0x802469 + 16c0: 33 27 eor r19, r19 + 16c2: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 16c6: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 16ca: 81 89 ldd r24, Z+17 ; 0x11 + 16cc: 90 e0 ldi r25, 0x00 ; 0 + 16ce: 82 17 cp r24, r18 + 16d0: 93 07 cpc r25, r19 + 16d2: 08 f4 brcc .+2 ; 0x16d6 + 16d4: 7c c0 rjmp .+248 ; 0x17ce + 16d6: 80 dd rcall .-1280 ; 0x11d8 + 16d8: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 16dc: 90 91 69 24 lds r25, 0x2469 ; 0x802469 + 16e0: 80 93 cc 20 sts 0x20CC, r24 ; 0x8020cc + 16e4: 88 23 and r24, r24 + 16e6: 09 f4 brne .+2 ; 0x16ea + 16e8: e1 c0 rjmp .+450 ; 0x18ac + 16ea: 99 27 eor r25, r25 + 16ec: 81 50 subi r24, 0x01 ; 1 + 16ee: 90 4c sbci r25, 0xC0 ; 192 + 16f0: 88 0f add r24, r24 + 16f2: 99 1f adc r25, r25 + 16f4: 88 0f add r24, r24 + 16f6: 99 1f adc r25, r25 + 16f8: 20 91 12 20 lds r18, 0x2012 ; 0x802012 + 16fc: 30 91 13 20 lds r19, 0x2013 ; 0x802013 + 1700: 82 0f add r24, r18 + 1702: 93 1f adc r25, r19 + 1704: 80 93 c9 20 sts 0x20C9, r24 ; 0x8020c9 + 1708: 90 93 ca 20 sts 0x20CA, r25 ; 0x8020ca + 170c: 10 e0 ldi r17, 0x00 ; 0 + 170e: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 + 1712: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca + 1716: 01 90 ld r0, Z+ + 1718: f0 81 ld r31, Z + 171a: e0 2d mov r30, r0 + 171c: 84 81 ldd r24, Z+4 ; 0x04 + 171e: 18 17 cp r17, r24 + 1720: 08 f0 brcs .+2 ; 0x1724 + 1722: c4 c0 rjmp .+392 ; 0x18ac + 1724: 60 e0 ldi r22, 0x00 ; 0 + 1726: 81 2f mov r24, r17 + 1728: df dc rcall .-1602 ; 0x10e8 + 172a: 88 23 and r24, r24 + 172c: 09 f4 brne .+2 ; 0x1730 + 172e: 4f c0 rjmp .+158 ; 0x17ce + 1730: 1f 5f subi r17, 0xFF ; 255 + 1732: ed cf rjmp .-38 ; 0x170e + 1734: 81 30 cpi r24, 0x01 ; 1 + 1736: f1 f4 brne .+60 ; 0x1774 + 1738: 80 91 67 24 lds r24, 0x2467 ; 0x802467 + 173c: 8b 30 cpi r24, 0x0B ; 11 + 173e: 09 f0 breq .+2 ; 0x1742 + 1740: 46 c0 rjmp .+140 ; 0x17ce + 1742: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 1746: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 174a: 89 2b or r24, r25 + 174c: 09 f0 breq .+2 ; 0x1750 + 174e: 3f c0 rjmp .+126 ; 0x17ce + 1750: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1754: 88 23 and r24, r24 + 1756: 09 f4 brne .+2 ; 0x175a + 1758: 3a c0 rjmp .+116 ; 0x17ce + 175a: 10 91 6a 24 lds r17, 0x246A ; 0x80246a + 175e: 60 91 68 24 lds r22, 0x2468 ; 0x802468 + 1762: 81 2f mov r24, r17 + 1764: 69 83 std Y+1, r22 ; 0x01 + 1766: f3 dc rcall .-1562 ; 0x114e + 1768: 69 81 ldd r22, Y+1 ; 0x01 + 176a: 88 23 and r24, r24 + 176c: 81 f1 breq .+96 ; 0x17ce + 176e: 81 2f mov r24, r17 + 1770: bb dc rcall .-1674 ; 0x10e8 + 1772: 2b c0 rjmp .+86 ; 0x17ca + 1774: 82 30 cpi r24, 0x02 ; 2 + 1776: 59 f5 brne .+86 ; 0x17ce + 1778: 80 91 67 24 lds r24, 0x2467 ; 0x802467 + 177c: 81 30 cpi r24, 0x01 ; 1 + 177e: 19 f0 breq .+6 ; 0x1786 + 1780: 83 30 cpi r24, 0x03 ; 3 + 1782: 89 f0 breq .+34 ; 0x17a6 + 1784: 24 c0 rjmp .+72 ; 0x17ce + 1786: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 178a: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 178e: 89 2b or r24, r25 + 1790: f1 f4 brne .+60 ; 0x17ce + 1792: 80 91 68 24 lds r24, 0x2468 ; 0x802468 + 1796: 90 91 69 24 lds r25, 0x2469 ; 0x802469 + 179a: 89 2b or r24, r25 + 179c: c1 f4 brne .+48 ; 0x17ce + 179e: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 17a2: 2a d4 rcall .+2132 ; 0x1ff8 + 17a4: 12 c0 rjmp .+36 ; 0x17ca 17a6: 80 91 6c 24 lds r24, 0x246C ; 0x80246c 17aa: 90 91 6d 24 lds r25, 0x246D ; 0x80246d 17ae: 89 2b or r24, r25 - 17b0: f1 f4 brne .+60 ; 0x17ee + 17b0: 71 f4 brne .+28 ; 0x17ce 17b2: 80 91 68 24 lds r24, 0x2468 ; 0x802468 17b6: 90 91 69 24 lds r25, 0x2469 ; 0x802469 17ba: 89 2b or r24, r25 - 17bc: c1 f4 brne .+48 ; 0x17ee + 17bc: 41 f4 brne .+16 ; 0x17ce 17be: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 17c2: 2a d4 rcall .+2132 ; 0x2018 - 17c4: 12 c0 rjmp .+36 ; 0x17ea - 17c6: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 17ca: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 17ce: 89 2b or r24, r25 - 17d0: 71 f4 brne .+28 ; 0x17ee - 17d2: 80 91 68 24 lds r24, 0x2468 ; 0x802468 - 17d6: 90 91 69 24 lds r25, 0x2469 ; 0x802469 - 17da: 89 2b or r24, r25 - 17dc: 41 f4 brne .+16 ; 0x17ee - 17de: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 17e2: bf d4 rcall .+2430 ; 0x2162 - 17e4: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 17e8: f5 d4 rcall .+2538 ; 0x21d4 - 17ea: 81 11 cpse r24, r1 - 17ec: 6f c0 rjmp .+222 ; 0x18cc - 17ee: 80 91 66 24 lds r24, 0x2466 ; 0x802466 - 17f2: 8f 71 andi r24, 0x1F ; 31 - 17f4: 81 30 cpi r24, 0x01 ; 1 - 17f6: b9 f5 brne .+110 ; 0x1866 - 17f8: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 17fc: 88 23 and r24, r24 - 17fe: 99 f1 breq .+102 ; 0x1866 - 1800: e0 90 6a 24 lds r14, 0x246A ; 0x80246a - 1804: f0 90 6b 24 lds r15, 0x246B ; 0x80246b - 1808: 00 91 c9 20 lds r16, 0x20C9 ; 0x8020c9 - 180c: 10 91 ca 20 lds r17, 0x20CA ; 0x8020ca - 1810: d8 01 movw r26, r16 - 1812: ed 91 ld r30, X+ - 1814: fc 91 ld r31, X - 1816: 84 81 ldd r24, Z+4 ; 0x04 - 1818: e8 16 cp r14, r24 - 181a: 28 f5 brcc .+74 ; 0x1866 - 181c: 60 e0 ldi r22, 0x00 ; 0 - 181e: 8e 2d mov r24, r14 - 1820: 1f dc rcall .-1986 ; 0x1060 - 1822: 88 23 and r24, r24 - 1824: 01 f1 breq .+64 ; 0x1866 - 1826: f7 01 movw r30, r14 - 1828: ff 27 eor r31, r31 - 182a: ee 0f add r30, r30 - 182c: ff 1f adc r31, r31 - 182e: d8 01 movw r26, r16 - 1830: 12 96 adiw r26, 0x02 ; 2 - 1832: 8d 91 ld r24, X+ - 1834: 9c 91 ld r25, X - 1836: 13 97 sbiw r26, 0x03 ; 3 - 1838: e8 0f add r30, r24 - 183a: f9 1f adc r31, r25 - 183c: 00 81 ld r16, Z - 183e: 11 81 ldd r17, Z+1 ; 0x01 - 1840: d8 01 movw r26, r16 - 1842: 16 96 adiw r26, 0x06 ; 6 - 1844: ed 91 ld r30, X+ - 1846: fc 91 ld r31, X - 1848: 17 97 sbiw r26, 0x07 ; 7 - 184a: 09 95 icall - 184c: 68 2f mov r22, r24 - 184e: 8e 2d mov r24, r14 - 1850: 07 dc rcall .-2034 ; 0x1060 - 1852: 88 23 and r24, r24 - 1854: 41 f0 breq .+16 ; 0x1866 - 1856: d8 01 movw r26, r16 - 1858: 14 96 adiw r26, 0x04 ; 4 - 185a: ed 91 ld r30, X+ - 185c: fc 91 ld r31, X - 185e: 15 97 sbiw r26, 0x05 ; 5 - 1860: 09 95 icall - 1862: 81 11 cpse r24, r1 - 1864: 33 c0 rjmp .+102 ; 0x18cc - 1866: 80 91 66 24 lds r24, 0x2466 ; 0x802466 - 186a: 8f 71 andi r24, 0x1F ; 31 - 186c: 82 30 cpi r24, 0x02 ; 2 - 186e: 81 f5 brne .+96 ; 0x18d0 - 1870: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 1874: 88 23 and r24, r24 - 1876: 61 f1 breq .+88 ; 0x18d0 - 1878: f1 2c mov r15, r1 - 187a: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 - 187e: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca - 1882: a0 81 ld r26, Z - 1884: b1 81 ldd r27, Z+1 ; 0x01 - 1886: 14 96 adiw r26, 0x04 ; 4 - 1888: 8c 91 ld r24, X - 188a: f8 16 cp r15, r24 - 188c: 08 f5 brcc .+66 ; 0x18d0 - 188e: 92 81 ldd r25, Z+2 ; 0x02 - 1890: 83 81 ldd r24, Z+3 ; 0x03 - 1892: e9 2f mov r30, r25 - 1894: f8 2f mov r31, r24 - 1896: ef 0d add r30, r15 - 1898: f1 1d adc r31, r1 - 189a: ef 0d add r30, r15 - 189c: f1 1d adc r31, r1 - 189e: 00 81 ld r16, Z - 18a0: 11 81 ldd r17, Z+1 ; 0x01 - 18a2: d8 01 movw r26, r16 - 18a4: 16 96 adiw r26, 0x06 ; 6 - 18a6: ed 91 ld r30, X+ - 18a8: fc 91 ld r31, X - 18aa: 17 97 sbiw r26, 0x07 ; 7 - 18ac: 09 95 icall - 18ae: 68 2f mov r22, r24 - 18b0: 8f 2d mov r24, r15 - 18b2: d6 db rcall .-2132 ; 0x1060 - 18b4: 88 23 and r24, r24 - 18b6: 61 f0 breq .+24 ; 0x18d0 - 18b8: d8 01 movw r26, r16 - 18ba: 14 96 adiw r26, 0x04 ; 4 - 18bc: ed 91 ld r30, X+ - 18be: fc 91 ld r31, X - 18c0: 15 97 sbiw r26, 0x05 ; 5 - 18c2: 09 95 icall - 18c4: 81 11 cpse r24, r1 - 18c6: 02 c0 rjmp .+4 ; 0x18cc - 18c8: f3 94 inc r15 - 18ca: d7 cf rjmp .-82 ; 0x187a - 18cc: 81 e0 ldi r24, 0x01 ; 1 - 18ce: 01 c0 rjmp .+2 ; 0x18d2 - 18d0: 80 e0 ldi r24, 0x00 ; 0 - 18d2: 0f 90 pop r0 - 18d4: df 91 pop r29 - 18d6: cf 91 pop r28 - 18d8: 1f 91 pop r17 - 18da: 0f 91 pop r16 - 18dc: ff 90 pop r15 - 18de: ef 90 pop r14 - 18e0: 08 95 ret + 17c2: bf d4 rcall .+2430 ; 0x2142 + 17c4: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 17c8: f5 d4 rcall .+2538 ; 0x21b4 + 17ca: 81 11 cpse r24, r1 + 17cc: 6f c0 rjmp .+222 ; 0x18ac + 17ce: 80 91 66 24 lds r24, 0x2466 ; 0x802466 + 17d2: 8f 71 andi r24, 0x1F ; 31 + 17d4: 81 30 cpi r24, 0x01 ; 1 + 17d6: b9 f5 brne .+110 ; 0x1846 + 17d8: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 17dc: 88 23 and r24, r24 + 17de: 99 f1 breq .+102 ; 0x1846 + 17e0: e0 90 6a 24 lds r14, 0x246A ; 0x80246a + 17e4: f0 90 6b 24 lds r15, 0x246B ; 0x80246b + 17e8: 00 91 c9 20 lds r16, 0x20C9 ; 0x8020c9 + 17ec: 10 91 ca 20 lds r17, 0x20CA ; 0x8020ca + 17f0: d8 01 movw r26, r16 + 17f2: ed 91 ld r30, X+ + 17f4: fc 91 ld r31, X + 17f6: 84 81 ldd r24, Z+4 ; 0x04 + 17f8: e8 16 cp r14, r24 + 17fa: 28 f5 brcc .+74 ; 0x1846 + 17fc: 60 e0 ldi r22, 0x00 ; 0 + 17fe: 8e 2d mov r24, r14 + 1800: 20 dc rcall .-1984 ; 0x1042 + 1802: 88 23 and r24, r24 + 1804: 01 f1 breq .+64 ; 0x1846 + 1806: f7 01 movw r30, r14 + 1808: ff 27 eor r31, r31 + 180a: ee 0f add r30, r30 + 180c: ff 1f adc r31, r31 + 180e: d8 01 movw r26, r16 + 1810: 12 96 adiw r26, 0x02 ; 2 + 1812: 8d 91 ld r24, X+ + 1814: 9c 91 ld r25, X + 1816: 13 97 sbiw r26, 0x03 ; 3 + 1818: e8 0f add r30, r24 + 181a: f9 1f adc r31, r25 + 181c: 00 81 ld r16, Z + 181e: 11 81 ldd r17, Z+1 ; 0x01 + 1820: d8 01 movw r26, r16 + 1822: 16 96 adiw r26, 0x06 ; 6 + 1824: ed 91 ld r30, X+ + 1826: fc 91 ld r31, X + 1828: 17 97 sbiw r26, 0x07 ; 7 + 182a: 09 95 icall + 182c: 68 2f mov r22, r24 + 182e: 8e 2d mov r24, r14 + 1830: 08 dc rcall .-2032 ; 0x1042 + 1832: 88 23 and r24, r24 + 1834: 41 f0 breq .+16 ; 0x1846 + 1836: d8 01 movw r26, r16 + 1838: 14 96 adiw r26, 0x04 ; 4 + 183a: ed 91 ld r30, X+ + 183c: fc 91 ld r31, X + 183e: 15 97 sbiw r26, 0x05 ; 5 + 1840: 09 95 icall + 1842: 81 11 cpse r24, r1 + 1844: 33 c0 rjmp .+102 ; 0x18ac + 1846: 80 91 66 24 lds r24, 0x2466 ; 0x802466 + 184a: 8f 71 andi r24, 0x1F ; 31 + 184c: 82 30 cpi r24, 0x02 ; 2 + 184e: 81 f5 brne .+96 ; 0x18b0 + 1850: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1854: 88 23 and r24, r24 + 1856: 61 f1 breq .+88 ; 0x18b0 + 1858: f1 2c mov r15, r1 + 185a: e0 91 c9 20 lds r30, 0x20C9 ; 0x8020c9 + 185e: f0 91 ca 20 lds r31, 0x20CA ; 0x8020ca + 1862: a0 81 ld r26, Z + 1864: b1 81 ldd r27, Z+1 ; 0x01 + 1866: 14 96 adiw r26, 0x04 ; 4 + 1868: 8c 91 ld r24, X + 186a: f8 16 cp r15, r24 + 186c: 08 f5 brcc .+66 ; 0x18b0 + 186e: 92 81 ldd r25, Z+2 ; 0x02 + 1870: 83 81 ldd r24, Z+3 ; 0x03 + 1872: e9 2f mov r30, r25 + 1874: f8 2f mov r31, r24 + 1876: ef 0d add r30, r15 + 1878: f1 1d adc r31, r1 + 187a: ef 0d add r30, r15 + 187c: f1 1d adc r31, r1 + 187e: 00 81 ld r16, Z + 1880: 11 81 ldd r17, Z+1 ; 0x01 + 1882: d8 01 movw r26, r16 + 1884: 16 96 adiw r26, 0x06 ; 6 + 1886: ed 91 ld r30, X+ + 1888: fc 91 ld r31, X + 188a: 17 97 sbiw r26, 0x07 ; 7 + 188c: 09 95 icall + 188e: 68 2f mov r22, r24 + 1890: 8f 2d mov r24, r15 + 1892: d7 db rcall .-2130 ; 0x1042 + 1894: 88 23 and r24, r24 + 1896: 61 f0 breq .+24 ; 0x18b0 + 1898: d8 01 movw r26, r16 + 189a: 14 96 adiw r26, 0x04 ; 4 + 189c: ed 91 ld r30, X+ + 189e: fc 91 ld r31, X + 18a0: 15 97 sbiw r26, 0x05 ; 5 + 18a2: 09 95 icall + 18a4: 81 11 cpse r24, r1 + 18a6: 02 c0 rjmp .+4 ; 0x18ac + 18a8: f3 94 inc r15 + 18aa: d7 cf rjmp .-82 ; 0x185a + 18ac: 81 e0 ldi r24, 0x01 ; 1 + 18ae: 01 c0 rjmp .+2 ; 0x18b2 + 18b0: 80 e0 ldi r24, 0x00 ; 0 + 18b2: 0f 90 pop r0 + 18b4: df 91 pop r29 + 18b6: cf 91 pop r28 + 18b8: 1f 91 pop r17 + 18ba: 0f 91 pop r16 + 18bc: ff 90 pop r15 + 18be: ef 90 pop r14 + 18c0: 08 95 ret -000018e2 : +000018c2 : PUBLIC_FUNCTION(ccp_write_io) #if defined(__GNUC__) out RAMPZ, r1 // Reset bits 23:16 of Z - 18e2: 1b be out 0x3b, r1 ; 59 + 18c2: 1b be out 0x3b, r1 ; 59 movw r30, r24 // Load addr into Z - 18e4: fc 01 movw r30, r24 + 18c4: fc 01 movw r30, r24 ldi r18, CCP_IOREG // Load magic CCP value - 18e6: 28 ed ldi r18, 0xD8 ; 216 + 18c6: 28 ed ldi r18, 0xD8 ; 216 out CCP, r18 // Start CCP handshake - 18e8: 24 bf out 0x34, r18 ; 52 + 18c8: 24 bf out 0x34, r18 ; 52 st Z, r22 // Write value to I/O register - 18ea: 60 83 st Z, r22 + 18ca: 60 83 st Z, r22 ret // Return to caller - 18ec: 08 95 ret + 18cc: 08 95 ret -000018ee : +000018ce : #endif #ifndef __DOXYGEN__ PUBLIC_FUNCTION(nvm_read_byte) #if defined(__GNUC__) lds r20, NVM_CMD ; Store NVM command register - 18ee: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 18ce: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> mov ZL, r22 ; Load byte index into low byte of Z. - 18f2: e6 2f mov r30, r22 + 18d2: e6 2f mov r30, r22 mov ZH, r23 ; Load high byte into Z. - 18f4: f7 2f mov r31, r23 + 18d4: f7 2f mov r31, r23 sts NVM_CMD, r24 ; Load prepared command into NVM Command register. - 18f6: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 18d6: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> lpm r24, Z ; Perform an LPM to read out byte - 18fa: 84 91 lpm r24, Z + 18da: 84 91 lpm r24, Z sts NVM_CMD, r20 ; Restore NVM command register - 18fc: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 18dc: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> sts NVM_CMD, r16 ; Load prepared command into NVM Command register. lpm r16, Z ; Perform an LPM to read out byte sts NVM_CMD, r20 ; Restore NVM command register #endif ret - 1900: 08 95 ret + 18e0: 08 95 ret -00001902 : - 1902: e8 2f mov r30, r24 - 1904: f0 e0 ldi r31, 0x00 ; 0 - 1906: ee 5a subi r30, 0xAE ; 174 - 1908: f3 4d sbci r31, 0xD3 ; 211 - 190a: 80 81 ld r24, Z - 190c: 8f 3f cpi r24, 0xFF ; 255 - 190e: 09 f4 brne .+2 ; 0x1912 - 1910: ff cf rjmp .-2 ; 0x1910 - 1912: 9f b7 in r25, 0x3f ; 63 - 1914: f8 94 cli - 1916: 80 81 ld r24, Z - 1918: 8f 5f subi r24, 0xFF ; 255 - 191a: 80 83 st Z, r24 - 191c: 9f bf out 0x3f, r25 ; 63 - 191e: 08 95 ret +000018e2 : + 18e2: e8 2f mov r30, r24 + 18e4: f0 e0 ldi r31, 0x00 ; 0 + 18e6: ee 5a subi r30, 0xAE ; 174 + 18e8: f3 4d sbci r31, 0xD3 ; 211 + 18ea: 80 81 ld r24, Z + 18ec: 8f 3f cpi r24, 0xFF ; 255 + 18ee: 09 f4 brne .+2 ; 0x18f2 + 18f0: ff cf rjmp .-2 ; 0x18f0 + 18f2: 9f b7 in r25, 0x3f ; 63 + 18f4: f8 94 cli + 18f6: 80 81 ld r24, Z + 18f8: 8f 5f subi r24, 0xFF ; 255 + 18fa: 80 83 st Z, r24 + 18fc: 9f bf out 0x3f, r25 ; 63 + 18fe: 08 95 ret -00001920 : - 1920: e8 2f mov r30, r24 - 1922: f0 e0 ldi r31, 0x00 ; 0 - 1924: ee 5a subi r30, 0xAE ; 174 - 1926: f3 4d sbci r31, 0xD3 ; 211 - 1928: 80 81 ld r24, Z - 192a: 81 11 cpse r24, r1 - 192c: 01 c0 rjmp .+2 ; 0x1930 - 192e: ff cf rjmp .-2 ; 0x192e - 1930: 9f b7 in r25, 0x3f ; 63 - 1932: f8 94 cli - 1934: 80 81 ld r24, Z - 1936: 81 50 subi r24, 0x01 ; 1 - 1938: 80 83 st Z, r24 - 193a: 9f bf out 0x3f, r25 ; 63 - 193c: 08 95 ret +00001900 : + 1900: e8 2f mov r30, r24 + 1902: f0 e0 ldi r31, 0x00 ; 0 + 1904: ee 5a subi r30, 0xAE ; 174 + 1906: f3 4d sbci r31, 0xD3 ; 211 + 1908: 80 81 ld r24, Z + 190a: 81 11 cpse r24, r1 + 190c: 01 c0 rjmp .+2 ; 0x1910 + 190e: ff cf rjmp .-2 ; 0x190e + 1910: 9f b7 in r25, 0x3f ; 63 + 1912: f8 94 cli + 1914: 80 81 ld r24, Z + 1916: 81 50 subi r24, 0x01 ; 1 + 1918: 80 83 st Z, r24 + 191a: 9f bf out 0x3f, r25 ; 63 + 191c: 08 95 ret -0000193e : - 193e: cf 93 push r28 - 1940: c8 2f mov r28, r24 - 1942: 80 91 64 22 lds r24, 0x2264 ; 0x802264 - 1946: c1 11 cpse r28, r1 - 1948: 05 c0 rjmp .+10 ; 0x1954 - 194a: 88 23 and r24, r24 - 194c: 39 f0 breq .+14 ; 0x195c - 194e: 81 e0 ldi r24, 0x01 ; 1 - 1950: e7 df rcall .-50 ; 0x1920 - 1952: 04 c0 rjmp .+8 ; 0x195c - 1954: 81 11 cpse r24, r1 - 1956: 02 c0 rjmp .+4 ; 0x195c - 1958: 81 e0 ldi r24, 0x01 ; 1 - 195a: d3 df rcall .-90 ; 0x1902 - 195c: c0 93 64 22 sts 0x2264, r28 ; 0x802264 - 1960: cf 91 pop r28 - 1962: 08 95 ret +0000191e : + 191e: cf 93 push r28 + 1920: c8 2f mov r28, r24 + 1922: 80 91 64 22 lds r24, 0x2264 ; 0x802264 + 1926: c1 11 cpse r28, r1 + 1928: 05 c0 rjmp .+10 ; 0x1934 + 192a: 88 23 and r24, r24 + 192c: 39 f0 breq .+14 ; 0x193c + 192e: 81 e0 ldi r24, 0x01 ; 1 + 1930: e7 df rcall .-50 ; 0x1900 + 1932: 04 c0 rjmp .+8 ; 0x193c + 1934: 81 11 cpse r24, r1 + 1936: 02 c0 rjmp .+4 ; 0x193c + 1938: 81 e0 ldi r24, 0x01 ; 1 + 193a: d3 df rcall .-90 ; 0x18e2 + 193c: c0 93 64 22 sts 0x2264, r28 ; 0x802264 + 1940: cf 91 pop r28 + 1942: 08 95 ret -00001964 : - 1964: 28 2f mov r18, r24 - 1966: 2f 70 andi r18, 0x0F ; 15 - 1968: 08 2e mov r0, r24 - 196a: 00 0c add r0, r0 - 196c: 99 0b sbc r25, r25 - 196e: 39 2f mov r19, r25 - 1970: 33 1f adc r19, r19 - 1972: 33 27 eor r19, r19 - 1974: 33 1f adc r19, r19 - 1976: 83 2f mov r24, r19 - 1978: 90 e0 ldi r25, 0x00 ; 0 - 197a: 82 0f add r24, r18 - 197c: 91 1d adc r25, r1 - 197e: 82 0f add r24, r18 - 1980: 91 1d adc r25, r1 - 1982: 23 e0 ldi r18, 0x03 ; 3 - 1984: 88 0f add r24, r24 - 1986: 99 1f adc r25, r25 - 1988: 2a 95 dec r18 - 198a: e1 f7 brne .-8 ; 0x1984 - 198c: 80 5e subi r24, 0xE0 ; 224 - 198e: 9d 4d sbci r25, 0xDD ; 221 - 1990: 08 95 ret +00001944 : + 1944: 28 2f mov r18, r24 + 1946: 2f 70 andi r18, 0x0F ; 15 + 1948: 08 2e mov r0, r24 + 194a: 00 0c add r0, r0 + 194c: 99 0b sbc r25, r25 + 194e: 39 2f mov r19, r25 + 1950: 33 1f adc r19, r19 + 1952: 33 27 eor r19, r19 + 1954: 33 1f adc r19, r19 + 1956: 83 2f mov r24, r19 + 1958: 90 e0 ldi r25, 0x00 ; 0 + 195a: 82 0f add r24, r18 + 195c: 91 1d adc r25, r1 + 195e: 82 0f add r24, r18 + 1960: 91 1d adc r25, r1 + 1962: 23 e0 ldi r18, 0x03 ; 3 + 1964: 88 0f add r24, r24 + 1966: 99 1f adc r25, r25 + 1968: 2a 95 dec r18 + 196a: e1 f7 brne .-8 ; 0x1964 + 196c: 80 5e subi r24, 0xE0 ; 224 + 196e: 9d 4d sbci r25, 0xDD ; 221 + 1970: 08 95 ret -00001992 : - 1992: 0f 93 push r16 - 1994: e8 ec ldi r30, 0xC8 ; 200 - 1996: f4 e0 ldi r31, 0x04 ; 4 - 1998: 80 81 ld r24, Z - 199a: 8f 7d andi r24, 0xDF ; 223 - 199c: 80 83 st Z, r24 - 199e: 80 81 ld r24, Z - 19a0: 8f 7d andi r24, 0xDF ; 223 - 19a2: 80 83 st Z, r24 - 19a4: e8 e2 ldi r30, 0x28 ; 40 - 19a6: f2 e2 ldi r31, 0x22 ; 34 - 19a8: 02 e0 ldi r16, 0x02 ; 2 - 19aa: 05 93 las Z, r16 - 19ac: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a - 19b0: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b - 19b4: 00 e2 ldi r16, 0x20 ; 32 - 19b6: 06 93 lac Z, r16 - 19b8: 00 e4 ldi r16, 0x40 ; 64 - 19ba: 06 93 lac Z, r16 - 19bc: e0 e2 ldi r30, 0x20 ; 32 - 19be: f2 e2 ldi r31, 0x22 ; 34 - 19c0: 00 e2 ldi r16, 0x20 ; 32 - 19c2: 06 93 lac Z, r16 - 19c4: 00 e4 ldi r16, 0x40 ; 64 - 19c6: 06 93 lac Z, r16 - 19c8: e6 e6 ldi r30, 0x66 ; 102 - 19ca: f4 e2 ldi r31, 0x24 ; 36 - 19cc: 14 86 std Z+12, r1 ; 0x0c - 19ce: 15 86 std Z+13, r1 ; 0x0d - 19d0: 16 86 std Z+14, r1 ; 0x0e - 19d2: 17 86 std Z+15, r1 ; 0x0f - 19d4: 12 86 std Z+10, r1 ; 0x0a - 19d6: 13 86 std Z+11, r1 ; 0x0b - 19d8: 10 92 0d 22 sts 0x220D, r1 ; 0x80220d - 19dc: 0f 91 pop r16 - 19de: 08 95 ret +00001972 : + 1972: 0f 93 push r16 + 1974: e8 ec ldi r30, 0xC8 ; 200 + 1976: f4 e0 ldi r31, 0x04 ; 4 + 1978: 80 81 ld r24, Z + 197a: 8f 7d andi r24, 0xDF ; 223 + 197c: 80 83 st Z, r24 + 197e: 80 81 ld r24, Z + 1980: 8f 7d andi r24, 0xDF ; 223 + 1982: 80 83 st Z, r24 + 1984: e8 e2 ldi r30, 0x28 ; 40 + 1986: f2 e2 ldi r31, 0x22 ; 34 + 1988: 02 e0 ldi r16, 0x02 ; 2 + 198a: 05 93 las Z, r16 + 198c: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a + 1990: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b + 1994: 00 e2 ldi r16, 0x20 ; 32 + 1996: 06 93 lac Z, r16 + 1998: 00 e4 ldi r16, 0x40 ; 64 + 199a: 06 93 lac Z, r16 + 199c: e0 e2 ldi r30, 0x20 ; 32 + 199e: f2 e2 ldi r31, 0x22 ; 34 + 19a0: 00 e2 ldi r16, 0x20 ; 32 + 19a2: 06 93 lac Z, r16 + 19a4: 00 e4 ldi r16, 0x40 ; 64 + 19a6: 06 93 lac Z, r16 + 19a8: e6 e6 ldi r30, 0x66 ; 102 + 19aa: f4 e2 ldi r31, 0x24 ; 36 + 19ac: 14 86 std Z+12, r1 ; 0x0c + 19ae: 15 86 std Z+13, r1 ; 0x0d + 19b0: 16 86 std Z+14, r1 ; 0x0e + 19b2: 17 86 std Z+15, r1 ; 0x0f + 19b4: 12 86 std Z+10, r1 ; 0x0a + 19b6: 13 86 std Z+11, r1 ; 0x0b + 19b8: 10 92 0d 22 sts 0x220D, r1 ; 0x80220d + 19bc: 0f 91 pop r16 + 19be: 08 95 ret -000019e0 : - 19e0: 0f 93 push r16 - 19e2: 85 e0 ldi r24, 0x05 ; 5 - 19e4: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 19e8: e9 e2 ldi r30, 0x29 ; 41 - 19ea: f2 e2 ldi r31, 0x22 ; 34 - 19ec: 04 e0 ldi r16, 0x04 ; 4 - 19ee: 05 93 las Z, r16 - 19f0: e1 e2 ldi r30, 0x21 ; 33 - 19f2: f2 e2 ldi r31, 0x22 ; 34 - 19f4: 04 e0 ldi r16, 0x04 ; 4 - 19f6: 05 93 las Z, r16 - 19f8: 0f 91 pop r16 - 19fa: 08 95 ret +000019c0 : + 19c0: 0f 93 push r16 + 19c2: 85 e0 ldi r24, 0x05 ; 5 + 19c4: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 19c8: e9 e2 ldi r30, 0x29 ; 41 + 19ca: f2 e2 ldi r31, 0x22 ; 34 + 19cc: 04 e0 ldi r16, 0x04 ; 4 + 19ce: 05 93 las Z, r16 + 19d0: e1 e2 ldi r30, 0x21 ; 33 + 19d2: f2 e2 ldi r31, 0x22 ; 34 + 19d4: 04 e0 ldi r16, 0x04 ; 4 + 19d6: 05 93 las Z, r16 + 19d8: 0f 91 pop r16 + 19da: 08 95 ret -000019fc : - 19fc: 0f 93 push r16 - 19fe: 83 e0 ldi r24, 0x03 ; 3 - 1a00: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 1a04: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a - 1a08: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b - 1a0c: e8 e2 ldi r30, 0x28 ; 40 - 1a0e: f2 e2 ldi r31, 0x22 ; 34 - 1a10: 02 e0 ldi r16, 0x02 ; 2 - 1a12: 06 93 lac Z, r16 - 1a14: 0f 91 pop r16 - 1a16: 08 95 ret +000019dc : + 19dc: 0f 93 push r16 + 19de: 83 e0 ldi r24, 0x03 ; 3 + 19e0: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 19e4: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a + 19e8: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b + 19ec: e8 e2 ldi r30, 0x28 ; 40 + 19ee: f2 e2 ldi r31, 0x22 ; 34 + 19f0: 02 e0 ldi r16, 0x02 ; 2 + 19f2: 06 93 lac Z, r16 + 19f4: 0f 91 pop r16 + 19f6: 08 95 ret -00001a18 : - 1a18: e0 91 72 24 lds r30, 0x2472 ; 0x802472 - 1a1c: f0 91 73 24 lds r31, 0x2473 ; 0x802473 - 1a20: 30 97 sbiw r30, 0x00 ; 0 - 1a22: 09 f0 breq .+2 ; 0x1a26 - 1a24: 09 94 ijmp - 1a26: 08 95 ret +000019f8 : + 19f8: e0 91 72 24 lds r30, 0x2472 ; 0x802472 + 19fc: f0 91 73 24 lds r31, 0x2473 ; 0x802473 + 1a00: 30 97 sbiw r30, 0x00 ; 0 + 1a02: 09 f0 breq .+2 ; 0x1a06 + 1a04: 09 94 ijmp + 1a06: 08 95 ret -00001a28 : - 1a28: 28 2f mov r18, r24 - 1a2a: 2f 70 andi r18, 0x0F ; 15 - 1a2c: 08 2e mov r0, r24 - 1a2e: 00 0c add r0, r0 - 1a30: 99 0b sbc r25, r25 - 1a32: 39 2f mov r19, r25 - 1a34: 33 1f adc r19, r19 - 1a36: 33 27 eor r19, r19 - 1a38: 33 1f adc r19, r19 - 1a3a: 83 2f mov r24, r19 - 1a3c: 90 e0 ldi r25, 0x00 ; 0 - 1a3e: 82 0f add r24, r18 - 1a40: 91 1d adc r25, r1 - 1a42: 82 0f add r24, r18 - 1a44: 91 1d adc r25, r1 - 1a46: 02 97 sbiw r24, 0x02 ; 2 - 1a48: 49 e0 ldi r20, 0x09 ; 9 - 1a4a: 48 9f mul r20, r24 - 1a4c: 90 01 movw r18, r0 - 1a4e: 49 9f mul r20, r25 - 1a50: 30 0d add r19, r0 - 1a52: 11 24 eor r1, r1 - 1a54: c9 01 movw r24, r18 - 1a56: 8d 56 subi r24, 0x6D ; 109 - 1a58: 9e 4d sbci r25, 0xDE ; 222 - 1a5a: 08 95 ret +00001a08 : + 1a08: 28 2f mov r18, r24 + 1a0a: 2f 70 andi r18, 0x0F ; 15 + 1a0c: 08 2e mov r0, r24 + 1a0e: 00 0c add r0, r0 + 1a10: 99 0b sbc r25, r25 + 1a12: 39 2f mov r19, r25 + 1a14: 33 1f adc r19, r19 + 1a16: 33 27 eor r19, r19 + 1a18: 33 1f adc r19, r19 + 1a1a: 83 2f mov r24, r19 + 1a1c: 90 e0 ldi r25, 0x00 ; 0 + 1a1e: 82 0f add r24, r18 + 1a20: 91 1d adc r25, r1 + 1a22: 82 0f add r24, r18 + 1a24: 91 1d adc r25, r1 + 1a26: 02 97 sbiw r24, 0x02 ; 2 + 1a28: 49 e0 ldi r20, 0x09 ; 9 + 1a2a: 48 9f mul r20, r24 + 1a2c: 90 01 movw r18, r0 + 1a2e: 49 9f mul r20, r25 + 1a30: 30 0d add r19, r0 + 1a32: 11 24 eor r1, r1 + 1a34: c9 01 movw r24, r18 + 1a36: 8d 56 subi r24, 0x6D ; 109 + 1a38: 9e 4d sbci r25, 0xDE ; 222 + 1a3a: 08 95 ret -00001a5c : - 1a5c: 8f 92 push r8 - 1a5e: 9f 92 push r9 - 1a60: af 92 push r10 - 1a62: bf 92 push r11 - 1a64: df 92 push r13 - 1a66: ef 92 push r14 - 1a68: ff 92 push r15 - 1a6a: 0f 93 push r16 - 1a6c: 1f 93 push r17 - 1a6e: cf 93 push r28 - 1a70: df 93 push r29 - 1a72: d8 2e mov r13, r24 - 1a74: d9 df rcall .-78 ; 0x1a28 - 1a76: ec 01 movw r28, r24 - 1a78: 8d 2d mov r24, r13 - 1a7a: 74 df rcall .-280 ; 0x1964 - 1a7c: 7c 01 movw r14, r24 - 1a7e: dc 01 movw r26, r24 - 1a80: 11 96 adiw r26, 0x01 ; 1 - 1a82: ec 91 ld r30, X - 1a84: e7 70 andi r30, 0x07 ; 7 - 1a86: e1 50 subi r30, 0x01 ; 1 - 1a88: e7 30 cpi r30, 0x07 ; 7 - 1a8a: 40 f4 brcc .+16 ; 0x1a9c - 1a8c: f0 e0 ldi r31, 0x00 ; 0 - 1a8e: ee 0f add r30, r30 - 1a90: ff 1f adc r31, r31 - 1a92: ee 54 subi r30, 0x4E ; 78 - 1a94: ff 4d sbci r31, 0xDF ; 223 - 1a96: 00 81 ld r16, Z - 1a98: 11 81 ldd r17, Z+1 ; 0x01 - 1a9a: 02 c0 rjmp .+4 ; 0x1aa0 - 1a9c: 08 e0 ldi r16, 0x08 ; 8 - 1a9e: 10 e0 ldi r17, 0x00 ; 0 - 1aa0: ed 81 ldd r30, Y+5 ; 0x05 - 1aa2: fe 81 ldd r31, Y+6 ; 0x06 - 1aa4: 2b 81 ldd r18, Y+3 ; 0x03 - 1aa6: 3c 81 ldd r19, Y+4 ; 0x04 - 1aa8: 48 81 ld r20, Y - 1aaa: d7 01 movw r26, r14 - 1aac: d7 fe sbrs r13, 7 - 1aae: 48 c0 rjmp .+144 ; 0x1b40 - 1ab0: 16 96 adiw r26, 0x06 ; 6 - 1ab2: 8d 91 ld r24, X+ - 1ab4: 9c 91 ld r25, X - 1ab6: 17 97 sbiw r26, 0x07 ; 7 - 1ab8: 8e 0f add r24, r30 - 1aba: 9f 1f adc r25, r31 - 1abc: 8d 83 std Y+5, r24 ; 0x05 - 1abe: 9e 83 std Y+6, r25 ; 0x06 - 1ac0: 82 17 cp r24, r18 - 1ac2: 93 07 cpc r25, r19 - 1ac4: 61 f1 breq .+88 ; 0x1b1e - 1ac6: 28 1b sub r18, r24 - 1ac8: 39 0b sbc r19, r25 - 1aca: 21 15 cp r18, r1 - 1acc: b4 e0 ldi r27, 0x04 ; 4 - 1ace: 3b 07 cpc r19, r27 - 1ad0: 38 f0 brcs .+14 ; 0x1ae0 - 1ad2: 2f ef ldi r18, 0xFF ; 255 - 1ad4: 33 e0 ldi r19, 0x03 ; 3 - 1ad6: c9 01 movw r24, r18 - 1ad8: b8 01 movw r22, r16 - 1ada: 13 d5 rcall .+2598 ; 0x2502 <__udivmodhi4> - 1adc: 28 1b sub r18, r24 - 1ade: 39 0b sbc r19, r25 - 1ae0: 41 ff sbrs r20, 1 - 1ae2: 0a c0 rjmp .+20 ; 0x1af8 - 1ae4: c9 01 movw r24, r18 - 1ae6: b8 01 movw r22, r16 - 1ae8: 0c d5 rcall .+2584 ; 0x2502 <__udivmodhi4> - 1aea: ac 01 movw r20, r24 - 1aec: 91 e0 ldi r25, 0x01 ; 1 - 1aee: 45 2b or r20, r21 - 1af0: 09 f0 breq .+2 ; 0x1af4 - 1af2: 90 e0 ldi r25, 0x00 ; 0 - 1af4: 89 2f mov r24, r25 - 1af6: 01 c0 rjmp .+2 ; 0x1afa - 1af8: 80 e0 ldi r24, 0x00 ; 0 - 1afa: 98 81 ld r25, Y - 1afc: 80 fb bst r24, 0 - 1afe: 91 f9 bld r25, 1 - 1b00: 98 83 st Y, r25 - 1b02: f7 01 movw r30, r14 - 1b04: 16 82 std Z+6, r1 ; 0x06 - 1b06: 17 82 std Z+7, r1 ; 0x07 - 1b08: 22 83 std Z+2, r18 ; 0x02 - 1b0a: 33 83 std Z+3, r19 ; 0x03 - 1b0c: 29 81 ldd r18, Y+1 ; 0x01 - 1b0e: 3a 81 ldd r19, Y+2 ; 0x02 - 1b10: 8d 81 ldd r24, Y+5 ; 0x05 - 1b12: 9e 81 ldd r25, Y+6 ; 0x06 - 1b14: 82 0f add r24, r18 - 1b16: 93 1f adc r25, r19 - 1b18: 84 83 std Z+4, r24 ; 0x04 - 1b1a: 95 83 std Z+5, r25 ; 0x05 - 1b1c: 0e c0 rjmp .+28 ; 0x1b3a - 1b1e: 41 ff sbrs r20, 1 - 1b20: 71 c0 rjmp .+226 ; 0x1c04 - 1b22: 4d 7f andi r20, 0xFD ; 253 - 1b24: 48 83 st Y, r20 - 1b26: d7 01 movw r26, r14 - 1b28: 16 96 adiw r26, 0x06 ; 6 - 1b2a: 1d 92 st X+, r1 - 1b2c: 1c 92 st X, r1 - 1b2e: 17 97 sbiw r26, 0x07 ; 7 - 1b30: 12 96 adiw r26, 0x02 ; 2 - 1b32: 1d 92 st X+, r1 - 1b34: 1c 92 st X, r1 - 1b36: 13 97 sbiw r26, 0x03 ; 3 - 1b38: f7 01 movw r30, r14 - 1b3a: 02 e0 ldi r16, 0x02 ; 2 - 1b3c: 06 93 lac Z, r16 - 1b3e: 7b c0 rjmp .+246 ; 0x1c36 - 1b40: 12 96 adiw r26, 0x02 ; 2 - 1b42: ad 90 ld r10, X+ - 1b44: bc 90 ld r11, X - 1b46: 13 97 sbiw r26, 0x03 ; 3 - 1b48: 42 ff sbrs r20, 2 - 1b4a: 10 c0 rjmp .+32 ; 0x1b6c - 1b4c: 89 80 ldd r8, Y+1 ; 0x01 - 1b4e: 9a 80 ldd r9, Y+2 ; 0x02 - 1b50: c9 01 movw r24, r18 - 1b52: b8 01 movw r22, r16 - 1b54: d6 d4 rcall .+2476 ; 0x2502 <__udivmodhi4> - 1b56: b0 e4 ldi r27, 0x40 ; 64 - 1b58: db 9e mul r13, r27 - 1b5a: b0 01 movw r22, r0 - 1b5c: 11 24 eor r1, r1 - 1b5e: 6d 56 subi r22, 0x6D ; 109 - 1b60: 7f 4d sbci r23, 0xDF ; 223 - 1b62: ac 01 movw r20, r24 - 1b64: c4 01 movw r24, r8 - 1b66: 8e 0f add r24, r30 - 1b68: 9f 1f adc r25, r31 - 1b6a: e5 d4 rcall .+2506 ; 0x2536 - 1b6c: 8d 81 ldd r24, Y+5 ; 0x05 - 1b6e: 9e 81 ldd r25, Y+6 ; 0x06 - 1b70: 8a 0d add r24, r10 - 1b72: 9b 1d adc r25, r11 - 1b74: 8d 83 std Y+5, r24 ; 0x05 - 1b76: 9e 83 std Y+6, r25 ; 0x06 - 1b78: 2b 81 ldd r18, Y+3 ; 0x03 - 1b7a: 3c 81 ldd r19, Y+4 ; 0x04 - 1b7c: 28 17 cp r18, r24 - 1b7e: 39 07 cpc r19, r25 - 1b80: 10 f4 brcc .+4 ; 0x1b86 - 1b82: 2d 83 std Y+5, r18 ; 0x05 - 1b84: 3e 83 std Y+6, r19 ; 0x06 - 1b86: f7 01 movw r30, r14 - 1b88: 86 81 ldd r24, Z+6 ; 0x06 - 1b8a: 97 81 ldd r25, Z+7 ; 0x07 - 1b8c: a8 16 cp r10, r24 - 1b8e: b9 06 cpc r11, r25 - 1b90: c9 f5 brne .+114 ; 0x1c04 - 1b92: 8d 81 ldd r24, Y+5 ; 0x05 - 1b94: 9e 81 ldd r25, Y+6 ; 0x06 - 1b96: 82 17 cp r24, r18 - 1b98: 93 07 cpc r25, r19 - 1b9a: a1 f1 breq .+104 ; 0x1c04 - 1b9c: 28 1b sub r18, r24 - 1b9e: 39 0b sbc r19, r25 - 1ba0: 21 15 cp r18, r1 - 1ba2: f4 e0 ldi r31, 0x04 ; 4 - 1ba4: 3f 07 cpc r19, r31 - 1ba6: 10 f0 brcs .+4 ; 0x1bac - 1ba8: 2f ef ldi r18, 0xFF ; 255 - 1baa: 33 e0 ldi r19, 0x03 ; 3 - 1bac: c9 01 movw r24, r18 - 1bae: b8 01 movw r22, r16 - 1bb0: a8 d4 rcall .+2384 ; 0x2502 <__udivmodhi4> - 1bb2: 28 1b sub r18, r24 - 1bb4: 39 0b sbc r19, r25 - 1bb6: d7 01 movw r26, r14 - 1bb8: 12 96 adiw r26, 0x02 ; 2 - 1bba: 1d 92 st X+, r1 - 1bbc: 1c 92 st X, r1 - 1bbe: 13 97 sbiw r26, 0x03 ; 3 - 1bc0: 20 17 cp r18, r16 - 1bc2: 31 07 cpc r19, r17 - 1bc4: 78 f4 brcc .+30 ; 0x1be4 - 1bc6: 88 81 ld r24, Y - 1bc8: 84 60 ori r24, 0x04 ; 4 - 1bca: 88 83 st Y, r24 - 1bcc: b0 e4 ldi r27, 0x40 ; 64 - 1bce: db 9e mul r13, r27 - 1bd0: c0 01 movw r24, r0 - 1bd2: 11 24 eor r1, r1 - 1bd4: 8d 56 subi r24, 0x6D ; 109 - 1bd6: 9f 4d sbci r25, 0xDF ; 223 - 1bd8: f7 01 movw r30, r14 - 1bda: 84 83 std Z+4, r24 ; 0x04 - 1bdc: 95 83 std Z+5, r25 ; 0x05 - 1bde: 06 83 std Z+6, r16 ; 0x06 - 1be0: 17 83 std Z+7, r17 ; 0x07 - 1be2: aa cf rjmp .-172 ; 0x1b38 - 1be4: 49 81 ldd r20, Y+1 ; 0x01 - 1be6: 5a 81 ldd r21, Y+2 ; 0x02 - 1be8: 8d 81 ldd r24, Y+5 ; 0x05 - 1bea: 9e 81 ldd r25, Y+6 ; 0x06 - 1bec: 84 0f add r24, r20 - 1bee: 95 1f adc r25, r21 - 1bf0: d7 01 movw r26, r14 - 1bf2: 14 96 adiw r26, 0x04 ; 4 - 1bf4: 8d 93 st X+, r24 - 1bf6: 9c 93 st X, r25 - 1bf8: 15 97 sbiw r26, 0x05 ; 5 - 1bfa: 16 96 adiw r26, 0x06 ; 6 - 1bfc: 2d 93 st X+, r18 - 1bfe: 3c 93 st X, r19 - 1c00: 17 97 sbiw r26, 0x07 ; 7 - 1c02: 9a cf rjmp .-204 ; 0x1b38 - 1c04: 88 81 ld r24, Y - 1c06: 80 ff sbrs r24, 0 - 1c08: 16 c0 rjmp .+44 ; 0x1c36 - 1c0a: 8e 7f andi r24, 0xFE ; 254 - 1c0c: 88 83 st Y, r24 - 1c0e: ef 81 ldd r30, Y+7 ; 0x07 - 1c10: f8 85 ldd r31, Y+8 ; 0x08 - 1c12: 30 97 sbiw r30, 0x00 ; 0 - 1c14: 81 f0 breq .+32 ; 0x1c36 - 1c16: 6d 81 ldd r22, Y+5 ; 0x05 - 1c18: 7e 81 ldd r23, Y+6 ; 0x06 - 1c1a: 4d 2d mov r20, r13 - 1c1c: 80 e0 ldi r24, 0x00 ; 0 - 1c1e: df 91 pop r29 - 1c20: cf 91 pop r28 - 1c22: 1f 91 pop r17 - 1c24: 0f 91 pop r16 - 1c26: ff 90 pop r15 - 1c28: ef 90 pop r14 - 1c2a: df 90 pop r13 - 1c2c: bf 90 pop r11 - 1c2e: af 90 pop r10 - 1c30: 9f 90 pop r9 - 1c32: 8f 90 pop r8 - 1c34: 09 94 ijmp - 1c36: df 91 pop r29 - 1c38: cf 91 pop r28 - 1c3a: 1f 91 pop r17 - 1c3c: 0f 91 pop r16 - 1c3e: ff 90 pop r15 - 1c40: ef 90 pop r14 - 1c42: df 90 pop r13 - 1c44: bf 90 pop r11 - 1c46: af 90 pop r10 - 1c48: 9f 90 pop r9 - 1c4a: 8f 90 pop r8 - 1c4c: 08 95 ret +00001a3c : + 1a3c: 8f 92 push r8 + 1a3e: 9f 92 push r9 + 1a40: af 92 push r10 + 1a42: bf 92 push r11 + 1a44: df 92 push r13 + 1a46: ef 92 push r14 + 1a48: ff 92 push r15 + 1a4a: 0f 93 push r16 + 1a4c: 1f 93 push r17 + 1a4e: cf 93 push r28 + 1a50: df 93 push r29 + 1a52: d8 2e mov r13, r24 + 1a54: d9 df rcall .-78 ; 0x1a08 + 1a56: ec 01 movw r28, r24 + 1a58: 8d 2d mov r24, r13 + 1a5a: 74 df rcall .-280 ; 0x1944 + 1a5c: 7c 01 movw r14, r24 + 1a5e: dc 01 movw r26, r24 + 1a60: 11 96 adiw r26, 0x01 ; 1 + 1a62: ec 91 ld r30, X + 1a64: e7 70 andi r30, 0x07 ; 7 + 1a66: e1 50 subi r30, 0x01 ; 1 + 1a68: e7 30 cpi r30, 0x07 ; 7 + 1a6a: 40 f4 brcc .+16 ; 0x1a7c + 1a6c: f0 e0 ldi r31, 0x00 ; 0 + 1a6e: ee 0f add r30, r30 + 1a70: ff 1f adc r31, r31 + 1a72: ee 54 subi r30, 0x4E ; 78 + 1a74: ff 4d sbci r31, 0xDF ; 223 + 1a76: 00 81 ld r16, Z + 1a78: 11 81 ldd r17, Z+1 ; 0x01 + 1a7a: 02 c0 rjmp .+4 ; 0x1a80 + 1a7c: 08 e0 ldi r16, 0x08 ; 8 + 1a7e: 10 e0 ldi r17, 0x00 ; 0 + 1a80: ed 81 ldd r30, Y+5 ; 0x05 + 1a82: fe 81 ldd r31, Y+6 ; 0x06 + 1a84: 2b 81 ldd r18, Y+3 ; 0x03 + 1a86: 3c 81 ldd r19, Y+4 ; 0x04 + 1a88: 48 81 ld r20, Y + 1a8a: d7 01 movw r26, r14 + 1a8c: d7 fe sbrs r13, 7 + 1a8e: 48 c0 rjmp .+144 ; 0x1b20 + 1a90: 16 96 adiw r26, 0x06 ; 6 + 1a92: 8d 91 ld r24, X+ + 1a94: 9c 91 ld r25, X + 1a96: 17 97 sbiw r26, 0x07 ; 7 + 1a98: 8e 0f add r24, r30 + 1a9a: 9f 1f adc r25, r31 + 1a9c: 8d 83 std Y+5, r24 ; 0x05 + 1a9e: 9e 83 std Y+6, r25 ; 0x06 + 1aa0: 82 17 cp r24, r18 + 1aa2: 93 07 cpc r25, r19 + 1aa4: 61 f1 breq .+88 ; 0x1afe + 1aa6: 28 1b sub r18, r24 + 1aa8: 39 0b sbc r19, r25 + 1aaa: 21 15 cp r18, r1 + 1aac: b4 e0 ldi r27, 0x04 ; 4 + 1aae: 3b 07 cpc r19, r27 + 1ab0: 38 f0 brcs .+14 ; 0x1ac0 + 1ab2: 2f ef ldi r18, 0xFF ; 255 + 1ab4: 33 e0 ldi r19, 0x03 ; 3 + 1ab6: c9 01 movw r24, r18 + 1ab8: b8 01 movw r22, r16 + 1aba: 13 d5 rcall .+2598 ; 0x24e2 <__udivmodhi4> + 1abc: 28 1b sub r18, r24 + 1abe: 39 0b sbc r19, r25 + 1ac0: 41 ff sbrs r20, 1 + 1ac2: 0a c0 rjmp .+20 ; 0x1ad8 + 1ac4: c9 01 movw r24, r18 + 1ac6: b8 01 movw r22, r16 + 1ac8: 0c d5 rcall .+2584 ; 0x24e2 <__udivmodhi4> + 1aca: ac 01 movw r20, r24 + 1acc: 91 e0 ldi r25, 0x01 ; 1 + 1ace: 45 2b or r20, r21 + 1ad0: 09 f0 breq .+2 ; 0x1ad4 + 1ad2: 90 e0 ldi r25, 0x00 ; 0 + 1ad4: 89 2f mov r24, r25 + 1ad6: 01 c0 rjmp .+2 ; 0x1ada + 1ad8: 80 e0 ldi r24, 0x00 ; 0 + 1ada: 98 81 ld r25, Y + 1adc: 80 fb bst r24, 0 + 1ade: 91 f9 bld r25, 1 + 1ae0: 98 83 st Y, r25 + 1ae2: f7 01 movw r30, r14 + 1ae4: 16 82 std Z+6, r1 ; 0x06 + 1ae6: 17 82 std Z+7, r1 ; 0x07 + 1ae8: 22 83 std Z+2, r18 ; 0x02 + 1aea: 33 83 std Z+3, r19 ; 0x03 + 1aec: 29 81 ldd r18, Y+1 ; 0x01 + 1aee: 3a 81 ldd r19, Y+2 ; 0x02 + 1af0: 8d 81 ldd r24, Y+5 ; 0x05 + 1af2: 9e 81 ldd r25, Y+6 ; 0x06 + 1af4: 82 0f add r24, r18 + 1af6: 93 1f adc r25, r19 + 1af8: 84 83 std Z+4, r24 ; 0x04 + 1afa: 95 83 std Z+5, r25 ; 0x05 + 1afc: 0e c0 rjmp .+28 ; 0x1b1a + 1afe: 41 ff sbrs r20, 1 + 1b00: 71 c0 rjmp .+226 ; 0x1be4 + 1b02: 4d 7f andi r20, 0xFD ; 253 + 1b04: 48 83 st Y, r20 + 1b06: d7 01 movw r26, r14 + 1b08: 16 96 adiw r26, 0x06 ; 6 + 1b0a: 1d 92 st X+, r1 + 1b0c: 1c 92 st X, r1 + 1b0e: 17 97 sbiw r26, 0x07 ; 7 + 1b10: 12 96 adiw r26, 0x02 ; 2 + 1b12: 1d 92 st X+, r1 + 1b14: 1c 92 st X, r1 + 1b16: 13 97 sbiw r26, 0x03 ; 3 + 1b18: f7 01 movw r30, r14 + 1b1a: 02 e0 ldi r16, 0x02 ; 2 + 1b1c: 06 93 lac Z, r16 + 1b1e: 7b c0 rjmp .+246 ; 0x1c16 + 1b20: 12 96 adiw r26, 0x02 ; 2 + 1b22: ad 90 ld r10, X+ + 1b24: bc 90 ld r11, X + 1b26: 13 97 sbiw r26, 0x03 ; 3 + 1b28: 42 ff sbrs r20, 2 + 1b2a: 10 c0 rjmp .+32 ; 0x1b4c + 1b2c: 89 80 ldd r8, Y+1 ; 0x01 + 1b2e: 9a 80 ldd r9, Y+2 ; 0x02 + 1b30: c9 01 movw r24, r18 + 1b32: b8 01 movw r22, r16 + 1b34: d6 d4 rcall .+2476 ; 0x24e2 <__udivmodhi4> + 1b36: b0 e4 ldi r27, 0x40 ; 64 + 1b38: db 9e mul r13, r27 + 1b3a: b0 01 movw r22, r0 + 1b3c: 11 24 eor r1, r1 + 1b3e: 6d 56 subi r22, 0x6D ; 109 + 1b40: 7f 4d sbci r23, 0xDF ; 223 + 1b42: ac 01 movw r20, r24 + 1b44: c4 01 movw r24, r8 + 1b46: 8e 0f add r24, r30 + 1b48: 9f 1f adc r25, r31 + 1b4a: e5 d4 rcall .+2506 ; 0x2516 + 1b4c: 8d 81 ldd r24, Y+5 ; 0x05 + 1b4e: 9e 81 ldd r25, Y+6 ; 0x06 + 1b50: 8a 0d add r24, r10 + 1b52: 9b 1d adc r25, r11 + 1b54: 8d 83 std Y+5, r24 ; 0x05 + 1b56: 9e 83 std Y+6, r25 ; 0x06 + 1b58: 2b 81 ldd r18, Y+3 ; 0x03 + 1b5a: 3c 81 ldd r19, Y+4 ; 0x04 + 1b5c: 28 17 cp r18, r24 + 1b5e: 39 07 cpc r19, r25 + 1b60: 10 f4 brcc .+4 ; 0x1b66 + 1b62: 2d 83 std Y+5, r18 ; 0x05 + 1b64: 3e 83 std Y+6, r19 ; 0x06 + 1b66: f7 01 movw r30, r14 + 1b68: 86 81 ldd r24, Z+6 ; 0x06 + 1b6a: 97 81 ldd r25, Z+7 ; 0x07 + 1b6c: a8 16 cp r10, r24 + 1b6e: b9 06 cpc r11, r25 + 1b70: c9 f5 brne .+114 ; 0x1be4 + 1b72: 8d 81 ldd r24, Y+5 ; 0x05 + 1b74: 9e 81 ldd r25, Y+6 ; 0x06 + 1b76: 82 17 cp r24, r18 + 1b78: 93 07 cpc r25, r19 + 1b7a: a1 f1 breq .+104 ; 0x1be4 + 1b7c: 28 1b sub r18, r24 + 1b7e: 39 0b sbc r19, r25 + 1b80: 21 15 cp r18, r1 + 1b82: f4 e0 ldi r31, 0x04 ; 4 + 1b84: 3f 07 cpc r19, r31 + 1b86: 10 f0 brcs .+4 ; 0x1b8c + 1b88: 2f ef ldi r18, 0xFF ; 255 + 1b8a: 33 e0 ldi r19, 0x03 ; 3 + 1b8c: c9 01 movw r24, r18 + 1b8e: b8 01 movw r22, r16 + 1b90: a8 d4 rcall .+2384 ; 0x24e2 <__udivmodhi4> + 1b92: 28 1b sub r18, r24 + 1b94: 39 0b sbc r19, r25 + 1b96: d7 01 movw r26, r14 + 1b98: 12 96 adiw r26, 0x02 ; 2 + 1b9a: 1d 92 st X+, r1 + 1b9c: 1c 92 st X, r1 + 1b9e: 13 97 sbiw r26, 0x03 ; 3 + 1ba0: 20 17 cp r18, r16 + 1ba2: 31 07 cpc r19, r17 + 1ba4: 78 f4 brcc .+30 ; 0x1bc4 + 1ba6: 88 81 ld r24, Y + 1ba8: 84 60 ori r24, 0x04 ; 4 + 1baa: 88 83 st Y, r24 + 1bac: b0 e4 ldi r27, 0x40 ; 64 + 1bae: db 9e mul r13, r27 + 1bb0: c0 01 movw r24, r0 + 1bb2: 11 24 eor r1, r1 + 1bb4: 8d 56 subi r24, 0x6D ; 109 + 1bb6: 9f 4d sbci r25, 0xDF ; 223 + 1bb8: f7 01 movw r30, r14 + 1bba: 84 83 std Z+4, r24 ; 0x04 + 1bbc: 95 83 std Z+5, r25 ; 0x05 + 1bbe: 06 83 std Z+6, r16 ; 0x06 + 1bc0: 17 83 std Z+7, r17 ; 0x07 + 1bc2: aa cf rjmp .-172 ; 0x1b18 + 1bc4: 49 81 ldd r20, Y+1 ; 0x01 + 1bc6: 5a 81 ldd r21, Y+2 ; 0x02 + 1bc8: 8d 81 ldd r24, Y+5 ; 0x05 + 1bca: 9e 81 ldd r25, Y+6 ; 0x06 + 1bcc: 84 0f add r24, r20 + 1bce: 95 1f adc r25, r21 + 1bd0: d7 01 movw r26, r14 + 1bd2: 14 96 adiw r26, 0x04 ; 4 + 1bd4: 8d 93 st X+, r24 + 1bd6: 9c 93 st X, r25 + 1bd8: 15 97 sbiw r26, 0x05 ; 5 + 1bda: 16 96 adiw r26, 0x06 ; 6 + 1bdc: 2d 93 st X+, r18 + 1bde: 3c 93 st X, r19 + 1be0: 17 97 sbiw r26, 0x07 ; 7 + 1be2: 9a cf rjmp .-204 ; 0x1b18 + 1be4: 88 81 ld r24, Y + 1be6: 80 ff sbrs r24, 0 + 1be8: 16 c0 rjmp .+44 ; 0x1c16 + 1bea: 8e 7f andi r24, 0xFE ; 254 + 1bec: 88 83 st Y, r24 + 1bee: ef 81 ldd r30, Y+7 ; 0x07 + 1bf0: f8 85 ldd r31, Y+8 ; 0x08 + 1bf2: 30 97 sbiw r30, 0x00 ; 0 + 1bf4: 81 f0 breq .+32 ; 0x1c16 + 1bf6: 6d 81 ldd r22, Y+5 ; 0x05 + 1bf8: 7e 81 ldd r23, Y+6 ; 0x06 + 1bfa: 4d 2d mov r20, r13 + 1bfc: 80 e0 ldi r24, 0x00 ; 0 + 1bfe: df 91 pop r29 + 1c00: cf 91 pop r28 + 1c02: 1f 91 pop r17 + 1c04: 0f 91 pop r16 + 1c06: ff 90 pop r15 + 1c08: ef 90 pop r14 + 1c0a: df 90 pop r13 + 1c0c: bf 90 pop r11 + 1c0e: af 90 pop r10 + 1c10: 9f 90 pop r9 + 1c12: 8f 90 pop r8 + 1c14: 09 94 ijmp + 1c16: df 91 pop r29 + 1c18: cf 91 pop r28 + 1c1a: 1f 91 pop r17 + 1c1c: 0f 91 pop r16 + 1c1e: ff 90 pop r15 + 1c20: ef 90 pop r14 + 1c22: df 90 pop r13 + 1c24: bf 90 pop r11 + 1c26: af 90 pop r10 + 1c28: 9f 90 pop r9 + 1c2a: 8f 90 pop r8 + 1c2c: 08 95 ret -00001c4e : - 1c4e: 0f 93 push r16 - 1c50: cf 93 push r28 - 1c52: df 93 push r29 - 1c54: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 1c58: 83 30 cpi r24, 0x03 ; 3 - 1c5a: 29 f4 brne .+10 ; 0x1c66 - 1c5c: dd de rcall .-582 ; 0x1a18 - 1c5e: df 91 pop r29 - 1c60: cf 91 pop r28 - 1c62: 0f 91 pop r16 - 1c64: 96 ce rjmp .-724 ; 0x1992 - 1c66: 20 91 09 22 lds r18, 0x2209 ; 0x802209 - 1c6a: 30 91 0a 22 lds r19, 0x220A ; 0x80220a - 1c6e: c0 91 70 24 lds r28, 0x2470 ; 0x802470 - 1c72: d0 91 71 24 lds r29, 0x2471 ; 0x802471 - 1c76: c2 1b sub r28, r18 - 1c78: d3 0b sbc r29, r19 - 1c7a: 61 f5 brne .+88 ; 0x1cd4 - 1c7c: 80 91 0b 22 lds r24, 0x220B ; 0x80220b - 1c80: 90 91 0c 22 lds r25, 0x220C ; 0x80220c - 1c84: 82 0f add r24, r18 - 1c86: 93 1f adc r25, r19 - 1c88: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b - 1c8c: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c - 1c90: 20 91 6c 24 lds r18, 0x246C ; 0x80246c - 1c94: 30 91 6d 24 lds r19, 0x246D ; 0x80246d - 1c98: 28 17 cp r18, r24 - 1c9a: 39 07 cpc r19, r25 - 1c9c: 21 f0 breq .+8 ; 0x1ca6 - 1c9e: 80 91 d2 20 lds r24, 0x20D2 ; 0x8020d2 - 1ca2: 88 23 and r24, r24 - 1ca4: 31 f0 breq .+12 ; 0x1cb2 - 1ca6: 84 e0 ldi r24, 0x04 ; 4 - 1ca8: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 1cac: e0 e2 ldi r30, 0x20 ; 32 - 1cae: f2 e2 ldi r31, 0x22 ; 34 - 1cb0: 36 c0 rjmp .+108 ; 0x1d1e - 1cb2: e0 91 74 24 lds r30, 0x2474 ; 0x802474 - 1cb6: f0 91 75 24 lds r31, 0x2475 ; 0x802475 - 1cba: 30 97 sbiw r30, 0x00 ; 0 - 1cbc: 99 f0 breq .+38 ; 0x1ce4 - 1cbe: 09 95 icall - 1cc0: 88 23 and r24, r24 - 1cc2: 81 f0 breq .+32 ; 0x1ce4 - 1cc4: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1cc8: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1ccc: c0 91 70 24 lds r28, 0x2470 ; 0x802470 - 1cd0: d0 91 71 24 lds r29, 0x2471 ; 0x802471 - 1cd4: c0 34 cpi r28, 0x40 ; 64 - 1cd6: d1 05 cpc r29, r1 - 1cd8: 28 f0 brcs .+10 ; 0x1ce4 - 1cda: 10 92 d2 20 sts 0x20D2, r1 ; 0x8020d2 - 1cde: c0 e4 ldi r28, 0x40 ; 64 - 1ce0: d0 e0 ldi r29, 0x00 ; 0 - 1ce2: 03 c0 rjmp .+6 ; 0x1cea - 1ce4: 81 e0 ldi r24, 0x01 ; 1 - 1ce6: 80 93 d2 20 sts 0x20D2, r24 ; 0x8020d2 - 1cea: c0 93 2a 22 sts 0x222A, r28 ; 0x80222a - 1cee: d0 93 2b 22 sts 0x222B, r29 ; 0x80222b - 1cf2: 80 91 09 22 lds r24, 0x2209 ; 0x802209 - 1cf6: 90 91 0a 22 lds r25, 0x220A ; 0x80220a - 1cfa: 20 91 6e 24 lds r18, 0x246E ; 0x80246e - 1cfe: 30 91 6f 24 lds r19, 0x246F ; 0x80246f - 1d02: 28 0f add r18, r24 - 1d04: 39 1f adc r19, r25 - 1d06: 20 93 2c 22 sts 0x222C, r18 ; 0x80222c - 1d0a: 30 93 2d 22 sts 0x222D, r19 ; 0x80222d - 1d0e: c8 0f add r28, r24 - 1d10: d9 1f adc r29, r25 - 1d12: c0 93 09 22 sts 0x2209, r28 ; 0x802209 - 1d16: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a - 1d1a: e8 e2 ldi r30, 0x28 ; 40 - 1d1c: f2 e2 ldi r31, 0x22 ; 34 - 1d1e: 02 e0 ldi r16, 0x02 ; 2 - 1d20: 06 93 lac Z, r16 - 1d22: df 91 pop r29 - 1d24: cf 91 pop r28 - 1d26: 0f 91 pop r16 - 1d28: 08 95 ret +00001c2e : + 1c2e: 0f 93 push r16 + 1c30: cf 93 push r28 + 1c32: df 93 push r29 + 1c34: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 1c38: 83 30 cpi r24, 0x03 ; 3 + 1c3a: 29 f4 brne .+10 ; 0x1c46 + 1c3c: dd de rcall .-582 ; 0x19f8 + 1c3e: df 91 pop r29 + 1c40: cf 91 pop r28 + 1c42: 0f 91 pop r16 + 1c44: 96 ce rjmp .-724 ; 0x1972 + 1c46: 20 91 09 22 lds r18, 0x2209 ; 0x802209 + 1c4a: 30 91 0a 22 lds r19, 0x220A ; 0x80220a + 1c4e: c0 91 70 24 lds r28, 0x2470 ; 0x802470 + 1c52: d0 91 71 24 lds r29, 0x2471 ; 0x802471 + 1c56: c2 1b sub r28, r18 + 1c58: d3 0b sbc r29, r19 + 1c5a: 61 f5 brne .+88 ; 0x1cb4 + 1c5c: 80 91 0b 22 lds r24, 0x220B ; 0x80220b + 1c60: 90 91 0c 22 lds r25, 0x220C ; 0x80220c + 1c64: 82 0f add r24, r18 + 1c66: 93 1f adc r25, r19 + 1c68: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b + 1c6c: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c + 1c70: 20 91 6c 24 lds r18, 0x246C ; 0x80246c + 1c74: 30 91 6d 24 lds r19, 0x246D ; 0x80246d + 1c78: 28 17 cp r18, r24 + 1c7a: 39 07 cpc r19, r25 + 1c7c: 21 f0 breq .+8 ; 0x1c86 + 1c7e: 80 91 d2 20 lds r24, 0x20D2 ; 0x8020d2 + 1c82: 88 23 and r24, r24 + 1c84: 31 f0 breq .+12 ; 0x1c92 + 1c86: 84 e0 ldi r24, 0x04 ; 4 + 1c88: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 1c8c: e0 e2 ldi r30, 0x20 ; 32 + 1c8e: f2 e2 ldi r31, 0x22 ; 34 + 1c90: 36 c0 rjmp .+108 ; 0x1cfe + 1c92: e0 91 74 24 lds r30, 0x2474 ; 0x802474 + 1c96: f0 91 75 24 lds r31, 0x2475 ; 0x802475 + 1c9a: 30 97 sbiw r30, 0x00 ; 0 + 1c9c: 99 f0 breq .+38 ; 0x1cc4 + 1c9e: 09 95 icall + 1ca0: 88 23 and r24, r24 + 1ca2: 81 f0 breq .+32 ; 0x1cc4 + 1ca4: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1ca8: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1cac: c0 91 70 24 lds r28, 0x2470 ; 0x802470 + 1cb0: d0 91 71 24 lds r29, 0x2471 ; 0x802471 + 1cb4: c0 34 cpi r28, 0x40 ; 64 + 1cb6: d1 05 cpc r29, r1 + 1cb8: 28 f0 brcs .+10 ; 0x1cc4 + 1cba: 10 92 d2 20 sts 0x20D2, r1 ; 0x8020d2 + 1cbe: c0 e4 ldi r28, 0x40 ; 64 + 1cc0: d0 e0 ldi r29, 0x00 ; 0 + 1cc2: 03 c0 rjmp .+6 ; 0x1cca + 1cc4: 81 e0 ldi r24, 0x01 ; 1 + 1cc6: 80 93 d2 20 sts 0x20D2, r24 ; 0x8020d2 + 1cca: c0 93 2a 22 sts 0x222A, r28 ; 0x80222a + 1cce: d0 93 2b 22 sts 0x222B, r29 ; 0x80222b + 1cd2: 80 91 09 22 lds r24, 0x2209 ; 0x802209 + 1cd6: 90 91 0a 22 lds r25, 0x220A ; 0x80220a + 1cda: 20 91 6e 24 lds r18, 0x246E ; 0x80246e + 1cde: 30 91 6f 24 lds r19, 0x246F ; 0x80246f + 1ce2: 28 0f add r18, r24 + 1ce4: 39 1f adc r19, r25 + 1ce6: 20 93 2c 22 sts 0x222C, r18 ; 0x80222c + 1cea: 30 93 2d 22 sts 0x222D, r19 ; 0x80222d + 1cee: c8 0f add r28, r24 + 1cf0: d9 1f adc r29, r25 + 1cf2: c0 93 09 22 sts 0x2209, r28 ; 0x802209 + 1cf6: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a + 1cfa: e8 e2 ldi r30, 0x28 ; 40 + 1cfc: f2 e2 ldi r31, 0x22 ; 34 + 1cfe: 02 e0 ldi r16, 0x02 ; 2 + 1d00: 06 93 lac Z, r16 + 1d02: df 91 pop r29 + 1d04: cf 91 pop r28 + 1d06: 0f 91 pop r16 + 1d08: 08 95 ret -00001d2a : - 1d2a: 0f 93 push r16 - 1d2c: cf 93 push r28 - 1d2e: df 93 push r29 - 1d30: 1f 92 push r1 - 1d32: cd b7 in r28, 0x3d ; 61 - 1d34: de b7 in r29, 0x3e ; 62 - 1d36: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1d3a: 80 ff sbrs r24, 0 - 1d3c: 65 c0 rjmp .+202 ; 0x1e08 - 1d3e: 21 e0 ldi r18, 0x01 ; 1 - 1d40: 20 93 cc 04 sts 0x04CC, r18 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1d44: 80 e2 ldi r24, 0x20 ; 32 - 1d46: 92 e2 ldi r25, 0x22 ; 34 - 1d48: fc 01 movw r30, r24 - 1d4a: 00 e8 ldi r16, 0x80 ; 128 - 1d4c: 06 93 lac Z, r16 - 1d4e: e8 e2 ldi r30, 0x28 ; 40 - 1d50: f2 e2 ldi r31, 0x22 ; 34 - 1d52: 00 e8 ldi r16, 0x80 ; 128 - 1d54: 06 93 lac Z, r16 - 1d56: 20 93 ca 04 sts 0x04CA, r18 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 1d5a: fc 01 movw r30, r24 - 1d5c: 00 e1 ldi r16, 0x10 ; 16 - 1d5e: 06 93 lac Z, r16 - 1d60: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 1d64: 88 23 and r24, r24 - 1d66: 29 f0 breq .+10 ; 0x1d72 - 1d68: 83 50 subi r24, 0x03 ; 3 - 1d6a: 82 30 cpi r24, 0x02 ; 2 - 1d6c: 08 f4 brcc .+2 ; 0x1d70 - 1d6e: 54 de rcall .-856 ; 0x1a18 - 1d70: 10 de rcall .-992 ; 0x1992 - 1d72: 80 91 22 22 lds r24, 0x2222 ; 0x802222 - 1d76: 90 91 23 22 lds r25, 0x2223 ; 0x802223 - 1d7a: 08 97 sbiw r24, 0x08 ; 8 - 1d7c: 09 f0 breq .+2 ; 0x1d80 - 1d7e: 46 c0 rjmp .+140 ; 0x1e0c - 1d80: 88 e0 ldi r24, 0x08 ; 8 - 1d82: e9 ec ldi r30, 0xC9 ; 201 - 1d84: f1 e2 ldi r31, 0x21 ; 33 - 1d86: a6 e6 ldi r26, 0x66 ; 102 - 1d88: b4 e2 ldi r27, 0x24 ; 36 - 1d8a: 01 90 ld r0, Z+ - 1d8c: 0d 92 st X+, r0 - 1d8e: 8a 95 dec r24 - 1d90: e1 f7 brne .-8 ; 0x1d8a - 1d92: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1d96: 80 62 ori r24, 0x20 ; 32 - 1d98: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1d9c: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1da0: 80 62 ori r24, 0x20 ; 32 - 1da2: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1da6: 68 da rcall .-2864 ; 0x1278 - 1da8: 81 11 cpse r24, r1 - 1daa: 02 c0 rjmp .+4 ; 0x1db0 - 1dac: 19 de rcall .-974 ; 0x19e0 - 1dae: 2e c0 rjmp .+92 ; 0x1e0c - 1db0: 90 91 66 24 lds r25, 0x2466 ; 0x802466 - 1db4: 97 ff sbrs r25, 7 - 1db6: 0e c0 rjmp .+28 ; 0x1dd4 - 1db8: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b - 1dbc: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c - 1dc0: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1dc4: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1dc8: 92 e0 ldi r25, 0x02 ; 2 - 1dca: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d - 1dce: 89 83 std Y+1, r24 ; 0x01 - 1dd0: 3e df rcall .-388 ; 0x1c4e - 1dd2: 08 c0 rjmp .+16 ; 0x1de4 - 1dd4: 20 91 6c 24 lds r18, 0x246C ; 0x80246c - 1dd8: 30 91 6d 24 lds r19, 0x246D ; 0x80246d - 1ddc: 23 2b or r18, r19 - 1dde: 21 f4 brne .+8 ; 0x1de8 - 1de0: 89 83 std Y+1, r24 ; 0x01 - 1de2: 0c de rcall .-1000 ; 0x19fc - 1de4: 89 81 ldd r24, Y+1 ; 0x01 - 1de6: 13 c0 rjmp .+38 ; 0x1e0e - 1de8: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b - 1dec: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c - 1df0: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1df4: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1df8: 91 e0 ldi r25, 0x01 ; 1 - 1dfa: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d - 1dfe: e0 e2 ldi r30, 0x20 ; 32 - 1e00: f2 e2 ldi r31, 0x22 ; 34 - 1e02: 02 e0 ldi r16, 0x02 ; 2 - 1e04: 06 93 lac Z, r16 - 1e06: 03 c0 rjmp .+6 ; 0x1e0e - 1e08: 80 e0 ldi r24, 0x00 ; 0 - 1e0a: 01 c0 rjmp .+2 ; 0x1e0e - 1e0c: 81 e0 ldi r24, 0x01 ; 1 - 1e0e: 0f 90 pop r0 - 1e10: df 91 pop r29 - 1e12: cf 91 pop r28 - 1e14: 0f 91 pop r16 - 1e16: 08 95 ret +00001d0a : + 1d0a: 0f 93 push r16 + 1d0c: cf 93 push r28 + 1d0e: df 93 push r29 + 1d10: 1f 92 push r1 + 1d12: cd b7 in r28, 0x3d ; 61 + 1d14: de b7 in r29, 0x3e ; 62 + 1d16: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1d1a: 80 ff sbrs r24, 0 + 1d1c: 65 c0 rjmp .+202 ; 0x1de8 + 1d1e: 21 e0 ldi r18, 0x01 ; 1 + 1d20: 20 93 cc 04 sts 0x04CC, r18 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1d24: 80 e2 ldi r24, 0x20 ; 32 + 1d26: 92 e2 ldi r25, 0x22 ; 34 + 1d28: fc 01 movw r30, r24 + 1d2a: 00 e8 ldi r16, 0x80 ; 128 + 1d2c: 06 93 lac Z, r16 + 1d2e: e8 e2 ldi r30, 0x28 ; 40 + 1d30: f2 e2 ldi r31, 0x22 ; 34 + 1d32: 00 e8 ldi r16, 0x80 ; 128 + 1d34: 06 93 lac Z, r16 + 1d36: 20 93 ca 04 sts 0x04CA, r18 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 1d3a: fc 01 movw r30, r24 + 1d3c: 00 e1 ldi r16, 0x10 ; 16 + 1d3e: 06 93 lac Z, r16 + 1d40: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 1d44: 88 23 and r24, r24 + 1d46: 29 f0 breq .+10 ; 0x1d52 + 1d48: 83 50 subi r24, 0x03 ; 3 + 1d4a: 82 30 cpi r24, 0x02 ; 2 + 1d4c: 08 f4 brcc .+2 ; 0x1d50 + 1d4e: 54 de rcall .-856 ; 0x19f8 + 1d50: 10 de rcall .-992 ; 0x1972 + 1d52: 80 91 22 22 lds r24, 0x2222 ; 0x802222 + 1d56: 90 91 23 22 lds r25, 0x2223 ; 0x802223 + 1d5a: 08 97 sbiw r24, 0x08 ; 8 + 1d5c: 09 f0 breq .+2 ; 0x1d60 + 1d5e: 46 c0 rjmp .+140 ; 0x1dec + 1d60: 88 e0 ldi r24, 0x08 ; 8 + 1d62: e9 ec ldi r30, 0xC9 ; 201 + 1d64: f1 e2 ldi r31, 0x21 ; 33 + 1d66: a6 e6 ldi r26, 0x66 ; 102 + 1d68: b4 e2 ldi r27, 0x24 ; 36 + 1d6a: 01 90 ld r0, Z+ + 1d6c: 0d 92 st X+, r0 + 1d6e: 8a 95 dec r24 + 1d70: e1 f7 brne .-8 ; 0x1d6a + 1d72: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1d76: 80 62 ori r24, 0x20 ; 32 + 1d78: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1d7c: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1d80: 80 62 ori r24, 0x20 ; 32 + 1d82: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1d86: 69 da rcall .-2862 ; 0x125a + 1d88: 81 11 cpse r24, r1 + 1d8a: 02 c0 rjmp .+4 ; 0x1d90 + 1d8c: 19 de rcall .-974 ; 0x19c0 + 1d8e: 2e c0 rjmp .+92 ; 0x1dec + 1d90: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 1d94: 97 ff sbrs r25, 7 + 1d96: 0e c0 rjmp .+28 ; 0x1db4 + 1d98: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b + 1d9c: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c + 1da0: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1da4: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1da8: 92 e0 ldi r25, 0x02 ; 2 + 1daa: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d + 1dae: 89 83 std Y+1, r24 ; 0x01 + 1db0: 3e df rcall .-388 ; 0x1c2e + 1db2: 08 c0 rjmp .+16 ; 0x1dc4 + 1db4: 20 91 6c 24 lds r18, 0x246C ; 0x80246c + 1db8: 30 91 6d 24 lds r19, 0x246D ; 0x80246d + 1dbc: 23 2b or r18, r19 + 1dbe: 21 f4 brne .+8 ; 0x1dc8 + 1dc0: 89 83 std Y+1, r24 ; 0x01 + 1dc2: 0c de rcall .-1000 ; 0x19dc + 1dc4: 89 81 ldd r24, Y+1 ; 0x01 + 1dc6: 13 c0 rjmp .+38 ; 0x1dee + 1dc8: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b + 1dcc: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c + 1dd0: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1dd4: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1dd8: 91 e0 ldi r25, 0x01 ; 1 + 1dda: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d + 1dde: e0 e2 ldi r30, 0x20 ; 32 + 1de0: f2 e2 ldi r31, 0x22 ; 34 + 1de2: 02 e0 ldi r16, 0x02 ; 2 + 1de4: 06 93 lac Z, r16 + 1de6: 03 c0 rjmp .+6 ; 0x1dee + 1de8: 80 e0 ldi r24, 0x00 ; 0 + 1dea: 01 c0 rjmp .+2 ; 0x1dee + 1dec: 81 e0 ldi r24, 0x01 ; 1 + 1dee: 0f 90 pop r0 + 1df0: df 91 pop r29 + 1df2: cf 91 pop r28 + 1df4: 0f 91 pop r16 + 1df6: 08 95 ret -00001e18 : - 1e18: cf 93 push r28 - 1e1a: cf b7 in r28, 0x3f ; 63 - 1e1c: f8 94 cli - 1e1e: 81 e0 ldi r24, 0x01 ; 1 - 1e20: 8e dd rcall .-1252 ; 0x193e - 1e22: ea ec ldi r30, 0xCA ; 202 +00001df8 : + 1df8: cf 93 push r28 + 1dfa: cf b7 in r28, 0x3f ; 63 + 1dfc: f8 94 cli + 1dfe: 81 e0 ldi r24, 0x01 ; 1 + 1e00: 8e dd rcall .-1252 ; 0x191e + 1e02: ea ec ldi r30, 0xCA ; 202 + 1e04: f4 e0 ldi r31, 0x04 ; 4 + 1e06: 80 e4 ldi r24, 0x40 ; 64 + 1e08: 80 83 st Z, r24 + 1e0a: 80 e2 ldi r24, 0x20 ; 32 + 1e0c: 80 83 st Z, r24 + 1e0e: e1 ec ldi r30, 0xC1 ; 193 + 1e10: f4 e0 ldi r31, 0x04 ; 4 + 1e12: 80 81 ld r24, Z + 1e14: 81 60 ori r24, 0x01 ; 1 + 1e16: 80 83 st Z, r24 + 1e18: a9 ec ldi r26, 0xC9 ; 201 + 1e1a: b4 e0 ldi r27, 0x04 ; 4 + 1e1c: 8c 91 ld r24, X + 1e1e: 82 60 ori r24, 0x02 ; 2 + 1e20: 8c 93 st X, r24 + 1e22: e8 ec ldi r30, 0xC8 ; 200 1e24: f4 e0 ldi r31, 0x04 ; 4 - 1e26: 80 e4 ldi r24, 0x40 ; 64 - 1e28: 80 83 st Z, r24 - 1e2a: 80 e2 ldi r24, 0x20 ; 32 - 1e2c: 80 83 st Z, r24 - 1e2e: e1 ec ldi r30, 0xC1 ; 193 - 1e30: f4 e0 ldi r31, 0x04 ; 4 + 1e26: 80 81 ld r24, Z + 1e28: 80 64 ori r24, 0x40 ; 64 + 1e2a: 80 83 st Z, r24 + 1e2c: 8c 91 ld r24, X + 1e2e: 81 60 ori r24, 0x01 ; 1 + 1e30: 8c 93 st X, r24 1e32: 80 81 ld r24, Z - 1e34: 81 60 ori r24, 0x01 ; 1 + 1e34: 80 68 ori r24, 0x80 ; 128 1e36: 80 83 st Z, r24 - 1e38: a9 ec ldi r26, 0xC9 ; 201 - 1e3a: b4 e0 ldi r27, 0x04 ; 4 - 1e3c: 8c 91 ld r24, X - 1e3e: 82 60 ori r24, 0x02 ; 2 - 1e40: 8c 93 st X, r24 - 1e42: e8 ec ldi r30, 0xC8 ; 200 - 1e44: f4 e0 ldi r31, 0x04 ; 4 - 1e46: 80 81 ld r24, Z - 1e48: 80 64 ori r24, 0x40 ; 64 - 1e4a: 80 83 st Z, r24 - 1e4c: 8c 91 ld r24, X - 1e4e: 81 60 ori r24, 0x01 ; 1 - 1e50: 8c 93 st X, r24 - 1e52: 80 81 ld r24, Z - 1e54: 80 68 ori r24, 0x80 ; 128 - 1e56: 80 83 st Z, r24 - 1e58: cf bf out 0x3f, r28 ; 63 - 1e5a: cf 91 pop r28 - 1e5c: 08 95 ret + 1e38: cf bf out 0x3f, r28 ; 63 + 1e3a: cf 91 pop r28 + 1e3c: 08 95 ret -00001e5e : - 1e5e: cf 93 push r28 - 1e60: 10 92 60 00 sts 0x0060, r1 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> - 1e64: 80 e3 ldi r24, 0x30 ; 48 - 1e66: 9e d8 rcall .-3780 ; 0xfa4 - 1e68: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1e6c: 80 64 ori r24, 0x40 ; 64 - 1e6e: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1e72: 81 e0 ldi r24, 0x01 ; 1 - 1e74: 80 93 60 00 sts 0x0060, r24 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> - 1e78: cf b7 in r28, 0x3f ; 63 - 1e7a: f8 94 cli - 1e7c: 80 e0 ldi r24, 0x00 ; 0 - 1e7e: 90 e0 ldi r25, 0x00 ; 0 - 1e80: fc 01 movw r30, r24 - 1e82: 23 e0 ldi r18, 0x03 ; 3 - 1e84: ee 0f add r30, r30 - 1e86: ff 1f adc r31, r31 - 1e88: 2a 95 dec r18 - 1e8a: e1 f7 brne .-8 ; 0x1e84 - 1e8c: e0 5f subi r30, 0xF0 ; 240 - 1e8e: fd 4d sbci r31, 0xDD ; 221 - 1e90: 11 8a std Z+17, r1 ; 0x11 - 1e92: 01 96 adiw r24, 0x01 ; 1 - 1e94: 88 30 cpi r24, 0x08 ; 8 - 1e96: 91 05 cpc r25, r1 - 1e98: 99 f7 brne .-26 ; 0x1e80 - 1e9a: 80 91 93 21 lds r24, 0x2193 ; 0x802193 - 1e9e: 8e 7f andi r24, 0xFE ; 254 - 1ea0: 80 93 93 21 sts 0x2193, r24 ; 0x802193 - 1ea4: 80 91 9c 21 lds r24, 0x219C ; 0x80219c - 1ea8: 8e 7f andi r24, 0xFE ; 254 - 1eaa: 80 93 9c 21 sts 0x219C, r24 ; 0x80219c - 1eae: 80 91 a5 21 lds r24, 0x21A5 ; 0x8021a5 - 1eb2: 8e 7f andi r24, 0xFE ; 254 - 1eb4: 80 93 a5 21 sts 0x21A5, r24 ; 0x8021a5 - 1eb8: 80 91 ae 21 lds r24, 0x21AE ; 0x8021ae - 1ebc: 8e 7f andi r24, 0xFE ; 254 - 1ebe: 80 93 ae 21 sts 0x21AE, r24 ; 0x8021ae - 1ec2: 80 91 b7 21 lds r24, 0x21B7 ; 0x8021b7 - 1ec6: 8e 7f andi r24, 0xFE ; 254 - 1ec8: 80 93 b7 21 sts 0x21B7, r24 ; 0x8021b7 - 1ecc: 80 91 c0 21 lds r24, 0x21C0 ; 0x8021c0 - 1ed0: 8e 7f andi r24, 0xFE ; 254 - 1ed2: 80 93 c0 21 sts 0x21C0, r24 ; 0x8021c0 - 1ed6: 6a e1 ldi r22, 0x1A ; 26 - 1ed8: 70 e0 ldi r23, 0x00 ; 0 - 1eda: 82 e0 ldi r24, 0x02 ; 2 - 1edc: 08 dd rcall .-1520 ; 0x18ee - 1ede: 8f 3f cpi r24, 0xFF ; 255 - 1ee0: 09 f4 brne .+2 ; 0x1ee4 - 1ee2: 8f e1 ldi r24, 0x1F ; 31 - 1ee4: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 1ee8: 6b e1 ldi r22, 0x1B ; 27 - 1eea: 70 e0 ldi r23, 0x00 ; 0 - 1eec: 82 e0 ldi r24, 0x02 ; 2 - 1eee: ff dc rcall .-1538 ; 0x18ee - 1ef0: 8f 3f cpi r24, 0xFF ; 255 - 1ef2: 09 f4 brne .+2 ; 0x1ef6 - 1ef4: 8f e1 ldi r24, 0x1F ; 31 - 1ef6: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 1efa: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1efe: 83 60 ori r24, 0x03 ; 3 - 1f00: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> +00001e3e : + 1e3e: cf 93 push r28 + 1e40: 10 92 60 00 sts 0x0060, r1 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> + 1e44: 80 e3 ldi r24, 0x30 ; 48 + 1e46: 9f d8 rcall .-3778 ; 0xf86 + 1e48: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1e4c: 80 64 ori r24, 0x40 ; 64 + 1e4e: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1e52: 81 e0 ldi r24, 0x01 ; 1 + 1e54: 80 93 60 00 sts 0x0060, r24 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> + 1e58: cf b7 in r28, 0x3f ; 63 + 1e5a: f8 94 cli + 1e5c: 80 e0 ldi r24, 0x00 ; 0 + 1e5e: 90 e0 ldi r25, 0x00 ; 0 + 1e60: fc 01 movw r30, r24 + 1e62: 23 e0 ldi r18, 0x03 ; 3 + 1e64: ee 0f add r30, r30 + 1e66: ff 1f adc r31, r31 + 1e68: 2a 95 dec r18 + 1e6a: e1 f7 brne .-8 ; 0x1e64 + 1e6c: e0 5f subi r30, 0xF0 ; 240 + 1e6e: fd 4d sbci r31, 0xDD ; 221 + 1e70: 11 8a std Z+17, r1 ; 0x11 + 1e72: 01 96 adiw r24, 0x01 ; 1 + 1e74: 88 30 cpi r24, 0x08 ; 8 + 1e76: 91 05 cpc r25, r1 + 1e78: 99 f7 brne .-26 ; 0x1e60 + 1e7a: 80 91 93 21 lds r24, 0x2193 ; 0x802193 + 1e7e: 8e 7f andi r24, 0xFE ; 254 + 1e80: 80 93 93 21 sts 0x2193, r24 ; 0x802193 + 1e84: 80 91 9c 21 lds r24, 0x219C ; 0x80219c + 1e88: 8e 7f andi r24, 0xFE ; 254 + 1e8a: 80 93 9c 21 sts 0x219C, r24 ; 0x80219c + 1e8e: 80 91 a5 21 lds r24, 0x21A5 ; 0x8021a5 + 1e92: 8e 7f andi r24, 0xFE ; 254 + 1e94: 80 93 a5 21 sts 0x21A5, r24 ; 0x8021a5 + 1e98: 80 91 ae 21 lds r24, 0x21AE ; 0x8021ae + 1e9c: 8e 7f andi r24, 0xFE ; 254 + 1e9e: 80 93 ae 21 sts 0x21AE, r24 ; 0x8021ae + 1ea2: 80 91 b7 21 lds r24, 0x21B7 ; 0x8021b7 + 1ea6: 8e 7f andi r24, 0xFE ; 254 + 1ea8: 80 93 b7 21 sts 0x21B7, r24 ; 0x8021b7 + 1eac: 80 91 c0 21 lds r24, 0x21C0 ; 0x8021c0 + 1eb0: 8e 7f andi r24, 0xFE ; 254 + 1eb2: 80 93 c0 21 sts 0x21C0, r24 ; 0x8021c0 + 1eb6: 6a e1 ldi r22, 0x1A ; 26 + 1eb8: 70 e0 ldi r23, 0x00 ; 0 + 1eba: 82 e0 ldi r24, 0x02 ; 2 + 1ebc: 08 dd rcall .-1520 ; 0x18ce + 1ebe: 8f 3f cpi r24, 0xFF ; 255 + 1ec0: 09 f4 brne .+2 ; 0x1ec4 + 1ec2: 8f e1 ldi r24, 0x1F ; 31 + 1ec4: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 1ec8: 6b e1 ldi r22, 0x1B ; 27 + 1eca: 70 e0 ldi r23, 0x00 ; 0 + 1ecc: 82 e0 ldi r24, 0x02 ; 2 + 1ece: ff dc rcall .-1538 ; 0x18ce + 1ed0: 8f 3f cpi r24, 0xFF ; 255 + 1ed2: 09 f4 brne .+2 ; 0x1ed6 + 1ed4: 8f e1 ldi r24, 0x1F ; 31 + 1ed6: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 1eda: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1ede: 83 60 ori r24, 0x03 ; 3 + 1ee0: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1ee4: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1ee8: 80 68 ori r24, 0x80 ; 128 + 1eea: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1eee: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1ef2: 80 61 ori r24, 0x10 ; 16 + 1ef4: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1ef8: 80 e2 ldi r24, 0x20 ; 32 + 1efa: 92 e2 ldi r25, 0x22 ; 34 + 1efc: 80 93 c6 04 sts 0x04C6, r24 ; 0x8004c6 <__TEXT_REGION_LENGTH__+0x7004c6> + 1f00: 90 93 c7 04 sts 0x04C7, r25 ; 0x8004c7 <__TEXT_REGION_LENGTH__+0x7004c7> 1f04: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1f08: 80 68 ori r24, 0x80 ; 128 + 1f08: 80 62 ori r24, 0x20 ; 32 1f0a: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1f0e: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1f12: 80 61 ori r24, 0x10 ; 16 - 1f14: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1f18: 80 e2 ldi r24, 0x20 ; 32 - 1f1a: 92 e2 ldi r25, 0x22 ; 34 - 1f1c: 80 93 c6 04 sts 0x04C6, r24 ; 0x8004c6 <__TEXT_REGION_LENGTH__+0x7004c6> - 1f20: 90 93 c7 04 sts 0x04C7, r25 ; 0x8004c7 <__TEXT_REGION_LENGTH__+0x7004c7> - 1f24: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1f28: 80 62 ori r24, 0x20 ; 32 - 1f2a: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1f2e: 8f ef ldi r24, 0xFF ; 255 - 1f30: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 1f34: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1f38: 82 60 ori r24, 0x02 ; 2 - 1f3a: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1f3e: 10 92 64 22 sts 0x2264, r1 ; 0x802264 - 1f42: 85 e0 ldi r24, 0x05 ; 5 - 1f44: de dc rcall .-1604 ; 0x1902 - 1f46: 68 df rcall .-304 ; 0x1e18 - 1f48: cf bf out 0x3f, r28 ; 63 - 1f4a: cf 91 pop r28 - 1f4c: 08 95 ret + 1f0e: 8f ef ldi r24, 0xFF ; 255 + 1f10: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 1f14: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1f18: 82 60 ori r24, 0x02 ; 2 + 1f1a: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1f1e: 10 92 64 22 sts 0x2264, r1 ; 0x802264 + 1f22: 85 e0 ldi r24, 0x05 ; 5 + 1f24: de dc rcall .-1604 ; 0x18e2 + 1f26: 68 df rcall .-304 ; 0x1df8 + 1f28: cf bf out 0x3f, r28 ; 63 + 1f2a: cf 91 pop r28 + 1f2c: 08 95 ret -00001f4e : - 1f4e: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 1f52: 08 95 ret +00001f2e : + 1f2e: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 1f32: 08 95 ret -00001f54 : - 1f54: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 1f58: 08 95 ret +00001f34 : + 1f34: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 1f38: 08 95 ret -00001f5a : - 1f5a: e6 e6 ldi r30, 0x66 ; 102 - 1f5c: f4 e2 ldi r31, 0x24 ; 36 - 1f5e: 80 87 std Z+8, r24 ; 0x08 - 1f60: 91 87 std Z+9, r25 ; 0x09 - 1f62: 62 87 std Z+10, r22 ; 0x0a - 1f64: 73 87 std Z+11, r23 ; 0x0b - 1f66: 08 95 ret +00001f3a : + 1f3a: e6 e6 ldi r30, 0x66 ; 102 + 1f3c: f4 e2 ldi r31, 0x24 ; 36 + 1f3e: 80 87 std Z+8, r24 ; 0x08 + 1f40: 91 87 std Z+9, r25 ; 0x09 + 1f42: 62 87 std Z+10, r22 ; 0x0a + 1f44: 73 87 std Z+11, r23 ; 0x0b + 1f46: 08 95 ret -00001f68 : - 1f68: 0f 93 push r16 - 1f6a: 1f 93 push r17 - 1f6c: cf 93 push r28 - 1f6e: df 93 push r29 - 1f70: 1f 92 push r1 - 1f72: cd b7 in r28, 0x3d ; 61 - 1f74: de b7 in r29, 0x3e ; 62 - 1f76: 8a 01 movw r16, r20 - 1f78: 69 83 std Y+1, r22 ; 0x01 - 1f7a: f4 dc rcall .-1560 ; 0x1964 - 1f7c: fc 01 movw r30, r24 - 1f7e: 81 81 ldd r24, Z+1 ; 0x01 - 1f80: 80 7c andi r24, 0xC0 ; 192 - 1f82: 69 81 ldd r22, Y+1 ; 0x01 - 1f84: 81 11 cpse r24, r1 - 1f86: 3a c0 rjmp .+116 ; 0x1ffc - 1f88: 63 70 andi r22, 0x03 ; 3 - 1f8a: 61 30 cpi r22, 0x01 ; 1 - 1f8c: 19 f0 breq .+6 ; 0x1f94 - 1f8e: 20 f0 brcs .+8 ; 0x1f98 - 1f90: 80 e8 ldi r24, 0x80 ; 128 - 1f92: 03 c0 rjmp .+6 ; 0x1f9a - 1f94: 80 ec ldi r24, 0xC0 ; 192 - 1f96: 01 c0 rjmp .+2 ; 0x1f9a - 1f98: 80 e4 ldi r24, 0x40 ; 64 - 1f9a: 00 38 cpi r16, 0x80 ; 128 - 1f9c: 11 05 cpc r17, r1 - 1f9e: e9 f0 breq .+58 ; 0x1fda - 1fa0: 58 f4 brcc .+22 ; 0x1fb8 - 1fa2: 00 32 cpi r16, 0x20 ; 32 - 1fa4: 11 05 cpc r17, r1 - 1fa6: a9 f0 breq .+42 ; 0x1fd2 - 1fa8: 00 34 cpi r16, 0x40 ; 64 - 1faa: 11 05 cpc r17, r1 - 1fac: a1 f0 breq .+40 ; 0x1fd6 - 1fae: 00 31 cpi r16, 0x10 ; 16 - 1fb0: 11 05 cpc r17, r1 - 1fb2: c9 f4 brne .+50 ; 0x1fe6 - 1fb4: 91 e0 ldi r25, 0x01 ; 1 - 1fb6: 18 c0 rjmp .+48 ; 0x1fe8 - 1fb8: 01 15 cp r16, r1 - 1fba: 92 e0 ldi r25, 0x02 ; 2 - 1fbc: 19 07 cpc r17, r25 - 1fbe: 79 f0 breq .+30 ; 0x1fde - 1fc0: 0f 3f cpi r16, 0xFF ; 255 - 1fc2: 93 e0 ldi r25, 0x03 ; 3 - 1fc4: 19 07 cpc r17, r25 - 1fc6: 69 f0 breq .+26 ; 0x1fe2 - 1fc8: 01 15 cp r16, r1 - 1fca: 11 40 sbci r17, 0x01 ; 1 - 1fcc: 61 f4 brne .+24 ; 0x1fe6 - 1fce: 95 e0 ldi r25, 0x05 ; 5 - 1fd0: 0b c0 rjmp .+22 ; 0x1fe8 - 1fd2: 92 e0 ldi r25, 0x02 ; 2 - 1fd4: 09 c0 rjmp .+18 ; 0x1fe8 - 1fd6: 93 e0 ldi r25, 0x03 ; 3 - 1fd8: 07 c0 rjmp .+14 ; 0x1fe8 - 1fda: 94 e0 ldi r25, 0x04 ; 4 - 1fdc: 05 c0 rjmp .+10 ; 0x1fe8 - 1fde: 96 e0 ldi r25, 0x06 ; 6 - 1fe0: 03 c0 rjmp .+6 ; 0x1fe8 - 1fe2: 97 e0 ldi r25, 0x07 ; 7 - 1fe4: 01 c0 rjmp .+2 ; 0x1fe8 - 1fe6: 90 e0 ldi r25, 0x00 ; 0 - 1fe8: 11 82 std Z+1, r1 ; 0x01 - 1fea: 26 e0 ldi r18, 0x06 ; 6 - 1fec: 20 83 st Z, r18 - 1fee: 98 2b or r25, r24 - 1ff0: 91 83 std Z+1, r25 ; 0x01 - 1ff2: 81 81 ldd r24, Z+1 ; 0x01 - 1ff4: 80 62 ori r24, 0x20 ; 32 - 1ff6: 81 83 std Z+1, r24 ; 0x01 - 1ff8: 81 e0 ldi r24, 0x01 ; 1 - 1ffa: 01 c0 rjmp .+2 ; 0x1ffe - 1ffc: 80 e0 ldi r24, 0x00 ; 0 - 1ffe: 0f 90 pop r0 - 2000: df 91 pop r29 - 2002: cf 91 pop r28 - 2004: 1f 91 pop r17 - 2006: 0f 91 pop r16 - 2008: 08 95 ret +00001f48 : + 1f48: 0f 93 push r16 + 1f4a: 1f 93 push r17 + 1f4c: cf 93 push r28 + 1f4e: df 93 push r29 + 1f50: 1f 92 push r1 + 1f52: cd b7 in r28, 0x3d ; 61 + 1f54: de b7 in r29, 0x3e ; 62 + 1f56: 8a 01 movw r16, r20 + 1f58: 69 83 std Y+1, r22 ; 0x01 + 1f5a: f4 dc rcall .-1560 ; 0x1944 + 1f5c: fc 01 movw r30, r24 + 1f5e: 81 81 ldd r24, Z+1 ; 0x01 + 1f60: 80 7c andi r24, 0xC0 ; 192 + 1f62: 69 81 ldd r22, Y+1 ; 0x01 + 1f64: 81 11 cpse r24, r1 + 1f66: 3a c0 rjmp .+116 ; 0x1fdc + 1f68: 63 70 andi r22, 0x03 ; 3 + 1f6a: 61 30 cpi r22, 0x01 ; 1 + 1f6c: 19 f0 breq .+6 ; 0x1f74 + 1f6e: 20 f0 brcs .+8 ; 0x1f78 + 1f70: 80 e8 ldi r24, 0x80 ; 128 + 1f72: 03 c0 rjmp .+6 ; 0x1f7a + 1f74: 80 ec ldi r24, 0xC0 ; 192 + 1f76: 01 c0 rjmp .+2 ; 0x1f7a + 1f78: 80 e4 ldi r24, 0x40 ; 64 + 1f7a: 00 38 cpi r16, 0x80 ; 128 + 1f7c: 11 05 cpc r17, r1 + 1f7e: e9 f0 breq .+58 ; 0x1fba + 1f80: 58 f4 brcc .+22 ; 0x1f98 + 1f82: 00 32 cpi r16, 0x20 ; 32 + 1f84: 11 05 cpc r17, r1 + 1f86: a9 f0 breq .+42 ; 0x1fb2 + 1f88: 00 34 cpi r16, 0x40 ; 64 + 1f8a: 11 05 cpc r17, r1 + 1f8c: a1 f0 breq .+40 ; 0x1fb6 + 1f8e: 00 31 cpi r16, 0x10 ; 16 + 1f90: 11 05 cpc r17, r1 + 1f92: c9 f4 brne .+50 ; 0x1fc6 + 1f94: 91 e0 ldi r25, 0x01 ; 1 + 1f96: 18 c0 rjmp .+48 ; 0x1fc8 + 1f98: 01 15 cp r16, r1 + 1f9a: 92 e0 ldi r25, 0x02 ; 2 + 1f9c: 19 07 cpc r17, r25 + 1f9e: 79 f0 breq .+30 ; 0x1fbe + 1fa0: 0f 3f cpi r16, 0xFF ; 255 + 1fa2: 93 e0 ldi r25, 0x03 ; 3 + 1fa4: 19 07 cpc r17, r25 + 1fa6: 69 f0 breq .+26 ; 0x1fc2 + 1fa8: 01 15 cp r16, r1 + 1faa: 11 40 sbci r17, 0x01 ; 1 + 1fac: 61 f4 brne .+24 ; 0x1fc6 + 1fae: 95 e0 ldi r25, 0x05 ; 5 + 1fb0: 0b c0 rjmp .+22 ; 0x1fc8 + 1fb2: 92 e0 ldi r25, 0x02 ; 2 + 1fb4: 09 c0 rjmp .+18 ; 0x1fc8 + 1fb6: 93 e0 ldi r25, 0x03 ; 3 + 1fb8: 07 c0 rjmp .+14 ; 0x1fc8 + 1fba: 94 e0 ldi r25, 0x04 ; 4 + 1fbc: 05 c0 rjmp .+10 ; 0x1fc8 + 1fbe: 96 e0 ldi r25, 0x06 ; 6 + 1fc0: 03 c0 rjmp .+6 ; 0x1fc8 + 1fc2: 97 e0 ldi r25, 0x07 ; 7 + 1fc4: 01 c0 rjmp .+2 ; 0x1fc8 + 1fc6: 90 e0 ldi r25, 0x00 ; 0 + 1fc8: 11 82 std Z+1, r1 ; 0x01 + 1fca: 26 e0 ldi r18, 0x06 ; 6 + 1fcc: 20 83 st Z, r18 + 1fce: 98 2b or r25, r24 + 1fd0: 91 83 std Z+1, r25 ; 0x01 + 1fd2: 81 81 ldd r24, Z+1 ; 0x01 + 1fd4: 80 62 ori r24, 0x20 ; 32 + 1fd6: 81 83 std Z+1, r24 ; 0x01 + 1fd8: 81 e0 ldi r24, 0x01 ; 1 + 1fda: 01 c0 rjmp .+2 ; 0x1fde + 1fdc: 80 e0 ldi r24, 0x00 ; 0 + 1fde: 0f 90 pop r0 + 1fe0: df 91 pop r29 + 1fe2: cf 91 pop r28 + 1fe4: 1f 91 pop r17 + 1fe6: 0f 91 pop r16 + 1fe8: 08 95 ret -0000200a : - 200a: ac dc rcall .-1704 ; 0x1964 - 200c: fc 01 movw r30, r24 - 200e: 81 81 ldd r24, Z+1 ; 0x01 - 2010: 82 fb bst r24, 2 - 2012: 88 27 eor r24, r24 - 2014: 80 f9 bld r24, 0 - 2016: 08 95 ret +00001fea : + 1fea: ac dc rcall .-1704 ; 0x1944 + 1fec: fc 01 movw r30, r24 + 1fee: 81 81 ldd r24, Z+1 ; 0x01 + 1ff0: 82 fb bst r24, 2 + 1ff2: 88 27 eor r24, r24 + 1ff4: 80 f9 bld r24, 0 + 1ff6: 08 95 ret -00002018 : - 2018: cf 93 push r28 - 201a: c8 2f mov r28, r24 - 201c: a3 dc rcall .-1722 ; 0x1964 - 201e: fc 01 movw r30, r24 - 2020: 81 81 ldd r24, Z+1 ; 0x01 - 2022: 82 ff sbrs r24, 2 - 2024: 0f c0 rjmp .+30 ; 0x2044 - 2026: 91 81 ldd r25, Z+1 ; 0x01 - 2028: 9b 7f andi r25, 0xFB ; 251 - 202a: 91 83 std Z+1, r25 ; 0x01 - 202c: 8c 2f mov r24, r28 - 202e: fc dc rcall .-1544 ; 0x1a28 - 2030: fc 01 movw r30, r24 - 2032: 90 81 ld r25, Z - 2034: 90 ff sbrs r25, 0 - 2036: 06 c0 rjmp .+12 ; 0x2044 - 2038: 9e 7f andi r25, 0xFE ; 254 - 203a: 90 83 st Z, r25 - 203c: 07 80 ldd r0, Z+7 ; 0x07 - 203e: f0 85 ldd r31, Z+8 ; 0x08 - 2040: e0 2d mov r30, r0 - 2042: 09 95 icall - 2044: 81 e0 ldi r24, 0x01 ; 1 - 2046: cf 91 pop r28 - 2048: 08 95 ret +00001ff8 : + 1ff8: cf 93 push r28 + 1ffa: c8 2f mov r28, r24 + 1ffc: a3 dc rcall .-1722 ; 0x1944 + 1ffe: fc 01 movw r30, r24 + 2000: 81 81 ldd r24, Z+1 ; 0x01 + 2002: 82 ff sbrs r24, 2 + 2004: 0f c0 rjmp .+30 ; 0x2024 + 2006: 91 81 ldd r25, Z+1 ; 0x01 + 2008: 9b 7f andi r25, 0xFB ; 251 + 200a: 91 83 std Z+1, r25 ; 0x01 + 200c: 8c 2f mov r24, r28 + 200e: fc dc rcall .-1544 ; 0x1a08 + 2010: fc 01 movw r30, r24 + 2012: 90 81 ld r25, Z + 2014: 90 ff sbrs r25, 0 + 2016: 06 c0 rjmp .+12 ; 0x2024 + 2018: 9e 7f andi r25, 0xFE ; 254 + 201a: 90 83 st Z, r25 + 201c: 07 80 ldd r0, Z+7 ; 0x07 + 201e: f0 85 ldd r31, Z+8 ; 0x08 + 2020: e0 2d mov r30, r0 + 2022: 09 95 icall + 2024: 81 e0 ldi r24, 0x01 ; 1 + 2026: cf 91 pop r28 + 2028: 08 95 ret -0000204a : - 204a: 8f 92 push r8 - 204c: 9f 92 push r9 - 204e: af 92 push r10 - 2050: bf 92 push r11 - 2052: df 92 push r13 - 2054: ef 92 push r14 - 2056: ff 92 push r15 - 2058: 0f 93 push r16 - 205a: 1f 93 push r17 - 205c: cf 93 push r28 - 205e: df 93 push r29 - 2060: 1f 92 push r1 - 2062: cd b7 in r28, 0x3d ; 61 - 2064: de b7 in r29, 0x3e ; 62 - 2066: d8 2e mov r13, r24 - 2068: 5a 01 movw r10, r20 - 206a: 79 01 movw r14, r18 - 206c: 69 83 std Y+1, r22 ; 0x01 - 206e: dc dc rcall .-1608 ; 0x1a28 - 2070: 4c 01 movw r8, r24 - 2072: 8d 2d mov r24, r13 - 2074: 77 dc rcall .-1810 ; 0x1964 - 2076: 9c 01 movw r18, r24 - 2078: dc 01 movw r26, r24 - 207a: 11 96 adiw r26, 0x01 ; 1 - 207c: 8c 91 ld r24, X - 207e: 11 97 sbiw r26, 0x01 ; 1 - 2080: 80 7c andi r24, 0xC0 ; 192 - 2082: 69 81 ldd r22, Y+1 ; 0x01 - 2084: 88 23 and r24, r24 - 2086: 09 f4 brne .+2 ; 0x208a - 2088: 5e c0 rjmp .+188 ; 0x2146 - 208a: 11 96 adiw r26, 0x01 ; 1 - 208c: 8c 91 ld r24, X - 208e: 11 97 sbiw r26, 0x01 ; 1 - 2090: 80 7c andi r24, 0xC0 ; 192 - 2092: 80 3c cpi r24, 0xC0 ; 192 - 2094: 21 f0 breq .+8 ; 0x209e - 2096: 11 96 adiw r26, 0x01 ; 1 - 2098: 8c 91 ld r24, X - 209a: 82 fd sbrc r24, 2 - 209c: 54 c0 rjmp .+168 ; 0x2146 - 209e: 9f b7 in r25, 0x3f ; 63 - 20a0: f8 94 cli - 20a2: f4 01 movw r30, r8 - 20a4: 80 81 ld r24, Z - 20a6: 80 ff sbrs r24, 0 - 20a8: 02 c0 rjmp .+4 ; 0x20ae - 20aa: 9f bf out 0x3f, r25 ; 63 - 20ac: 4c c0 rjmp .+152 ; 0x2146 - 20ae: 81 60 ori r24, 0x01 ; 1 - 20b0: 80 83 st Z, r24 - 20b2: 9f bf out 0x3f, r25 ; 63 - 20b4: f4 01 movw r30, r8 - 20b6: a1 82 std Z+1, r10 ; 0x01 - 20b8: b2 82 std Z+2, r11 ; 0x02 - 20ba: e3 82 std Z+3, r14 ; 0x03 - 20bc: f4 82 std Z+4, r15 ; 0x04 - 20be: 15 82 std Z+5, r1 ; 0x05 - 20c0: 16 82 std Z+6, r1 ; 0x06 - 20c2: 07 83 std Z+7, r16 ; 0x07 - 20c4: 10 87 std Z+8, r17 ; 0x08 - 20c6: 91 e0 ldi r25, 0x01 ; 1 - 20c8: 61 11 cpse r22, r1 - 20ca: 04 c0 rjmp .+8 ; 0x20d4 - 20cc: e1 14 cp r14, r1 - 20ce: f1 04 cpc r15, r1 - 20d0: 09 f0 breq .+2 ; 0x20d4 - 20d2: 90 e0 ldi r25, 0x00 ; 0 - 20d4: d4 01 movw r26, r8 - 20d6: 8c 91 ld r24, X - 20d8: 90 fb bst r25, 0 - 20da: 81 f9 bld r24, 1 - 20dc: 8b 7f andi r24, 0xFB ; 251 - 20de: 8c 93 st X, r24 - 20e0: d7 fe sbrs r13, 7 - 20e2: 04 c0 rjmp .+8 ; 0x20ec - 20e4: f9 01 movw r30, r18 - 20e6: 16 82 std Z+6, r1 ; 0x06 - 20e8: 17 82 std Z+7, r1 ; 0x07 - 20ea: 29 c0 rjmp .+82 ; 0x213e - 20ec: d9 01 movw r26, r18 - 20ee: 11 96 adiw r26, 0x01 ; 1 - 20f0: 8c 91 ld r24, X - 20f2: 11 97 sbiw r26, 0x01 ; 1 - 20f4: 80 7c andi r24, 0xC0 ; 192 - 20f6: 80 3c cpi r24, 0xC0 ; 192 - 20f8: c9 f4 brne .+50 ; 0x212c - 20fa: 11 96 adiw r26, 0x01 ; 1 - 20fc: ec 91 ld r30, X - 20fe: e7 70 andi r30, 0x07 ; 7 - 2100: e1 50 subi r30, 0x01 ; 1 - 2102: e7 30 cpi r30, 0x07 ; 7 - 2104: 40 f4 brcc .+16 ; 0x2116 - 2106: f0 e0 ldi r31, 0x00 ; 0 - 2108: ee 0f add r30, r30 - 210a: ff 1f adc r31, r31 - 210c: ee 54 subi r30, 0x4E ; 78 - 210e: ff 4d sbci r31, 0xDF ; 223 - 2110: 60 81 ld r22, Z - 2112: 71 81 ldd r23, Z+1 ; 0x01 - 2114: 02 c0 rjmp .+4 ; 0x211a - 2116: 68 e0 ldi r22, 0x08 ; 8 - 2118: 70 e0 ldi r23, 0x00 ; 0 - 211a: c7 01 movw r24, r14 - 211c: f2 d1 rcall .+996 ; 0x2502 <__udivmodhi4> - 211e: 89 2b or r24, r25 - 2120: 29 f0 breq .+10 ; 0x212c - 2122: f4 01 movw r30, r8 - 2124: 80 81 ld r24, Z - 2126: 8e 7f andi r24, 0xFE ; 254 - 2128: 80 83 st Z, r24 - 212a: 0d c0 rjmp .+26 ; 0x2146 - 212c: d9 01 movw r26, r18 - 212e: 12 96 adiw r26, 0x02 ; 2 - 2130: 1d 92 st X+, r1 - 2132: 1c 92 st X, r1 - 2134: 13 97 sbiw r26, 0x03 ; 3 - 2136: 16 96 adiw r26, 0x06 ; 6 - 2138: 1d 92 st X+, r1 - 213a: 1c 92 st X, r1 - 213c: 17 97 sbiw r26, 0x07 ; 7 - 213e: 8d 2d mov r24, r13 - 2140: 8d dc rcall .-1766 ; 0x1a5c - 2142: 81 e0 ldi r24, 0x01 ; 1 - 2144: 01 c0 rjmp .+2 ; 0x2148 - 2146: 80 e0 ldi r24, 0x00 ; 0 - 2148: 0f 90 pop r0 - 214a: df 91 pop r29 - 214c: cf 91 pop r28 - 214e: 1f 91 pop r17 - 2150: 0f 91 pop r16 - 2152: ff 90 pop r15 - 2154: ef 90 pop r14 - 2156: df 90 pop r13 - 2158: bf 90 pop r11 - 215a: af 90 pop r10 - 215c: 9f 90 pop r9 - 215e: 8f 90 pop r8 - 2160: 08 95 ret +0000202a : + 202a: 8f 92 push r8 + 202c: 9f 92 push r9 + 202e: af 92 push r10 + 2030: bf 92 push r11 + 2032: df 92 push r13 + 2034: ef 92 push r14 + 2036: ff 92 push r15 + 2038: 0f 93 push r16 + 203a: 1f 93 push r17 + 203c: cf 93 push r28 + 203e: df 93 push r29 + 2040: 1f 92 push r1 + 2042: cd b7 in r28, 0x3d ; 61 + 2044: de b7 in r29, 0x3e ; 62 + 2046: d8 2e mov r13, r24 + 2048: 5a 01 movw r10, r20 + 204a: 79 01 movw r14, r18 + 204c: 69 83 std Y+1, r22 ; 0x01 + 204e: dc dc rcall .-1608 ; 0x1a08 + 2050: 4c 01 movw r8, r24 + 2052: 8d 2d mov r24, r13 + 2054: 77 dc rcall .-1810 ; 0x1944 + 2056: 9c 01 movw r18, r24 + 2058: dc 01 movw r26, r24 + 205a: 11 96 adiw r26, 0x01 ; 1 + 205c: 8c 91 ld r24, X + 205e: 11 97 sbiw r26, 0x01 ; 1 + 2060: 80 7c andi r24, 0xC0 ; 192 + 2062: 69 81 ldd r22, Y+1 ; 0x01 + 2064: 88 23 and r24, r24 + 2066: 09 f4 brne .+2 ; 0x206a + 2068: 5e c0 rjmp .+188 ; 0x2126 + 206a: 11 96 adiw r26, 0x01 ; 1 + 206c: 8c 91 ld r24, X + 206e: 11 97 sbiw r26, 0x01 ; 1 + 2070: 80 7c andi r24, 0xC0 ; 192 + 2072: 80 3c cpi r24, 0xC0 ; 192 + 2074: 21 f0 breq .+8 ; 0x207e + 2076: 11 96 adiw r26, 0x01 ; 1 + 2078: 8c 91 ld r24, X + 207a: 82 fd sbrc r24, 2 + 207c: 54 c0 rjmp .+168 ; 0x2126 + 207e: 9f b7 in r25, 0x3f ; 63 + 2080: f8 94 cli + 2082: f4 01 movw r30, r8 + 2084: 80 81 ld r24, Z + 2086: 80 ff sbrs r24, 0 + 2088: 02 c0 rjmp .+4 ; 0x208e + 208a: 9f bf out 0x3f, r25 ; 63 + 208c: 4c c0 rjmp .+152 ; 0x2126 + 208e: 81 60 ori r24, 0x01 ; 1 + 2090: 80 83 st Z, r24 + 2092: 9f bf out 0x3f, r25 ; 63 + 2094: f4 01 movw r30, r8 + 2096: a1 82 std Z+1, r10 ; 0x01 + 2098: b2 82 std Z+2, r11 ; 0x02 + 209a: e3 82 std Z+3, r14 ; 0x03 + 209c: f4 82 std Z+4, r15 ; 0x04 + 209e: 15 82 std Z+5, r1 ; 0x05 + 20a0: 16 82 std Z+6, r1 ; 0x06 + 20a2: 07 83 std Z+7, r16 ; 0x07 + 20a4: 10 87 std Z+8, r17 ; 0x08 + 20a6: 91 e0 ldi r25, 0x01 ; 1 + 20a8: 61 11 cpse r22, r1 + 20aa: 04 c0 rjmp .+8 ; 0x20b4 + 20ac: e1 14 cp r14, r1 + 20ae: f1 04 cpc r15, r1 + 20b0: 09 f0 breq .+2 ; 0x20b4 + 20b2: 90 e0 ldi r25, 0x00 ; 0 + 20b4: d4 01 movw r26, r8 + 20b6: 8c 91 ld r24, X + 20b8: 90 fb bst r25, 0 + 20ba: 81 f9 bld r24, 1 + 20bc: 8b 7f andi r24, 0xFB ; 251 + 20be: 8c 93 st X, r24 + 20c0: d7 fe sbrs r13, 7 + 20c2: 04 c0 rjmp .+8 ; 0x20cc + 20c4: f9 01 movw r30, r18 + 20c6: 16 82 std Z+6, r1 ; 0x06 + 20c8: 17 82 std Z+7, r1 ; 0x07 + 20ca: 29 c0 rjmp .+82 ; 0x211e + 20cc: d9 01 movw r26, r18 + 20ce: 11 96 adiw r26, 0x01 ; 1 + 20d0: 8c 91 ld r24, X + 20d2: 11 97 sbiw r26, 0x01 ; 1 + 20d4: 80 7c andi r24, 0xC0 ; 192 + 20d6: 80 3c cpi r24, 0xC0 ; 192 + 20d8: c9 f4 brne .+50 ; 0x210c + 20da: 11 96 adiw r26, 0x01 ; 1 + 20dc: ec 91 ld r30, X + 20de: e7 70 andi r30, 0x07 ; 7 + 20e0: e1 50 subi r30, 0x01 ; 1 + 20e2: e7 30 cpi r30, 0x07 ; 7 + 20e4: 40 f4 brcc .+16 ; 0x20f6 + 20e6: f0 e0 ldi r31, 0x00 ; 0 + 20e8: ee 0f add r30, r30 + 20ea: ff 1f adc r31, r31 + 20ec: ee 54 subi r30, 0x4E ; 78 + 20ee: ff 4d sbci r31, 0xDF ; 223 + 20f0: 60 81 ld r22, Z + 20f2: 71 81 ldd r23, Z+1 ; 0x01 + 20f4: 02 c0 rjmp .+4 ; 0x20fa + 20f6: 68 e0 ldi r22, 0x08 ; 8 + 20f8: 70 e0 ldi r23, 0x00 ; 0 + 20fa: c7 01 movw r24, r14 + 20fc: f2 d1 rcall .+996 ; 0x24e2 <__udivmodhi4> + 20fe: 89 2b or r24, r25 + 2100: 29 f0 breq .+10 ; 0x210c + 2102: f4 01 movw r30, r8 + 2104: 80 81 ld r24, Z + 2106: 8e 7f andi r24, 0xFE ; 254 + 2108: 80 83 st Z, r24 + 210a: 0d c0 rjmp .+26 ; 0x2126 + 210c: d9 01 movw r26, r18 + 210e: 12 96 adiw r26, 0x02 ; 2 + 2110: 1d 92 st X+, r1 + 2112: 1c 92 st X, r1 + 2114: 13 97 sbiw r26, 0x03 ; 3 + 2116: 16 96 adiw r26, 0x06 ; 6 + 2118: 1d 92 st X+, r1 + 211a: 1c 92 st X, r1 + 211c: 17 97 sbiw r26, 0x07 ; 7 + 211e: 8d 2d mov r24, r13 + 2120: 8d dc rcall .-1766 ; 0x1a3c + 2122: 81 e0 ldi r24, 0x01 ; 1 + 2124: 01 c0 rjmp .+2 ; 0x2128 + 2126: 80 e0 ldi r24, 0x00 ; 0 + 2128: 0f 90 pop r0 + 212a: df 91 pop r29 + 212c: cf 91 pop r28 + 212e: 1f 91 pop r17 + 2130: 0f 91 pop r16 + 2132: ff 90 pop r15 + 2134: ef 90 pop r14 + 2136: df 90 pop r13 + 2138: bf 90 pop r11 + 213a: af 90 pop r10 + 213c: 9f 90 pop r9 + 213e: 8f 90 pop r8 + 2140: 08 95 ret -00002162 : - 2162: ef 92 push r14 - 2164: ff 92 push r15 - 2166: 0f 93 push r16 - 2168: cf 93 push r28 - 216a: c8 2f mov r28, r24 - 216c: fb db rcall .-2058 ; 0x1964 - 216e: 7c 01 movw r14, r24 - 2170: 8c 2f mov r24, r28 - 2172: 5a dc rcall .-1868 ; 0x1a28 - 2174: dc 01 movw r26, r24 - 2176: f7 01 movw r30, r14 - 2178: 02 e0 ldi r16, 0x02 ; 2 - 217a: 05 93 las Z, r16 - 217c: 9c 91 ld r25, X - 217e: 90 ff sbrs r25, 0 - 2180: 1b c0 rjmp .+54 ; 0x21b8 - 2182: 9e 7f andi r25, 0xFE ; 254 - 2184: 9c 93 st X, r25 - 2186: 17 96 adiw r26, 0x07 ; 7 - 2188: ed 91 ld r30, X+ - 218a: fc 91 ld r31, X - 218c: 18 97 sbiw r26, 0x08 ; 8 - 218e: 30 97 sbiw r30, 0x00 ; 0 - 2190: 99 f0 breq .+38 ; 0x21b8 - 2192: d7 01 movw r26, r14 - 2194: c7 ff sbrs r28, 7 - 2196: 05 c0 rjmp .+10 ; 0x21a2 - 2198: 16 96 adiw r26, 0x06 ; 6 - 219a: 6d 91 ld r22, X+ - 219c: 7c 91 ld r23, X - 219e: 17 97 sbiw r26, 0x07 ; 7 - 21a0: 04 c0 rjmp .+8 ; 0x21aa - 21a2: 12 96 adiw r26, 0x02 ; 2 - 21a4: 6d 91 ld r22, X+ - 21a6: 7c 91 ld r23, X - 21a8: 13 97 sbiw r26, 0x03 ; 3 - 21aa: 4c 2f mov r20, r28 - 21ac: 81 e0 ldi r24, 0x01 ; 1 - 21ae: cf 91 pop r28 - 21b0: 0f 91 pop r16 - 21b2: ff 90 pop r15 - 21b4: ef 90 pop r14 - 21b6: 09 94 ijmp - 21b8: cf 91 pop r28 - 21ba: 0f 91 pop r16 - 21bc: ff 90 pop r15 - 21be: ef 90 pop r14 - 21c0: 08 95 ret +00002142 : + 2142: ef 92 push r14 + 2144: ff 92 push r15 + 2146: 0f 93 push r16 + 2148: cf 93 push r28 + 214a: c8 2f mov r28, r24 + 214c: fb db rcall .-2058 ; 0x1944 + 214e: 7c 01 movw r14, r24 + 2150: 8c 2f mov r24, r28 + 2152: 5a dc rcall .-1868 ; 0x1a08 + 2154: dc 01 movw r26, r24 + 2156: f7 01 movw r30, r14 + 2158: 02 e0 ldi r16, 0x02 ; 2 + 215a: 05 93 las Z, r16 + 215c: 9c 91 ld r25, X + 215e: 90 ff sbrs r25, 0 + 2160: 1b c0 rjmp .+54 ; 0x2198 + 2162: 9e 7f andi r25, 0xFE ; 254 + 2164: 9c 93 st X, r25 + 2166: 17 96 adiw r26, 0x07 ; 7 + 2168: ed 91 ld r30, X+ + 216a: fc 91 ld r31, X + 216c: 18 97 sbiw r26, 0x08 ; 8 + 216e: 30 97 sbiw r30, 0x00 ; 0 + 2170: 99 f0 breq .+38 ; 0x2198 + 2172: d7 01 movw r26, r14 + 2174: c7 ff sbrs r28, 7 + 2176: 05 c0 rjmp .+10 ; 0x2182 + 2178: 16 96 adiw r26, 0x06 ; 6 + 217a: 6d 91 ld r22, X+ + 217c: 7c 91 ld r23, X + 217e: 17 97 sbiw r26, 0x07 ; 7 + 2180: 04 c0 rjmp .+8 ; 0x218a + 2182: 12 96 adiw r26, 0x02 ; 2 + 2184: 6d 91 ld r22, X+ + 2186: 7c 91 ld r23, X + 2188: 13 97 sbiw r26, 0x03 ; 3 + 218a: 4c 2f mov r20, r28 + 218c: 81 e0 ldi r24, 0x01 ; 1 + 218e: cf 91 pop r28 + 2190: 0f 91 pop r16 + 2192: ff 90 pop r15 + 2194: ef 90 pop r14 + 2196: 09 94 ijmp + 2198: cf 91 pop r28 + 219a: 0f 91 pop r16 + 219c: ff 90 pop r15 + 219e: ef 90 pop r14 + 21a0: 08 95 ret -000021c2 : - 21c2: cf 93 push r28 - 21c4: c8 2f mov r28, r24 - 21c6: cd df rcall .-102 ; 0x2162 +000021a2 : + 21a2: cf 93 push r28 + 21a4: c8 2f mov r28, r24 + 21a6: cd df rcall .-102 ; 0x2142 + 21a8: 8c 2f mov r24, r28 + 21aa: cc db rcall .-2152 ; 0x1944 + 21ac: fc 01 movw r30, r24 + 21ae: 11 82 std Z+1, r1 ; 0x01 + 21b0: cf 91 pop r28 + 21b2: 08 95 ret + +000021b4 : + 21b4: 0f 93 push r16 + 21b6: cf 93 push r28 + 21b8: c8 2f mov r28, r24 + 21ba: c4 db rcall .-2168 ; 0x1944 + 21bc: fc 01 movw r30, r24 + 21be: 91 81 ldd r25, Z+1 ; 0x01 + 21c0: 94 60 ori r25, 0x04 ; 4 + 21c2: 91 83 std Z+1, r25 ; 0x01 + 21c4: 01 e0 ldi r16, 0x01 ; 1 + 21c6: 06 93 lac Z, r16 21c8: 8c 2f mov r24, r28 - 21ca: cc db rcall .-2152 ; 0x1964 - 21cc: fc 01 movw r30, r24 - 21ce: 11 82 std Z+1, r1 ; 0x01 - 21d0: cf 91 pop r28 + 21ca: bb df rcall .-138 ; 0x2142 + 21cc: 81 e0 ldi r24, 0x01 ; 1 + 21ce: cf 91 pop r28 + 21d0: 0f 91 pop r16 21d2: 08 95 ret -000021d4 : - 21d4: 0f 93 push r16 - 21d6: cf 93 push r28 - 21d8: c8 2f mov r28, r24 - 21da: c4 db rcall .-2168 ; 0x1964 - 21dc: fc 01 movw r30, r24 - 21de: 91 81 ldd r25, Z+1 ; 0x01 - 21e0: 94 60 ori r25, 0x04 ; 4 - 21e2: 91 83 std Z+1, r25 ; 0x01 - 21e4: 01 e0 ldi r16, 0x01 ; 1 - 21e6: 06 93 lac Z, r16 - 21e8: 8c 2f mov r24, r28 - 21ea: bb df rcall .-138 ; 0x2162 - 21ec: 81 e0 ldi r24, 0x01 ; 1 - 21ee: cf 91 pop r28 - 21f0: 0f 91 pop r16 - 21f2: 08 95 ret +000021d4 <__vector_125>: + 21d4: 1f 92 push r1 + 21d6: 0f 92 push r0 + 21d8: 0f b6 in r0, 0x3f ; 63 + 21da: 0f 92 push r0 + 21dc: 11 24 eor r1, r1 + 21de: 0f 93 push r16 + 21e0: 2f 93 push r18 + 21e2: 3f 93 push r19 + 21e4: 4f 93 push r20 + 21e6: 5f 93 push r21 + 21e8: 6f 93 push r22 + 21ea: 7f 93 push r23 + 21ec: 8f 93 push r24 + 21ee: 9f 93 push r25 + 21f0: af 93 push r26 + 21f2: bf 93 push r27 + 21f4: ef 93 push r30 + 21f6: ff 93 push r31 + 21f8: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 21fc: 87 ff sbrs r24, 7 + 21fe: 07 c0 rjmp .+14 ; 0x220e <__vector_125+0x3a> + 2200: 80 e8 ldi r24, 0x80 ; 128 + 2202: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2206: 04 d8 rcall .-4088 ; 0x1210 + 2208: 0e 94 77 01 call 0x2ee ; 0x2ee + 220c: 86 c0 rjmp .+268 ; 0x231a <__vector_125+0x146> + 220e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2212: 82 ff sbrs r24, 2 + 2214: 18 c0 rjmp .+48 ; 0x2246 <__vector_125+0x72> + 2216: 84 e0 ldi r24, 0x04 ; 4 + 2218: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 221c: 80 91 28 22 lds r24, 0x2228 ; 0x802228 + 2220: 86 ff sbrs r24, 6 + 2222: 7b c0 rjmp .+246 ; 0x231a <__vector_125+0x146> + 2224: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2228: 81 fd sbrc r24, 1 + 222a: 77 c0 rjmp .+238 ; 0x231a <__vector_125+0x146> + 222c: 6e dd rcall .-1316 ; 0x1d0a + 222e: 81 11 cpse r24, r1 + 2230: 74 c0 rjmp .+232 ; 0x231a <__vector_125+0x146> + 2232: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 2236: 81 30 cpi r24, 0x01 ; 1 + 2238: 11 f4 brne .+4 ; 0x223e <__vector_125+0x6a> + 223a: d0 db rcall .-2144 ; 0x19dc + 223c: 6e c0 rjmp .+220 ; 0x231a <__vector_125+0x146> + 223e: 84 30 cpi r24, 0x04 ; 4 + 2240: 09 f0 breq .+2 ; 0x2244 <__vector_125+0x70> + 2242: 6b c0 rjmp .+214 ; 0x231a <__vector_125+0x146> + 2244: 21 c0 rjmp .+66 ; 0x2288 <__vector_125+0xb4> + 2246: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 224a: 81 ff sbrs r24, 1 + 224c: 26 c0 rjmp .+76 ; 0x229a <__vector_125+0xc6> + 224e: 82 e0 ldi r24, 0x02 ; 2 + 2250: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2254: 80 91 20 22 lds r24, 0x2220 ; 0x802220 + 2258: 86 ff sbrs r24, 6 + 225a: 5f c0 rjmp .+190 ; 0x231a <__vector_125+0x146> + 225c: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2260: 81 fd sbrc r24, 1 + 2262: 5b c0 rjmp .+182 ; 0x231a <__vector_125+0x146> + 2264: 52 dd rcall .-1372 ; 0x1d0a + 2266: 81 11 cpse r24, r1 + 2268: 58 c0 rjmp .+176 ; 0x231a <__vector_125+0x146> + 226a: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 226e: 82 30 cpi r24, 0x02 ; 2 + 2270: 41 f4 brne .+16 ; 0x2282 <__vector_125+0xae> + 2272: 84 e0 ldi r24, 0x04 ; 4 + 2274: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 2278: e0 e2 ldi r30, 0x20 ; 32 + 227a: f2 e2 ldi r31, 0x22 ; 34 + 227c: 02 e0 ldi r16, 0x02 ; 2 + 227e: 06 93 lac Z, r16 + 2280: 4c c0 rjmp .+152 ; 0x231a <__vector_125+0x146> + 2282: 83 30 cpi r24, 0x03 ; 3 + 2284: 09 f0 breq .+2 ; 0x2288 <__vector_125+0xb4> + 2286: 49 c0 rjmp .+146 ; 0x231a <__vector_125+0x146> + 2288: e9 e2 ldi r30, 0x29 ; 41 + 228a: f2 e2 ldi r31, 0x22 ; 34 + 228c: 04 e0 ldi r16, 0x04 ; 4 + 228e: 05 93 las Z, r16 + 2290: e1 e2 ldi r30, 0x21 ; 33 + 2292: f2 e2 ldi r31, 0x22 ; 34 + 2294: 04 e0 ldi r16, 0x04 ; 4 + 2296: 05 93 las Z, r16 + 2298: 40 c0 rjmp .+128 ; 0x231a <__vector_125+0x146> + 229a: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 229e: 84 ff sbrs r24, 4 + 22a0: 25 c0 rjmp .+74 ; 0x22ec <__vector_125+0x118> + 22a2: 80 e1 ldi r24, 0x10 ; 16 + 22a4: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 22a8: 81 e0 ldi r24, 0x01 ; 1 + 22aa: 4b df rcall .-362 ; 0x2142 + 22ac: 81 e8 ldi r24, 0x81 ; 129 + 22ae: 49 df rcall .-366 ; 0x2142 + 22b0: 82 e0 ldi r24, 0x02 ; 2 + 22b2: 47 df rcall .-370 ; 0x2142 + 22b4: 82 e8 ldi r24, 0x82 ; 130 + 22b6: 45 df rcall .-374 ; 0x2142 + 22b8: 0e 94 ec 08 call 0x11d8 ; 0x11d8 + 22bc: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 22c0: 10 92 21 22 sts 0x2221, r1 ; 0x802221 + 22c4: 96 e0 ldi r25, 0x06 ; 6 + 22c6: 90 93 20 22 sts 0x2220, r25 ; 0x802220 + 22ca: 83 e4 ldi r24, 0x43 ; 67 + 22cc: 80 93 21 22 sts 0x2221, r24 ; 0x802221 + 22d0: 10 92 29 22 sts 0x2229, r1 ; 0x802229 + 22d4: 90 93 28 22 sts 0x2228, r25 ; 0x802228 + 22d8: 80 93 29 22 sts 0x2229, r24 ; 0x802229 + 22dc: 89 ec ldi r24, 0xC9 ; 201 + 22de: 91 e2 ldi r25, 0x21 ; 33 + 22e0: 80 93 24 22 sts 0x2224, r24 ; 0x802224 + 22e4: 90 93 25 22 sts 0x2225, r25 ; 0x802225 + 22e8: 44 db rcall .-2424 ; 0x1972 + 22ea: 17 c0 rjmp .+46 ; 0x231a <__vector_125+0x146> + 22ec: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 22f0: 86 ff sbrs r24, 6 + 22f2: 08 c0 rjmp .+16 ; 0x2304 <__vector_125+0x130> + 22f4: 80 e4 ldi r24, 0x40 ; 64 + 22f6: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 22fa: 80 e0 ldi r24, 0x00 ; 0 + 22fc: 10 db rcall .-2528 ; 0x191e + 22fe: 0e 94 75 01 call 0x2ea ; 0x2ea + 2302: 0b c0 rjmp .+22 ; 0x231a <__vector_125+0x146> + 2304: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2308: 85 ff sbrs r24, 5 + 230a: 07 c0 rjmp .+14 ; 0x231a <__vector_125+0x146> + 230c: 80 e2 ldi r24, 0x20 ; 32 + 230e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2312: 81 e0 ldi r24, 0x01 ; 1 + 2314: 04 db rcall .-2552 ; 0x191e + 2316: 0e 94 76 01 call 0x2ec ; 0x2ec + 231a: ff 91 pop r31 + 231c: ef 91 pop r30 + 231e: bf 91 pop r27 + 2320: af 91 pop r26 + 2322: 9f 91 pop r25 + 2324: 8f 91 pop r24 + 2326: 7f 91 pop r23 + 2328: 6f 91 pop r22 + 232a: 5f 91 pop r21 + 232c: 4f 91 pop r20 + 232e: 3f 91 pop r19 + 2330: 2f 91 pop r18 + 2332: 0f 91 pop r16 + 2334: 0f 90 pop r0 + 2336: 0f be out 0x3f, r0 ; 63 + 2338: 0f 90 pop r0 + 233a: 1f 90 pop r1 + 233c: 18 95 reti -000021f4 <__vector_125>: - 21f4: 1f 92 push r1 - 21f6: 0f 92 push r0 - 21f8: 0f b6 in r0, 0x3f ; 63 - 21fa: 0f 92 push r0 - 21fc: 11 24 eor r1, r1 - 21fe: 0f 93 push r16 - 2200: 2f 93 push r18 - 2202: 3f 93 push r19 - 2204: 4f 93 push r20 - 2206: 5f 93 push r21 - 2208: 6f 93 push r22 - 220a: 7f 93 push r23 - 220c: 8f 93 push r24 - 220e: 9f 93 push r25 - 2210: af 93 push r26 - 2212: bf 93 push r27 - 2214: ef 93 push r30 - 2216: ff 93 push r31 - 2218: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 221c: 87 ff sbrs r24, 7 - 221e: 07 c0 rjmp .+14 ; 0x222e <__vector_125+0x3a> - 2220: 80 e8 ldi r24, 0x80 ; 128 - 2222: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 2226: 03 d8 rcall .-4090 ; 0x122e - 2228: 0e 94 77 01 call 0x2ee ; 0x2ee - 222c: 86 c0 rjmp .+268 ; 0x233a <__vector_125+0x146> - 222e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2232: 82 ff sbrs r24, 2 - 2234: 18 c0 rjmp .+48 ; 0x2266 <__vector_125+0x72> - 2236: 84 e0 ldi r24, 0x04 ; 4 - 2238: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 223c: 80 91 28 22 lds r24, 0x2228 ; 0x802228 - 2240: 86 ff sbrs r24, 6 - 2242: 7b c0 rjmp .+246 ; 0x233a <__vector_125+0x146> - 2244: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2248: 81 fd sbrc r24, 1 - 224a: 77 c0 rjmp .+238 ; 0x233a <__vector_125+0x146> - 224c: 6e dd rcall .-1316 ; 0x1d2a - 224e: 81 11 cpse r24, r1 - 2250: 74 c0 rjmp .+232 ; 0x233a <__vector_125+0x146> - 2252: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 2256: 81 30 cpi r24, 0x01 ; 1 - 2258: 11 f4 brne .+4 ; 0x225e <__vector_125+0x6a> - 225a: d0 db rcall .-2144 ; 0x19fc - 225c: 6e c0 rjmp .+220 ; 0x233a <__vector_125+0x146> - 225e: 84 30 cpi r24, 0x04 ; 4 - 2260: 09 f0 breq .+2 ; 0x2264 <__vector_125+0x70> - 2262: 6b c0 rjmp .+214 ; 0x233a <__vector_125+0x146> - 2264: 21 c0 rjmp .+66 ; 0x22a8 <__vector_125+0xb4> - 2266: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 226a: 81 ff sbrs r24, 1 - 226c: 26 c0 rjmp .+76 ; 0x22ba <__vector_125+0xc6> - 226e: 82 e0 ldi r24, 0x02 ; 2 - 2270: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 2274: 80 91 20 22 lds r24, 0x2220 ; 0x802220 - 2278: 86 ff sbrs r24, 6 - 227a: 5f c0 rjmp .+190 ; 0x233a <__vector_125+0x146> - 227c: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2280: 81 fd sbrc r24, 1 - 2282: 5b c0 rjmp .+182 ; 0x233a <__vector_125+0x146> - 2284: 52 dd rcall .-1372 ; 0x1d2a - 2286: 81 11 cpse r24, r1 - 2288: 58 c0 rjmp .+176 ; 0x233a <__vector_125+0x146> - 228a: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 228e: 82 30 cpi r24, 0x02 ; 2 - 2290: 41 f4 brne .+16 ; 0x22a2 <__vector_125+0xae> - 2292: 84 e0 ldi r24, 0x04 ; 4 - 2294: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 2298: e0 e2 ldi r30, 0x20 ; 32 - 229a: f2 e2 ldi r31, 0x22 ; 34 - 229c: 02 e0 ldi r16, 0x02 ; 2 - 229e: 06 93 lac Z, r16 - 22a0: 4c c0 rjmp .+152 ; 0x233a <__vector_125+0x146> - 22a2: 83 30 cpi r24, 0x03 ; 3 - 22a4: 09 f0 breq .+2 ; 0x22a8 <__vector_125+0xb4> - 22a6: 49 c0 rjmp .+146 ; 0x233a <__vector_125+0x146> - 22a8: e9 e2 ldi r30, 0x29 ; 41 - 22aa: f2 e2 ldi r31, 0x22 ; 34 - 22ac: 04 e0 ldi r16, 0x04 ; 4 - 22ae: 05 93 las Z, r16 - 22b0: e1 e2 ldi r30, 0x21 ; 33 - 22b2: f2 e2 ldi r31, 0x22 ; 34 - 22b4: 04 e0 ldi r16, 0x04 ; 4 - 22b6: 05 93 las Z, r16 - 22b8: 40 c0 rjmp .+128 ; 0x233a <__vector_125+0x146> - 22ba: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 22be: 84 ff sbrs r24, 4 - 22c0: 25 c0 rjmp .+74 ; 0x230c <__vector_125+0x118> - 22c2: 80 e1 ldi r24, 0x10 ; 16 - 22c4: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 22c8: 81 e0 ldi r24, 0x01 ; 1 - 22ca: 4b df rcall .-362 ; 0x2162 - 22cc: 81 e8 ldi r24, 0x81 ; 129 - 22ce: 49 df rcall .-366 ; 0x2162 - 22d0: 82 e0 ldi r24, 0x02 ; 2 - 22d2: 47 df rcall .-370 ; 0x2162 - 22d4: 82 e8 ldi r24, 0x82 ; 130 - 22d6: 45 df rcall .-374 ; 0x2162 - 22d8: 0e 94 fb 08 call 0x11f6 ; 0x11f6 - 22dc: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 22e0: 10 92 21 22 sts 0x2221, r1 ; 0x802221 - 22e4: 96 e0 ldi r25, 0x06 ; 6 - 22e6: 90 93 20 22 sts 0x2220, r25 ; 0x802220 - 22ea: 83 e4 ldi r24, 0x43 ; 67 - 22ec: 80 93 21 22 sts 0x2221, r24 ; 0x802221 - 22f0: 10 92 29 22 sts 0x2229, r1 ; 0x802229 - 22f4: 90 93 28 22 sts 0x2228, r25 ; 0x802228 - 22f8: 80 93 29 22 sts 0x2229, r24 ; 0x802229 - 22fc: 89 ec ldi r24, 0xC9 ; 201 - 22fe: 91 e2 ldi r25, 0x21 ; 33 - 2300: 80 93 24 22 sts 0x2224, r24 ; 0x802224 - 2304: 90 93 25 22 sts 0x2225, r25 ; 0x802225 - 2308: 44 db rcall .-2424 ; 0x1992 - 230a: 17 c0 rjmp .+46 ; 0x233a <__vector_125+0x146> - 230c: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2310: 86 ff sbrs r24, 6 - 2312: 08 c0 rjmp .+16 ; 0x2324 <__vector_125+0x130> - 2314: 80 e4 ldi r24, 0x40 ; 64 - 2316: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 231a: 80 e0 ldi r24, 0x00 ; 0 - 231c: 10 db rcall .-2528 ; 0x193e - 231e: 0e 94 75 01 call 0x2ea ; 0x2ea - 2322: 0b c0 rjmp .+22 ; 0x233a <__vector_125+0x146> - 2324: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2328: 85 ff sbrs r24, 5 - 232a: 07 c0 rjmp .+14 ; 0x233a <__vector_125+0x146> - 232c: 80 e2 ldi r24, 0x20 ; 32 - 232e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 2332: 81 e0 ldi r24, 0x01 ; 1 - 2334: 04 db rcall .-2552 ; 0x193e - 2336: 0e 94 76 01 call 0x2ec ; 0x2ec - 233a: ff 91 pop r31 - 233c: ef 91 pop r30 - 233e: bf 91 pop r27 - 2340: af 91 pop r26 - 2342: 9f 91 pop r25 - 2344: 8f 91 pop r24 - 2346: 7f 91 pop r23 - 2348: 6f 91 pop r22 - 234a: 5f 91 pop r21 - 234c: 4f 91 pop r20 - 234e: 3f 91 pop r19 - 2350: 2f 91 pop r18 - 2352: 0f 91 pop r16 - 2354: 0f 90 pop r0 - 2356: 0f be out 0x3f, r0 ; 63 - 2358: 0f 90 pop r0 - 235a: 1f 90 pop r1 - 235c: 18 95 reti - -0000235e <__vector_126>: - 235e: 1f 92 push r1 - 2360: 0f 92 push r0 - 2362: 0f b6 in r0, 0x3f ; 63 - 2364: 0f 92 push r0 - 2366: 11 24 eor r1, r1 - 2368: 0f 93 push r16 - 236a: 1f 93 push r17 - 236c: 2f 93 push r18 - 236e: 3f 93 push r19 - 2370: 4f 93 push r20 - 2372: 5f 93 push r21 - 2374: 6f 93 push r22 - 2376: 7f 93 push r23 - 2378: 8f 93 push r24 - 237a: 9f 93 push r25 - 237c: af 93 push r26 - 237e: bf 93 push r27 - 2380: cf 93 push r28 - 2382: df 93 push r29 - 2384: ef 93 push r30 - 2386: ff 93 push r31 - 2388: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 238c: 81 ff sbrs r24, 1 - 238e: 1a c0 rjmp .+52 ; 0x23c4 <__vector_126+0x66> - 2390: 82 e0 ldi r24, 0x02 ; 2 - 2392: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2396: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 239a: 81 95 neg r24 - 239c: 88 0f add r24, r24 - 239e: e0 e2 ldi r30, 0x20 ; 32 - 23a0: f2 e2 ldi r31, 0x22 ; 34 - 23a2: e8 1b sub r30, r24 - 23a4: f1 09 sbc r31, r1 - 23a6: 20 81 ld r18, Z - 23a8: 31 81 ldd r19, Z+1 ; 0x01 - 23aa: 20 52 subi r18, 0x20 ; 32 - 23ac: 32 42 sbci r19, 0x22 ; 34 - 23ae: 83 e0 ldi r24, 0x03 ; 3 - 23b0: 36 95 lsr r19 - 23b2: 27 95 ror r18 - 23b4: 8a 95 dec r24 - 23b6: e1 f7 brne .-8 ; 0x23b0 <__vector_126+0x52> - 23b8: 82 2f mov r24, r18 - 23ba: 86 95 lsr r24 - 23bc: 20 fd sbrc r18, 0 - 23be: 06 c0 rjmp .+12 ; 0x23cc <__vector_126+0x6e> - 23c0: c0 e0 ldi r28, 0x00 ; 0 - 23c2: 05 c0 rjmp .+10 ; 0x23ce <__vector_126+0x70> - 23c4: b2 dc rcall .-1692 ; 0x1d2a - 23c6: 88 23 and r24, r24 - 23c8: 19 f3 breq .-58 ; 0x2390 <__vector_126+0x32> - 23ca: 86 c0 rjmp .+268 ; 0x24d8 <__vector_126+0x17a> - 23cc: c0 e8 ldi r28, 0x80 ; 128 - 23ce: c8 0f add r28, r24 - 23d0: 8c 2f mov r24, r28 - 23d2: c8 da rcall .-2672 ; 0x1964 - 23d4: fc 01 movw r30, r24 - 23d6: 20 81 ld r18, Z - 23d8: 25 ff sbrs r18, 5 - 23da: 7e c0 rjmp .+252 ; 0x24d8 <__vector_126+0x17a> - 23dc: 00 e2 ldi r16, 0x20 ; 32 - 23de: 06 93 lac Z, r16 - 23e0: c1 11 cpse r28, r1 - 23e2: 74 c0 rjmp .+232 ; 0x24cc <__vector_126+0x16e> - 23e4: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 23e8: 84 30 cpi r24, 0x04 ; 4 - 23ea: 19 f4 brne .+6 ; 0x23f2 <__vector_126+0x94> - 23ec: 15 db rcall .-2518 ; 0x1a18 - 23ee: d1 da rcall .-2654 ; 0x1992 - 23f0: 73 c0 rjmp .+230 ; 0x24d8 <__vector_126+0x17a> - 23f2: 00 91 22 22 lds r16, 0x2222 ; 0x802222 - 23f6: 10 91 23 22 lds r17, 0x2223 ; 0x802223 - 23fa: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 23fe: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 2402: c0 91 09 22 lds r28, 0x2209 ; 0x802209 - 2406: d0 91 0a 22 lds r29, 0x220A ; 0x80220a - 240a: 9e 01 movw r18, r28 - 240c: 20 0f add r18, r16 - 240e: 31 1f adc r19, r17 - 2410: 82 17 cp r24, r18 - 2412: 93 07 cpc r25, r19 - 2414: 18 f4 brcc .+6 ; 0x241c <__vector_126+0xbe> - 2416: 8c 01 movw r16, r24 - 2418: 0c 1b sub r16, r28 - 241a: 1d 0b sbc r17, r29 - 241c: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 2420: 90 91 6f 24 lds r25, 0x246F ; 0x80246f - 2424: a8 01 movw r20, r16 - 2426: 69 ec ldi r22, 0xC9 ; 201 - 2428: 71 e2 ldi r23, 0x21 ; 33 +0000233e <__vector_126>: + 233e: 1f 92 push r1 + 2340: 0f 92 push r0 + 2342: 0f b6 in r0, 0x3f ; 63 + 2344: 0f 92 push r0 + 2346: 11 24 eor r1, r1 + 2348: 0f 93 push r16 + 234a: 1f 93 push r17 + 234c: 2f 93 push r18 + 234e: 3f 93 push r19 + 2350: 4f 93 push r20 + 2352: 5f 93 push r21 + 2354: 6f 93 push r22 + 2356: 7f 93 push r23 + 2358: 8f 93 push r24 + 235a: 9f 93 push r25 + 235c: af 93 push r26 + 235e: bf 93 push r27 + 2360: cf 93 push r28 + 2362: df 93 push r29 + 2364: ef 93 push r30 + 2366: ff 93 push r31 + 2368: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 236c: 81 ff sbrs r24, 1 + 236e: 1a c0 rjmp .+52 ; 0x23a4 <__vector_126+0x66> + 2370: 82 e0 ldi r24, 0x02 ; 2 + 2372: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2376: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 237a: 81 95 neg r24 + 237c: 88 0f add r24, r24 + 237e: e0 e2 ldi r30, 0x20 ; 32 + 2380: f2 e2 ldi r31, 0x22 ; 34 + 2382: e8 1b sub r30, r24 + 2384: f1 09 sbc r31, r1 + 2386: 20 81 ld r18, Z + 2388: 31 81 ldd r19, Z+1 ; 0x01 + 238a: 20 52 subi r18, 0x20 ; 32 + 238c: 32 42 sbci r19, 0x22 ; 34 + 238e: 83 e0 ldi r24, 0x03 ; 3 + 2390: 36 95 lsr r19 + 2392: 27 95 ror r18 + 2394: 8a 95 dec r24 + 2396: e1 f7 brne .-8 ; 0x2390 <__vector_126+0x52> + 2398: 82 2f mov r24, r18 + 239a: 86 95 lsr r24 + 239c: 20 fd sbrc r18, 0 + 239e: 06 c0 rjmp .+12 ; 0x23ac <__vector_126+0x6e> + 23a0: c0 e0 ldi r28, 0x00 ; 0 + 23a2: 05 c0 rjmp .+10 ; 0x23ae <__vector_126+0x70> + 23a4: b2 dc rcall .-1692 ; 0x1d0a + 23a6: 88 23 and r24, r24 + 23a8: 19 f3 breq .-58 ; 0x2370 <__vector_126+0x32> + 23aa: 86 c0 rjmp .+268 ; 0x24b8 <__vector_126+0x17a> + 23ac: c0 e8 ldi r28, 0x80 ; 128 + 23ae: c8 0f add r28, r24 + 23b0: 8c 2f mov r24, r28 + 23b2: c8 da rcall .-2672 ; 0x1944 + 23b4: fc 01 movw r30, r24 + 23b6: 20 81 ld r18, Z + 23b8: 25 ff sbrs r18, 5 + 23ba: 7e c0 rjmp .+252 ; 0x24b8 <__vector_126+0x17a> + 23bc: 00 e2 ldi r16, 0x20 ; 32 + 23be: 06 93 lac Z, r16 + 23c0: c1 11 cpse r28, r1 + 23c2: 74 c0 rjmp .+232 ; 0x24ac <__vector_126+0x16e> + 23c4: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 23c8: 84 30 cpi r24, 0x04 ; 4 + 23ca: 19 f4 brne .+6 ; 0x23d2 <__vector_126+0x94> + 23cc: 15 db rcall .-2518 ; 0x19f8 + 23ce: d1 da rcall .-2654 ; 0x1972 + 23d0: 73 c0 rjmp .+230 ; 0x24b8 <__vector_126+0x17a> + 23d2: 00 91 22 22 lds r16, 0x2222 ; 0x802222 + 23d6: 10 91 23 22 lds r17, 0x2223 ; 0x802223 + 23da: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 23de: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 23e2: c0 91 09 22 lds r28, 0x2209 ; 0x802209 + 23e6: d0 91 0a 22 lds r29, 0x220A ; 0x80220a + 23ea: 9e 01 movw r18, r28 + 23ec: 20 0f add r18, r16 + 23ee: 31 1f adc r19, r17 + 23f0: 82 17 cp r24, r18 + 23f2: 93 07 cpc r25, r19 + 23f4: 18 f4 brcc .+6 ; 0x23fc <__vector_126+0xbe> + 23f6: 8c 01 movw r16, r24 + 23f8: 0c 1b sub r16, r28 + 23fa: 1d 0b sbc r17, r29 + 23fc: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 2400: 90 91 6f 24 lds r25, 0x246F ; 0x80246f + 2404: a8 01 movw r20, r16 + 2406: 69 ec ldi r22, 0xC9 ; 201 + 2408: 71 e2 ldi r23, 0x21 ; 33 + 240a: 8c 0f add r24, r28 + 240c: 9d 1f adc r25, r29 + 240e: 83 d0 rcall .+262 ; 0x2516 + 2410: c0 0f add r28, r16 + 2412: d1 1f adc r29, r17 + 2414: c0 93 09 22 sts 0x2209, r28 ; 0x802209 + 2418: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a + 241c: 00 34 cpi r16, 0x40 ; 64 + 241e: 11 05 cpc r17, r1 + 2420: 69 f4 brne .+26 ; 0x243c <__vector_126+0xfe> + 2422: 80 91 0b 22 lds r24, 0x220B ; 0x80220b + 2426: 90 91 0c 22 lds r25, 0x220C ; 0x80220c 242a: 8c 0f add r24, r28 242c: 9d 1f adc r25, r29 - 242e: 83 d0 rcall .+262 ; 0x2536 - 2430: c0 0f add r28, r16 - 2432: d1 1f adc r29, r17 - 2434: c0 93 09 22 sts 0x2209, r28 ; 0x802209 - 2438: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a - 243c: 00 34 cpi r16, 0x40 ; 64 - 243e: 11 05 cpc r17, r1 - 2440: 69 f4 brne .+26 ; 0x245c <__vector_126+0xfe> - 2442: 80 91 0b 22 lds r24, 0x220B ; 0x80220b - 2446: 90 91 0c 22 lds r25, 0x220C ; 0x80220c - 244a: 8c 0f add r24, r28 - 244c: 9d 1f adc r25, r29 - 244e: 20 91 6c 24 lds r18, 0x246C ; 0x80246c - 2452: 30 91 6d 24 lds r19, 0x246D ; 0x80246d - 2456: 82 17 cp r24, r18 - 2458: 93 07 cpc r25, r19 - 245a: 88 f0 brcs .+34 ; 0x247e <__vector_126+0x120> - 245c: c0 93 70 24 sts 0x2470, r28 ; 0x802470 - 2460: d0 93 71 24 sts 0x2471, r29 ; 0x802471 - 2464: e0 91 74 24 lds r30, 0x2474 ; 0x802474 - 2468: f0 91 75 24 lds r31, 0x2475 ; 0x802475 - 246c: 30 97 sbiw r30, 0x00 ; 0 - 246e: 29 f0 breq .+10 ; 0x247a <__vector_126+0x11c> - 2470: 09 95 icall - 2472: 81 11 cpse r24, r1 - 2474: 02 c0 rjmp .+4 ; 0x247a <__vector_126+0x11c> - 2476: b4 da rcall .-2712 ; 0x19e0 - 2478: 2f c0 rjmp .+94 ; 0x24d8 <__vector_126+0x17a> - 247a: c0 da rcall .-2688 ; 0x19fc - 247c: 2d c0 rjmp .+90 ; 0x24d8 <__vector_126+0x17a> - 247e: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 2482: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 2486: 8c 17 cp r24, r28 - 2488: 9d 07 cpc r25, r29 - 248a: d9 f4 brne .+54 ; 0x24c2 <__vector_126+0x164> - 248c: e0 91 74 24 lds r30, 0x2474 ; 0x802474 - 2490: f0 91 75 24 lds r31, 0x2475 ; 0x802475 - 2494: 30 97 sbiw r30, 0x00 ; 0 - 2496: 79 f3 breq .-34 ; 0x2476 <__vector_126+0x118> - 2498: 09 95 icall - 249a: 88 23 and r24, r24 - 249c: 61 f3 breq .-40 ; 0x2476 <__vector_126+0x118> - 249e: 20 91 0b 22 lds r18, 0x220B ; 0x80220b - 24a2: 30 91 0c 22 lds r19, 0x220C ; 0x80220c - 24a6: 80 91 09 22 lds r24, 0x2209 ; 0x802209 - 24aa: 90 91 0a 22 lds r25, 0x220A ; 0x80220a - 24ae: 82 0f add r24, r18 - 24b0: 93 1f adc r25, r19 - 24b2: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b - 24b6: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c - 24ba: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 24be: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 24c2: e0 e2 ldi r30, 0x20 ; 32 - 24c4: f2 e2 ldi r31, 0x22 ; 34 - 24c6: 02 e0 ldi r16, 0x02 ; 2 - 24c8: 06 93 lac Z, r16 - 24ca: 06 c0 rjmp .+12 ; 0x24d8 <__vector_126+0x17a> - 24cc: c0 38 cpi r28, 0x80 ; 128 - 24ce: 11 f4 brne .+4 ; 0x24d4 <__vector_126+0x176> - 24d0: be db rcall .-2180 ; 0x1c4e - 24d2: 02 c0 rjmp .+4 ; 0x24d8 <__vector_126+0x17a> - 24d4: 8c 2f mov r24, r28 - 24d6: c2 da rcall .-2684 ; 0x1a5c - 24d8: ff 91 pop r31 - 24da: ef 91 pop r30 - 24dc: df 91 pop r29 - 24de: cf 91 pop r28 - 24e0: bf 91 pop r27 - 24e2: af 91 pop r26 - 24e4: 9f 91 pop r25 - 24e6: 8f 91 pop r24 - 24e8: 7f 91 pop r23 - 24ea: 6f 91 pop r22 - 24ec: 5f 91 pop r21 - 24ee: 4f 91 pop r20 - 24f0: 3f 91 pop r19 - 24f2: 2f 91 pop r18 - 24f4: 1f 91 pop r17 - 24f6: 0f 91 pop r16 - 24f8: 0f 90 pop r0 - 24fa: 0f be out 0x3f, r0 ; 63 - 24fc: 0f 90 pop r0 - 24fe: 1f 90 pop r1 - 2500: 18 95 reti + 242e: 20 91 6c 24 lds r18, 0x246C ; 0x80246c + 2432: 30 91 6d 24 lds r19, 0x246D ; 0x80246d + 2436: 82 17 cp r24, r18 + 2438: 93 07 cpc r25, r19 + 243a: 88 f0 brcs .+34 ; 0x245e <__vector_126+0x120> + 243c: c0 93 70 24 sts 0x2470, r28 ; 0x802470 + 2440: d0 93 71 24 sts 0x2471, r29 ; 0x802471 + 2444: e0 91 74 24 lds r30, 0x2474 ; 0x802474 + 2448: f0 91 75 24 lds r31, 0x2475 ; 0x802475 + 244c: 30 97 sbiw r30, 0x00 ; 0 + 244e: 29 f0 breq .+10 ; 0x245a <__vector_126+0x11c> + 2450: 09 95 icall + 2452: 81 11 cpse r24, r1 + 2454: 02 c0 rjmp .+4 ; 0x245a <__vector_126+0x11c> + 2456: b4 da rcall .-2712 ; 0x19c0 + 2458: 2f c0 rjmp .+94 ; 0x24b8 <__vector_126+0x17a> + 245a: c0 da rcall .-2688 ; 0x19dc + 245c: 2d c0 rjmp .+90 ; 0x24b8 <__vector_126+0x17a> + 245e: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 2462: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 2466: 8c 17 cp r24, r28 + 2468: 9d 07 cpc r25, r29 + 246a: d9 f4 brne .+54 ; 0x24a2 <__vector_126+0x164> + 246c: e0 91 74 24 lds r30, 0x2474 ; 0x802474 + 2470: f0 91 75 24 lds r31, 0x2475 ; 0x802475 + 2474: 30 97 sbiw r30, 0x00 ; 0 + 2476: 79 f3 breq .-34 ; 0x2456 <__vector_126+0x118> + 2478: 09 95 icall + 247a: 88 23 and r24, r24 + 247c: 61 f3 breq .-40 ; 0x2456 <__vector_126+0x118> + 247e: 20 91 0b 22 lds r18, 0x220B ; 0x80220b + 2482: 30 91 0c 22 lds r19, 0x220C ; 0x80220c + 2486: 80 91 09 22 lds r24, 0x2209 ; 0x802209 + 248a: 90 91 0a 22 lds r25, 0x220A ; 0x80220a + 248e: 82 0f add r24, r18 + 2490: 93 1f adc r25, r19 + 2492: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b + 2496: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c + 249a: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 249e: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 24a2: e0 e2 ldi r30, 0x20 ; 32 + 24a4: f2 e2 ldi r31, 0x22 ; 34 + 24a6: 02 e0 ldi r16, 0x02 ; 2 + 24a8: 06 93 lac Z, r16 + 24aa: 06 c0 rjmp .+12 ; 0x24b8 <__vector_126+0x17a> + 24ac: c0 38 cpi r28, 0x80 ; 128 + 24ae: 11 f4 brne .+4 ; 0x24b4 <__vector_126+0x176> + 24b0: be db rcall .-2180 ; 0x1c2e + 24b2: 02 c0 rjmp .+4 ; 0x24b8 <__vector_126+0x17a> + 24b4: 8c 2f mov r24, r28 + 24b6: c2 da rcall .-2684 ; 0x1a3c + 24b8: ff 91 pop r31 + 24ba: ef 91 pop r30 + 24bc: df 91 pop r29 + 24be: cf 91 pop r28 + 24c0: bf 91 pop r27 + 24c2: af 91 pop r26 + 24c4: 9f 91 pop r25 + 24c6: 8f 91 pop r24 + 24c8: 7f 91 pop r23 + 24ca: 6f 91 pop r22 + 24cc: 5f 91 pop r21 + 24ce: 4f 91 pop r20 + 24d0: 3f 91 pop r19 + 24d2: 2f 91 pop r18 + 24d4: 1f 91 pop r17 + 24d6: 0f 91 pop r16 + 24d8: 0f 90 pop r0 + 24da: 0f be out 0x3f, r0 ; 63 + 24dc: 0f 90 pop r0 + 24de: 1f 90 pop r1 + 24e0: 18 95 reti -00002502 <__udivmodhi4>: - 2502: aa 1b sub r26, r26 - 2504: bb 1b sub r27, r27 - 2506: 51 e1 ldi r21, 0x11 ; 17 - 2508: 07 c0 rjmp .+14 ; 0x2518 <__udivmodhi4_ep> +000024e2 <__udivmodhi4>: + 24e2: aa 1b sub r26, r26 + 24e4: bb 1b sub r27, r27 + 24e6: 51 e1 ldi r21, 0x11 ; 17 + 24e8: 07 c0 rjmp .+14 ; 0x24f8 <__udivmodhi4_ep> -0000250a <__udivmodhi4_loop>: - 250a: aa 1f adc r26, r26 - 250c: bb 1f adc r27, r27 - 250e: a6 17 cp r26, r22 - 2510: b7 07 cpc r27, r23 - 2512: 10 f0 brcs .+4 ; 0x2518 <__udivmodhi4_ep> - 2514: a6 1b sub r26, r22 - 2516: b7 0b sbc r27, r23 +000024ea <__udivmodhi4_loop>: + 24ea: aa 1f adc r26, r26 + 24ec: bb 1f adc r27, r27 + 24ee: a6 17 cp r26, r22 + 24f0: b7 07 cpc r27, r23 + 24f2: 10 f0 brcs .+4 ; 0x24f8 <__udivmodhi4_ep> + 24f4: a6 1b sub r26, r22 + 24f6: b7 0b sbc r27, r23 -00002518 <__udivmodhi4_ep>: - 2518: 88 1f adc r24, r24 - 251a: 99 1f adc r25, r25 - 251c: 5a 95 dec r21 - 251e: a9 f7 brne .-22 ; 0x250a <__udivmodhi4_loop> - 2520: 80 95 com r24 - 2522: 90 95 com r25 - 2524: bc 01 movw r22, r24 - 2526: cd 01 movw r24, r26 - 2528: 08 95 ret +000024f8 <__udivmodhi4_ep>: + 24f8: 88 1f adc r24, r24 + 24fa: 99 1f adc r25, r25 + 24fc: 5a 95 dec r21 + 24fe: a9 f7 brne .-22 ; 0x24ea <__udivmodhi4_loop> + 2500: 80 95 com r24 + 2502: 90 95 com r25 + 2504: bc 01 movw r22, r24 + 2506: cd 01 movw r24, r26 + 2508: 08 95 ret -0000252a <__tablejump2__>: - 252a: ee 0f add r30, r30 - 252c: ff 1f adc r31, r31 - 252e: 05 90 lpm r0, Z+ - 2530: f4 91 lpm r31, Z - 2532: e0 2d mov r30, r0 - 2534: 09 94 ijmp +0000250a <__tablejump2__>: + 250a: ee 0f add r30, r30 + 250c: ff 1f adc r31, r31 + 250e: 05 90 lpm r0, Z+ + 2510: f4 91 lpm r31, Z + 2512: e0 2d mov r30, r0 + 2514: 09 94 ijmp -00002536 : - 2536: fb 01 movw r30, r22 - 2538: dc 01 movw r26, r24 - 253a: 02 c0 rjmp .+4 ; 0x2540 - 253c: 01 90 ld r0, Z+ - 253e: 0d 92 st X+, r0 - 2540: 41 50 subi r20, 0x01 ; 1 - 2542: 50 40 sbci r21, 0x00 ; 0 - 2544: d8 f7 brcc .-10 ; 0x253c - 2546: 08 95 ret +00002516 : + 2516: fb 01 movw r30, r22 + 2518: dc 01 movw r26, r24 + 251a: 02 c0 rjmp .+4 ; 0x2520 + 251c: 01 90 ld r0, Z+ + 251e: 0d 92 st X+, r0 + 2520: 41 50 subi r20, 0x01 ; 1 + 2522: 50 40 sbci r21, 0x00 ; 0 + 2524: d8 f7 brcc .-10 ; 0x251c + 2526: 08 95 ret -00002548 <_exit>: - 2548: f8 94 cli +00002528 <_exit>: + 2528: f8 94 cli -0000254a <__stop_program>: - 254a: ff cf rjmp .-2 ; 0x254a <__stop_program> +0000252a <__stop_program>: + 252a: ff cf rjmp .-2 ; 0x252a <__stop_program> diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map index edbae793..2662735d 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map @@ -400,7 +400,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0x254c +.text 0x00000000 0x252c *(.vectors) .vectors 0x00000000 0x1fc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o 0x00000000 __vector_default @@ -479,7 +479,6 @@ END GROUP 0x00000274 __vector_62 0x00000274 __vector_77 0x00000274 __vector_102 - 0x00000274 __vector_24 0x00000274 __vector_12 0x00000274 __vector_55 0x00000274 __vector_69 @@ -671,174 +670,177 @@ END GROUP 0x000008e2 0x60 src/tiny_dma.o 0x000008e2 tiny_dma_loop_mode_3 .text.tiny_dma_set_mode_4 - 0x00000942 0xcc src/tiny_dma.o + 0x00000942 0x7c src/tiny_dma.o 0x00000942 tiny_dma_set_mode_4 .text.tiny_dma_loop_mode_4 - 0x00000a0e 0xb4 src/tiny_dma.o - 0x00000a0e tiny_dma_loop_mode_4 + 0x000009be 0xca src/tiny_dma.o + 0x000009be tiny_dma_loop_mode_4 .text.tiny_dma_set_mode_5 - 0x00000ac2 0x8e src/tiny_dma.o - 0x00000ac2 tiny_dma_set_mode_5 + 0x00000a88 0x8e src/tiny_dma.o + 0x00000a88 tiny_dma_set_mode_5 .text.tiny_dma_set_mode_6 - 0x00000b50 0x92 src/tiny_dma.o - 0x00000b50 tiny_dma_set_mode_6 + 0x00000b16 0x92 src/tiny_dma.o + 0x00000b16 tiny_dma_set_mode_6 .text.tiny_dma_loop_mode_6 - 0x00000be2 0x5c src/tiny_dma.o - 0x00000be2 tiny_dma_loop_mode_6 + 0x00000ba8 0x5c src/tiny_dma.o + 0x00000ba8 tiny_dma_loop_mode_6 .text.tiny_dma_set_mode_7 - 0x00000c3e 0x92 src/tiny_dma.o - 0x00000c3e tiny_dma_set_mode_7 + 0x00000c04 0x92 src/tiny_dma.o + 0x00000c04 tiny_dma_set_mode_7 .text.tiny_dma_loop_mode_7 - 0x00000cd0 0x5c src/tiny_dma.o - 0x00000cd0 tiny_dma_loop_mode_7 + 0x00000c96 0x5c src/tiny_dma.o + 0x00000c96 tiny_dma_loop_mode_7 .text.tiny_timer_setup - 0x00000d2c 0x76 src/tiny_timer.o - 0x00000d2c tiny_timer_setup + 0x00000cf2 0x76 src/tiny_timer.o + 0x00000cf2 tiny_timer_setup .text.__vector_83 - 0x00000da2 0xc0 src/tiny_timer.o - 0x00000da2 __vector_83 + 0x00000d68 0xc0 src/tiny_timer.o + 0x00000d68 __vector_83 .text.tiny_uart_setup - 0x00000e62 0x34 src/tiny_uart.o - 0x00000e62 tiny_uart_setup + 0x00000e28 0x34 src/tiny_uart.o + 0x00000e28 tiny_uart_setup .text.tiny_spi_setup - 0x00000e96 0x18 src/tiny_uart.o - 0x00000e96 tiny_spi_setup + 0x00000e5c 0x1e src/tiny_uart.o + 0x00000e5c tiny_spi_setup + .text.__vector_24 + 0x00000e7a 0x16 src/tiny_uart.o + 0x00000e7a __vector_24 .text.osc_enable_autocalibration.constprop.4 - 0x00000eae 0x38 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000e90 0x38 src/ASF/common/services/clock/xmega/sysclk.o .text.sysclk_init - 0x00000ee6 0xa6 src/ASF/common/services/clock/xmega/sysclk.o - 0x00000ee6 sysclk_init + 0x00000ec8 0xa6 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000ec8 sysclk_init .text.sysclk_enable_module - 0x00000f8c 0x18 src/ASF/common/services/clock/xmega/sysclk.o - 0x00000f8c sysclk_enable_module + 0x00000f6e 0x18 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000f6e sysclk_enable_module .text.sysclk_enable_usb - 0x00000fa4 0x40 src/ASF/common/services/clock/xmega/sysclk.o - 0x00000fa4 sysclk_enable_usb + 0x00000f86 0x40 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000f86 sysclk_enable_usb .text.udi_vendor_getsetting - 0x00000fe4 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00000fe4 udi_vendor_getsetting + 0x00000fc6 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00000fc6 udi_vendor_getsetting .text.udi_vendor_disable - 0x00000fea 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00000fea udi_vendor_disable + 0x00000fcc 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00000fcc udi_vendor_disable .text.udi_vendor_enable - 0x00000ff6 0x14 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00000ff6 udi_vendor_enable + 0x00000fd8 0x14 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00000fd8 udi_vendor_enable .text.udi_vendor_setup - 0x0000100a 0x38 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x0000100a udi_vendor_setup + 0x00000fec 0x38 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00000fec udi_vendor_setup .text.udi_vendor_iso_in_run - 0x00001042 0x16 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001042 udi_vendor_iso_in_run + 0x00001024 0x16 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001024 udi_vendor_iso_in_run .text.udc_valid_address - 0x00001058 0x8 src/ASF/common/services/usb/udc/udc.o + 0x0000103a 0x8 src/ASF/common/services/usb/udc/udc.o .text.udc_update_iface_desc - 0x00001060 0x66 src/ASF/common/services/usb/udc/udc.o + 0x00001042 0x66 src/ASF/common/services/usb/udc/udc.o .text.udc_next_desc_in_iface.constprop.3 - 0x000010c6 0x40 src/ASF/common/services/usb/udc/udc.o + 0x000010a8 0x40 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_enable - 0x00001106 0x66 src/ASF/common/services/usb/udc/udc.o + 0x000010e8 0x66 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_disable - 0x0000116c 0x7e src/ASF/common/services/usb/udc/udc.o + 0x0000114e 0x7e src/ASF/common/services/usb/udc/udc.o .text.udc_get_interface_desc - 0x000011ea 0xa src/ASF/common/services/usb/udc/udc.o - 0x000011ea udc_get_interface_desc + 0x000011cc 0xa src/ASF/common/services/usb/udc/udc.o + 0x000011cc udc_get_interface_desc .text.udc_start - 0x000011f4 0x2 src/ASF/common/services/usb/udc/udc.o - 0x000011f4 udc_start + 0x000011d6 0x2 src/ASF/common/services/usb/udc/udc.o + 0x000011d6 udc_start .text.udc_reset - 0x000011f6 0x38 src/ASF/common/services/usb/udc/udc.o - 0x000011f6 udc_reset + 0x000011d8 0x38 src/ASF/common/services/usb/udc/udc.o + 0x000011d8 udc_reset .text.udc_sof_notify - 0x0000122e 0x4a src/ASF/common/services/usb/udc/udc.o - 0x0000122e udc_sof_notify + 0x00001210 0x4a src/ASF/common/services/usb/udc/udc.o + 0x00001210 udc_sof_notify .text.udc_process_setup - 0x00001278 0x66a src/ASF/common/services/usb/udc/udc.o - 0x00001278 udc_process_setup + 0x0000125a 0x668 src/ASF/common/services/usb/udc/udc.o + 0x0000125a udc_process_setup .text.ccp_write_io - 0x000018e2 0xc src/ASF/xmega/drivers/cpu/ccp.o - 0x000018e2 ccp_write_io + 0x000018c2 0xc src/ASF/xmega/drivers/cpu/ccp.o + 0x000018c2 ccp_write_io .text.nvm_read_byte - 0x000018ee 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o - 0x000018ee nvm_read_byte + 0x000018ce 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o + 0x000018ce nvm_read_byte .text.sleepmgr_lock_mode - 0x00001902 0x1e src/ASF/xmega/drivers/usb/usb_device.o + 0x000018e2 0x1e src/ASF/xmega/drivers/usb/usb_device.o .text.sleepmgr_unlock_mode - 0x00001920 0x1e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001900 0x1e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_sleep_mode - 0x0000193e 0x26 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000191e 0x26 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_ctrl - 0x00001964 0x2e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001944 0x2e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_init - 0x00001992 0x4e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001972 0x4e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_stall_data - 0x000019e0 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x000019c0 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_send_zlp_in - 0x000019fc 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x000019dc 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_endofrequest - 0x00001a18 0x10 src/ASF/xmega/drivers/usb/usb_device.o + 0x000019f8 0x10 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_job - 0x00001a28 0x34 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a08 0x34 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_trans_complet - 0x00001a5c 0x1f2 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a3c 0x1f2 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_in_sent - 0x00001c4e 0xdc src/ASF/xmega/drivers/usb/usb_device.o + 0x00001c2e 0xdc src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_interrupt_tc_setup - 0x00001d2a 0xee src/ASF/xmega/drivers/usb/usb_device.o + 0x00001d0a 0xee src/ASF/xmega/drivers/usb/usb_device.o .text.udd_attach - 0x00001e18 0x46 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001e18 udd_attach + 0x00001df8 0x46 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001df8 udd_attach .text.udd_enable - 0x00001e5e 0xf0 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001e5e udd_enable + 0x00001e3e 0xf0 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001e3e udd_enable .text.udd_set_address - 0x00001f4e 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001f4e udd_set_address + 0x00001f2e 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001f2e udd_set_address .text.udd_getaddress - 0x00001f54 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001f54 udd_getaddress + 0x00001f34 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001f34 udd_getaddress .text.udd_set_setup_payload - 0x00001f5a 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x00001f5a udd_set_setup_payload + 0x00001f3a 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x00001f3a udd_set_setup_payload .text.udd_ep_alloc - 0x00001f68 0xa2 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001f68 udd_ep_alloc + 0x00001f48 0xa2 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001f48 udd_ep_alloc .text.udd_ep_is_halted - 0x0000200a 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x0000200a udd_ep_is_halted + 0x00001fea 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x00001fea udd_ep_is_halted .text.udd_ep_clear_halt - 0x00002018 0x32 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002018 udd_ep_clear_halt + 0x00001ff8 0x32 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001ff8 udd_ep_clear_halt .text.udd_ep_run - 0x0000204a 0x118 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000204a udd_ep_run + 0x0000202a 0x118 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000202a udd_ep_run .text.udd_ep_abort - 0x00002162 0x60 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002162 udd_ep_abort + 0x00002142 0x60 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002142 udd_ep_abort .text.udd_ep_free - 0x000021c2 0x12 src/ASF/xmega/drivers/usb/usb_device.o - 0x000021c2 udd_ep_free + 0x000021a2 0x12 src/ASF/xmega/drivers/usb/usb_device.o + 0x000021a2 udd_ep_free .text.udd_ep_set_halt - 0x000021d4 0x20 src/ASF/xmega/drivers/usb/usb_device.o - 0x000021d4 udd_ep_set_halt + 0x000021b4 0x20 src/ASF/xmega/drivers/usb/usb_device.o + 0x000021b4 udd_ep_set_halt .text.__vector_125 - 0x000021f4 0x16a src/ASF/xmega/drivers/usb/usb_device.o - 0x000021f4 __vector_125 + 0x000021d4 0x16a src/ASF/xmega/drivers/usb/usb_device.o + 0x000021d4 __vector_125 .text.__vector_126 - 0x0000235e 0x1a4 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000235e __vector_126 + 0x0000233e 0x1a4 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000233e __vector_126 .text.libgcc.div - 0x00002502 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_udivmodhi4.o) - 0x00002502 __udivmodhi4 - .text.libgcc 0x0000252a 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_tablejump2.o) - 0x0000252a __tablejump2__ + 0x000024e2 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_udivmodhi4.o) + 0x000024e2 __udivmodhi4 + .text.libgcc 0x0000250a 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_tablejump2.o) + 0x0000250a __tablejump2__ .text.avr-libc - 0x00002536 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avrxmega2\libc.a(memcpy.o) - 0x00002536 memcpy - 0x00002548 . = ALIGN (0x2) + 0x00002516 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avrxmega2\libc.a(memcpy.o) + 0x00002516 memcpy + 0x00002528 . = ALIGN (0x2) *(.fini9) - .fini9 0x00002548 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) - 0x00002548 _exit - 0x00002548 exit + .fini9 0x00002528 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) + 0x00002528 _exit + 0x00002528 exit *(.fini9) *(.fini8) *(.fini8) @@ -857,11 +859,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00002548 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) + .fini0 0x00002528 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) *(.fini0) - 0x0000254c _etext = . + 0x0000252c _etext = . -.data 0x00802000 0xc0 load address 0x0000254c +.data 0x00802000 0xc0 load address 0x0000252c 0x00802000 PROVIDE (__data_start, .) *(.data) *(.data*) @@ -969,8 +971,8 @@ END GROUP COMMON 0x00802c52 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o 0x00802c52 sleepmgr_locks 0x00802c58 PROVIDE (__bss_end, .) - 0x0000254c __data_load_start = LOADADDR (.data) - 0x0000260c __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x0000252c __data_load_start = LOADADDR (.data) + 0x000025ec __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00802c58 0x0 [!provide] PROVIDE (__noinit_start, .) diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec index e0d548af..6d6bd883 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec @@ -5,7 +5,7 @@ S113002029C1000027C1000025C1000023C1000030 S113003021C100001FC100001DC100001BC1000040 S113004019C1000017C1000015C1000013C1000050 S113005011C100000FC100000DC100000BC1000060 -S113006009C1000007C1000005C1000003C1000070 +S11300600CC7000007C1000005C1000003C1000067 S113007001C10000FFC00000FDC00000FBC0000083 S1130080F9C00000F7C00000F5C00000F3C0000094 S1130090F1C00000EFC00000EDC00000EBC00000A4 @@ -19,7 +19,7 @@ S1130100B9C00000B7C00000B5C00000B3C0000013 S1130110B1C00000AFC00000ADC00000ABC0000023 S1130120A9C00000A7C00000A5C00000A3C0000033 S1130130A1C000009FC000009DC000009BC0000043 -S113014099C0000097C0000095C000002AC60000B6 +S113014099C0000097C0000095C000000DC60000D3 S113015091C000008FC000008DC000008BC0000063 S113016089C0000087C0000085C0000083C0000073 S113017081C000007FC000007DC000007BC0000083 @@ -30,28 +30,28 @@ S11301B061C000005FC000005DC000005BC00000C3 S11301C059C0000057C0000055C0000053C00000D3 S11301D051C000004FC000004DC000004BC00000E3 S11301E049C0000047C0000045C0000043C00000F3 -S11301F041C000000C94FA100C94AF1183018501E6 -S1130200870189018B0190018D018F0170097209A9 -S11302108809BF09C809CD091D0A220AE009EA09AB -S1130220F809FA09FC09060A100A1B0AD909E209A5 -S1130230EC09FA09FC09FE09080A120A11241FBE76 -S1130240CFEFCDBFDFE2DEBF10E2A0E0B0E2ECE42E +S11301F041C000000C94EA100C949F118301850106 +S1130200870189018B0190018D018F0161096309C7 +S11302107909B009B909BE090D0A120AD109DA0926 +S1130220E809EA09EC09F609000A0B0ACA09D30924 +S1130230DC09EA09EC09EE09F809020A11241FBED7 +S1130240CFEFCDBFDFE2DEBF10E2A0E0B0E2ECE230 S1130250F5E202C005900D92A03CB107D9F72CE25B S1130260A0ECB0E201C01D92A835B207E1F71BD0A3 -S11302700C94A412C5CEE0E8F6E08FE0808385E01C +S11302700C949412C5CEE0E8F6E08FE0808385E02C S11302808483089508958091C220882319F080E022 S113029090E002C08EEE92E043E451E06EEE72E034 -S11302A08A58994DCEC687E08093A20078941BD6D5 -S11302B0E9DFA0D7B2D0D5D060E080E07FD06BD0AA -S11302C08CE05FD033D5CDD5E6D5D5DF0000000076 +S11302A08A58994DBFC687E08093A20078940CD6F3 +S11302B0E9DF91D7B2D0D5D060E080E07FD06BD0B9 +S11302C08CE05FD016D5B0D5C9D5D5DF00000000CD S11302D0000000000000000000000000000000001A S11302E00000000000000000F1CF08950895E0919F S11302F000208E2F90E08830910590F4FC01E250AC -S1130300FF4F0C94951210D10BC08CD109C02BD285 -S113031007C0E7D205C07BD303C063D401C0D8D4DF +S1130300FF4F0C94851210D10BC08CD109C02BD295 +S113031007C0E7D205C053D303C046D401C0BBD441 S11303209091C22081E0911180E08093C2200895D1 S113033081E08093C32043E451E06EEE72E086E7EF -S113034096E27FD681E008951092C320089581E05B +S113034096E270D681E008951092C320089581E06A S1130350089581E0089510922002982F9C7193686B S11303609093200287FF03C090E182E002C090E0F6 S113037080E0892B8093210210922202109226029F @@ -151,461 +151,459 @@ S11309400895CF93C4E0C093002094DDE0E0F1E08B S113095010A280E480A3C0A311A212A28BE483A3FB S113096014A215A216A281E090E280A791A712A674 S113097080EA84A788E085A716A680A1806A80A360 -S113098085E58093A00816AA34E230AB11AA29E5C4 -S113099022AB83E083AB409104205091052044AB0B -S11309A055AB46E652E240AF51AF12AE99E394AF75 -S11309B080933D0110923E0190A9906890AB1092F3 -S11309C04601E0E4F1E030831092410120934201BA -S11309D092E09093430120910220309103202093D0 -S11309E044013093450126E734E2209348013093D3 -S11309F0490110924A019BE390934C0180934D016D -S1130A0010924E01808180688083CF910895CF93A6 -S1130A10E0E0F1E0108AB0E4B08BA4E0A08B118A8E -S1130A2051E9528B8BE4838B67E771E0648B758BA0 -S1130A3080EA808F48E0418F128EC091C2208EEEF2 -S1130A4092E0C89F9001C99F300D11242A58394D56 -S1130A50248FC091C220C89F9001C99F300D1124DA -S1130A602A58394D358F168E20892068208B10AA7C -S1130A70B0ABA0AB11AA52AB2AE423AB64AB75AB09 -S1130A8023EC20AF41AF12AE4091C220489F9001A9 -S1130A90499F300D11242351384D24AF4091C22079 -S1130AA0489F9001499F300D1124C9018351984DED -S1130AB090933D0110923E0180A9806880ABCF9154 -S1130AC0089585E080930020D5DCE0E0F1E016AAEB -S1130AD044E240AB11AA39E532AB83E083AB6091C9 -S1130AE004207091052064AB75AB66E672E260AFDA -S1130AF071AF12AE29E324AF80933D0110923E0101 -S1130B0090A9906890AB10924601E0E4F1E0408334 -S1130B10109241013093420180934301409104209B -S1130B2050910520409344015093450146E756E215 -S1130B30409348015093490110924A0120934C017B -S1130B4080934D0110924E018081806880830895C6 -S1130B5086E0809300208EDCE0E0F1E016AA34E227 -S1130B6030AB11AA29E522AB83E083AB409104208A -S1130B705091052044AB55AB46E652E240AF51AF2D -S1130B8012AE99E394AF80933D0110923E0190A977 -S1130B90906890AB10924601E0E4F1E0308310924B -S1130BA041012093420192E090934301209102205D -S1130BB030910320209344013093450126E734E229 -S1130BC0209348013093490110924A019BE390938A -S1130BD04C0180934D0110924E0180818068808386 -S1130BE00895E0E0F1E0108A80E4808B84E0808B5B -S1130BF0118A81E9828B80E1838B2EEE32E0248B93 -S1130C00358B84E2808F82E0818F128E4091C220E6 -S1130C10429FC001439F900D11248A58994D848F9F -S1130C204091C220429FC001439F900D11248A58D5 -S1130C30994D958F168E80898068808B089587E002 -S1130C408093002017DCE0E0F1E016AA34E230AB38 -S1130C5011AA29E522AB83E083AB40910420509193 -S1130C60052044AB55AB46E652E240AF51AF12AE5D -S1130C7099E394AF80933D0110923E0190A990684E -S1130C8090AB10924601E0E4F1E030831092410110 -S1130C902093420192E090934301209102203091ED -S1130CA00320209344013093450126E734E2209346 -S1130CB048013093490110924A019BE390934C01FF -S1130CC080934D0110924E01808180688083089545 -S1130CD0E0E0F1E0108A80E4808B85E0808B118A6B -S1130CE081E9828B80E1838B2EEE32E0248B358B7D -S1130CF084E2808F82E0818F128E4091C220429FD5 -S1130D00C001439F900D11248A58994D848F4091BE -S1130D10C220429FC001439F900D11248A58994DCF -S1130D20958F168E80898068808B0895E0E7F0E0C7 -S1130D3083818C7F838384818C7F848380818D7F76 -S1130D408083E0E8F1E080EC8283128688EC818382 -S1130D501186E0E0F8E034E0308323E0218314825C -S1130D6085ED91E086A397A31682E0E4F8E0308352 -S1130D702183148286A397A31682E0E6F6E080819D -S1130D8080618083E0E4F9E083E18183148281E07F -S1130D90868328EB3BE026A337A310A611A6808305 -S1130DA008951F920F920FB60F9211242F933F9321 -S1130DB04F935F938F939F93CF93DF931F92CDB7FE -S1130DC0DEB780910020873031F480912C02898332 -S1130DD090912D0202C090912C028091C020891B19 -S1130DE0209168093091690982308CF0223B3B40A4 -S1130DF070F4209168093091690989301CF481E00C -S1130E0090E002C086E090E0820F931F18C020910A -S1130E106809309169098F3FB4F42730310598F09F -S1130E202091680930916909883F1CF081E090E0C5 -S1130E3002C086E090E0A901481B590BCA018093C7 -S1130E407809909379090F90DF91CF919F918F91B9 -S1130E505F914F913F912F910F900FBE0F901F9074 -S1130E601895E0E7F0E083818F7E8383E0E4F6E089 -S1130E7080818A6A80838FEF848388E5828B80E215 -S1130E808687E0EAF8E084EC858383E08683178232 -S1130E9088E184830895E0E7F0E08381877F83839A -S1130EA080E48093C00888E58093570608959FB72F -S1130EB0F894A0E5B0E016968C911697897F169663 -S1130EC08C931697E0E6F0E080E885838BEB8683CD -S1130ED016968C911697846016968C938081816007 -S1130EE080839FBF0895CF93DF9300D000D0CDB708 -S1130EF0DEB78FEF8093700080937100809372004F -S1130F0080937300809374008093750080937600BF -S1130F1064E081E490E0E5D46CE170E082E0E7D441 -S1130F208C836DE170E082E0E2D48B838B819C81C1 -S1130F30019621F480E493E28B839C838B819C81D2 -S1130F4089839A83809362008A81809363009FB728 -S1130F50F894809150008260809350009FBF8091EC -S1130F60510081FFFCCFA3DF61E080E490E0B9D4BD -S1130F709FB7F894809150008E7F809350009FBF5C -S1130F802496CDBFDEBFDF91CF9108959FB7F8942B -S1130F90E82FF0E0E059FF4F60958081682360837B -S1130FA09FBF0895CF93863011F0C0E001C0C8E11F -S1130FB08091510081FD0DC09FB7F894809150003D -S1130FC08260809350009FBF8091510081FFFCCFCD -S1130FD06EDF6C2F636084E490E083D460E480E08F -S1130FE0CF91D4CF8091C42008958091C4208130C2 -S1130FF009F4AAC90895F9D0FC0183818093C4201F -S1131000811101C095C981E0089590916624892FCA -S1131010807697FF07C0803491F480916724811112 -S11310200EC097C9803459F480916724811107C098 -S113103080916C2490916D24892B09F088C980E0FB -S113104008950F931F939B018A01AC0160E083E82C -S1131050FCD71F910F910895809168248F7777C7EB -S11310609091CC20911102C080E00895E091C920B4 -S1131070F091CA200190F081E02D94818917A0F7A6 -S1131080E093C720F093C820228133812E0F3F1FA5 -S1131090E217F30798F49181943061F492818913F3 -S11310A009C09381691306C0E093C720F093C82058 -S11310B081E008959081E90FF11DEACFE093C72004 -S11310C0F093C820D1CFE091C920F091CA200190BB -S11310D0F081E02D228133812E0F3F1FFC014081DE -S11310E0E40FF11DE217F30748F48181843031F0F5 -S11310F0853039F08081E80FF11DF4CF80E090E075 -S11311000895CF0108951F93CF93DF93182FA8DF7D -S1131110882339F1C091C720D091C820CE01D3DFF4 -S1131120EC01892B41F04C815D816B818A811CD754 -S11311308111F4CF16C0E091C920F091CA209281A8 -S11311408381E92FF82FE10FF11DE10FF11D0190CB -S1131150F081E02D0190F081E02DDF91CF911F917E -S1131160099480E0DF91CF911F910895EF92FF924F -S11311701F93CF93DF93C82F60E072DF811102C009 -S113118010E02CC0E091C920F091CA2092818381A3 -S1131190E92FF82FEC0FF11DEC0FF11DE080F18029 -S11311A0D7011696ED91FC9117970995682F8C2F0E -S11311B057DF182F882321F3C091C720D091C8206E -S11311C0CE0181DFEC01892B19F08A81FAD7F8CF9F -S11311D0D7011296ED91FC9113970995812FDF9118 -S11311E0CF911F91FF90EF9008958091C720909127 -S11311F0C820089534C6CF938091CC20811108C0B3 -S11312001092CC201092D0201092D120CF9108952A -S1131210C0E0E091C920F091CA200190F081E02D56 -S11312208481C81768F78C2FA1DFCF5FF2CFCF93EB -S11312308091CC208823F1F0C0E0E091C920F091A6 -S1131240CA20A081B18114968C91C81798F4928118 -S11312508381E92FF82FEC0FF11DEC0FF11D0190A4 -S1131260F081E02D0084F185E02D309709F0099597 -S1131270CF5FE3CFCF910895EF92FF920F931F9327 -S1131280CF93DF931F92CDB7DEB7109270241092E4 -S11312907124109272241092732410927424109268 -S11312A075248091662487FF07C020916C243091B7 -S11312B06D24232B09F40CC3982F9076903409F0F5 -S11312C0C8C0E09167248E2F90E0FC01E05AF10938 -S11312D0E830F10508F08BC2EA5FFE4F0C949512DA -S11312E00000F4C21092000880916824909169244F -S11312F0809336089093370880916A248F70809386 -S1131300000860916C2470916D2486E692E219C005 -S11313101092400860916C2470916D2460930220B7 -S113132070930320809168249091692480937608B7 -S11313309093770880916A248F708093400886E7A1 -S113134094E20BD6209104203091052080916C24E6 -S113135090916D242817390709F4B8C280930420AA -S113136090930520E09100208E2F90E08830910525 -S113137008F0ACC2FC01E25FFE4F0C94951210928F -S1131380680910926909809168248093C0209EC2E4 -S1131390809168248093240699C2E0916824F09196 -S11313A06924E830F10508F022C2EA5EFE4F0C948D -S11313B0951260E080E002D880916A240E94AB011B -S11313C06BD884C260E080E00E94DE0180916A24D0 -S11313D00E94AB01D9D87AC261E081E00E94DE01AB -S11313E080916A240E94AB0180916B240E94C10108 -S11313F070D96CC210DA6AC2A4DA68C260E080E014 -S11314000E94DE0180916A240E94AB015ADB5EC215 -S113141061E080E00E94DE0180916A240E94AB01B9 -S113142097DB54C262E080E00E94DE0180916A246E -S113143080680E94AB0103DC49C2809168248093D8 -S1131440840644C2E9E7F0E091E088EDF89484BFB3 -S113145090839111CCC187FFFDC020916C24309101 -S11314606D242115310509F4C2C18F7109F09FC0A3 -S113147080916724863071F0883009F48EC0811120 -S1131480B6C12230310509F0B2C162E070E080EDEE -S113149090E28BC08091682490916924292F33278E -S11314A022303105A1F064F42130310509F09FC1E7 -S11314B08091102090911120DC016C9170E05BC050 -S11314C02330310589F12F30310509F190C1E091C4 -S11314D01020F09111202189821708F088C19927E2 -S11314E0880F991F880F991FE0911220F091132003 -S11314F0E80FF91F80819181FC01628173812DD5F0 -S1131500E0916E24F0916F2482E0818335C0809154 -S1131510142090911520009709F469C1DC011296FA -S11315206D917C91139727C099278130910569F0BB -S113153038F0029709F05BC168E18AE890E208C0DC -S113154064E070E08EEA90E216C069E083EA90E21B -S1131550282FAAE5B0E2FC01819190E08D939D9340 -S11315608E2F821B8617C0F3660F6E5F6093582020 -S113157070E088E590E2F1D480916C2490916D2420 -S113158020917024309171248217930708F09EC132 -S1131590809370249093712499C12130310509F00E -S11315A026C161E070E08CEC90E2D7D48FC1813029 -S11315B0C9F5809167248A3009F019C121303105B9 -S11315C009F015C18091CC20882309F410C1E09062 -S11315D06A24F0906B240091C9201091CA20D8018C -S11315E0ED91FC918481E81608F001C160E08E2D34 -S11315F037DD882309F4FBC0FF24EE0CFF1CF8013F -S1131600828193818E0D9F1DDC01ED91FC910680FA -S1131610F781E02D09958093CE2061E070E08EEC97 -S113162090E2C3CF823009F0E2C080916724811137 -S1131630DEC02230310509F0DAC080916A24E5D495 -S113164090E08093C5209093C62062E070E085EC22 -S113165090E2ABCF8F7109F07DC080916724833015 -S113166009F4C5C018F48130A1F0C1C0853019F067 -S1131670893039F1BCC080916C2490916D24892B00 -S113168009F0B5C08CE298E080937224909373249F -S11316901DC180916C2490916D24892B09F0A7C001 -S11316A08091682490916924019709F0A0C08091E9 -S11316B0D0209091D1208D7F8093D0209093D12001 -S11316C005C180916C2490916D24892B09F08FC001 -S11316D041D4882309F48BC0209168243091692473 -S11316E03327E0911020F0911120818990E0821736 -S11316F0930708F47CC07FDD80916824909169246D -S11317008093CC20882309F4E1C099278150904C20 -S1131710880F991F880F991F209112203091132050 -S1131720820F931F8093C9209093CA2010E0E09108 -S1131730C920F091CA200190F081E02D848118170E -S113174008F0C4C060E0812FDEDC882309F44FC0B8 -S11317501F5FEDCF8130F1F4809167248B3009F065 -S113176046C080916C2490916D24892B09F03FC070 -S11317708091CC20882309F43AC010916A246091A6 -S11317806824812F6983F2DC6981882381F1812FA8 -S1131790BADC2BC0823059F580916724813019F06E -S11317A0833089F024C080916C2490916D24892B1E -S11317B0F1F48091682490916924892BC1F480917B -S11317C06A242AD412C080916C2490916D24892BB0 -S11317D071F48091682490916924892B41F480915B -S11317E06A24BFD480916A24F5D481116FC080919A -S11317F066248F718130B9F58091CC20882399F1CA -S1131800E0906A24F0906B240091C9201091CA20C2 -S1131810D801ED91FC918481E81628F560E08E2DC5 -S11318201FDC882301F1F701FF27EE0FFF1FD8010A -S113183012968D919C911397E80FF91F00811181E5 -S1131840D8011696ED91FC9117970995682F8E2D66 -S113185007DC882341F0D8011496ED91FC9115978B -S11318600995811133C0809166248F71823081F58E -S11318708091CC20882361F1F12CE091C920F09172 -S1131880CA20A081B18114968C91F81608F5928132 -S11318908381E92FF82FEF0DF11DEF0DF11D00816C -S11318A01181D8011696ED91FC9117970995682F2F -S11318B08F2DD6DB882361F0D8011496ED91FC912D -S11318C015970995811102C0F394D7CF81E001C027 -S11318D080E00F90DF91CF911F910F91FF90EF90D7 -S11318E008951BBEFC0128ED24BF60830895409138 -S11318F0CA01E62FF72F8093CA0184914093CA014D -S11319000895E82FF0E0EE5AF34D80818F3F09F4FB -S1131910FFCF9FB7F89480818F5F80839FBF089526 -S1131920E82FF0E0EE5AF34D8081811101C0FFCF22 -S11319309FB7F8948081815080839FBF0895CF938F -S1131940C82F80916422C11105C0882339F081E039 -S1131950E7DF04C0811102C081E0D3DFC0936422B9 -S1131960CF910895282F2F70082E000C990B392F32 -S1131970331F3327331F832F90E0820F911D820F73 -S1131980911D23E0880F991F2A95E1F7805E9D4DF4 -S113199008950F93E8ECF4E080818F7D808380814B -S11319A08F7D8083E8E2F2E202E0059310922A221E -S11319B010922B2200E2069300E40693E0E2F2E2A6 -S11319C000E2069300E40693E6E6F4E21486158644 -S11319D0168617861286138610920D220F9108958B -S11319E00F9385E080930D22E9E2F2E204E005938F -S11319F0E1E2F2E204E005930F9108950F9383E08E -S1131A0080930D2210922A2210922B22E8E2F2E215 -S1131A1002E006930F910895E0917224F0917324EB -S1131A20309709F009940895282F2F70082E000C80 -S1131A30990B392F331F3327331F832F90E0820FE5 -S1131A40911D820F911D029749E0489F9001499F83 -S1131A50300D1124C9018D569E4D08958F929F9289 -S1131A60AF92BF92DF92EF92FF920F931F93CF93A7 -S1131A70DF93D82ED9DFEC018D2D74DF7C01DC01DE -S1131A801196EC91E770E150E73040F4F0E0EE0F8E -S1131A90FF1FEE54FF4D0081118102C008E010E0E9 -S1131AA0ED81FE812B813C814881D701D7FE48C05E -S1131AB016968D919C9117978E0F9F1F8D839E83F1 -S1131AC08217930761F1281B390B2115B4E03B07FA -S1131AD038F02FEF33E0C901B80113D5281B390BB7 -S1131AE041FF0AC0C901B8010CD5AC0191E0452BF6 -S1131AF009F090E0892F01C080E0988180FB91F982 -S1131B009883F701168217822283338329813A81CD -S1131B108D819E81820F931F848395830EC041FF24 -S1131B2071C04D7F4883D70116961D921C9217975A -S1131B3012961D921C921397F70102E006937BC044 -S1131B401296AD90BC90139742FF10C089809A8082 -S1131B50C901B801D6D4B0E4DB9EB00111246D569E -S1131B607F4DAC01C4018E0F9F1FE5D48D819E81F2 -S1131B708A0D9B1D8D839E832B813C8128173907F9 -S1131B8010F42D833E83F70186819781A816B90648 -S1131B90C9F58D819E8182179307A1F1281B390B0A -S1131BA02115F4E03F0710F02FEF33E0C901B8012D -S1131BB0A8D4281B390BD70112961D921C92139797 -S1131BC02017310778F4888184608883B0E4DB9E31 -S1131BD0C00111248D569F4DF7018483958306839C -S1131BE01783AACF49815A818D819E81840F951FC5 -S1131BF0D70114968D939C93159716962D933C9329 -S1131C0017979ACF888180FF16C08E7F8883EF81D3 -S1131C10F885309781F06D817E814D2D80E0DF91D4 -S1131C20CF911F910F91FF90EF90DF90BF90AF90F5 -S1131C309F908F900994DF91CF911F910F91FF9006 -S1131C40EF90DF90BF90AF909F908F9008950F9387 -S1131C50CF93DF9380910D22833029F4DDDEDF9171 -S1131C60CF910F9196CE2091092230910A22C091F2 -S1131C707024D0917124C21BD30B61F580910B2287 -S1131C8090910C22820F931F80930B2290930C222D -S1131C9020916C2430916D242817390721F080910C -S1131CA0D220882331F084E080930D22E0E2F2E236 -S1131CB036C0E0917424F0917524309799F0099519 -S1131CC0882381F01092092210920A22C091702474 -S1131CD0D0917124C034D10528F01092D220C0E4F0 -S1131CE0D0E003C081E08093D220C0932A22D09315 -S1131CF02B228091092290910A2220916E24309106 -S1131D006F24280F391F20932C2230932D22C80FC3 -S1131D10D91FC0930922D0930A22E8E2F2E202E03A -S1131D200693DF91CF910F9108950F93CF93DF9393 -S1131D301F92CDB7DEB78091CC0480FF65C021E04F -S1131D402093CC0480E292E2FC0100E80693E8E2EE -S1131D50F2E200E806932093CA04FC0100E1069332 -S1131D6080910D22882329F08350823008F454DEB8 -S1131D7010DE8091222290912322089709F046C018 -S1131D8088E0E9ECF1E2A6E6B4E201900D928A95CE -S1131D90E1F78091C80480628093C8048091C804EC -S1131DA080628093C80468DA811102C019DE2EC0F3 -S1131DB09091662497FF0EC010920B2210920C2271 -S1131DC01092092210920A2292E090930D228983A4 -S1131DD03EDF08C020916C2430916D24232B21F424 -S1131DE089830CDE898113C010920B2210920C227D -S1131DF01092092210920A2291E090930D22E0E2BF -S1131E00F2E202E0069303C080E001C081E00F909B -S1131E10DF91CF910F910895CF93CFB7F89481E0DC -S1131E208EDDEAECF4E080E4808380E28083E1EC00 -S1131E30F4E0808181608083A9ECB4E08C918260BD -S1131E408C93E8ECF4E08081806480838C918160E1 -S1131E508C93808180688083CFBFCF910895CF9386 -S1131E601092600080E39ED88091C00480648093C7 -S1131E70C00481E080936000CFB7F89480E090E0E4 -S1131E80FC0123E0EE0FFF1F2A95E1F7E05FFD4D13 -S1131E90118A01968830910599F7809193218E7F5C -S1131EA08093932180919C218E7F80939C218091AB -S1131EB0A5218E7F8093A5218091AE218E7F809372 -S1131EC0AE218091B7218E7F8093B7218091C0216C -S1131ED08E7F8093C0216AE170E082E008DD8F3F4D -S1131EE009F48FE18093FA046BE170E082E0FFDC97 -S1131EF08F3F09F48FE18093FB048091C0048360D9 -S1131F008093C0048091C00480688093C004809151 -S1131F10C00480618093C00480E292E28093C6048E -S1131F209093C7048091C00480628093C0048FEFB3 -S1131F308093C5048091C80482608093C804109281 -S1131F40642285E0DEDC68DFCFBFCF910895809303 -S1131F50C30408958091C3040895E6E6F4E28087FB -S1131F6091876287738708950F931F93CF93DF93AD -S1131F701F92CDB7DEB78A016983F4DCFC0181814D -S1131F80807C698181113AC06370613019F020F05E -S1131F9080E803C080EC01C080E400381105E9F05A -S1131FA058F400321105A9F000341105A1F00031F4 -S1131FB01105C9F491E018C0011592E0190779F0F0 -S1131FC00F3F93E0190769F00115114061F495E0A2 -S1131FD00BC092E009C093E007C094E005C096E00E -S1131FE003C097E001C090E0118226E02083982B83 -S1131FF0918381818062818381E001C080E00F90C0 -S1132000DF91CF911F910F910895ACDCFC01818188 -S113201082FB882780F90895CF93C82FA3DCFC01A5 -S1132020818182FF0FC091819B7F91838C2FFCDC87 -S1132030FC01908190FF06C09E7F90830780F0850D -S1132040E02D099581E0CF9108958F929F92AF92F0 -S1132050BF92DF92EF92FF920F931F93CF93DF9380 -S11320601F92CDB7DEB7D82E5A0179016983DCDC23 -S11320704C018D2D77DC9C01DC0111968C9111971C -S1132080807C6981882309F45EC011968C91119734 -S1132090807C803C21F011968C9182FD54C09FB7C6 -S11320A0F894F401808180FF02C09FBF4CC081601E -S11320B080839FBFF401A182B282E382F4821582FD -S11320C016820783108791E0611104C0E114F104C2 -S11320D009F090E0D4018C9190FB81F98B7F8C9373 -S11320E0D7FE04C0F9011682178229C0D9011196BE -S11320F08C911197807C803CC9F41196EC91E77027 -S1132100E150E73040F4F0E0EE0FFF1FEE54FF4DD6 -S11321106081718102C068E070E0C701F2D1892B4F -S113212029F0F40180818E7F80830DC0D90112963D -S11321301D921C92139716961D921C9217978D2D23 -S11321408DDC81E001C080E00F90DF91CF911F9181 -S11321500F91FF90EF90DF90BF90AF909F908F9082 -S11321600895EF92FF920F93CF93C82FFBDB7C016E -S11321708C2F5ADCDC01F70102E005939C9190FF5F -S11321801BC09E7F9C931796ED91FC9118973097F6 -S113219099F0D701C7FF05C016966D917C911797EA -S11321A004C012966D917C9113974C2F81E0CF91CE -S11321B00F91FF90EF900994CF910F91FF90EF90C2 -S11321C00895CF93C82FCDDF8C2FCCDBFC01118277 -S11321D0CF9108950F93CF93C82FC4DBFC01918155 -S11321E09460918301E006938C2FBBDF81E0CF9153 -S11321F00F9108951F920F920FB60F9211240F930F -S11322002F933F934F935F936F937F938F939F93FA -S1132210AF93BF93EF93FF938091CB0487FF07C0E5 -S113222080E88093CA0403D80E94770186C0809115 -S1132230CB0482FF18C084E08093CA0480912822D2 -S113224086FF7BC08091CC0481FD77C06EDD811157 -S113225074C080910D22813011F4D0DB6EC08430C3 -S113226009F06BC021C08091CB0481FF26C082E0BD -S11322708093CA048091202286FF5FC08091CC04A1 -S113228081FD5BC052DD811158C080910D228230E6 -S113229041F484E080930D22E0E2F2E202E006934E -S11322A04CC0833009F049C0E9E2F2E204E005934E -S11322B0E1E2F2E204E0059340C08091CB0484FFA4 -S11322C025C080E18093CA0481E04BDF81E849DFC7 -S11322D082E047DF82E845DF0E94FB081092C304D6 -S11322E01092212296E09093202283E4809321226D -S11322F010922922909328228093292289EC91E23A -S1132300809324229093252244DB17C08091CB0430 -S113231086FF08C080E48093CA0480E010DB0E943A -S113232075010BC08091CB0485FF07C080E28093C8 -S1132330CA0481E004DB0E947601FF91EF91BF9112 -S1132340AF919F918F917F916F915F914F913F9149 -S11323502F910F910F900FBE0F901F9018951F9201 -S11323600F920FB60F9211240F931F932F933F9345 -S11323704F935F936F937F938F939F93AF93BF9389 -S1132380CF93DF93EF93FF938091CC0481FF1AC026 -S113239082E08093CC048091C5048195880FE0E2AB -S11323A0F2E2E81BF109208131812052324283E0BC -S11323B0369527958A95E1F7822F869520FD06C0EC -S11323C0C0E005C0B2DC882319F386C0C0E8C80F9A -S11323D08C2FC8DAFC01208125FF7EC000E2069321 -S11323E0C11174C080910D22843019F415DBD1DA47 -S11323F073C0009122221091232280917024909125 -S11324007124C0910922D0910A229E01200F311F0C -S11324108217930718F48C010C1B1D0B80916E24FA -S113242090916F24A80169EC71E28C0F9D1F83D0F9 -S1132430C00FD11FC0930922D0930A220034110582 -S113244069F480910B2290910C228C0F9D1F209196 -S11324506C2430916D248217930788F0C093702404 -S1132460D0937124E0917424F0917524309729F06D -S11324700995811102C0B4DA2FC0C0DA2DC0809151 -S11324807024909171248C179D07D9F4E0917424E1 -S1132490F0917524309779F30995882361F320919D -S11324A00B2230910C228091092290910A22820FF2 -S11324B0931F80930B2290930C2210920922109266 -S11324C00A22E0E2F2E202E0069306C0C03811F408 -S11324D0BEDB02C08C2FC2DAFF91EF91DF91CF9166 -S11324E0BF91AF919F918F917F916F915F914F9128 -S11324F03F912F911F910F910F900FBE0F901F903E -S11325001895AA1BBB1B51E107C0AA1FBB1FA61726 -S1132510B70710F0A61BB70B881F991F5A95A9F788 -S113252080959095BC01CD010895EE0FFF1F059095 -S1132530F491E02D0994FB01DC0102C001900D929D -S10F254041505040D8F70895F894FFCFA4 -S113254CFF5580008000FB07F5070508F207000023 -S113255C4420162000001C201A2006200902270003 -S113256C01010080FA0904000003FFFFFF000705C6 -S113257C81024000000705020240000007058301A8 -S113258CFF0301001201000200000040EB0300A055 -S113259C0002010200010000000300000000000022 -S11325AC000000000000000000000000000000001B -S11325BC000000000000000000000000000000000B -S11325CC00000000000000000000555342476F62F9 -S11325DC696E6461722044756D6D79204465766909 -S11325EC6365005461706972546563680000040388 -S11325FC0904100020004000800000010002FF03C9 +S113098016AA84E280AB11AA89E582AB82E083AB2C +S1130990809102209091032084AB95AB86E794E28A +S11309A080AF91AF12AE8BE384AF83E080933D01BF +S11309B010923E0180A9806880ABCF910895CF93B7 +S11309C0E0E0F1E0108AB0E4B08BA4E0A08B118ADF +S11309D051E9528B8BE4838B67E771E0648B758BF1 +S11309E080EA808F48E0418F128EC091C2208EEE43 +S11309F092E0C89F9001C99F300D11242A58394DA7 +S1130A00248FC091C220C89F9001C99F300D11242A +S1130A102A58394D358F168E20892068208BE0E4C2 +S1130A20F1E01082B083A0831092410150934201FF +S1130A302AE420934301609344017093450123EC1D +S1130A40209348014093490110924A014091C220E9 +S1130A50489F9001499F300D11242351384D209314 +S1130A604C014091C220489F9001499F300D1124B0 +S1130A70C9018351984D90934D0110924E0180818C +S1130A8080688083CF91089585E080930020F2DC14 +S1130A90E0E0F1E016AA44E240AB11AA39E532AB3A +S1130AA083E083AB609104207091052064AB75AB47 +S1130AB066E672E260AF71AF12AE29E324AF8093B1 +S1130AC03D0110923E0190A9906890AB10924601AE +S1130AD0E0E4F1E0408310924101309342018093BD +S1130AE043014091042050910520409344015093C8 +S1130AF0450146E756E2409348015093490110925C +S1130B004A0120934C0180934D0110924E01808143 +S1130B1080688083089586E080930020ABDCE0E069 +S1130B20F1E016AA34E230AB11AA29E522AB83E046 +S1130B3083AB409104205091052044AB55AB46E66D +S1130B4052E240AF51AF12AE99E394AF80933D01AE +S1130B5010923E0190A9906890AB10924601E0E497 +S1130B60F1E03083109241012093420192E090938E +S1130B7043012091022030910320209344013093BB +S1130B80450126E734E2209348013093490110924D +S1130B904A019BE390934C0180934D0110924E01C6 +S1130BA08081806880830895E0E0F1E0108A80E429 +S1130BB0808B84E0808B118A81E9828B80E1838B36 +S1130BC02EEE32E0248B358B84E2808F82E0818F9D +S1130BD0128E4091C220429FC001439F900D112468 +S1130BE08A58994D848F4091C220429FC001439FEF +S1130BF0900D11248A58994D958F168E808980689E +S1130C00808B089587E08093002034DCE0E0F1E0FD +S1130C1016AA34E230AB11AA29E522AB83E083ABF8 +S1130C20409104205091052044AB55AB46E652E276 +S1130C3040AF51AF12AE99E394AF80933D0110924F +S1130C403E0190A9906890AB10924601E0E4F1E077 +S1130C503083109241012093420192E0909343012A +S1130C6020910220309103202093440130934501C8 +S1130C7026E734E2209348013093490110924A0157 +S1130C809BE390934C0180934D0110924E0180811F +S1130C90806880830895E0E0F1E0108A80E4808B2E +S1130CA085E0808B118A81E9828B80E1838B2EEE33 +S1130CB032E0248B358B84E2808F82E0818F128E28 +S1130CC04091C220429FC001439F900D11248A5835 +S1130CD0994D848F4091C220429FC001439F900D43 +S1130CE011248A58994D958F168E80898068808B3F +S1130CF00895E0E7F0E083818C7F838384818C7F97 +S1130D00848380818D7F8083E0E8F1E080EC8283BE +S1130D10128688EC81831186E0E0F8E034E03083C9 +S1130D2023E02183148285ED91E086A397A31682A4 +S1130D30E0E4F8E030832183148286A397A316822B +S1130D40E0E6F6E0808180618083E0E4F9E083E11D +S1130D508183148281E0868328EB3BE026A337A3BA +S1130D6010A611A6808308951F920F920FB60F92BA +S1130D7011242F933F934F935F938F939F93CF931C +S1130D80DF931F92CDB7DEB780910020873031F416 +S1130D9080912C02898390912D0202C090912C02A3 +S1130DA08091C020891B20916809309169098230A3 +S1130DB08CF0223B3B4070F4209168093091690922 +S1130DC089301CF481E090E002C086E090E0820F5C +S1130DD0931F18C020916809309169098F3FB4F4BA +S1130DE02730310598F02091680930916909883FCE +S1130DF01CF081E090E002C086E090E0A901481B6D +S1130E00590BCA0180937809909379090F90DF9167 +S1130E10CF919F918F915F914F913F912F910F901F +S1130E200FBE0F901F901895E0E7F0E083818F7E4E +S1130E308383E0E4F6E080818A6480838FEF848397 +S1130E4088E5828B80E28687E0EAF8E084EC85839B +S1130E5083E08683178288E184830895E0E7F0E0E5 +S1130E608381877F8383E0ECF8E080E4808383E000 +S1130E70818388E58093570608951F920F920FB6D9 +S1130E800F92112400000F900FBE0F901F90189521 +S1130E909FB7F894A0E5B0E016968C911697897FD9 +S1130EA016968C931697E0E6F0E080E885838BEB4A +S1130EB0868316968C911697846016968C938081FF +S1130EC0816080839FBF0895CF93DF9300D000D0CB +S1130ED0CDB7DEB78FEF809370008093710080935D +S1130EE072008093730080937400809375008093E4 +S1130EF0760064E081E490E0E4D46CE170E082E0A8 +S1130F00E6D48C836DE170E082E0E1D48B838B8145 +S1130F109C81019621F480E493E28B839C838B81F2 +S1130F209C8189839A83809362008A818093630081 +S1130F309FB7F894809150008260809350009FBFC7 +S1130F408091510081FFFCCFA3DF61E080E490E059 +S1130F50B8D49FB7F894809150008E7F809350004E +S1130F609FBF2496CDBFDEBFDF91CF9108959FB779 +S1130F70F894E82FF0E0E059FF4F609580816823F2 +S1130F8060839FBF0895CF93863011F0C0E001C005 +S1130F90C8E18091510081FD0DC09FB7F894809104 +S1130FA050008260809350009FBF8091510081FF68 +S1130FB0FCCF6EDF6C2F636084E490E082D460E445 +S1130FC080E0CF91D4CF8091C42008958091C42033 +S1130FD0813009F4B9C90895F9D0FC018381809363 +S1130FE0C420811101C0A4C981E0089590916624B0 +S1130FF0892F807697FF07C0803491F4809167240D +S113100081110EC0A6C9803459F4809167248111DE +S113101007C080916C2490916D24892B09F097C9A5 +S113102080E008950F931F939B018A01AC0160E057 +S113103083E8FBD71F910F910895809168248F77DF +S113104076C79091CC20911102C080E00895E09180 +S1131050C920F091CA200190F081E02D9481891774 +S1131060A0F7E093C720F093C820228133812E0F8C +S11310703F1FE217F30798F49181943061F4928151 +S1131080891309C09381691306C0E093C720F093C4 +S1131090C82081E008959081E90FF11DEACFE09323 +S11310A0C720F093C820D1CFE091C920F091CA2085 +S11310B00190F081E02D228133812E0F3F1FFC012E +S11310C04081E40FF11DE217F30748F48181843075 +S11310D031F0853039F08081E80FF11DF4CF80E0E4 +S11310E090E00895CF0108951F93CF93DF93182FB5 +S11310F0A8DF882339F1C091C720D091C820CE0140 +S1131100D3DFEC01892B41F04C815D816B818A81B5 +S11311101BD78111F4CF16C0E091C920F091CA20E9 +S113112092818381E92FF82FE10FF11DE10FF11D69 +S11311300190F081E02D0190F081E02DDF91CF91BD +S11311401F91099480E0DF91CF911F910895EF9250 +S1131150FF921F93CF93DF93C82F60E072DF81115A +S113116002C010E02CC0E091C920F091CA20928105 +S11311708381E92FF82FEC0FF11DEC0FF11DE080B6 +S1131180F180D7011696ED91FC9117970995682F78 +S11311908C2F57DF182F882321F3C091C720D091BB +S11311A0C820CE0181DFEC01892B19F08A81F9D79F +S11311B0F8CFD7011296ED91FC9113970995812FE1 +S11311C0DF91CF911F91FF90EF9008958091C720F8 +S11311D09091C820089533C6CF938091CC2081117B +S11311E008C01092CC201092D0201092D120CF9120 +S11311F00895C0E0E091C920F091CA200190F081E7 +S1131200E02D8481C81768F78C2FA1DFCF5FF2CF60 +S1131210CF938091CC208823F1F0C0E0E091C920E5 +S1131220F091CA20A081B18114968C91C81798F4CA +S113123092818381E92FF82FEC0FF11DEC0FF11D42 +S11312400190F081E02D0084F185E02D309709F0C4 +S11312500995CF5FE3CFCF910895EF92FF920F935B +S11312601F93CF93DF931F92CDB7DEB710927024F4 +S11312701092712410927224109273241092742488 +S1131280109275248091662487FF07C020916C24F6 +S113129030916D24232B09F40BC3982F907690344E +S11312A009F0C7C0E09167248E2F90E0FC01E05A5A +S11312B0F109E830F10508F08AC2EA5FFE4F0C94A8 +S11312C085120000F3C21092000880916824909166 +S11312D06924809336089093370880916A248F702C +S11312E08093000860916C2470916D2486E692E2EC +S11312F019C01092400860916C2470916D24609321 +S11313000220709303208091682490916924809333 +S113131076089093770880916A248F7080934008B0 +S113132086E794E20AD6209104203091052080912A +S11313306C2490916D242817390709F4B7C280935F +S1131340042090930520E09100208E2F90E08830B7 +S1131350910508F0ABC2FC01E25FFE4F0C948512CC +S11313601092680910926909809168248093C020C2 +S11313709DC2809168248093240698C2E0916824D9 +S1131380F0916924E830F10508F021C2EA5EFE4FCD +S11313900C94851260E080E011D880916A240E9448 +S11313A0AB017AD883C260E080E008D880916A24D7 +S11313B00E94AB01E9D87AC261E081E00E94DE01BB +S11313C080916A240E94AB0180916B240E94C10128 +S11313D080D96CC220DA6AC2B4DA68C260E080E004 +S11313E00E94DE0180916A240E94AB014DDB5EC243 +S11313F061E080E00E94DE0180916A240E94AB01DA +S11314008ADB54C262E080E00E94DE0180916A249B +S113141080680E94AB01F6DB49C280916824809306 +S1131420840644C2E9E7F0E091E088EDF89484BFD3 +S113143090839111CCC187FFFDC020916C24309121 +S11314406D242115310509F4C2C18F7109F09FC0C3 +S113145080916724863071F0883009F48EC0811140 +S1131460B6C12230310509F0B2C162E070E080ED0E +S113147090E28BC08091682490916924292F3327AE +S113148022303105A1F064F42130310509F09FC107 +S11314908091102090911120DC016C9170E05BC070 +S11314A02330310589F12F30310509F190C1E091E4 +S11314B01020F09111202189821708F088C1992702 +S11314C0880F991F880F991FE0911220F091132023 +S11314D0E80FF91F80819181FC01628173812DD510 +S11314E0E0916E24F0916F2482E0818335C0809175 +S11314F0142090911520009709F469C1DC0112961B +S11315006D917C91139727C099278130910569F0DB +S113151038F0029709F05BC168E18AE890E208C0FC +S113152064E070E08EEA90E216C069E083EA90E23B +S1131530282FAAE5B0E2FC01819190E08D939D9360 +S11315408E2F821B8617C0F3660F6E5F6093582040 +S113155070E088E590E2F1D480916C2490916D2440 +S113156020917024309171248217930708F09EC152 +S1131570809370249093712499C12130310509F02E +S113158026C161E070E08CEC90E2D7D48FC1813049 +S1131590C9F5809167248A3009F019C121303105D9 +S11315A009F015C18091CC20882309F410C1E09082 +S11315B06A24F0906B240091C9201091CA20D801AC +S11315C0ED91FC918481E81608F001C160E08E2D54 +S11315D038DD882309F4FBC0FF24EE0CFF1CF8015E +S11315E0828193818E0D9F1DDC01ED91FC9106801B +S11315F0F781E02D09958093CE2061E070E08EECB8 +S113160090E2C3CF823009F0E2C080916724811157 +S1131610DEC02230310509F0DAC080916A24E5D4B5 +S113162090E08093C5209093C62062E070E085EC42 +S113163090E2ABCF8F7109F07DC080916724833035 +S113164009F4C5C018F48130A1F0C1C0853019F087 +S1131650893039F1BCC080916C2490916D24892B20 +S113166009F0B5C08DE198E08093722490937324BF +S11316701DC180916C2490916D24892B09F0A7C021 +S11316808091682490916924019709F0A0C0809109 +S1131690D0209091D1208D7F8093D0209093D12021 +S11316A005C180916C2490916D24892B09F08FC021 +S11316B041D4882309F48BC0209168243091692493 +S11316C03327E0911020F0911120818990E0821756 +S11316D0930708F47CC080DD80916824909169248C +S11316E08093CC20882309F4E1C099278150904C41 +S11316F0880F991F880F991F209112203091132071 +S1131700820F931F8093C9209093CA2010E0E09128 +S1131710C920F091CA200190F081E02D848118172E +S113172008F0C4C060E0812FDFDC882309F44FC0D7 +S11317301F5FEDCF8130F1F4809167248B3009F085 +S113174046C080916C2490916D24892B09F03FC090 +S11317508091CC20882309F43AC010916A246091C6 +S11317606824812F6983F3DC6981882381F1812FC7 +S1131770BBDC2BC0823059F580916724813019F08D +S1131780833089F024C080916C2490916D24892B3E +S1131790F1F48091682490916924892BC1F480919B +S11317A06A242AD412C080916C2490916D24892BD0 +S11317B071F48091682490916924892B41F480917B +S11317C06A24BFD480916A24F5D481116FC08091BA +S11317D066248F718130B9F58091CC20882399F1EA +S11317E0E0906A24F0906B240091C9201091CA20E3 +S11317F0D801ED91FC918481E81628F560E08E2DE6 +S113180020DC882301F1F701FF27EE0FFF1FD80129 +S113181012968D919C911397E80FF91F0081118105 +S1131820D8011696ED91FC9117970995682F8E2D86 +S113183008DC882341F0D8011496ED91FC911597AA +S11318400995811133C0809166248F71823081F5AE +S11318508091CC20882361F1F12CE091C920F09192 +S1131860CA20A081B18114968C91F81608F5928152 +S11318708381E92FF82FEF0DF11DEF0DF11D00818C +S11318801181D8011696ED91FC9117970995682F4F +S11318908F2DD7DB882361F0D8011496ED91FC914C +S11318A015970995811102C0F394D7CF81E001C047 +S11318B080E00F90DF91CF911F910F91FF90EF90F7 +S11318C008951BBEFC0128ED24BF60830895409158 +S11318D0CA01E62FF72F8093CA0184914093CA016D +S11318E00895E82FF0E0EE5AF34D80818F3F09F41C +S11318F0FFCF9FB7F89480818F5F80839FBF089547 +S1131900E82FF0E0EE5AF34D8081811101C0FFCF42 +S11319109FB7F8948081815080839FBF0895CF93AF +S1131920C82F80916422C11105C0882339F081E059 +S1131930E7DF04C0811102C081E0D3DFC0936422D9 +S1131940CF910895282F2F70082E000C990B392F52 +S1131950331F3327331F832F90E0820F911D820F93 +S1131960911D23E0880F991F2A95E1F7805E9D4D14 +S113197008950F93E8ECF4E080818F7D808380816B +S11319808F7D8083E8E2F2E202E0059310922A223E +S113199010922B2200E2069300E40693E0E2F2E2C6 +S11319A000E2069300E40693E6E6F4E21486158664 +S11319B0168617861286138610920D220F910895AB +S11319C00F9385E080930D22E9E2F2E204E00593AF +S11319D0E1E2F2E204E005930F9108950F9383E0AE +S11319E080930D2210922A2210922B22E8E2F2E236 +S11319F002E006930F910895E0917224F09173240C +S1131A00309709F009940895282F2F70082E000CA0 +S1131A10990B392F331F3327331F832F90E0820F05 +S1131A20911D820F911D029749E0489F9001499FA3 +S1131A30300D1124C9018D569E4D08958F929F92A9 +S1131A40AF92BF92DF92EF92FF920F931F93CF93C7 +S1131A50DF93D82ED9DFEC018D2D74DF7C01DC01FE +S1131A601196EC91E770E150E73040F4F0E0EE0FAE +S1131A70FF1FEE54FF4D0081118102C008E010E009 +S1131A80ED81FE812B813C814881D701D7FE48C07E +S1131A9016968D919C9117978E0F9F1F8D839E8311 +S1131AA08217930761F1281B390B2115B4E03B071A +S1131AB038F02FEF33E0C901B80113D5281B390BD7 +S1131AC041FF0AC0C901B8010CD5AC0191E0452B16 +S1131AD009F090E0892F01C080E0988180FB91F9A2 +S1131AE09883F701168217822283338329813A81EE +S1131AF08D819E81820F931F848395830EC041FF45 +S1131B0071C04D7F4883D70116961D921C9217977A +S1131B1012961D921C921397F70102E006937BC064 +S1131B201296AD90BC90139742FF10C089809A80A2 +S1131B30C901B801D6D4B0E4DB9EB00111246D56BE +S1131B407F4DAC01C4018E0F9F1FE5D48D819E8112 +S1131B508A0D9B1D8D839E832B813C812817390719 +S1131B6010F42D833E83F70186819781A816B90668 +S1131B70C9F58D819E8182179307A1F1281B390B2A +S1131B802115F4E03F0710F02FEF33E0C901B8014D +S1131B90A8D4281B390BD70112961D921C921397B7 +S1131BA02017310778F4888184608883B0E4DB9E51 +S1131BB0C00111248D569F4DF701848395830683BC +S1131BC01783AACF49815A818D819E81840F951FE5 +S1131BD0D70114968D939C93159716962D933C9349 +S1131BE017979ACF888180FF16C08E7F8883EF81F4 +S1131BF0F885309781F06D817E814D2D80E0DF91F5 +S1131C00CF911F910F91FF90EF90DF90BF90AF9015 +S1131C109F908F900994DF91CF911F910F91FF9026 +S1131C20EF90DF90BF90AF909F908F9008950F93A7 +S1131C30CF93DF9380910D22833029F4DDDEDF9191 +S1131C40CF910F9196CE2091092230910A22C09112 +S1131C507024D0917124C21BD30B61F580910B22A7 +S1131C6090910C22820F931F80930B2290930C224D +S1131C7020916C2430916D242817390721F080912C +S1131C80D220882331F084E080930D22E0E2F2E256 +S1131C9036C0E0917424F0917524309799F0099539 +S1131CA0882381F01092092210920A22C091702494 +S1131CB0D0917124C034D10528F01092D220C0E410 +S1131CC0D0E003C081E08093D220C0932A22D09335 +S1131CD02B228091092290910A2220916E24309126 +S1131CE06F24280F391F20932C2230932D22C80FE4 +S1131CF0D91FC0930922D0930A22E8E2F2E202E05B +S1131D000693DF91CF910F9108950F93CF93DF93B3 +S1131D101F92CDB7DEB78091CC0480FF65C021E06F +S1131D202093CC0480E292E2FC0100E80693E8E20E +S1131D30F2E200E806932093CA04FC0100E1069352 +S1131D4080910D22882329F08350823008F454DED8 +S1131D5010DE8091222290912322089709F046C038 +S1131D6088E0E9ECF1E2A6E6B4E201900D928A95EE +S1131D70E1F78091C80480628093C8048091C8040C +S1131D8080628093C80469DA811102C019DE2EC012 +S1131D909091662497FF0EC010920B2210920C2291 +S1131DA01092092210920A2292E090930D228983C4 +S1131DB03EDF08C020916C2430916D24232B21F444 +S1131DC089830CDE898113C010920B2210920C229D +S1131DD01092092210920A2291E090930D22E0E2DF +S1131DE0F2E202E0069303C080E001C081E00F90BC +S1131DF0DF91CF910F910895CF93CFB7F89481E0FD +S1131E008EDDEAECF4E080E4808380E28083E1EC20 +S1131E10F4E0808181608083A9ECB4E08C918260DD +S1131E208C93E8ECF4E08081806480838C91816001 +S1131E308C93808180688083CFBFCF910895CF93A6 +S1131E401092600080E39FD88091C00480648093E6 +S1131E50C00481E080936000CFB7F89480E090E004 +S1131E60FC0123E0EE0FFF1F2A95E1F7E05FFD4D33 +S1131E70118A01968830910599F7809193218E7F7C +S1131E808093932180919C218E7F80939C218091CB +S1131E90A5218E7F8093A5218091AE218E7F809392 +S1131EA0AE218091B7218E7F8093B7218091C0218C +S1131EB08E7F8093C0216AE170E082E008DD8F3F6D +S1131EC009F48FE18093FA046BE170E082E0FFDCB7 +S1131ED08F3F09F48FE18093FB048091C0048360F9 +S1131EE08093C0048091C00480688093C004809172 +S1131EF0C00480618093C00480E292E28093C604AF +S1131F009093C7048091C00480628093C0048FEFD3 +S1131F108093C5048091C80482608093C8041092A1 +S1131F20642285E0DEDC68DFCFBFCF910895809323 +S1131F30C30408958091C3040895E6E6F4E280871B +S1131F4091876287738708950F931F93CF93DF93CD +S1131F501F92CDB7DEB78A016983F4DCFC0181816D +S1131F60807C698181113AC06370613019F020F07E +S1131F7080E803C080EC01C080E400381105E9F07A +S1131F8058F400321105A9F000341105A1F0003114 +S1131F901105C9F491E018C0011592E0190779F010 +S1131FA00F3F93E0190769F00115114061F495E0C2 +S1131FB00BC092E009C093E007C094E005C096E02E +S1131FC003C097E001C090E0118226E02083982BA3 +S1131FD0918381818062818381E001C080E00F90E0 +S1131FE0DF91CF911F910F910895ACDCFC018181A9 +S1131FF082FB882780F90895CF93C82FA3DCFC01C6 +S1132000818182FF0FC091819B7F91838C2FFCDCA7 +S1132010FC01908190FF06C09E7F90830780F0852D +S1132020E02D099581E0CF9108958F929F92AF9210 +S1132030BF92DF92EF92FF920F931F93CF93DF93A0 +S11320401F92CDB7DEB7D82E5A0179016983DCDC43 +S11320504C018D2D77DC9C01DC0111968C9111973C +S1132060807C6981882309F45EC011968C91119754 +S1132070807C803C21F011968C9182FD54C09FB7E6 +S1132080F894F401808180FF02C09FBF4CC081603E +S113209080839FBFF401A182B282E382F48215821D +S11320A016820783108791E0611104C0E114F104E2 +S11320B009F090E0D4018C9190FB81F98B7F8C9393 +S11320C0D7FE04C0F9011682178229C0D9011196DE +S11320D08C911197807C803CC9F41196EC91E77047 +S11320E0E150E73040F4F0E0EE0FFF1FEE54FF4DF7 +S11320F06081718102C068E070E0C701F2D1892B70 +S113210029F0F40180818E7F80830DC0D90112965D +S11321101D921C92139716961D921C9217978D2D43 +S11321208DDC81E001C080E00F90DF91CF911F91A1 +S11321300F91FF90EF90DF90BF90AF909F908F90A2 +S11321400895EF92FF920F93CF93C82FFBDB7C018E +S11321508C2F5ADCDC01F70102E005939C9190FF7F +S11321601BC09E7F9C931796ED91FC911897309716 +S113217099F0D701C7FF05C016966D917C9117970A +S113218004C012966D917C9113974C2F81E0CF91EE +S11321900F91FF90EF900994CF910F91FF90EF90E2 +S11321A00895CF93C82FCDDF8C2FCCDBFC01118297 +S11321B0CF9108950F93CF93C82FC4DBFC01918175 +S11321C09460918301E006938C2FBBDF81E0CF9173 +S11321D00F9108951F920F920FB60F9211240F932F +S11321E02F933F934F935F936F937F938F939F931B +S11321F0AF93BF93EF93FF938091CB0487FF07C006 +S113220080E88093CA0404D80E94770186C0809134 +S1132210CB0482FF18C084E08093CA0480912822F2 +S113222086FF7BC08091CC0481FD77C06EDD811177 +S113223074C080910D22813011F4D0DB6EC08430E3 +S113224009F06BC021C08091CB0481FF26C082E0DD +S11322508093CA048091202286FF5FC08091CC04C1 +S113226081FD5BC052DD811158C080910D22823006 +S113227041F484E080930D22E0E2F2E202E006936E +S11322804CC0833009F049C0E9E2F2E204E005936E +S1132290E1E2F2E204E0059340C08091CB0484FFC4 +S11322A025C080E18093CA0481E04BDF81E849DFE7 +S11322B082E047DF82E845DF0E94EC081092C30405 +S11322C01092212296E09093202283E4809321228D +S11322D010922922909328228093292289EC91E25A +S11322E0809324229093252244DB17C08091CB0451 +S11322F086FF08C080E48093CA0480E010DB0E945B +S113230075010BC08091CB0485FF07C080E28093E8 +S1132310CA0481E004DB0E947601FF91EF91BF9132 +S1132320AF919F918F917F916F915F914F913F9169 +S11323302F910F910F900FBE0F901F9018951F9221 +S11323400F920FB60F9211240F931F932F933F9365 +S11323504F935F936F937F938F939F93AF93BF93A9 +S1132360CF93DF93EF93FF938091CC0481FF1AC046 +S113237082E08093CC048091C5048195880FE0E2CB +S1132380F2E2E81BF109208131812052324283E0DC +S1132390369527958A95E1F7822F869520FD06C00C +S11323A0C0E005C0B2DC882319F386C0C0E8C80FBA +S11323B08C2FC8DAFC01208125FF7EC000E2069341 +S11323C0C11174C080910D22843019F415DBD1DA67 +S11323D073C0009122221091232280917024909145 +S11323E07124C0910922D0910A229E01200F311F2D +S11323F08217930718F48C010C1B1D0B80916E241B +S113240090916F24A80169EC71E28C0F9D1F83D019 +S1132410C00FD11FC0930922D0930A2200341105A2 +S113242069F480910B2290910C228C0F9D1F2091B6 +S11324306C2430916D248217930788F0C093702424 +S1132440D0937124E0917424F0917524309729F08D +S11324500995811102C0B4DA2FC0C0DA2DC0809171 +S11324607024909171248C179D07D9F4E091742401 +S1132470F0917524309779F30995882361F32091BD +S11324800B2230910C228091092290910A22820F12 +S1132490931F80930B2290930C2210920922109286 +S11324A00A22E0E2F2E202E0069306C0C03811F428 +S11324B0BEDB02C08C2FC2DAFF91EF91DF91CF9186 +S11324C0BF91AF919F918F917F916F915F914F9148 +S11324D03F912F911F910F910F900FBE0F901F905E +S11324E01895AA1BBB1B51E107C0AA1FBB1FA61747 +S11324F0B70710F0A61BB70B881F991F5A95A9F7A9 +S113250080959095BC01CD010895EE0FFF1F0590B5 +S1132510F491E02D0994FB01DC0102C001900D92BD +S10F252041505040D8F70895F894FFCFC4 +S113252CFF5580008000EC07E607F607E307000080 +S113253C4420162000001C201A2006200902270023 +S113254C01010080FA0904000003FFFFFF000705E6 +S113255C81024000000705020240000007058301C8 +S113256CFF0301001201000200000040EB0300A075 +S113257C0002010200010000000300000000000042 +S113258C000000000000000000000000000000003B +S113259C000000000000000000000000000000002B +S11325AC00000000000000000000555342476F6219 +S11325BC696E6461722044756D6D79204465766929 +S11325CC63650054617069725465636800000403A8 +S11325DC0904100020004000800000010002FF03E9 S9030000FC diff --git a/AVR Code/USB_BULK_TEST/Release/src/tiny_dma.o b/AVR Code/USB_BULK_TEST/Release/src/tiny_dma.o index d2791c82..497d9575 100644 Binary files a/AVR Code/USB_BULK_TEST/Release/src/tiny_dma.o and b/AVR Code/USB_BULK_TEST/Release/src/tiny_dma.o differ diff --git a/AVR Code/USB_BULK_TEST/Release/src/tiny_uart.o b/AVR Code/USB_BULK_TEST/Release/src/tiny_uart.o index 5308a582..8fea8eb8 100644 Binary files a/AVR Code/USB_BULK_TEST/Release/src/tiny_uart.o and b/AVR Code/USB_BULK_TEST/Release/src/tiny_uart.o differ diff --git a/AVR Code/USB_BULK_TEST/src/main.c b/AVR Code/USB_BULK_TEST/src/main.c index 3e870e68..b4710ac4 100644 --- a/AVR Code/USB_BULK_TEST/src/main.c +++ b/AVR Code/USB_BULK_TEST/src/main.c @@ -140,4 +140,5 @@ bool main_setup_in_received(void) void iso_callback(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_t ep){ udi_vendor_iso_in_run((uint8_t *)&isoBuf[!b1_state * PACKET_SIZE], PACKET_SIZE, iso_callback); return; -} \ No newline at end of file +} + diff --git a/AVR Code/USB_BULK_TEST/src/tiny_dma.c b/AVR Code/USB_BULK_TEST/src/tiny_dma.c index 6e9e9cd7..e72c3c7b 100644 --- a/AVR Code/USB_BULK_TEST/src/tiny_dma.c +++ b/AVR Code/USB_BULK_TEST/src/tiny_dma.c @@ -397,45 +397,24 @@ void tiny_dma_set_mode_4(void){ //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_REPEAT_bm | DMA_CH_ENABLE_bm; //Enable! - - USARTC0.DATA = 0x55; - + DMA.CH2.REPCNT = 0; //Repeat forever! DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete + DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - DMA.CH2.TRFCNT = dacBuf_len; + DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER + DMA.CH2.TRFCNT = auxDacBufLen; - DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; + DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf + DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; DMA.CH2.SRCADDR2 = 0x00; - - DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; + + DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register + DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; DMA.CH2.DESTADDR2 = 0x00; - + //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - - - DMA.CH3.REPCNT = 0; //Repeat forever! - DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - DMA.CH3.TRFCNT = auxDacBufLen; - - DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - DMA.CH3.SRCADDR2 = 0x00; - - DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - DMA.CH3.DESTADDR2 = 0x00; - - //Must enable last for REPCNT won't work! - DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! } void tiny_dma_loop_mode_4(void){ @@ -460,27 +439,27 @@ void tiny_dma_loop_mode_4(void){ //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - DMA.CH2.CTRLA = 0x00; - DMA.CH2.CTRLA = DMA_CH_RESET_bm; - - DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - DMA.CH2.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_SPIC_gc; - DMA.CH2.TRFCNT = HALFPACKET_SIZE; - - DMA.CH2.SRCADDR0 = (( (uint16_t) &SPIC.DATA) >> 0) & 0xFF; //Source address is ADC - DMA.CH2.SRCADDR1 = (( (uint16_t) &SPIC.DATA) >> 8) & 0xFF; - DMA.CH2.SRCADDR2 = 0x00; - - DMA.CH2.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - DMA.CH2.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - DMA.CH2.DESTADDR2 = 0x00; - - //Must enable last for REPCNT won't work! - DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! -} + //Actual data being transferred + DMA.CH3.CTRLA = 0x00; + DMA.CH3.CTRLA = DMA_CH_RESET_bm; + DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! + DMA.CH3.CTRLB = 0x00; //No interrupt + DMA.CH3.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. + DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_SPIC_gc; + DMA.CH3.TRFCNT = HALFPACKET_SIZE; + + DMA.CH3.SRCADDR0 = (( (uint16_t) &SPIC.DATA) >> 0) & 0xFF; //Source address is ADC + DMA.CH3.SRCADDR1 = (( (uint16_t) &SPIC.DATA) >> 8) & 0xFF; + DMA.CH3.SRCADDR2 = 0x00; + + DMA.CH3.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf + DMA.CH3.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 8) & 0xFF; + DMA.CH3.DESTADDR2 = 0x00; + + //Must enable last for REPCNT won't work! + DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! +} void tiny_dma_set_mode_5(void){ global_mode = 5; diff --git a/AVR Code/USB_BULK_TEST/src/tiny_uart.c b/AVR Code/USB_BULK_TEST/src/tiny_uart.c index be99076e..97cc5bd2 100644 --- a/AVR Code/USB_BULK_TEST/src/tiny_uart.c +++ b/AVR Code/USB_BULK_TEST/src/tiny_uart.c @@ -13,7 +13,7 @@ void tiny_uart_setup(void){ PR.PRPC &= 0b11101111; //PR.PRPE &= 0b11111110; ??? - PORTC.DIR |= 0b10101010; + PORTC.DIR |= 0b01001010; PORTC.OUT = 0xff; PORTC.PIN2CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //PORTC.REMAP = 0x10; //Remap USART to [7:4] @@ -34,11 +34,16 @@ void tiny_spi_setup(void){ //SPI enable SPIC.CTRL = SPI_ENABLE_bm; //Slave mode + SPIC.INTCTRL = SPI_INTLVL_HI_gc; #ifdef VERO - PORTC.PIN5CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //Pin5 if not swapped + PORTC.PIN5CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; #else PORTC.PIN7CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //Pin5 if not swapped #endif return; -} \ No newline at end of file +} + +ISR(SPIC_INT_vect){ + asm("nop"); +} diff --git a/Desktop Interface/Labrador_libusbK.pro.user b/Desktop Interface/Labrador_libusbK.pro.user index f44543a7..e1435544 100644 --- a/Desktop Interface/Labrador_libusbK.pro.user +++ b/Desktop Interface/Labrador_libusbK.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -62,11 +62,11 @@ Desktop Qt 5.7.0 MSVC2013 64bit Desktop Qt 5.7.0 MSVC2013 64bit qt.57.win64_msvc2013_64_kit - 0 + 1 0 0 - C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface + C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface/BIN_OUTPUT true @@ -120,7 +120,7 @@ true - C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface/BIN_OUTPUT + C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface true diff --git a/Desktop Interface/Makefile b/Desktop Interface/Makefile index 03d2fdc5..c7b7481f 100644 --- a/Desktop Interface/Makefile +++ b/Desktop Interface/Makefile @@ -3,14 +3,14 @@ # Generated by qmake (3.0) (Qt 5.7.0) # Project: Labrador_libusbK.pro # Template: app -# Command: C:\Qt\5.7\msvc2013_64\bin\qmake.exe -spec win32-msvc2013 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile Labrador_libusbK.pro +# Command: C:\Qt\5.7\msvc2013_64\bin\qmake.exe -spec win32-msvc2013 -o Makefile Labrador_libusbK.pro ############################################################################# MAKEFILE = Makefile -first: debug -install: debug-install -uninstall: debug-uninstall +first: release +install: release-install +uninstall: release-uninstall QMAKE = C:\Qt\5.7\msvc2013_64\bin\qmake.exe DEL_FILE = del CHK_DIR_EXISTS= if not exist @@ -26,31 +26,10 @@ SYMLINK = $(QMAKE) -install ln -f -s DEL_DIR = rmdir MOVE = move SUBTARGETS = \ - debug \ - release + release \ + debug -debug: FORCE - @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug -debug-make_first: FORCE - @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug -debug-all: FORCE - @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug all -debug-clean: FORCE - @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug clean -debug-distclean: FORCE - @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug distclean -debug-install: FORCE - @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug install -debug-uninstall: FORCE - @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug uninstall release: FORCE @set MAKEFLAGS=$(MAKEFLAGS) $(MAKE) -f $(MAKEFILE).Release @@ -72,6 +51,27 @@ release-install: FORCE release-uninstall: FORCE @set MAKEFLAGS=$(MAKEFLAGS) $(MAKE) -f $(MAKEFILE).Release uninstall +debug: FORCE + @set MAKEFLAGS=$(MAKEFLAGS) + $(MAKE) -f $(MAKEFILE).Debug +debug-make_first: FORCE + @set MAKEFLAGS=$(MAKEFLAGS) + $(MAKE) -f $(MAKEFILE).Debug +debug-all: FORCE + @set MAKEFLAGS=$(MAKEFLAGS) + $(MAKE) -f $(MAKEFILE).Debug all +debug-clean: FORCE + @set MAKEFLAGS=$(MAKEFLAGS) + $(MAKE) -f $(MAKEFILE).Debug clean +debug-distclean: FORCE + @set MAKEFLAGS=$(MAKEFLAGS) + $(MAKE) -f $(MAKEFILE).Debug distclean +debug-install: FORCE + @set MAKEFLAGS=$(MAKEFLAGS) + $(MAKE) -f $(MAKEFILE).Debug install +debug-uninstall: FORCE + @set MAKEFLAGS=$(MAKEFLAGS) + $(MAKE) -f $(MAKEFILE).Debug uninstall Makefile: Labrador_libusbK.pro C:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_pre.prf \ C:\Qt\5.7\msvc2013_64\mkspecs\common\angle.conf \ @@ -193,7 +193,6 @@ Makefile: Labrador_libusbK.pro C:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013\qmak C:\Qt\5.7\msvc2013_64\mkspecs\features\resolve_config.prf \ C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds_post.prf \ C:\Qt\5.7\msvc2013_64\mkspecs\features\default_post.prf \ - C:\Qt\5.7\msvc2013_64\mkspecs\features\qml_debug.prf \ C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\rtti.prf \ C:\Qt\5.7\msvc2013_64\mkspecs\features\precompile_header.prf \ C:\Qt\5.7\msvc2013_64\mkspecs\features\warn_on.prf \ @@ -209,12 +208,12 @@ Makefile: Labrador_libusbK.pro C:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013\qmak C:\Qt\5.7\msvc2013_64\mkspecs\features\yacc.prf \ C:\Qt\5.7\msvc2013_64\mkspecs\features\lex.prf \ Labrador_libusbK.pro \ - C:\Qt\5.7\msvc2013_64\lib\qtmaind.prl \ + C:\Qt\5.7\msvc2013_64\lib\qtmain.prl \ C:\Qt\5.7\msvc2013_64\lib\Qt5PrintSupport.prl \ C:\Qt\5.7\msvc2013_64\lib\Qt5Widgets.prl \ C:\Qt\5.7\msvc2013_64\lib\Qt5Gui.prl \ C:\Qt\5.7\msvc2013_64\lib\Qt5Core.prl - $(QMAKE) -spec win32-msvc2013 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile Labrador_libusbK.pro + $(QMAKE) -spec win32-msvc2013 -o Makefile Labrador_libusbK.pro C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_pre.prf: C:\Qt\5.7\msvc2013_64\mkspecs\common\angle.conf: C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-base.conf: @@ -335,7 +334,6 @@ C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\default_pre.prf: C:\Qt\5.7\msvc2013_64\mkspecs\features\resolve_config.prf: C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds_post.prf: C:\Qt\5.7\msvc2013_64\mkspecs\features\default_post.prf: -C:\Qt\5.7\msvc2013_64\mkspecs\features\qml_debug.prf: C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\rtti.prf: C:\Qt\5.7\msvc2013_64\mkspecs\features\precompile_header.prf: C:\Qt\5.7\msvc2013_64\mkspecs\features\warn_on.prf: @@ -351,46 +349,44 @@ C:\Qt\5.7\msvc2013_64\mkspecs\features\exceptions.prf: C:\Qt\5.7\msvc2013_64\mkspecs\features\yacc.prf: C:\Qt\5.7\msvc2013_64\mkspecs\features\lex.prf: Labrador_libusbK.pro: -C:\Qt\5.7\msvc2013_64\lib\qtmaind.prl: +C:\Qt\5.7\msvc2013_64\lib\qtmain.prl: C:\Qt\5.7\msvc2013_64\lib\Qt5PrintSupport.prl: C:\Qt\5.7\msvc2013_64\lib\Qt5Widgets.prl: C:\Qt\5.7\msvc2013_64\lib\Qt5Gui.prl: C:\Qt\5.7\msvc2013_64\lib\Qt5Core.prl: qmake: FORCE - @$(QMAKE) -spec win32-msvc2013 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile Labrador_libusbK.pro + @$(QMAKE) -spec win32-msvc2013 -o Makefile Labrador_libusbK.pro qmake_all: FORCE -make_first: debug-make_first release-make_first FORCE -all: debug-all release-all FORCE -clean: debug-clean release-clean FORCE +make_first: release-make_first debug-make_first FORCE +all: release-all debug-all FORCE +clean: release-clean debug-clean FORCE -$(DEL_FILE) bin\Labrador_libusbk.exp - -$(DEL_FILE) bin\Labrador_libusbk.ilk - -$(DEL_FILE) bin\Labrador_libusbk.idb -distclean: debug-distclean release-distclean FORCE +distclean: release-distclean debug-distclean FORCE -$(DEL_FILE) Makefile - -$(DEL_FILE) bin\Labrador_libusbk.lib bin\Labrador_libusbk.pdb + -$(DEL_FILE) bin\Labrador_libusbk.lib -debug-mocclean: - @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug mocclean release-mocclean: @set MAKEFLAGS=$(MAKEFLAGS) $(MAKE) -f $(MAKEFILE).Release mocclean -mocclean: debug-mocclean release-mocclean - -debug-mocables: +debug-mocclean: @set MAKEFLAGS=$(MAKEFLAGS) - $(MAKE) -f $(MAKEFILE).Debug mocables + $(MAKE) -f $(MAKEFILE).Debug mocclean +mocclean: release-mocclean debug-mocclean + release-mocables: @set MAKEFLAGS=$(MAKEFLAGS) $(MAKE) -f $(MAKEFILE).Release mocables -mocables: debug-mocables release-mocables +debug-mocables: + @set MAKEFLAGS=$(MAKEFLAGS) + $(MAKE) -f $(MAKEFILE).Debug mocables +mocables: release-mocables debug-mocables check: first benchmark: first FORCE: -$(MAKEFILE).Debug: Makefile $(MAKEFILE).Release: Makefile +$(MAKEFILE).Debug: Makefile diff --git a/Desktop Interface/Makefile.Debug b/Desktop Interface/Makefile.Debug index acea5310..ff546cad 100644 --- a/Desktop Interface/Makefile.Debug +++ b/Desktop Interface/Makefile.Debug @@ -11,7 +11,7 @@ MAKEFILE = Makefile.Debug CC = cl CXX = cl -DEFINES = -DUNICODE -DWIN32 -DWIN64 -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB +DEFINES = -DUNICODE -DWIN32 -DWIN64 -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB CFLAGS = -nologo -Zc:wchar_t -FS -Zi -MDd -W3 /Fdbin\Labrador_libusbk.pdb $(DEFINES) CXXFLAGS = -nologo -Zc:wchar_t -FS -Zi -MDd -GR -W3 -w34100 -w34189 -w44996 -EHsc /Fdbin\Labrador_libusbk.pdb $(DEFINES) INCPATH = -I. -Ilibusbk\includes -IC:\Qt\5.7\msvc2013_64\include -IC:\Qt\5.7\msvc2013_64\include\QtPrintSupport -IC:\Qt\5.7\msvc2013_64\include\QtWidgets -IC:\Qt\5.7\msvc2013_64\include\QtGui -IC:\Qt\5.7\msvc2013_64\include\QtANGLE -IC:\Qt\5.7\msvc2013_64\include\QtCore -Idebug -I. -IC:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013 @@ -201,12 +201,12 @@ debug\Labrador_libusbk_resource.res: Labrador_libusbk_resource.rc rc -D_DEBUG $(DEFINES) -fo debug\Labrador_libusbk_resource.res Labrador_libusbk_resource.rc qmake: FORCE - @$(QMAKE) -spec win32-msvc2013 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile.Debug Labrador_libusbK.pro + @$(QMAKE) -spec win32-msvc2013 -o Makefile.Debug Labrador_libusbK.pro qmake_all: FORCE dist: - $(ZIP) Labrador_libusbk.zip $(SOURCES) $(DIST) Labrador_libusbK.pro C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\common\angle.conf C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-base.conf C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-desktop.conf C:\Qt\5.7\msvc2013_64\mkspecs\qconfig.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dcore.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dcore_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dinput.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dinput_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dlogic.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dlogic_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquick.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquick_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickinput.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickinput_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickrender.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickrender_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3drender.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3drender_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axbase.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axbase_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axcontainer.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axcontainer_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axserver.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axserver_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bluetooth.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bluetooth_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bootstrap_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_clucene_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_concurrent.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_concurrent_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_core.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_core_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_dbus.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_dbus_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designer.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designer_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designercomponents_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_gui.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_gui_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_help.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_help_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_location.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_location_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimedia.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimedia_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimediawidgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_network.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_network_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_nfc.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_nfc_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_opengl.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_opengl_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_openglextensions.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_openglextensions_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_packetprotocol_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_platformsupport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_positioning.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_positioning_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_printsupport.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_printsupport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qml.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qml_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmldebug_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmldevtools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmltest.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmltest_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quick.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quick_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickcontrols2.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickparticles_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickwidgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickwidgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sensors.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sensors_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_serialport.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_serialport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sql.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sql_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_svg.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_svg_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_testlib.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_testlib_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uiplugin.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uitools.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uitools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webchannel.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webchannel_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_websockets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_websockets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webview.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webview_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_widgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_widgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_winextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_winextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xml.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xml_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xmlpatterns.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_zlib_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\features\qt_functions.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qt_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\qt_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\default_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\default_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\resolve_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\default_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\build_pass.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qml_debug.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\rtti.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\precompile_header.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\warn_on.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qt.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\resources.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\moc.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\opengl.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\uic.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\file_copies.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\windows.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\testcase_targets.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exceptions.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\yacc.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\lex.prf Labrador_libusbK.pro resources.qrc C:\Qt\5.7\msvc2013_64\lib\qtmaind.prl C:\Qt\5.7\msvc2013_64\lib\Qt5PrintSupportd.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Widgetsd.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Guid.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Cored.prl NO_PCH_SOURCES RESOURCES HEADERS SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES + $(ZIP) Labrador_libusbk.zip $(SOURCES) $(DIST) Labrador_libusbK.pro C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\common\angle.conf C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-base.conf C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-desktop.conf C:\Qt\5.7\msvc2013_64\mkspecs\qconfig.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dcore.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dcore_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dinput.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dinput_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dlogic.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dlogic_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquick.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquick_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickinput.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickinput_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickrender.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickrender_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3drender.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3drender_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axbase.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axbase_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axcontainer.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axcontainer_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axserver.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axserver_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bluetooth.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bluetooth_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bootstrap_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_clucene_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_concurrent.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_concurrent_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_core.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_core_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_dbus.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_dbus_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designer.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designer_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designercomponents_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_gui.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_gui_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_help.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_help_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_location.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_location_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimedia.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimedia_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimediawidgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_network.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_network_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_nfc.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_nfc_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_opengl.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_opengl_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_openglextensions.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_openglextensions_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_packetprotocol_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_platformsupport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_positioning.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_positioning_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_printsupport.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_printsupport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qml.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qml_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmldebug_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmldevtools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmltest.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmltest_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quick.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quick_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickcontrols2.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickparticles_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickwidgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickwidgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sensors.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sensors_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_serialport.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_serialport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sql.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sql_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_svg.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_svg_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_testlib.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_testlib_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uiplugin.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uitools.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uitools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webchannel.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webchannel_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_websockets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_websockets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webview.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webview_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_widgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_widgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_winextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_winextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xml.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xml_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xmlpatterns.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_zlib_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\features\qt_functions.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qt_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\qt_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\default_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\default_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\resolve_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\default_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\build_pass.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\rtti.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\precompile_header.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\warn_on.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qt.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\resources.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\moc.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\opengl.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\uic.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\file_copies.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\windows.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\testcase_targets.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exceptions.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\yacc.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\lex.prf Labrador_libusbK.pro resources.qrc C:\Qt\5.7\msvc2013_64\lib\qtmaind.prl C:\Qt\5.7\msvc2013_64\lib\Qt5PrintSupportd.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Widgetsd.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Guid.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Cored.prl NO_PCH_SOURCES RESOURCES HEADERS SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES clean: compiler_clean -$(DEL_FILE) debug\main.obj debug\mainwindow.obj debug\qcustomplot.obj debug\buffercontrol.obj debug\esposlider.obj debug\espospinbox.obj debug\winusbdriver.obj debug\espocombobox.obj debug\functiongencontrol.obj debug\isodriver.obj debug\isobuffer.obj debug\siprint.obj debug\noclosemenu.obj debug\cursorenabler.obj debug\desktop_settings.obj debug\deviceconnecteddisplay.obj debug\timedtickbox.obj debug\qrc_resources.obj debug\moc_mainwindow.obj debug\moc_qcustomplot.obj debug\moc_buffercontrol.obj debug\moc_esposlider.obj debug\moc_espospinbox.obj debug\moc_winusbdriver.obj debug\moc_espocombobox.obj debug\moc_functiongencontrol.obj debug\moc_isodriver.obj debug\moc_noclosemenu.obj debug\moc_cursorenabler.obj debug\moc_deviceconnecteddisplay.obj debug\moc_timedtickbox.obj @@ -1639,6 +1639,10 @@ debug\moc_winusbdriver.cpp: C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ C:\Qt\5.7\msvc2013_64\include\QtCore\qtimer.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qbasictimer.h \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -1762,6 +1766,10 @@ debug\moc_espocombobox.cpp: C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qabstractitemmodel.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ espocombobox.h \ C:\Qt\5.7\msvc2013_64\bin\moc.exe C:\Qt\5.7\msvc2013_64\bin\moc.exe $(DEFINES) -D_MSC_VER=1800 -D_WIN32 -D_WIN64 -IC:/Qt/5.7/msvc2013_64/mkspecs/win32-msvc2013 -I"C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface" -I"C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface/libusbk/includes" -IC:/Qt/5.7/msvc2013_64/include -IC:/Qt/5.7/msvc2013_64/include/QtPrintSupport -IC:/Qt/5.7/msvc2013_64/include/QtWidgets -IC:/Qt/5.7/msvc2013_64/include/QtGui -IC:/Qt/5.7/msvc2013_64/include/QtANGLE -IC:/Qt/5.7/msvc2013_64/include/QtCore espocombobox.h -o debug\moc_espocombobox.cpp @@ -1867,6 +1875,10 @@ debug\moc_functiongencontrol.cpp: C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidge C:\Qt\5.7\msvc2013_64\include\QtWidgets\qlabel.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ functiongencontrol.h \ C:\Qt\5.7\msvc2013_64\bin\moc.exe @@ -2351,6 +2363,8 @@ debug\moc_isodriver.cpp: C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ winusbdriver.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QTimer \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -3699,6 +3713,10 @@ ui_mainwindow.h: mainwindow.ui \ C:\Qt\5.7\msvc2013_64\include\QtCore\qtimer.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qbasictimer.h \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -3818,6 +3836,10 @@ ui_mainwindow.h: mainwindow.ui \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qabstractitemmodel.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qwidget.h \ C:\Qt\5.7\msvc2013_64\include\QtGui\qwindowdefs.h \ @@ -3919,6 +3941,10 @@ ui_mainwindow.h: mainwindow.ui \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qlabel.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qwidget.h \ @@ -4399,6 +4425,8 @@ ui_mainwindow.h: mainwindow.ui \ winusbdriver.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QTimer \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -5807,9 +5835,45 @@ debug\mainwindow.obj: mainwindow.cpp mainwindow.h \ C:\Qt\5.7\msvc2013_64\include\QtPrintSupport\qtprintsupportversion.h \ C:\Qt\5.7\msvc2013_64\include\QtGui\QFont \ ui_mainwindow.h \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QApplication \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QButtonGroup \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QCheckBox \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QComboBox \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QDoubleSpinBox \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QFormLayout \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QGridLayout \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QGroupBox \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QHBoxLayout \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QHeaderView \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QLCDNumber \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QLabel \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QMenu \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QMenuBar \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QPushButton \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QSlider \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QSpacerItem \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QVBoxLayout \ + buffercontrol.h \ + cursorenabler.h \ + deviceconnecteddisplay.h \ + espocombobox.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ + esposlider.h \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\Qslider \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\Qlabel \ + espospinbox.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QTextStream \ + functiongencontrol.h \ + isodriver.h \ + winusbdriver.h \ + libusbk\includes\libusbk.h \ + libusbk\includes\lusbk_shared.h \ + siprint.h \ + noclosemenu.h \ + timedtickbox.h \ C:\Qt\5.7\msvc2013_64\include\QtGui\QPalette \ - C:\Qt\5.7\msvc2013_64\include\QtGui\QBrush \ - C:\Qt\5.7\msvc2013_64\include\QtWidgets\QGridLayout + C:\Qt\5.7\msvc2013_64\include\QtGui\QBrush debug\qcustomplot.obj: qcustomplot.cpp qcustomplot.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QObject \ @@ -6712,6 +6776,10 @@ debug\winusbdriver.obj: winusbdriver.cpp winusbdriver.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qtimer.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qbasictimer.h \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -6832,7 +6900,11 @@ debug\espocombobox.obj: espocombobox.cpp espocombobox.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qrubberband.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qabstractitemmodel.h \ - C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug + C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile debug\functiongencontrol.obj: functiongencontrol.cpp functiongencontrol.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ @@ -6936,6 +7008,10 @@ debug\functiongencontrol.obj: functiongencontrol.cpp functiongencontrol.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qlabel.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h debug\isodriver.obj: isodriver.cpp isodriver.h \ @@ -7418,6 +7494,8 @@ debug\isodriver.obj: isodriver.cpp isodriver.h \ winusbdriver.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QTimer \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ diff --git a/Desktop Interface/Makefile.Release b/Desktop Interface/Makefile.Release index d1799b05..baf207e8 100644 --- a/Desktop Interface/Makefile.Release +++ b/Desktop Interface/Makefile.Release @@ -11,7 +11,7 @@ MAKEFILE = Makefile.Release CC = cl CXX = cl -DEFINES = -DUNICODE -DWIN32 -DWIN64 -DQT_QML_DEBUG -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG +DEFINES = -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG CFLAGS = -nologo -Zc:wchar_t -FS -O2 -MD -Zc:strictStrings -W3 $(DEFINES) CXXFLAGS = -nologo -Zc:wchar_t -FS -O2 -MD -Zc:strictStrings -GR -W3 -w34100 -w34189 -w44996 -EHsc $(DEFINES) INCPATH = -I. -Ilibusbk\includes -IC:\Qt\5.7\msvc2013_64\include -IC:\Qt\5.7\msvc2013_64\include\QtPrintSupport -IC:\Qt\5.7\msvc2013_64\include\QtWidgets -IC:\Qt\5.7\msvc2013_64\include\QtGui -IC:\Qt\5.7\msvc2013_64\include\QtANGLE -IC:\Qt\5.7\msvc2013_64\include\QtCore -Irelease -I. -IC:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013 @@ -201,12 +201,12 @@ release\Labrador_libusbk_resource.res: Labrador_libusbk_resource.rc rc $(DEFINES) -fo release\Labrador_libusbk_resource.res Labrador_libusbk_resource.rc qmake: FORCE - @$(QMAKE) -spec win32-msvc2013 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile.Release Labrador_libusbK.pro + @$(QMAKE) -spec win32-msvc2013 -o Makefile.Release Labrador_libusbK.pro qmake_all: FORCE dist: - $(ZIP) Labrador_libusbk.zip $(SOURCES) $(DIST) Labrador_libusbK.pro C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\common\angle.conf C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-base.conf C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-desktop.conf C:\Qt\5.7\msvc2013_64\mkspecs\qconfig.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dcore.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dcore_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dinput.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dinput_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dlogic.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dlogic_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquick.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquick_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickinput.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickinput_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickrender.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickrender_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3drender.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3drender_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axbase.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axbase_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axcontainer.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axcontainer_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axserver.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axserver_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bluetooth.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bluetooth_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bootstrap_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_clucene_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_concurrent.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_concurrent_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_core.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_core_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_dbus.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_dbus_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designer.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designer_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designercomponents_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_gui.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_gui_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_help.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_help_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_location.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_location_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimedia.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimedia_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimediawidgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_network.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_network_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_nfc.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_nfc_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_opengl.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_opengl_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_openglextensions.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_openglextensions_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_packetprotocol_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_platformsupport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_positioning.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_positioning_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_printsupport.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_printsupport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qml.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qml_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmldebug_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmldevtools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmltest.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmltest_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quick.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quick_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickcontrols2.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickparticles_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickwidgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickwidgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sensors.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sensors_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_serialport.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_serialport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sql.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sql_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_svg.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_svg_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_testlib.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_testlib_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uiplugin.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uitools.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uitools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webchannel.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webchannel_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_websockets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_websockets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webview.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webview_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_widgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_widgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_winextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_winextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xml.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xml_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xmlpatterns.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_zlib_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\features\qt_functions.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qt_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\qt_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\default_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\default_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\resolve_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\default_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\build_pass.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qml_debug.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\rtti.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\precompile_header.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\warn_on.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qt.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\resources.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\moc.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\opengl.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\uic.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\file_copies.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\windows.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\testcase_targets.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exceptions.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\yacc.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\lex.prf Labrador_libusbK.pro resources.qrc C:\Qt\5.7\msvc2013_64\lib\qtmain.prl C:\Qt\5.7\msvc2013_64\lib\Qt5PrintSupport.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Widgets.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Gui.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Core.prl NO_PCH_SOURCES RESOURCES HEADERS SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES + $(ZIP) Labrador_libusbk.zip $(SOURCES) $(DIST) Labrador_libusbK.pro C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\common\angle.conf C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-base.conf C:\Qt\5.7\msvc2013_64\mkspecs\common\msvc-desktop.conf C:\Qt\5.7\msvc2013_64\mkspecs\qconfig.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dcore.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dcore_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dinput.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dinput_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dlogic.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dlogic_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquick.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquick_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickinput.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickinput_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickrender.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3dquickrender_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3drender.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_3drender_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axbase.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axbase_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axcontainer.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axcontainer_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axserver.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_axserver_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bluetooth.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bluetooth_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_bootstrap_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_clucene_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_concurrent.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_concurrent_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_core.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_core_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_dbus.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_dbus_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designer.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designer_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_designercomponents_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_gui.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_gui_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_help.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_help_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_location.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_location_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimedia.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimedia_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimediawidgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_network.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_network_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_nfc.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_nfc_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_opengl.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_opengl_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_openglextensions.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_openglextensions_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_packetprotocol_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_platformsupport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_positioning.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_positioning_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_printsupport.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_printsupport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qml.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qml_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmldebug_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmldevtools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmltest.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qmltest_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quick.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quick_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickcontrols2.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickparticles_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickwidgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_quickwidgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sensors.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sensors_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_serialport.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_serialport_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sql.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_sql_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_svg.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_svg_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_testlib.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_testlib_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uiplugin.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uitools.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_uitools_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webchannel.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webchannel_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_websockets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_websockets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webview.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_webview_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_widgets.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_widgets_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_winextras.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_winextras_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xml.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xml_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xmlpatterns.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\modules\qt_lib_zlib_private.pri C:\Qt\5.7\msvc2013_64\mkspecs\features\qt_functions.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qt_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\qt_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf C:\Qt\5.7\msvc2013_64\mkspecs\features\spec_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\default_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\default_pre.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\resolve_config.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exclusive_builds_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\default_post.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\build_pass.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\rtti.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\precompile_header.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\warn_on.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\qt.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\resources.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\moc.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\opengl.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\uic.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\file_copies.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\win32\windows.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\testcase_targets.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\exceptions.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\yacc.prf C:\Qt\5.7\msvc2013_64\mkspecs\features\lex.prf Labrador_libusbK.pro resources.qrc C:\Qt\5.7\msvc2013_64\lib\qtmain.prl C:\Qt\5.7\msvc2013_64\lib\Qt5PrintSupport.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Widgets.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Gui.prl C:\Qt\5.7\msvc2013_64\lib\Qt5Core.prl NO_PCH_SOURCES RESOURCES HEADERS SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES clean: compiler_clean -$(DEL_FILE) release\main.obj release\mainwindow.obj release\qcustomplot.obj release\buffercontrol.obj release\esposlider.obj release\espospinbox.obj release\winusbdriver.obj release\espocombobox.obj release\functiongencontrol.obj release\isodriver.obj release\isobuffer.obj release\siprint.obj release\noclosemenu.obj release\cursorenabler.obj release\desktop_settings.obj release\deviceconnecteddisplay.obj release\timedtickbox.obj release\qrc_resources.obj release\moc_mainwindow.obj release\moc_qcustomplot.obj release\moc_buffercontrol.obj release\moc_esposlider.obj release\moc_espospinbox.obj release\moc_winusbdriver.obj release\moc_espocombobox.obj release\moc_functiongencontrol.obj release\moc_isodriver.obj release\moc_noclosemenu.obj release\moc_cursorenabler.obj release\moc_deviceconnecteddisplay.obj release\moc_timedtickbox.obj @@ -1639,6 +1639,10 @@ release\moc_winusbdriver.cpp: C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ C:\Qt\5.7\msvc2013_64\include\QtCore\qtimer.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qbasictimer.h \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -1762,6 +1766,10 @@ release\moc_espocombobox.cpp: C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qabstractitemmodel.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ espocombobox.h \ C:\Qt\5.7\msvc2013_64\bin\moc.exe C:\Qt\5.7\msvc2013_64\bin\moc.exe $(DEFINES) -D_MSC_VER=1800 -D_WIN32 -D_WIN64 -IC:/Qt/5.7/msvc2013_64/mkspecs/win32-msvc2013 -I"C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface" -I"C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface/libusbk/includes" -IC:/Qt/5.7/msvc2013_64/include -IC:/Qt/5.7/msvc2013_64/include/QtPrintSupport -IC:/Qt/5.7/msvc2013_64/include/QtWidgets -IC:/Qt/5.7/msvc2013_64/include/QtGui -IC:/Qt/5.7/msvc2013_64/include/QtANGLE -IC:/Qt/5.7/msvc2013_64/include/QtCore espocombobox.h -o release\moc_espocombobox.cpp @@ -1867,6 +1875,10 @@ release\moc_functiongencontrol.cpp: C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWid C:\Qt\5.7\msvc2013_64\include\QtWidgets\qlabel.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ functiongencontrol.h \ C:\Qt\5.7\msvc2013_64\bin\moc.exe @@ -2351,6 +2363,8 @@ release\moc_isodriver.cpp: C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ winusbdriver.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QTimer \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -3699,6 +3713,10 @@ ui_mainwindow.h: mainwindow.ui \ C:\Qt\5.7\msvc2013_64\include\QtCore\qtimer.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qbasictimer.h \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -3818,6 +3836,10 @@ ui_mainwindow.h: mainwindow.ui \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qabstractitemmodel.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qwidget.h \ C:\Qt\5.7\msvc2013_64\include\QtGui\qwindowdefs.h \ @@ -3919,6 +3941,10 @@ ui_mainwindow.h: mainwindow.ui \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qlabel.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qwidget.h \ @@ -4399,6 +4425,8 @@ ui_mainwindow.h: mainwindow.ui \ winusbdriver.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QTimer \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -5807,9 +5835,45 @@ release\mainwindow.obj: mainwindow.cpp mainwindow.h \ C:\Qt\5.7\msvc2013_64\include\QtPrintSupport\qtprintsupportversion.h \ C:\Qt\5.7\msvc2013_64\include\QtGui\QFont \ ui_mainwindow.h \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QApplication \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QButtonGroup \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QCheckBox \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QComboBox \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QDoubleSpinBox \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QFormLayout \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QGridLayout \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QGroupBox \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QHBoxLayout \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QHeaderView \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QLCDNumber \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QLabel \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QMenu \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QMenuBar \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QPushButton \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QSlider \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QSpacerItem \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\QVBoxLayout \ + buffercontrol.h \ + cursorenabler.h \ + deviceconnecteddisplay.h \ + espocombobox.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ + esposlider.h \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\Qslider \ + C:\Qt\5.7\msvc2013_64\include\QtWidgets\Qlabel \ + espospinbox.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QTextStream \ + functiongencontrol.h \ + isodriver.h \ + winusbdriver.h \ + libusbk\includes\libusbk.h \ + libusbk\includes\lusbk_shared.h \ + siprint.h \ + noclosemenu.h \ + timedtickbox.h \ C:\Qt\5.7\msvc2013_64\include\QtGui\QPalette \ - C:\Qt\5.7\msvc2013_64\include\QtGui\QBrush \ - C:\Qt\5.7\msvc2013_64\include\QtWidgets\QGridLayout + C:\Qt\5.7\msvc2013_64\include\QtGui\QBrush release\qcustomplot.obj: qcustomplot.cpp qcustomplot.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QObject \ @@ -6712,6 +6776,10 @@ release\winusbdriver.obj: winusbdriver.cpp winusbdriver.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qtimer.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qbasictimer.h \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ @@ -6832,7 +6900,11 @@ release\espocombobox.obj: espocombobox.cpp espocombobox.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qrubberband.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\qabstractitemmodel.h \ - C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug + C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile release\functiongencontrol.obj: functiongencontrol.cpp functiongencontrol.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\QWidget \ @@ -6936,6 +7008,10 @@ release\functiongencontrol.obj: functiongencontrol.cpp functiongencontrol.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qlabel.h \ C:\Qt\5.7\msvc2013_64\include\QtWidgets\qframe.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QDebug \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qdir.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\qfileinfo.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h release\isodriver.obj: isodriver.cpp isodriver.h \ @@ -7418,6 +7494,8 @@ release\isodriver.obj: isodriver.cpp isodriver.h \ winusbdriver.h \ C:\Qt\5.7\msvc2013_64\include\QtCore\QTimer \ functiongencontrol.h \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QDir \ + C:\Qt\5.7\msvc2013_64\include\QtCore\QFile \ xmega.h \ desktop_settings.h \ buffercontrol.h \ diff --git a/Desktop Interface/bin/Labrador_libusbk.exe b/Desktop Interface/bin/Labrador_libusbk.exe index 31935bcd..7cd3121b 100644 Binary files a/Desktop Interface/bin/Labrador_libusbk.exe and b/Desktop Interface/bin/Labrador_libusbk.exe differ diff --git a/Desktop Interface/bin/Labrador_libusbk.ilk b/Desktop Interface/bin/Labrador_libusbk.ilk deleted file mode 100644 index 570bd703..00000000 Binary files a/Desktop Interface/bin/Labrador_libusbk.ilk and /dev/null differ diff --git a/Desktop Interface/bin/PATCH.zip b/Desktop Interface/bin/PATCH.zip new file mode 100644 index 00000000..e2c157e8 Binary files /dev/null and b/Desktop Interface/bin/PATCH.zip differ diff --git a/Desktop Interface/bin/labrador_libusbk.pdb b/Desktop Interface/bin/labrador_libusbk.pdb deleted file mode 100644 index 63fdc0ce..00000000 Binary files a/Desktop Interface/bin/labrador_libusbk.pdb and /dev/null differ diff --git a/Desktop Interface/bin/patch.bat b/Desktop Interface/bin/patch.bat new file mode 100644 index 00000000..98d76973 --- /dev/null +++ b/Desktop Interface/bin/patch.bat @@ -0,0 +1,3 @@ +copy Labrador_libusbk.exe "C:\kfvcc" /B + +pause \ No newline at end of file diff --git a/Desktop Interface/bin/waveforms/Sawtooth.tlw b/Desktop Interface/bin/waveforms/Sawtooth.tlw index 9741efeb..e989a81b 100644 --- a/Desktop Interface/bin/waveforms/Sawtooth.tlw +++ b/Desktop Interface/bin/waveforms/Sawtooth.tlw @@ -1,3 +1,3 @@ -512 -5 -0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 128 128 129 129 130 130 131 131 132 132 133 133 134 134 135 135 136 136 137 137 138 138 139 139 140 140 141 141 142 142 143 143 144 144 145 145 146 146 147 147 148 148 149 149 150 150 151 151 152 152 153 153 154 154 155 155 156 156 157 157 158 158 159 159 160 160 161 161 162 162 163 163 164 164 165 165 166 166 167 167 168 168 169 169 170 170 171 171 172 172 173 173 174 174 175 175 176 176 177 177 178 178 179 179 180 180 181 181 182 182 183 183 184 184 185 185 186 186 187 187 188 188 189 189 190 190 191 191 192 192 193 193 194 194 195 195 196 196 197 197 198 198 199 199 200 200 201 201 202 202 203 203 204 204 205 205 206 206 207 207 208 208 209 209 210 210 211 211 212 212 213 213 214 214 215 215 216 216 217 217 218 218 219 219 220 220 221 221 222 222 223 223 224 224 225 225 226 226 227 227 228 228 229 229 230 230 231 231 232 232 233 233 234 234 235 235 236 236 237 237 238 238 239 239 240 240 241 241 242 242 243 243 244 244 245 245 246 246 247 247 248 248 249 249 250 250 251 251 252 252 253 253 254 254 255 255 +128 +3 +0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 243 245 247 249 251 253 255 diff --git a/Desktop Interface/bin/waveforms/Sin.tlw b/Desktop Interface/bin/waveforms/Sin.tlw index 611262ca..e376c353 100644 --- a/Desktop Interface/bin/waveforms/Sin.tlw +++ b/Desktop Interface/bin/waveforms/Sin.tlw @@ -1,3 +1,3 @@ -512 -6 -127 125 124 122 121 119 118 116 114 113 111 110 108 107 105 104 102 100 99 97 96 94 93 91 90 88 87 85 84 82 81 79 78 76 75 74 72 71 69 68 67 65 64 62 61 60 58 57 56 54 53 52 51 49 48 47 46 44 43 42 41 40 39 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 20 19 18 17 16 15 15 14 13 13 12 11 11 10 9 9 8 7 7 6 6 5 5 4 4 4 3 3 2 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 3 3 4 4 5 5 6 6 7 7 8 8 9 10 10 11 12 12 13 14 14 15 16 17 17 18 19 20 21 22 23 24 25 25 26 27 28 29 30 31 33 34 35 36 37 38 39 40 41 43 44 45 46 48 49 50 51 53 54 55 56 58 59 60 62 63 64 66 67 69 70 71 73 74 76 77 79 80 82 83 85 86 88 89 91 92 94 95 97 98 100 101 103 104 106 107 109 111 112 114 115 117 118 120 121 123 125 126 128 129 131 133 134 136 137 139 140 142 143 145 147 148 150 151 153 154 156 157 159 160 162 163 165 166 168 169 171 172 174 175 177 178 180 181 183 184 185 187 188 190 191 192 194 195 196 198 199 200 201 203 204 205 206 208 209 210 211 213 214 215 216 217 218 219 220 221 223 224 225 226 227 228 229 229 230 231 232 233 234 235 236 237 237 238 239 240 240 241 242 242 243 244 244 245 246 246 247 247 248 248 249 249 250 250 251 251 251 252 252 252 253 253 253 254 254 254 254 254 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 254 254 254 254 253 253 253 253 252 252 252 251 251 250 250 250 249 249 248 248 247 247 246 245 245 244 243 243 242 241 241 240 239 239 238 237 236 235 234 234 233 232 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 215 214 213 212 211 210 208 207 206 205 203 202 201 200 198 197 196 194 193 192 190 189 187 186 185 183 182 180 179 178 176 175 173 172 170 169 167 166 164 163 161 160 158 157 155 154 152 150 149 147 146 144 143 141 140 138 136 135 133 132 130 129 127 +128 +4 +128 134 140 146 153 159 165 171 177 182 188 194 199 204 209 214 218 223 227 230 234 237 240 243 246 248 250 251 253 254 255 255 255 255 254 253 252 251 249 247 245 242 239 236 232 229 225 220 216 211 206 201 196 191 185 180 174 168 162 156 149 143 137 131 124 118 112 106 99 93 87 81 75 70 64 59 54 49 44 39 35 30 26 23 19 16 13 10 8 6 4 3 2 1 0 0 0 0 1 2 4 5 7 9 12 15 18 21 25 28 32 37 41 46 51 56 61 67 73 78 84 90 96 102 109 115 121 127 \ No newline at end of file diff --git a/Desktop Interface/bin/waveforms/Triangle.tlw b/Desktop Interface/bin/waveforms/Triangle.tlw index 404b5ff8..420ac92c 100644 --- a/Desktop Interface/bin/waveforms/Triangle.tlw +++ b/Desktop Interface/bin/waveforms/Triangle.tlw @@ -1,3 +1,3 @@ -512 -6 -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 255 254 253 252 251 250 249 248 247 246 245 244 243 242 241 240 239 238 237 236 235 234 233 232 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 209 208 207 206 205 204 203 202 201 200 199 198 197 196 195 194 193 192 191 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 +128 +4 +0 4 8 12 16 20 24 28 32 36 40 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 113 117 121 125 130 134 138 142 146 150 154 158 162 166 170 174 178 182 186 190 194 198 202 206 210 215 219 223 227 231 235 239 243 247 251 255 255 251 247 243 239 235 231 227 223 219 215 210 206 202 198 194 190 186 182 178 174 170 166 162 158 154 150 146 142 138 134 130 125 121 117 113 109 105 101 97 93 89 85 81 77 73 69 65 61 57 53 49 45 40 36 32 28 24 20 16 12 8 4 0 diff --git a/Desktop Interface/debug/buffercontrol.obj b/Desktop Interface/debug/buffercontrol.obj deleted file mode 100644 index 5b10e64b..00000000 Binary files a/Desktop Interface/debug/buffercontrol.obj and /dev/null differ diff --git a/Desktop Interface/debug/cursorenabler.obj b/Desktop Interface/debug/cursorenabler.obj deleted file mode 100644 index 390aaedf..00000000 Binary files a/Desktop Interface/debug/cursorenabler.obj and /dev/null differ diff --git a/Desktop Interface/debug/desktop_settings.obj b/Desktop Interface/debug/desktop_settings.obj deleted file mode 100644 index 6840fae2..00000000 Binary files a/Desktop Interface/debug/desktop_settings.obj and /dev/null differ diff --git a/Desktop Interface/debug/deviceconnecteddisplay.obj b/Desktop Interface/debug/deviceconnecteddisplay.obj deleted file mode 100644 index 4bd9ea81..00000000 Binary files a/Desktop Interface/debug/deviceconnecteddisplay.obj and /dev/null differ diff --git a/Desktop Interface/debug/espocombobox.obj b/Desktop Interface/debug/espocombobox.obj deleted file mode 100644 index 28f8e484..00000000 Binary files a/Desktop Interface/debug/espocombobox.obj and /dev/null differ diff --git a/Desktop Interface/debug/esposlider.obj b/Desktop Interface/debug/esposlider.obj deleted file mode 100644 index 9d554e67..00000000 Binary files a/Desktop Interface/debug/esposlider.obj and /dev/null differ diff --git a/Desktop Interface/debug/espospinbox.obj b/Desktop Interface/debug/espospinbox.obj deleted file mode 100644 index 6463fa34..00000000 Binary files a/Desktop Interface/debug/espospinbox.obj and /dev/null differ diff --git a/Desktop Interface/debug/functiongencontrol.obj b/Desktop Interface/debug/functiongencontrol.obj deleted file mode 100644 index e4386fe4..00000000 Binary files a/Desktop Interface/debug/functiongencontrol.obj and /dev/null differ diff --git a/Desktop Interface/debug/isobuffer.obj b/Desktop Interface/debug/isobuffer.obj deleted file mode 100644 index 5fb348b8..00000000 Binary files a/Desktop Interface/debug/isobuffer.obj and /dev/null differ diff --git a/Desktop Interface/debug/isodriver.obj b/Desktop Interface/debug/isodriver.obj deleted file mode 100644 index ca9f7f62..00000000 Binary files a/Desktop Interface/debug/isodriver.obj and /dev/null differ diff --git a/Desktop Interface/debug/main.obj b/Desktop Interface/debug/main.obj deleted file mode 100644 index f3daef5e..00000000 Binary files a/Desktop Interface/debug/main.obj and /dev/null differ diff --git a/Desktop Interface/debug/mainwindow.obj b/Desktop Interface/debug/mainwindow.obj deleted file mode 100644 index d9bf1cb1..00000000 Binary files a/Desktop Interface/debug/mainwindow.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_buffercontrol.obj b/Desktop Interface/debug/moc_buffercontrol.obj deleted file mode 100644 index 6a31edaf..00000000 Binary files a/Desktop Interface/debug/moc_buffercontrol.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_cursorenabler.obj b/Desktop Interface/debug/moc_cursorenabler.obj deleted file mode 100644 index ee4d4605..00000000 Binary files a/Desktop Interface/debug/moc_cursorenabler.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_deviceconnecteddisplay.obj b/Desktop Interface/debug/moc_deviceconnecteddisplay.obj deleted file mode 100644 index b4647576..00000000 Binary files a/Desktop Interface/debug/moc_deviceconnecteddisplay.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_espocombobox.obj b/Desktop Interface/debug/moc_espocombobox.obj deleted file mode 100644 index ce45f7e5..00000000 Binary files a/Desktop Interface/debug/moc_espocombobox.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_esposlider.obj b/Desktop Interface/debug/moc_esposlider.obj deleted file mode 100644 index e5404374..00000000 Binary files a/Desktop Interface/debug/moc_esposlider.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_espospinbox.obj b/Desktop Interface/debug/moc_espospinbox.obj deleted file mode 100644 index 73962b7a..00000000 Binary files a/Desktop Interface/debug/moc_espospinbox.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_functiongencontrol.obj b/Desktop Interface/debug/moc_functiongencontrol.obj deleted file mode 100644 index 96c22765..00000000 Binary files a/Desktop Interface/debug/moc_functiongencontrol.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_isodriver.obj b/Desktop Interface/debug/moc_isodriver.obj deleted file mode 100644 index 2ed4ab58..00000000 Binary files a/Desktop Interface/debug/moc_isodriver.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_mainwindow.obj b/Desktop Interface/debug/moc_mainwindow.obj deleted file mode 100644 index 61db6304..00000000 Binary files a/Desktop Interface/debug/moc_mainwindow.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_noclosemenu.obj b/Desktop Interface/debug/moc_noclosemenu.obj deleted file mode 100644 index 3b08c8a0..00000000 Binary files a/Desktop Interface/debug/moc_noclosemenu.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_qcustomplot.obj b/Desktop Interface/debug/moc_qcustomplot.obj deleted file mode 100644 index eefdda4e..00000000 Binary files a/Desktop Interface/debug/moc_qcustomplot.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_timedtickbox.obj b/Desktop Interface/debug/moc_timedtickbox.obj deleted file mode 100644 index 0f7cd7b4..00000000 Binary files a/Desktop Interface/debug/moc_timedtickbox.obj and /dev/null differ diff --git a/Desktop Interface/debug/moc_winusbdriver.obj b/Desktop Interface/debug/moc_winusbdriver.obj deleted file mode 100644 index 323d404f..00000000 Binary files a/Desktop Interface/debug/moc_winusbdriver.obj and /dev/null differ diff --git a/Desktop Interface/debug/noclosemenu.obj b/Desktop Interface/debug/noclosemenu.obj deleted file mode 100644 index 143f0b55..00000000 Binary files a/Desktop Interface/debug/noclosemenu.obj and /dev/null differ diff --git a/Desktop Interface/debug/qcustomplot.obj b/Desktop Interface/debug/qcustomplot.obj deleted file mode 100644 index a5ae292b..00000000 Binary files a/Desktop Interface/debug/qcustomplot.obj and /dev/null differ diff --git a/Desktop Interface/debug/qrc_resources.obj b/Desktop Interface/debug/qrc_resources.obj deleted file mode 100644 index 1cea1818..00000000 Binary files a/Desktop Interface/debug/qrc_resources.obj and /dev/null differ diff --git a/Desktop Interface/debug/siprint.obj b/Desktop Interface/debug/siprint.obj deleted file mode 100644 index a967aef5..00000000 Binary files a/Desktop Interface/debug/siprint.obj and /dev/null differ diff --git a/Desktop Interface/debug/timedtickbox.obj b/Desktop Interface/debug/timedtickbox.obj deleted file mode 100644 index 2a89fd52..00000000 Binary files a/Desktop Interface/debug/timedtickbox.obj and /dev/null differ diff --git a/Desktop Interface/debug/winusbdriver.obj b/Desktop Interface/debug/winusbdriver.obj deleted file mode 100644 index 208ba143..00000000 Binary files a/Desktop Interface/debug/winusbdriver.obj and /dev/null differ diff --git a/Desktop Interface/mainwindow.ui b/Desktop Interface/mainwindow.ui index 41c5c959..6cbbdc3b 100644 --- a/Desktop Interface/mainwindow.ui +++ b/Desktop Interface/mainwindow.ui @@ -1078,6 +1078,16 @@ false + + + + true + + + Pause + + + @@ -2264,7 +2274,7 @@ 1124 - 606 + 583 @@ -2328,7 +2338,7 @@ 1124 - 606 + 583 @@ -2407,8 +2417,8 @@ 308 - 979 - 345 + 1002 + 332 @@ -2420,11 +2430,11 @@ 1002 - 355 + 332 1086 - 420 + 397 @@ -2616,7 +2626,7 @@ 1124 - 528 + 505 @@ -2632,7 +2642,7 @@ 1124 - 606 + 583 @@ -2644,7 +2654,7 @@ 1124 - 528 + 505 1065 @@ -2660,7 +2670,7 @@ 1124 - 606 + 583 1065 @@ -3012,11 +3022,11 @@ 1115 - 378 + 355 1002 - 355 + 332 @@ -3140,7 +3150,7 @@ 1125 - 449 + 426 960 @@ -3160,7 +3170,7 @@ 1125 - 449 + 426 @@ -3172,7 +3182,7 @@ 1125 - 449 + 426 659 @@ -3188,11 +3198,11 @@ 1002 - 355 + 332 1125 - 449 + 426 @@ -3208,7 +3218,7 @@ 1125 - 449 + 426 @@ -3224,7 +3234,7 @@ 1125 - 449 + 426 @@ -3236,7 +3246,7 @@ 1125 - 449 + 426 960 @@ -3252,7 +3262,7 @@ 1125 - 449 + 426 960 @@ -3272,7 +3282,7 @@ 1125 - 449 + 426 @@ -3284,7 +3294,7 @@ 1125 - 449 + 426 960 @@ -3396,7 +3406,7 @@ 1125 - 449 + 426 960 @@ -3476,7 +3486,7 @@ 1114 - 518 + 495 960 @@ -3492,7 +3502,7 @@ 1114 - 596 + 573 960 @@ -3508,7 +3518,7 @@ 1114 - 518 + 495 384 @@ -3524,7 +3534,7 @@ 1114 - 596 + 573 488 @@ -3556,7 +3566,7 @@ 1125 - 449 + 426 876 @@ -3588,7 +3598,7 @@ 1124 - 606 + 583 959 @@ -3700,7 +3710,7 @@ 1125 - 449 + 426 905 @@ -3847,8 +3857,8 @@ 707 - 1060 - 444 + 1125 + 426 @@ -3859,12 +3869,12 @@ resetTimer(bool) - 1036 - 372 + 1115 + 355 - 1018 - 371 + 1115 + 355 @@ -3875,12 +3885,12 @@ resetTimer() - 1054 - 370 + 1115 + 355 - 1013 - 371 + 1115 + 355 @@ -3895,8 +3905,40 @@ 113 - 1071 - 368 + 1115 + 355 + + + + + pause_LA + toggled(bool) + pausedLabeL_CH1 + setChecked(bool) + + + 998 + 594 + + + 722 + 87 + + + + + pausedLabeL_CH1 + toggled(bool) + pause_LA + setChecked(bool) + + + 762 + 80 + + + 1022 + 598 diff --git a/Desktop Interface/debug/Labrador_libusbk_resource.res b/Desktop Interface/release/Labrador_libusbk_resource.res similarity index 99% rename from Desktop Interface/debug/Labrador_libusbk_resource.res rename to Desktop Interface/release/Labrador_libusbk_resource.res index da406744..55c9709a 100644 Binary files a/Desktop Interface/debug/Labrador_libusbk_resource.res and b/Desktop Interface/release/Labrador_libusbk_resource.res differ diff --git a/Desktop Interface/release/buffercontrol.obj b/Desktop Interface/release/buffercontrol.obj new file mode 100644 index 00000000..ed665484 Binary files /dev/null and b/Desktop Interface/release/buffercontrol.obj differ diff --git a/Desktop Interface/release/cursorenabler.obj b/Desktop Interface/release/cursorenabler.obj new file mode 100644 index 00000000..71a3bd57 Binary files /dev/null and b/Desktop Interface/release/cursorenabler.obj differ diff --git a/Desktop Interface/release/desktop_settings.obj b/Desktop Interface/release/desktop_settings.obj new file mode 100644 index 00000000..f555dc4d Binary files /dev/null and b/Desktop Interface/release/desktop_settings.obj differ diff --git a/Desktop Interface/release/deviceconnecteddisplay.obj b/Desktop Interface/release/deviceconnecteddisplay.obj new file mode 100644 index 00000000..248a9f83 Binary files /dev/null and b/Desktop Interface/release/deviceconnecteddisplay.obj differ diff --git a/Desktop Interface/release/espocombobox.obj b/Desktop Interface/release/espocombobox.obj new file mode 100644 index 00000000..4388c623 Binary files /dev/null and b/Desktop Interface/release/espocombobox.obj differ diff --git a/Desktop Interface/release/esposlider.obj b/Desktop Interface/release/esposlider.obj new file mode 100644 index 00000000..545333f8 Binary files /dev/null and b/Desktop Interface/release/esposlider.obj differ diff --git a/Desktop Interface/release/espospinbox.obj b/Desktop Interface/release/espospinbox.obj new file mode 100644 index 00000000..cb319384 Binary files /dev/null and b/Desktop Interface/release/espospinbox.obj differ diff --git a/Desktop Interface/release/functiongencontrol.obj b/Desktop Interface/release/functiongencontrol.obj new file mode 100644 index 00000000..3421666b Binary files /dev/null and b/Desktop Interface/release/functiongencontrol.obj differ diff --git a/Desktop Interface/release/isobuffer.obj b/Desktop Interface/release/isobuffer.obj new file mode 100644 index 00000000..0950a77d Binary files /dev/null and b/Desktop Interface/release/isobuffer.obj differ diff --git a/Desktop Interface/release/isodriver.obj b/Desktop Interface/release/isodriver.obj new file mode 100644 index 00000000..38a28131 Binary files /dev/null and b/Desktop Interface/release/isodriver.obj differ diff --git a/Desktop Interface/release/main.obj b/Desktop Interface/release/main.obj new file mode 100644 index 00000000..d42af70d Binary files /dev/null and b/Desktop Interface/release/main.obj differ diff --git a/Desktop Interface/release/mainwindow.obj b/Desktop Interface/release/mainwindow.obj new file mode 100644 index 00000000..971087a6 Binary files /dev/null and b/Desktop Interface/release/mainwindow.obj differ diff --git a/Desktop Interface/debug/moc_buffercontrol.cpp b/Desktop Interface/release/moc_buffercontrol.cpp similarity index 100% rename from Desktop Interface/debug/moc_buffercontrol.cpp rename to Desktop Interface/release/moc_buffercontrol.cpp diff --git a/Desktop Interface/release/moc_buffercontrol.obj b/Desktop Interface/release/moc_buffercontrol.obj new file mode 100644 index 00000000..c7543e0a Binary files /dev/null and b/Desktop Interface/release/moc_buffercontrol.obj differ diff --git a/Desktop Interface/debug/moc_cursorenabler.cpp b/Desktop Interface/release/moc_cursorenabler.cpp similarity index 100% rename from Desktop Interface/debug/moc_cursorenabler.cpp rename to Desktop Interface/release/moc_cursorenabler.cpp diff --git a/Desktop Interface/release/moc_cursorenabler.obj b/Desktop Interface/release/moc_cursorenabler.obj new file mode 100644 index 00000000..fcbdff20 Binary files /dev/null and b/Desktop Interface/release/moc_cursorenabler.obj differ diff --git a/Desktop Interface/debug/moc_deviceconnecteddisplay.cpp b/Desktop Interface/release/moc_deviceconnecteddisplay.cpp similarity index 100% rename from Desktop Interface/debug/moc_deviceconnecteddisplay.cpp rename to Desktop Interface/release/moc_deviceconnecteddisplay.cpp diff --git a/Desktop Interface/release/moc_deviceconnecteddisplay.obj b/Desktop Interface/release/moc_deviceconnecteddisplay.obj new file mode 100644 index 00000000..5bf62ea6 Binary files /dev/null and b/Desktop Interface/release/moc_deviceconnecteddisplay.obj differ diff --git a/Desktop Interface/debug/moc_espocombobox.cpp b/Desktop Interface/release/moc_espocombobox.cpp similarity index 100% rename from Desktop Interface/debug/moc_espocombobox.cpp rename to Desktop Interface/release/moc_espocombobox.cpp diff --git a/Desktop Interface/release/moc_espocombobox.obj b/Desktop Interface/release/moc_espocombobox.obj new file mode 100644 index 00000000..3232a101 Binary files /dev/null and b/Desktop Interface/release/moc_espocombobox.obj differ diff --git a/Desktop Interface/debug/moc_esposlider.cpp b/Desktop Interface/release/moc_esposlider.cpp similarity index 100% rename from Desktop Interface/debug/moc_esposlider.cpp rename to Desktop Interface/release/moc_esposlider.cpp diff --git a/Desktop Interface/release/moc_esposlider.obj b/Desktop Interface/release/moc_esposlider.obj new file mode 100644 index 00000000..c93edbc0 Binary files /dev/null and b/Desktop Interface/release/moc_esposlider.obj differ diff --git a/Desktop Interface/debug/moc_espospinbox.cpp b/Desktop Interface/release/moc_espospinbox.cpp similarity index 100% rename from Desktop Interface/debug/moc_espospinbox.cpp rename to Desktop Interface/release/moc_espospinbox.cpp diff --git a/Desktop Interface/release/moc_espospinbox.obj b/Desktop Interface/release/moc_espospinbox.obj new file mode 100644 index 00000000..c592b03f Binary files /dev/null and b/Desktop Interface/release/moc_espospinbox.obj differ diff --git a/Desktop Interface/debug/moc_functiongencontrol.cpp b/Desktop Interface/release/moc_functiongencontrol.cpp similarity index 100% rename from Desktop Interface/debug/moc_functiongencontrol.cpp rename to Desktop Interface/release/moc_functiongencontrol.cpp diff --git a/Desktop Interface/release/moc_functiongencontrol.obj b/Desktop Interface/release/moc_functiongencontrol.obj new file mode 100644 index 00000000..5832200e Binary files /dev/null and b/Desktop Interface/release/moc_functiongencontrol.obj differ diff --git a/Desktop Interface/debug/moc_isodriver.cpp b/Desktop Interface/release/moc_isodriver.cpp similarity index 100% rename from Desktop Interface/debug/moc_isodriver.cpp rename to Desktop Interface/release/moc_isodriver.cpp diff --git a/Desktop Interface/release/moc_isodriver.obj b/Desktop Interface/release/moc_isodriver.obj new file mode 100644 index 00000000..955abe6a Binary files /dev/null and b/Desktop Interface/release/moc_isodriver.obj differ diff --git a/Desktop Interface/debug/moc_mainwindow.cpp b/Desktop Interface/release/moc_mainwindow.cpp similarity index 100% rename from Desktop Interface/debug/moc_mainwindow.cpp rename to Desktop Interface/release/moc_mainwindow.cpp diff --git a/Desktop Interface/release/moc_mainwindow.obj b/Desktop Interface/release/moc_mainwindow.obj new file mode 100644 index 00000000..9e346313 Binary files /dev/null and b/Desktop Interface/release/moc_mainwindow.obj differ diff --git a/Desktop Interface/debug/moc_noclosemenu.cpp b/Desktop Interface/release/moc_noclosemenu.cpp similarity index 100% rename from Desktop Interface/debug/moc_noclosemenu.cpp rename to Desktop Interface/release/moc_noclosemenu.cpp diff --git a/Desktop Interface/release/moc_noclosemenu.obj b/Desktop Interface/release/moc_noclosemenu.obj new file mode 100644 index 00000000..6c9244e6 Binary files /dev/null and b/Desktop Interface/release/moc_noclosemenu.obj differ diff --git a/Desktop Interface/debug/moc_qcustomplot.cpp b/Desktop Interface/release/moc_qcustomplot.cpp similarity index 100% rename from Desktop Interface/debug/moc_qcustomplot.cpp rename to Desktop Interface/release/moc_qcustomplot.cpp diff --git a/Desktop Interface/release/moc_qcustomplot.obj b/Desktop Interface/release/moc_qcustomplot.obj new file mode 100644 index 00000000..da007c00 Binary files /dev/null and b/Desktop Interface/release/moc_qcustomplot.obj differ diff --git a/Desktop Interface/debug/moc_timedtickbox.cpp b/Desktop Interface/release/moc_timedtickbox.cpp similarity index 100% rename from Desktop Interface/debug/moc_timedtickbox.cpp rename to Desktop Interface/release/moc_timedtickbox.cpp diff --git a/Desktop Interface/release/moc_timedtickbox.obj b/Desktop Interface/release/moc_timedtickbox.obj new file mode 100644 index 00000000..2b75caf6 Binary files /dev/null and b/Desktop Interface/release/moc_timedtickbox.obj differ diff --git a/Desktop Interface/debug/moc_winusbdriver.cpp b/Desktop Interface/release/moc_winusbdriver.cpp similarity index 100% rename from Desktop Interface/debug/moc_winusbdriver.cpp rename to Desktop Interface/release/moc_winusbdriver.cpp diff --git a/Desktop Interface/release/moc_winusbdriver.obj b/Desktop Interface/release/moc_winusbdriver.obj new file mode 100644 index 00000000..233de7c6 Binary files /dev/null and b/Desktop Interface/release/moc_winusbdriver.obj differ diff --git a/Desktop Interface/release/noclosemenu.obj b/Desktop Interface/release/noclosemenu.obj new file mode 100644 index 00000000..74f94387 Binary files /dev/null and b/Desktop Interface/release/noclosemenu.obj differ diff --git a/Desktop Interface/release/qcustomplot.obj b/Desktop Interface/release/qcustomplot.obj new file mode 100644 index 00000000..4af0586e Binary files /dev/null and b/Desktop Interface/release/qcustomplot.obj differ diff --git a/Desktop Interface/debug/qrc_resources.cpp b/Desktop Interface/release/qrc_resources.cpp similarity index 100% rename from Desktop Interface/debug/qrc_resources.cpp rename to Desktop Interface/release/qrc_resources.cpp diff --git a/Desktop Interface/release/qrc_resources.obj b/Desktop Interface/release/qrc_resources.obj new file mode 100644 index 00000000..06be1b28 Binary files /dev/null and b/Desktop Interface/release/qrc_resources.obj differ diff --git a/Desktop Interface/release/siprint.obj b/Desktop Interface/release/siprint.obj new file mode 100644 index 00000000..33d372ce Binary files /dev/null and b/Desktop Interface/release/siprint.obj differ diff --git a/Desktop Interface/release/timedtickbox.obj b/Desktop Interface/release/timedtickbox.obj new file mode 100644 index 00000000..b9c92273 Binary files /dev/null and b/Desktop Interface/release/timedtickbox.obj differ diff --git a/Desktop Interface/release/winusbdriver.obj b/Desktop Interface/release/winusbdriver.obj new file mode 100644 index 00000000..f9953f51 Binary files /dev/null and b/Desktop Interface/release/winusbdriver.obj differ diff --git a/Desktop Interface/ui_mainwindow.h b/Desktop Interface/ui_mainwindow.h index 99d73c19..deaba06c 100644 --- a/Desktop Interface/ui_mainwindow.h +++ b/Desktop Interface/ui_mainwindow.h @@ -219,6 +219,7 @@ public: QVBoxLayout *verticalLayout_3; QGroupBox *busSifferGroup_CH1; QVBoxLayout *verticalLayout_7; + QCheckBox *pause_LA; QGroupBox *serialDecodingCheck_CH1; QVBoxLayout *verticalLayout_6; QComboBox *serialDecodingModeSelect_CH1; @@ -1107,6 +1108,12 @@ public: verticalLayout_7->setSpacing(6); verticalLayout_7->setContentsMargins(11, 11, 11, 11); verticalLayout_7->setObjectName(QStringLiteral("verticalLayout_7")); + pause_LA = new QCheckBox(busSifferGroup_CH1); + pause_LA->setObjectName(QStringLiteral("pause_LA")); + pause_LA->setEnabled(true); + + verticalLayout_7->addWidget(pause_LA); + serialDecodingCheck_CH1 = new QGroupBox(busSifferGroup_CH1); serialDecodingCheck_CH1->setObjectName(QStringLiteral("serialDecodingCheck_CH1")); serialDecodingCheck_CH1->setFlat(true); @@ -1451,6 +1458,8 @@ public: QObject::connect(lockPsuCheckBox, SIGNAL(toggled(bool)), lockPsuCheckBox, SLOT(resetTimer(bool))); QObject::connect(lockPsuCheckBox, SIGNAL(toggled(bool)), lockPsuCheckBox, SLOT(resetTimer())); QObject::connect(psuSlider, SIGNAL(sliderMoved(int)), lockPsuCheckBox, SLOT(resetTimer())); + QObject::connect(pause_LA, SIGNAL(toggled(bool)), pausedLabeL_CH1, SLOT(setChecked(bool))); + QObject::connect(pausedLabeL_CH1, SIGNAL(toggled(bool)), pause_LA, SLOT(setChecked(bool))); QMetaObject::connectSlotsByName(MainWindow); } // setupUi @@ -1590,6 +1599,7 @@ public: lockPsuCheckBox->setText(QApplication::translate("MainWindow", "Lock PSU", 0)); controller_usb->setText(QApplication::translate("MainWindow", "SALUTON MI ESTAS USB DRIVER", 0)); busSifferGroup_CH1->setTitle(QApplication::translate("MainWindow", "Bus Sniffer CH1", 0)); + pause_LA->setText(QApplication::translate("MainWindow", "Pause", 0)); serialDecodingCheck_CH1->setTitle(QApplication::translate("MainWindow", "Serial Decoding", 0)); serialDecodingModeSelect_CH1->clear(); serialDecodingModeSelect_CH1->insertItems(0, QStringList()