From d46528726ec7de9364f7cda1b538519e1a89c2af Mon Sep 17 00:00:00 2001 From: EspoTek Date: Wed, 28 Dec 2016 10:17:46 +1100 Subject: [PATCH] i was playing around and just want to commit --- AVR Code/.vs/USB_BULK_TEST/v14/.atsuo | Bin 211456 -> 206336 bytes .../USB_BULK_TEST/Debug/USB_BULK_TEST.elf | Bin 364580 -> 366356 bytes .../USB_BULK_TEST/Debug/USB_BULK_TEST.hex | 1424 ++- .../USB_BULK_TEST/Debug/USB_BULK_TEST.lss | 10235 ++++++++-------- .../USB_BULK_TEST/Debug/USB_BULK_TEST.map | 870 +- .../USB_BULK_TEST/Debug/USB_BULK_TEST.srec | 1424 ++- .../src/ASF/common/services/usb/udc/udc.o | Bin 322496 -> 322496 bytes AVR Code/USB_BULK_TEST/Debug/src/main.o | Bin 294372 -> 295964 bytes AVR Code/USB_BULK_TEST/Debug/src/tiny_dma.d | 11 +- AVR Code/USB_BULK_TEST/Debug/src/tiny_dma.o | Bin 315220 -> 315916 bytes AVR Code/USB_BULK_TEST/Debug/src/tiny_timer.o | Bin 298392 -> 298448 bytes AVR Code/USB_BULK_TEST/Debug/src/tiny_uart.o | Bin 283380 -> 283356 bytes .../USB_BULK_TEST/Release/USB_BULK_TEST.elf | Bin 22900 -> 23092 bytes .../USB_BULK_TEST/Release/USB_BULK_TEST.hex | 1246 +- .../USB_BULK_TEST/Release/USB_BULK_TEST.lss | 8460 +++++++------ .../USB_BULK_TEST/Release/USB_BULK_TEST.map | 702 +- .../USB_BULK_TEST/Release/USB_BULK_TEST.srec | 1246 +- .../src/ASF/common/services/usb/udc/udc.o | Bin 12684 -> 12684 bytes AVR Code/USB_BULK_TEST/Release/src/main.o | Bin 5804 -> 6528 bytes AVR Code/USB_BULK_TEST/Release/src/tiny_dma.d | 11 +- AVR Code/USB_BULK_TEST/Release/src/tiny_dma.o | Bin 8388 -> 7948 bytes .../USB_BULK_TEST/Release/src/tiny_timer.o | Bin 1544 -> 1552 bytes AVR Code/USB_BULK_TEST/src/globals.h | 12 + AVR Code/USB_BULK_TEST/src/main.c | 34 +- AVR Code/USB_BULK_TEST/src/tiny_dma.c | 73 +- AVR Code/USB_BULK_TEST/src/tiny_timer.c | 6 +- Desktop Interface/Labrador.pro.user | 4 +- Desktop Interface/bin/Labrador.exe | Bin 698880 -> 698880 bytes 28 files changed, 12634 insertions(+), 13124 deletions(-) diff --git a/AVR Code/.vs/USB_BULK_TEST/v14/.atsuo b/AVR Code/.vs/USB_BULK_TEST/v14/.atsuo index 83dc9145d4ddc39fbcbd0956a4c5f4d0e383fcfb..84ead07325ebd3e55ab1117c48cb2dec1545f68d 100644 GIT binary patch delta 6724 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℘T%My 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 delta 59206 zcmd442b>f|*FIX+Jv}`&Gn;ds4ZyObWm%9UEI9`iK|v8v5O@&<6CyH8lnhHRK~Mof zL~;@kP!|wXRFWtemL-ZPpopL-_c_%y1HP}{z2En{-@U&-+SB!%bL!No*mbI^dy7}b zE}9=Z&8KymT$GXFZ(fBlx(vpchKu7m4$ORolD-x}x}3NixQIWcDrn%-MgQh_?(*}u zG1eYeTU@PiwZzpNSL`m(K4a`dTsLvm2d(ZlX0qA{)Y?|GIVaLvTven3CF4rO6~C?M z#?i>L5MENk*kW9ZaJ^GvmGPN=Z}HJ+Z*g(VA%27(<0tqjewLr+XLuuLU*}Zk2ImQ9 zJJVrSG&g!a^xX8+_BQf1_s;ds_nz}y^!(uY$#d27v*)_!h9}Eg!JFf);?4EudGo!s zybpRG_xAO^>>cVI<{j&u=8X?e3QrAB56=p(5S|krk(KuG-YZ{!aw@m%dH!1S^ly#!d5agsuCyxXnf})29w_a9 z<+;+akG|2)Tb%87%_t~Z=d1ctUTNcbCA`VJX(16=ZO_{>lOCN7nf!m0X@9|%8QFCf zWC|ejdTF8c4jWRu=+KT+p~d%k&hHcZdz2QIzPqnz-=xwp`&NDToz+Yb3V%Y z)2L{=W`s{?z8|dW&UCH+d8?DNF>h_na(1asr80VI0TR4h8bq5hHFiqj_`<%06J0Z0 zGxl1iEHZ-mUa->4XGp~qvw^nzytT*l@e$S)GoAloMYz(T^>J?%USjohMQJ(bt(RPt zAN8HioLJ#P_0p_~H78D+x@~IYl>X;mDtl_`i%4SH_-TEoP3*XE#KOi4N1h(FFl%AW zg`>|DzPIhY$i*XmnpHOXy&3PtE-qXELlzDx-dkiFv!k>Gri``jxVrGARu|EP40=;E z&?cO>j*Db2tXtw~O1_u7KC$MzvtZ;-cN({>b8a%y^fV%VYfp~W=7d$>>yw5z(ON@+ zr)d%u@#v|4F9WJ==DTRs^V+#o!r9htZ!#r((VOhAW;L`rSW~Te)+*~0>xy+pmYU8> zifkM&9$Q*^t@QN^MWv%B&X`EG@b`B4U)PRZH}^J_ z4}9nRCI6f1KK>tT^G9UaZRek?oAp0d_kXADxqs5;zo$$8&x)>wRU$)X5oy51x4%stxZjRV0OFF?-BiOk0;uU_v~&q4V=K>v))(!-?g>=f2EGH z^tbFhbGOS-cBuW1E*&*Wc8O&(mi-szuli5(r&;&&!uK&wEc<%~{v*X_|DNJFS%8#Y zq1BX6vzqaLPP5QzD>;8Jv}sm5UV8RgY2gT@JnA1)wu-{ytenuq)Nz+bjEWdrT6(iI zzchDLW@-AU=#gW7EGiwlaMr@uk=BsVtnd+~V@GBGP_MN7!uuA6FOFDjEe-9ZXVj}_ zg@r8&d#Z5M)GMP$jXO7TVqw|X*R7Ak%8OB@BS0v$x>!GiwTs&I?SRwIm5wa^{M!km zo{^y)R-5owc%ij3e6Bz5+a6~NOF!Q0no(G^5l@xI`)~76BMPmJz7Y|6iMRMNrzefg z9g!=pi_aWq_C(**0iFYS>r1`devL( z)xalB_g>bqh$wAJlyx;CHgQT+T2UAV^DryTn#(8f<-AAfsEeV+VEZBmxE{-z`m(op zYot{id0Z=swgyKv=j*HwqnhwL)}K)yJbdZg^|HvZQDdXW#*B>}8#lIa#JJ4**L|=d z7dB*864(3hAp68s*S1pFOhfN&UfT7VxR`ql1Mu~dGBx}%_UI0(k?@hbEq_dmG2z_w zvYS?VOwZ{lCqZ}F zJ-UC`PP#ARcbR?;zv+&$?av%8-ClP1@T*HM`ohm&Dc6+s0*juNvC|wVEDN-4NHm+ctHOxVo@pT2VL4h%0A2hF15u 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 bb-M2?RDay&cgpdu@tsX*2Kx(k0LS@nikHSs 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 6e959d8c..0414367c 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.hex +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.hex @@ -1,738 +1,688 @@ -:1000000034C100004EC100004CC100004AC10000D4 -:1000100048C1000046C1000016C600004CC70000E1 -:10002000B9C70000F8C700003CC100003AC1000099 -:1000300038C1000036C1000034C1000032C10000E8 -:1000400030C100002EC100002CC100002AC10000F8 -:1000500028C1000026C1000024C1000022C1000008 -:100060000C942E091EC100001CC100001AC1000022 -:1000700018C1000016C1000014C1000012C1000028 -:1000800010C100000EC100000CC100000AC1000038 -:1000900008C1000006C1000004C1000002C1000048 -:1000A00000C10000FEC00000FCC00000FAC000005B -:1000B000F8C00000F6C00000F4C00000F2C000006C -:1000C000F0C00000EEC00000ECC00000EAC000007C -:1000D000E8C00000E6C00000E4C00000E2C000008C -:1000E000E0C00000DEC00000DCC00000DAC000009C -:1000F000D8C00000D6C00000D4C00000D2C00000AC -:10010000D0C00000CEC00000CCC00000CAC00000BB -:10011000C8C00000C6C00000C4C00000C2C00000CB -:10012000C0C00000BEC00000BCC00000BAC00000DB -:10013000B8C00000B6C00000B4C00000B2C00000EB -:10014000B0C00000AEC00000ACC00000E4C70000BA -:10015000A8C00000A6C00000A4C00000A2C000000B -:10016000A0C000009EC000009CC000009AC000001B -:1001700098C0000096C0000094C0000092C000002B -:1001800090C000008EC000008CC000008AC000003B -:1001900088C0000086C0000084C0000082C000004B -:1001A00080C000007EC000007CC000007AC000005B -:1001B00078C0000076C0000074C0000072C000006B -:1001C00070C000006EC000006CC000006AC000007B -:1001D00068C0000066C0000064C0000062C000008B -:1001E00060C000005EC000005CC000005AC000009B -:1001F00058C000000C94DA140C949415D701D9015E -:10020000DB01DD01DF01E401E101E30141066806F4 -:100210008F06B606DD064D0704072907B70BB90B95 -:10022000F80B380C410C460C9B0CA00CE50BE80BB2 -:10023000EB0BEE0BF00BF20BF40BF60B240C270C74 -:100240002A0C2D0C300C320C340C360C520C5D0C7C -:10025000680C770C7A0C7C0C860C900C18101B1018 -:100260001E102110241027102A1011241FBECFEFBA -:10027000CDBFDFE2DEBF10E2A0E0B0E2E6E4FDE2E7 -:1002800002C005900D92A23BB107D9F72CE2A2EB78 -:10029000B0E201C01D92AC34B207E1F741D00C943A -:1002A000A116AECEE0E8F6E08FE0808385E084839F -:1002B000089508954091B3202EEE32E0429FC00190 -:1002C000439F900D11244AE551E06AEF70E0865992 -:1002D000994D0C94280A08954091B3202EEE32E0F7 -:1002E000429FC001439F900D11244CE651E06AEFFC -:1002F00070E08C59984D0C94340A08954091B320C5 -:100300002EEE32E0429FC001439F900D11244EE734 -:1003100051E06AEF70E0825A974D0C94400A0895BC -:1003200087E08093A2007894A4D7C3DF0E94370BA4 -:10033000E6D009D160E080E0A5D091D08CE085D0F6 -:10034000AFD663D77CD7AEDF8091562290915722EB -:10035000A0915822B09159220196A11DB11D813062 -:1003600021EE920725EFA20725E0B20718F080E002 -:1003700090E0DC0100000000000000000000000030 -:10038000000000000000000000000000000000006D -:10039000E3CF08950895E09100208E2F90E08830FB -:1003A000910590F4FC01E250FF4F0C94921659D144 -:1003B0000BC0D0D109C044D207C0BFD205C034D3CE -:1003C00003C0DDD301C03ED49091B52081E09111EE -:1003D00080E08093B320089581E08093B6204AE5C1 -:1003E00051E06EEE72E08AE696E20E94280A4CE640 -:1003F00051E06EEE72E084E697E20E94340A4EE726 -:1004000051E06EEE72E08EE598E20E94400A81E0D3 -:1004100008951092B620089581E0089581E008952E -:10042000E0E0F2E010A2982F9C71936890A38823DB -:100430001CF490E182E002C090E080E0892BE0E0D3 -:10044000F2E081A312A216A20895E0E0F2E010AA61 -:10045000836880AB80E181AB12AA16AA0895E0E020 -:10046000F2E010A683E880A78FE281A712A616A665 -:100470000895AAECB1E092E09C93E82FF0E084911B -:100480001C920895CF93DF93E0E7F0E091819D7F88 -:10049000918310920002623031F1E0E0F2E09CE1E1 -:1004A000918390E49283811102C080E401C080ECCA -:1004B00080930302613011F083E001C082E0C0E06C -:1004C000D2E08C8380E2D5DF8C8781E2D2DF8D871A -:1004D000188E198E81E08883C2DF0EC080EC809375 -:1004E000030283E0ECCFE0E0F2E09EE1918390E450 -:1004F00092838111F3CFD9CFDF91CF910895CF931C -:10050000DF93E0E7F0E082818B7F8283C0E2D3E07B -:100510008DE0888380E4898389E08A8383E3A9DF8F -:10052000888782E3A6DF898787E3A3DF8A8786E35C -:10053000A0DF8B87E0E2F6E0808183608083148215 -:10054000DF91CF910895E0E7F0E080818E7F808396 -:1005500083E8809300010895E0E0F1E0108A80E4F0 -:10056000808B10A280A310AA80ABE0E4F1E010829F -:1005700080831092B5201092B4200895109200202C -:10058000EBDFE0E0F1E016AA94E290AB11AA49E5B6 -:1005900042AB32E033AB609102207091032064AB38 -:1005A00075AB6AE674E260AF71AF12AE8BE384AFF5 -:1005B00083E080933D0110923E0120A9206820AB8A -:1005C00010924601A0E4B1E09C9310924101409347 -:1005D00042018093430140910420509105204093B3 -:1005E0004401509345014AE552E24093480150933B -:1005F000490110924A0129E320934C0180934D0157 -:1006000010924E012C9120682C93108A20E4208BAC -:1006100024E0208B818B81E9828B80E1838B47E70B -:1006200051E0448B558B908F318F128E4091B520C5 -:100630002EEE32E0429FC001439F900D1124865957 -:10064000994D848F4091B520429FC001439F900DEA -:1006500011248659994D958F168E80898068808BDC -:1006600008950895CF93DF9381E08093002074DF95 -:10067000E0E0F1E010AA80E480AB94E090AB11AA36 -:1006800012AA5BE453AB14AA15AA16AA21E030E221 -:1006900020AF31AF12AE40EA44AF38E030933D01B5 -:1006A00010923E0180A9806A80AB85E58093A00806 -:1006B00010924601A0E4B1E0D4E2DC931092410133 -:1006C00089E580934201C2E0C0934301609102201A -:1006D0007091032060934401709345016AE674E2CF -:1006E000609348017093490110924A018BE3809313 -:1006F0004C0183E080934D0110924E012C912068B3 -:100700002C93908B818BA1E9A28B20E1238B67E74F -:1007100071E0648B758BD08FC18F128ECAE6D6E2E2 -:10072000C48FD58F168E20892068208B90A381A33B -:10073000A2A353A364A375A340A731A712A681EE79 -:1007400097E284A795A716A680A1806880A3DF9171 -:10075000CF9108950895CF93F894C2E0C0930020FC -:10076000FBDEE0E0F1E016AA94E290AB11AA39E5D5 -:1007700032AB83E083AB409104205091052044AB21 -:1007800055AB4AE552E240AF51AF12AE29E324AF78 -:1007900080933D0110923E0120A9206820AB109269 -:1007A0004601A0E4B1E09C931092410130934201D4 -:1007B000C0934301209102203091032020934401F3 -:1007C000309345012AE634E22093480130934901F1 -:1007D00010924A012BE320934C0180934D0110921B -:1007E0004E012C9120682C9354E0508B818B41E971 -:1007F000428B20E1238B27E731E0248B358B908FD0 -:10080000C18F128E6AE676E2648F758F168E90899C -:100810009068908B50A381A342A382E183A324A379 -:1008200035A384E380A7C1A712A681EE97E284A72F -:1008300095A716A680A1806880A37894CF9108958B -:100840000895CF93C3E0C093002086DEE0E0F1E09E -:1008500010A250E450A344E040A311A212A23BE432 -:1008600033A314A215A216A281E090E280A791A75B -:1008700012A620EA24A798E095A716A680A1806A70 -:1008800080A385E58093A00816AA74E270AB11AA34 -:1008900069E562ABC3ABA0910420B0910520A4AB85 -:1008A000B5ABAAE5B2E2A0AFB1AF12AE89E384AFB7 -:1008B000C0933D0110923E0180A9806880AB1092E8 -:1008C0004601A0E4B1E07C931092410160934201A3 -:1008D00082E0809343016091022070910320609335 -:1008E0004401709345016AE674E260934801709395 -:1008F000490110924A018BE380934C01C0934D0152 -:1009000010924E018C9180688C93108A508B408B92 -:10091000C18B81E9828B338B47E751E0448B558B48 -:10092000208F918F128E8AE696E2848F958F168E95 -:1009300080898068808BCF9108950895CF93C4E01B -:10094000C093002009DEE0E0F1E010A280E480A383 -:10095000C0A311A212A24BE443A314A215A216A293 -:1009600081E090E280A791A712A660EA64A788E0E0 -:1009700085A716A690A1906A90A395E59093A008EC -:1009800010924601A0E4B1E094E29C9310924101E0 -:1009900099E59093420192E09093430120910220C7 -:1009A0003091032020934401309345012AE634E23C -:1009B000209348013093490110924A019BE39093A0 -:1009C0004C0193E090934D0110924E012C912068C0 -:1009D0002C93C08B918B31E9328B438B47E751E0ED -:1009E000448B558B608F818F128E6AE676E2648F1E -:1009F000758F168E20892068208BC0AB91AB32ABEF -:100A00009AE493AB44AB55AB93EC90AF81AF12AE8D -:100A100081EE97E284AF90933D0110923E0180A950 -:100A2000806880ABCF910895089585E08093002081 -:100A300093DDE0E0F1E016AA34E230AB11AA29E53B -:100A400022AB83E083AB409104205091052044AB5E -:100A500055AB4AE552E240AF51AF12AE99E394AFC5 -:100A600080933D0110923E0190A9906890AB109246 -:100A70004601E0E4F1E0308310924101209342010D -:100A8000809343012091042030910520209344015C -:100A9000309345012AE634E220934801309349011E -:100AA00010924A019BE390934C0180934D01109268 -:100AB0004E01808180688083089586E080930020C5 -:100AC0004BDDE0E0F1E016AA94E290AB11AA39E523 -:100AD00032AB83E083AB409104205091052044ABBE -:100AE00055AB4AE552E240AF51AF12AE29E324AF15 -:100AF00080933D0110923E0120A9206820AB109206 -:100B00004601A0E4B1E09C93109241013093420170 -:100B100032E03093430140910220509103204093F2 -:100B20004401509345014AE654E2409348015093F2 -:100B3000490110924A012BE320934C0180934D010F -:100B400010924E012C9120682C93108A20E4208B67 -:100B500024E0208B818B81E9828B80E1838B4EEEB8 -:100B600052E0448B558B908F318F128E8AE696E23D -:100B7000848F958F168E80898068808B0895089564 -:100B800087E080930020E8DCE0E0F1E016AA94E240 -:100B900090AB11AA39E532AB83E083AB40910420DE -:100BA0005091052044AB55AB4AE552E240AF51AFFE -:100BB00012AE29E324AF80933D0110923E0120A99B -:100BC000206820AB10924601A0E4B1E09C93109203 -:100BD00041013093420132E03093430140910220C1 -:100BE0005091032040934401509345014AE654E25A -:100BF000409348015093490110924A012BE32093FE -:100C00004C0180934D0110924E012C9120682C9341 -:100C1000108A20E4208B25E0208B818B81E9828B58 -:100C200080E1838B4EEE52E0448B558B908F318F59 -:100C3000128E8AE696E2848F958F168E8089806860 -:100C4000808B089508951F920F920FB60F92112472 -:100C50002F933F934F938F939F93AF93BF93EF93B4 -:100C6000FF9381E080930301E09100208E2F90E0BC -:100C70008830910508F011C1FC01EA5FFE4F0C9429 -:100C80009216E0E0F1E087E791E0848B958B40914C -:100C9000B5202EEE32E0429FC001439F900D1124FB -:100CA0008659994D848F4091B520429FC001439F42 -:100CB000900D11248659994D958F80898068808B7D -:100CC0009091B52081E0911180E08093B520E5C03E -:100CD000E0E0F1E087E791E0848B958B4091B520CF -:100CE0002EEE32E0429FC001439F900D11248659A1 -:100CF000994D848F4091B520429FC001439F900D34 -:100D000011248659994D958F80898068808B9091A8 -:100D1000B52081E0911180E08093B520BEC0E0E075 -:100D2000F1E087E791E0848B958B4091B5202EEE22 -:100D300032E0429FC001439F900D11248659994D86 -:100D4000848F4091B520429FC001439F900D112494 -:100D50008659994D958F80898068808B9091B520B8 -:100D600081E0911180E08093B52097C0E0E0F1E050 -:100D700087E791E0848B958B4091B5202EEE32E091 -:100D8000429FC001439F900D11248659994D848F35 -:100D90004091B520429FC001439F900D1124865978 -:100DA000994D958F80898068808B9091B52081E0E6 -:100DB000911180E08093B52070C0E0E0F1E087E71A -:100DC00091E0848B958B4091B5202EEE32E0429FCE -:100DD000C001439F900D11248659994D848F4091F5 -:100DE000B520429FC001439F900D11248659994D13 -:100DF000958F80898068808B9091B52081E09111DA -:100E000080E08093B52049C0E0E0F1E02EEE32E0D2 -:100E1000248B358B4091B520429FC001439F900D9C -:100E200011248659994D848F4091B520429FC0016D -:100E3000439F900D11248659994D958F8089806824 -:100E4000808B9091B52081E0911180E08093B52056 -:100E500024C0E0E0F1E02EEE32E0248B358B4091AF -:100E6000B520429FC001439F900D11248659994D92 -:100E7000848F4091B520429FC001439F900D112463 -:100E80008659994D958F80898068808B9091B52087 -:100E900081E0911180E08093B520FF91EF91BF91A7 -:100EA000AF919F918F914F913F912F910F900FBED6 -:100EB0000F901F9018951F920F920FB60F9211244A -:100EC0002F933F934F938F939F93EF93FF9382E0E2 -:100ED0008093030180910020813019F0823041F12C -:100EE0004DC0E0E0F1E087E791E084A395A3409155 -:100EF000B4202EEE32E0429FC001439F900D11249A -:100F00008F51984D84A74091B420429FC001439FC8 -:100F1000900D11248F51984D95A780A1806880A3D2 -:100F20009091B42081E0911180E08093B42026C09C -:100F3000E0E0F1E087E791E084A395A34091B4203D -:100F40002EEE32E0429FC001439F900D11248F513D -:100F5000984D84A74091B420429FC001439F900DBB -:100F600011248F51984D95A780A1806880A39091FE -:100F7000B42081E0911180E08093B420FF91EF9143 -:100F80009F918F914F913F912F910F900FBE0F9096 -:100F90001F9018951F920F920FB60F9211242F9346 -:100FA0003F934F938F939F93EF93FF93E0E0F1E094 -:100FB00084E0838387E791E084AB95AB4091B420D4 -:100FC0002EEE32E0429FC001439F900D11248F51BD -:100FD000984D84AF4091B420429FC001439F900D33 -:100FE00011248F51984D90933D0180A9806880AB6A -:100FF0009091B42081E0911180E08093B420FF9122 -:10100000EF919F918F914F913F912F910F900FBE34 -:101010000F901F9018951F920F920FB60F921124E8 -:101020002F933F934F938F939F93EF93FF9388E07A -:101030008093030187E791E08093440190934501F9 -:101040004091B4202EEE32E0429FC001439F900DAC -:1010500011248F51984D80934C014091B420429FB0 -:10106000C001439F900D11248F51984D90934D01D5 -:10107000E0E4F1E08081806880839091B42081E099 -:10108000911180E08093B420FF91EF919F918F9117 -:101090004F913F912F910F900FBE0F901F90189579 -:1010A000E0E7F0E083818C7F838384818C7F84837D -:1010B00080818D7F8083E0E8F1E080EC828312867E -:1010C00088EC81831186E0E0F8E034E0308323E0AF -:1010D0002183148285ED91E086A397A31682E0E434 -:1010E000F8E030832183148286A397A31682E0E67A -:1010F000F6E0808180618083E0E4F9E083E1818330 -:10110000148281E0868328EB3BE026A337A310A658 -:1011100011A6808308951F920F920FB60F9211248B -:101120002F933F934F935F938F939F93EF93FF93EF -:10113000CF93DF931F92CDB7DEB78FEF80934C092B -:1011400080910020873031F4E0E0F2E084A58983CB -:1011500095A502C090912C028091B220891B20910C -:1011600068093091690991E082300CF490E099238C -:10117000C9F091E0223B3B4008F090E0992391F0C8 -:10118000209168093091690989301CF481E090E070 -:1011900002C086E090E0820F931F809378099093BD -:1011A000790923C0209168093091690991E08F3F46 -:1011B0000CF090E09923C9F091E02730310508F454 -:1011C00090E0992391F02091680930916909883F56 -:1011D0001CF081E090E002C086E090E0A901481B8D -:1011E000590B40937809509379090F90DF91CF9173 -:1011F000FF91EF919F918F915F914F913F912F912F -:101200000F900FBE0F901F901895E0E7F0E08381DC -:101210008F7E8383E0E4F6E080818A6480838FEFB1 -:10122000848388E5828B80E28687E0EAF8E084ECBC -:10123000858383E08683178288E184830895E0E7CD -:10124000F0E08381877F8383E0ECF8E080E48083B3 -:1012500083E0818388E58093570608951F920F925B -:101260000FB60F92112400000F900FBE0F901F9029 -:1012700018950F931F93CF93DF9300D000D0CDB775 -:10128000DEB78FEF809370008093710080937200BF -:101290008093730080937400809375008093760030 -:1012A00064E081E490E0C6D56CE170E082E0C8D5EE -:1012B0008A836DE170E082E0C3D5898389819A8158 -:1012C000019621F480E493E289839A8389819A814B -:1012D0008B839C83E0E6F0E082838C8183839FB7DD -:1012E000F894E0E5F0E08081826080839FBF818197 -:1012F00081FFFDCF9FB7F89400E510E0D801169666 -:101300008C911697897F16968C931697E0E6F0E0FD -:1013100080E885838BEB868316968C911697846084 -:1013200016968C938081816080839FBF61E080E40A -:1013300090E080D59FB7F894F80180818E7F8083FC -:101340009FBF2496CDBFDEBFDF91CF911F910F913C -:1013500008959FB7F894E82FF0E0E059FF4F6095AB -:101360008081682360839FBF0895863011F060E01C -:1013700001C068E18091510081FD26C09FB7F894BB -:10138000E0E5F0E08081826080839FBF818181FF02 -:10139000FDCF9FB7F894A0E5B0E016968C91169714 -:1013A000897F16968C931697E0E6F0E080E88583B7 -:1013B0008BEB868316968C911697846016968C9389 -:1013C0008081816080839FBF636084E490E032D538 -:1013D00060E480E0BECF08958091B720089542D1A7 -:1013E000FC0183818093B720811103C00C94EC0130 -:1013F000089581E008958091B720813009F409C8EB -:10140000089580915A2488234CF480768034B1F476 -:1014100080915B24811114C001C8089580768034C6 -:1014200089F480915B2481110FC080916024909198 -:101430006124892B59F00C940C02089580E00895E2 -:1014400080E0089580E0089580E0089580E00895A8 -:101450000F931F939B018A01AC0160E081E80E9419 -:101460008E131F910F9108950F931F939B018A0173 -:10147000AC0160E082E80E948E131F910F910895E5 -:101480000F931F939B018A01AC0160E083E80E94E7 -:101490008E131F910F910895E091BC20F091BD2013 -:1014A0000190F081E02D228133812E0F3F1FFC013E -:1014B0004081E40FF11DE217F307B8F48181843015 -:1014C000B9F0861309C005C081818430A1F086136C -:1014D00003C08E2F9F2F08958081E80FF11DE21722 -:1014E000F30790F380E090E0089580E090E00895A5 -:1014F00080E090E0089580E090E0089580915C2481 -:101500008F770C94BC1208959091BE20992381F19D -:10151000E091BC20F091BD200190F081E02D9481FC -:10152000891740F5E093BA20F093BB2022813381E4 -:101530002E0F3F1FE217F307F8F49181943061F406 -:101540009281981309C09381961306C0E093BA2044 -:10155000F093BB2081E008959081E90FF11DE2171F -:10156000F30758F3E093BA20F093BB2080E008958E -:1015700080E0089580E0089580E00895EF92FF9262 -:101580001F93CF93DF93C82F60E0BEDF182F88230F -:1015900081F1A091BC20B091BD20EC2FF0E0EE0FC6 -:1015A000FF1F12968D919C911397E80FF91FE08011 -:1015B000F180D7011696ED91FC9117970995682F48 -:1015C0008C2FA2DF182F8823A1F0C091BA20D091D0 -:1015D000BB2065E0CE0160DFEC01892B21F08A8120 -:1015E0000E949114F6CFD7011296ED91FC911397BA -:1015F0000995812FDF91CF911F91FF90EF90089572 -:101600001F93CF93DF93182F7FDF882339F1C09189 -:10161000BA20D091BB2065E0CE013EDFEC01892BE2 -:1016200041F04C815D816B818A81B3D78111F3CF09 -:1016300015C0A091BC20B091BD20E12FF0E0EE0FCD -:10164000FF1F12968D919C911397E80FF91F01903F -:10165000F081E02D0190F081E02D0995DF91CF918F -:101660001F9108958091BA209091BB200895FFC6E4 -:101670000895CF938091BE208823C1F0E091BC20D3 -:10168000F091BD200190F081E02D8481882371F0DC -:10169000C0E08C2F73DFCF5FE091BC20F091BD20C4 -:1016A0000190F081E02D8481C81798F31092BE203C -:1016B0001092C2201092C320CF910895CF938091B1 -:1016C000BE20882349F1A091BC20B091BD20ED91AE -:1016D000FC91119784818823F9F0C0E0EC2FF0E0B1 -:1016E000EE0FFF1F12968D919C911397E80FF91F33 -:1016F0000190F081E02D0084F185E02D309709F014 -:101700000995CF5FA091BC20B091BD20ED91FC91D7 -:1017100011978481C81710F3CF9108950F931F93E9 -:10172000CF93DF93EAE5F4E21286138614861586DA -:1017300016861786808188233CF42091602430919E -:101740006124232B09F46AC38076803409F008C130 -:10175000E0915B248E2F90E0FC01E05AF109E83023 -:10176000F10508F0F4C0E25FFE4F0C949216000001 -:1017700059C3E0E0F8E01082CAE5D4E28A819B8197 -:1017800086AB97AB8C818F7080836E817F818AE579 -:1017900092E2F8D68E819F8120910420309105201D -:1017A0008217930709F43EC3809304209093052089 -:1017B000E09100208E2F90E08830910508F0C9C09C -:1017C000FC01EA5EFE4F0C9492160E94BE022AC3F0 -:1017D0000E94320327C30E94AB0324C332D822C322 -:1017E000ADD820C322D91EC368D91CC3C9D91AC316 -:1017F000E0E4F8E01082CAE5D4E28A819B8186ABFE -:1018000097AB8C818F7080836E817F818AE694E2B2 -:10181000B9D68E819F8120910220309103208217BA -:10182000930709F4FFC28093022090930320E09174 -:1018300000208E2F90E08830910508F08CC0FC01CC -:10184000E25EFE4F0C9492160E94BE02EBC20E9412 -:101850003203E8C20E94AB03E5C20E942104E2C247 -:101860006DD8E0C2E2D8DEC228D9DCC289D9DAC29A -:10187000109268091092690980915C248093B220CB -:10188000D1C280915C2480932406CCC2E0915C2478 -:10189000F0915D24E830F10508F05FC0EA5DFE4F8D -:1018A0000C94921660E080E00E94420280915E24D7 -:1018B0000E9410020E94BE02B5C260E080E00E9459 -:1018C000420280915E240E9410020E943203AAC24A -:1018D00061E081E00E944202CAE5D4E28C810E946C -:1018E00010028D810E9425020E94AB039BC20E94C0 -:1018F000210498C223D896C260E080E00E94420290 -:1019000080915E240E94100290D88CC261E080E039 -:101910000E94420280915E240E941002CED882C2B0 -:1019200062E080E00E94420280915E2480680E9412 -:10193000100226D977C280915C248093840672C2FB -:10194000E9E7F0E091E088EDF89484BF908380E0CF -:1019500005C081E003C081E001C080E0811165C263 -:1019600080915A24982F907609F0E1C188230CF0D9 -:1019700005C120916024309161242115310509F4BD -:10198000D6C18F7109F0A3C090915B24963079F095 -:10199000983009F492C091119AC02230310509F0B3 -:1019A000C6C162E070E082EC90E2ECD53DC280916D -:1019B0005C2490915D24292F332722303105A9F032 -:1019C00024F42130310541F0A9C123303105D9F18A -:1019D0002F30310551F1A2C180911020909111203A -:1019E000DC016C9170E0CED559C0E0911020F091EF -:1019F00011202189821708F09AC19927880F991F11 -:101A0000880F991FE0911220F0911320E80FF91F21 -:101A100080819181FC0162817381B4D5E09162245F -:101A2000F091632482E0818339C0809114209091E9 -:101A30001520009709F47BC1DC0112966D917C9111 -:101A40001397A0D52BC099278130910571F038F0FC -:101A5000029709F06CC18AE890E228E109C064E0CD -:101A600070E08EEA90E28ED519C083EA90E229E018 -:101A7000382FAAE5B0E2E82FF92F819190E08D93FD -:101A80009D938E2F831B8217C0F3622F660F6E5FAC -:101A90006093582070E088E590E274D5EAE5F4E2BE -:101AA00086819781228533858217930708F0BCC110 -:101AB0008093642490936524B7C12130310509F0E7 -:101AC00036C161E070E08EEB90E25CD5ADC1813053 -:101AD000E1F590915B249A30C1F52130310509F090 -:101AE00026C18091BE20882309F421C1C0915E24C3 -:101AF000D0915F240091BC201091BD20D801ED91C0 -:101B0000FC918481C81708F012C160E08C2FFCDCC6 -:101B1000882309F40CC1CE019927880F991FD80199 -:101B20001296ED91FC911397E80FF91F0190F08147 -:101B3000E02D86819781FC0109958093C02061E0AA -:101B400070E080EC90E21ED56FC1823009F0EFC0EA -:101B500080915B248111E4C02230310509F0E7C097 -:101B600080915E248BD590E08093B8209093B9202B -:101B700062E070E088EB90E205D556C18F7109F004 -:101B800083C090915B24933009F4CCC018F4913059 -:101B9000A1F07AC0953019F0993039F175C0809173 -:101BA000602490916124892B09F0C1C08EE79AE0EE -:101BB000809366249093672437C18091602490912C -:101BC0006124892B09F0B3C080915C2490915D243D -:101BD000019709F0ACC08091C2209091C3208D7F05 -:101BE0008093C2209093C3201FC180916024909164 -:101BF0006124892B09F09BC0C2D4882309F497C0C3 -:101C000020915C2430915D243327E0911020F091E5 -:101C10001120818990E08217930708F488C029DD9C -:101C200080915C2490915D248093BE20882309F4E8 -:101C3000FBC099278150904C880F991F880F991FDE -:101C4000E0911220F0911320E80FF91FE093BC20DF -:101C5000F093BD200190F081E02D8481882309F468 -:101C6000E3C0C0E060E08C2FCBDC882309F45FC0C8 -:101C7000CF5FE091BC20F091BD200190F081E02D7C -:101C80008481C81778F3D0C08130E1F490915B244F -:101C90009B30C1F48091602490916124892B09F0DC -:101CA00046C08091BE20882309F441C0EAE5F4E2F1 -:101CB000C481D2818C2F62DC8823C9F16D2F8C2FD7 -:101CC0009FDC33C0823099F580915B24813019F01C -:101CD000833089F029C08091602490916124892B00 -:101CE00031F580915C2490915D24892B01F58091E0 -:101CF0005E24DFD41AC08091602490916124892BE6 -:101D0000B1F480915C2490915D24892B81F4CAE523 -:101D1000D4E28C81BDD58C8120D607C080E005C07F -:101D200080E003C080E001C080E081117EC080912E -:101D30005A248F71813071F58091BE20882351F132 -:101D400000915E2410915F24C091BC20D091BD20F1 -:101D5000E881F98184810817E8F460E0802FD4DB02 -:101D60008823C1F0F801FF27CF01880F991FEA816E -:101D7000FB81E80FF91FC081D181EE81FF810995B8 -:101D8000682F802FC1DB882329F0EC81FD81099524 -:101D900081114BC080915A248F71823009F040C06C -:101DA0008091BE208823B1F1A091BC20B091BD20CC -:101DB000ED91FC9111978481882371F1C0E0EC2FA3 -:101DC000F0E0EE0FFF1F12968D919C911397E80F94 -:101DD000F91F00811181D8011696ED91FC9117979A -:101DE0000995682F8C2F90DB8823F9F0D801149681 -:101DF000ED91FC9115970995811117C0CF5FA091C6 -:101E0000BC20B091BD20ED91FC9111979481C91730 -:101E1000B0F20BC080E009C080E007C080E005C0E0 -:101E200080E003C081E001C081E0DF91CF911F918C -:101E30000F9108951BBEFC0128ED24BF6083089517 -:101E40004091CA01E62FF72F8093CA0184914093F5 -:101E5000CA010895811122C0909154229923D9F08A -:101E60009091472C911101C0FFCF2FB7F894E6E471 -:101E7000FCE29181915091832FBF0DC09091472C2E -:101E80009F3F09F4FFCF2FB7F894E6E4FCE291817D -:101E90009F5F91832FBF8093542208959091542285 -:101EA000992361F3F8CF0F93E8ECF4E080818F7D04 -:101EB000808380818F7D8083E8E1F2E202E00593F8 -:101EC00010921A2210921B2200E2069300E406935D -:101ED000E0E1F2E200E2069300E40693EAE5F4E2D0 -:101EE0001486158616861786128613861092FF2191 -:101EF0000F9108950F9385E08093FF21E9E1F2E2CD -:101F000004E00593E1E1F2E204E005930F91089506 -:101F10000F9383E08093FF2110921A2210921B22CC -:101F2000E8E1F2E202E006930F910895E091662461 -:101F3000F0916724309709F0099508950F93CF9396 -:101F4000DF938091FF21833019F4F0DFACDF5EC0B6 -:101F50008091FB219091FC21C0916424D091652453 -:101F6000C81BD90B71F52091FD213091FE21820F04 -:101F7000931F8093FD219093FE2120916024309146 -:101F800061248217930721F08091C420882341F0B7 -:101F900084E08093FF21E0E1F2E202E0069336C0A4 -:101FA000E0916824F0916924309799F0099588238D -:101FB00081F01092FB211092FC21C0916424D091F9 -:101FC0006524C034D10528F01092C420C0E4D0E0CC -:101FD00003C081E08093C420E0E0F2E2C28FD38F9F -:101FE0008091FB219091FC21209162243091632407 -:101FF000280F391F248F358FC80FD91FC093FB219D -:10200000D093FC21E8E1F2E202E00693DF91CF9168 -:102010000F910895FC018181E82FE7708E2F90E0E9 -:10202000FC013197E730F105C0F4E25DFE4F7AC65E -:1020300080E190E0089580E290E0089580E490E0EF -:10204000089580E890E0089580E091E0089580E0B0 -:1020500092E008958FEF93E0089588E090E008956E -:10206000282F2F7030E0220F331F082E000C990B01 -:102070008827990F881F9927820F931F02979C0129 -:10208000220F331F220F331F220F331F820F931F84 -:102090008B579E4D08950F93CF938091CC0480FF72 -:1020A00062C081E08093CC04E0E1F2E200E80693B4 -:1020B000E8E1F2E200E806938093CA04E0E1F2E28C -:1020C00000E106938091FF21882329F0835082301C -:1020D00008F42CDFE8DE80911222909113220897F9 -:1020E00009F043C088E0EBEBF1E2AAE5B4E201902D -:1020F0000D928A95E1F7E8ECF4E0808180628083BC -:102100008081806280830ADBC82F811103C0F2DEE8 -:10211000C1E02CC080915A2488236CF41092FD21D8 -:102120001092FE211092FB211092FC2182E08093FC -:10213000FF2104DF1BC08091602490916124892BD2 -:1021400011F4E6DE13C01092FD211092FE211092D0 -:10215000FB211092FC2181E08093FF21E0E1F2E27B -:1021600002E0069303C0C0E001C0C1E08C2FCF9114 -:102170000F9108958F929F92AF92BF92DF92EF924C -:10218000FF920F931F93CF93DF93D82E69DF8C01BB -:10219000BD2CBB1CBB24BB1CCD2DCF70D0E0CC0F05 -:1021A000DD1FCB0DD11DCE01880F991F880F991F00 -:1021B000880F991F9C01205F3D4D7901C9012ADFDD -:1021C0004C01BB2009F470C0FE01EE0FFF1FEE0FA3 -:1021D000FF1FEE0FFF1FE050FE4D26893789D80103 -:1021E00015968D919C911697820F931F15968D933E -:1021F0009C93169713962D913C91149782179307F1 -:1022000009F43CC0281B390B2115B4E03B0738F01A -:102210002FEF33E0C901B40171D5281B390BF80148 -:10222000808181FF09C0C901B40168D541E0892BD3 -:1022300009F040E0842F01C080E0D8019C9180FB30 -:1022400091F99C93CC0FDD1FCC0FDD1FCC0FDD1F50 -:10225000C050DE4D1E8A1F8A2A8B3B8B11962D9112 -:102260003C91129715968D919C911697820F931F12 -:102270008C8B9D8BF70102E00693CAC0D8018C912C -:1022800081FFB3C08D7F8C93CC0FDD1FCC0FDD1F82 -:10229000CC0FDD1FC050DE4D1E8A1F8A1A8A1B8A92 -:1022A000F70102E00693B4C0FE01EE0FFF1FEE0F30 -:1022B000FF1FEE0FFF1FE050FE4DA288B388D8012C -:1022C0008C9182FF19C01196ED91FC911297159691 -:1022D0002D913C91169713968D919C911497B40172 -:1022E0000DD5B0E4DB9EB00111246B577F4DAC01DE -:1022F000CF01820F931F1CD5F801258136812A0D4D -:102300003B1D25833683838194818217930768F46C -:1023100085839683CC0FDD1FCC0FDD1FCC0FDD1F17 -:10232000C050DE4D8E899F8960C0FE01EE0FFF1FF9 -:10233000EE0FFF1FEE0FFF1FE050FE4D468957893D -:102340004A155B0509F051C02817390709F44DC03B -:10235000AC01421B530B9A01211554E0350750F094 -:102360002FEF33E0C901B401C9D4D901A81BB90BBF -:10237000CD0107C0C901B401C1D4F901E81BF90BB3 -:10238000CF01FE01EE0FFF1FEE0FFF1FEE0FFF1F2D -:10239000E050FE4D128A138A8815990578F4D80109 -:1023A0008C9184608C93B0E4DB9EC00111248B5728 -:1023B0009F4D848B958B868A978A13C0F801418143 -:1023C000528125813681240F351FCC0FDD1FCC0FA4 -:1023D000DD1FCC0FDD1FC050DE4D2C8B3D8B8E8B57 -:1023E0009F8BF70102E0069313C0D8018C9180FF08 -:1023F0000FC08E7F8C931796ED91FC9118973097B4 -:1024000039F015966D917C9116974D2D80E00995C8 -:10241000DF91CF911F910F91FF90EF90DF90BF90D0 -:10242000AF909F908F900895CF93CFB7F89481E0AD -:1024300011DDEAECF4E080E4808380E28083E1EC6B -:10244000F4E0808181608083A9ECB4E08C918260AB -:102450008C93E8ECF4E08081806480838C918160CF -:102460008C93808180688083CFBFCF910895CF9374 -:10247000DF93C0E6D0E0188280E30E94B509E0EC6B -:10248000F4E080818064808381E08883CFB7F89412 -:1024900080E090E0FC01EE0FFF1FEE0FFF1FEE0F3C -:1024A000FF1FE050FE4D118A01968830910591F78B -:1024B000E5E8F1E280818E7F8083EEE8F1E28081C1 -:1024C0008E7F8083E7E9F1E280818E7F8083E0EA7E -:1024D000F1E280818E7F8083E9EAF1E280818E7F64 -:1024E0008083E2EBF1E280818E7F80836AE170E09D -:1024F00082E0A6DC8F3F19F08093FA0403C08FE1DD -:102500008093FA046BE170E082E09ADC8F3F19F06F -:102510008093FB0403C08FE18093FB04E0ECF4E0C4 -:1025200080818360808380818068808380818061F6 -:10253000808380E192E286839783808180628083BA -:102540008FEF8093C504E8ECF4E0808182608083A3 -:102550001092542280914B2C8F3F09F4FFCF9FB7EC -:10256000F894E6E4FCE285818F5F85839FBF5CDFA2 -:10257000CFBFDF91CF9108958093C30408958091D8 -:10258000C3040895EAE5F4E2808791876287738740 -:102590000895282F2F7030E0220F331F082E000CD3 -:1025A000990B8827990F881F9927820F931FFC0189 -:1025B000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D4F -:1025C0002189207C09F058C06370613011F018F443 -:1025D00004C020EC03C020E801C020E440385105CD -:1025E000E9F050F440325105A9F040345105A1F012 -:1025F00040315105D9F40CC0411532E0530791F038 -:102600004F3F33E0530781F04115514079F408C042 -:1026100041E00DC042E00BC043E009C044E007C008 -:1026200045E005C046E003C047E001C040E0FC01D2 -:10263000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DCE -:10264000118ADC01AA0FBB1FAA0FBB1FAA0FBB1F59 -:10265000A05FBD4D36E03C93242B218B880F991F42 -:10266000880F991F880F991FFC01E050FE4D81894A -:102670008062818B81E0089580E00895E82FEF70FB -:10268000F0E0EE0FFF1F082E000C990B8827990F22 -:10269000881F9927E80FF91FEE0FFF1FEE0FFF1F8E -:1026A000EE0FFF1FE050FE4D818982FB882780F9E5 -:1026B0000895282F2F7030E0A901440F551F282FAF -:1026C000082E000C330B2227330F221F3327240F31 -:1026D000351FF901EE0FFF1FEE0FFF1FEE0FFF1F5B -:1026E000E050FE4D918992FF17C0220F331F220F39 -:1026F000331F220F331FF901E050FE4D91899B7F5C -:10270000918BAEDCFC01808180FF06C08E7F8083D0 -:102710000780F085E02D099581E008957F928F92E2 -:102720009F92AF92BF92CF92DF92EF92FF920F9360 -:102730001F93CF93DF93982E862E6A01790190DC48 -:102740005C01792C771C7724771CC92DCF70D0E0E1 -:10275000CC0FDD1FC70DD11DFE01EE0FFF1FEE0FC9 -:10276000FF1FEE0FFF1FE050FE4D8189807C09F4B2 -:102770007DC0FE01EE0FFF1FEE0FFF1FEE0FFF1FCC -:10278000E050FE4D8189807C803C61F0FE01EE0FBF -:10279000FF1FEE0FFF1FEE0FFF1FE050FE4D818960 -:1027A00082FD66C08FB7F894F501908190FF03C059 -:1027B0008FBF712C5EC0F5019081916090838FBFB7 -:1027C000C182D282E382F482158216820783108747 -:1027D000811006C091E0E114F10419F090E001C00D -:1027E00091E0F501808190FB81F98B7F80837720D8 -:1027F00059F0CC0FDD1FCC0FDD1FCC0FDD1FC050FB -:10280000DE4D1E8A1F8A2DC0FE01EE0FFF1FEE0F48 -:10281000FF1FEE0FFF1FE050FE4D8189807C803C42 -:10282000A1F4CE01880F991F880F991F880F991F57 -:10283000805F9D4DEFDBBC01C70160D2892B29F081 -:10284000F50180818E7F808314C0CC0FDD1FCC0FFB -:10285000DD1FCC0FDD1FC050DE4D1A8A1B8A1E8A79 -:102860001F8A892D87DC7724739403C0712C01C0E3 -:10287000712C872DDF91CF911F910F91FF90EF90D9 -:10288000DF90CF90BF90AF909F908F907F900895F2 -:10289000FF920F931F93CF93DF93182FF82EFF1CF7 -:1028A000FF24FF1CC82FCF70D0E0CC0FDD1FCF0D51 -:1028B000D11DD6DBDC01FE01EE0FFF1FEE0FFF1F67 -:1028C000EE0FFF1FE05FFD4D02E005938C9180FF4E -:1028D00022C08E7F8C931796ED91FC9118973097BC -:1028E000D1F0FF2059F0CC0FDD1FCC0FDD1FCC0F36 -:1028F000DD1FC050DE4D6E897F890AC0CC0FDD1F01 -:10290000CC0FDD1FCC0FDD1FC050DE4D6A897B89E7 -:10291000412F81E00995DF91CF911F910F91FF9099 -:102920000895CF93C82FB4DFEC2FEF70F0E0EE0FD7 -:10293000FF1F8C2FCC0F990B8827990F881F992781 -:10294000E80FF91FEE0FFF1FEE0FFF1FEE0FFF1F27 -:10295000E050FE4D118ACF9108950F93E82FEF704C -:10296000F0E0EE0FFF1F282F082E000C330B22275C -:10297000330F221F3327E20FF31FDF01AA0FBB1F04 -:10298000AA0FBB1FAA0FBB1FA050BE4D51969C9112 -:102990005197946051969C93EE0FFF1FEE0FFF1F0F -:1029A000EE0FFF1FE05FFD4D01E0069371DF81E058 -:1029B0000F9108951F920F920FB60F9211240F934B -:1029C0002F933F934F935F936F937F938F939F9337 -:1029D000AF93BF93EF93FF938091CB04882344F48C -:1029E00080E88093CA040E945E0B0E94CB018AC0DB -:1029F0008091CB0482FF20C084E08093CA04809140 -:102A0000182286FF7FC08091CC0481FD7BC043DB10 -:102A1000811178C08091FF21813011F479DA72C080 -:102A2000843009F06FC0E9E1F2E204E00593E1E1EE -:102A3000F2E204E0059366C08091CB0481FF5DC0A3 -:102A400082E08093CA048091102286FF5BC080914F -:102A5000CC0481FD57C01FDB811154C08091FF2140 -:102A6000823041F484E08093FF21E0E1F2E202E071 -:102A7000069348C0833009F045C0E9E1F2E204E082 -:102A80000593E1E1F2E204E005933CC080E180932C -:102A9000CA0481E0FDDE81E8FBDE82E0F9DE82E847 -:102AA000F7DE0E94390B1092C304E0E0F2E2118AD3 -:102AB00096E0908B83E4818B118E908F818F8BEBCE -:102AC00091E2848B958BEFD91DC08091CB0486FF5A -:102AD00008C080E48093CA0480E0BCD90E94C90188 -:102AE00011C08091CB0485FF0DC080E28093CA04A1 -:102AF00081E0B0D90E94CA0105C08091CB0484FD59 -:102B0000C5CFE3CFFF91EF91BF91AF919F918F918F -:102B10007F916F915F914F913F912F910F910F9006 -:102B20000FBE0F901F9018951F920F920FB60F9225 -:102B300011240F931F932F933F934F935F936F93A2 -:102B40007F938F939F93AF93BF93CF93DF93EF9335 -:102B5000FF938091CC0481FD03C09DDA8111B9C03F -:102B600082E08093CC048091C5048195880FE0E1D8 -:102B7000F2E2E81BF1092081318120513242369581 -:102B800027953695279536952795822F869520FD92 -:102B900002C090E001C090E8890FE82FEF70F0E0EC -:102BA000EE0FFF1F282F082E000C330B2227330FA8 -:102BB000221F3327E20FF31FDF01AA0FBB1FAA0F4B -:102BC000BB1FAA0FBB1FA05FBD4D9C9195FF81C08D -:102BD000FD0100E20693811177C08091FF218430CE -:102BE00019F4A4D960D975C0009112221091132252 -:102BF0008091642490916524C091FB21D091FC21A7 -:102C00009E01200F311F8217930718F48C010C1BB3 -:102C10001D0B8091622490916324A8016BEB71E2FB -:102C20008C0F9D1F85D0C00FD11FC093FB21D09367 -:102C3000FC210034110569F48091FD219091FE2161 -:102C40008C0F9D1F2091602430916124821793077F -:102C500080F0EAE5F4E2C287D3870684F785E02DA9 -:102C6000309729F00995811102C044D932C050D95A -:102C700030C08091642490916524C817D907F9F475 -:102C8000E0916824F0916924309711F433D921C080 -:102C90000995811102C02ED91CC02091FD213091CF -:102CA000FE218091FB219091FC21820F931F809344 -:102CB000FD219093FE211092FB211092FC21E0E176 -:102CC000F2E202E0069305C0803811F437D901C062 -:102CD00051DAFF91EF91DF91CF91BF91AF919F9129 -:102CE0008F917F916F915F914F913F912F911F91A4 -:102CF0000F910F900FBE0F901F901895AA1BBB1B32 -:102D000051E107C0AA1FBB1FA617B70710F0A61BEB -:102D1000B70B881F991F5A95A9F780959095BC010C -:102D2000CD010895EE0FFF1F0590F491E02D099459 -:102D3000FB01DC0102C001900D9241505040D8F7D8 -:062D40000895F894FFCF96 -:102D4600FF5580008000EF09FB09010AEC0900002D -:102D56004420162000001C201A2006200902270005 -:102D660001010080FA0904000003FFFFFF000705C8 -:102D760081010001010705820100010107058301A8 -:102D8600000101001201000200000040EB0300A058 -:102D96000002010200010000000300000000000024 -:102DA600000000000000000000000000000000001D -:102DB600000000000000000000000000000000000D -:102DC60000000000000000000000555342476F62FB -:102DD600696E6461722044756D6D7920446576690B -:102DE600636500546170697254656368000004038A -:022DF6000904CE +:100000002CC1000046C1000044C1000042C10000F4 +:1000100040C100003EC1000026C6000065C60000C9 +:10002000A3C60000ABC6000034C1000032C100000E +:1000300030C100002EC100002CC100002AC1000008 +:1000400028C1000026C1000024C1000022C1000018 +:1000500020C100001EC100001CC100001AC1000028 +:100060007CC7000016C1000014C1000012C10000CE +:1000700010C100000EC100000CC100000AC1000048 +:1000800008C1000006C1000004C1000002C1000058 +:1000900000C10000FEC00000FCC00000FAC000006B +:1000A000F8C00000F6C00000F4C00000F2C000007C +:1000B000F0C00000EEC00000ECC00000EAC000008C +:1000C000E8C00000E6C00000E4C00000E2C000009C +:1000D000E0C00000DEC00000DCC00000DAC00000AC +:1000E000D8C00000D6C00000D4C00000D2C00000BC +:1000F000D0C00000CEC00000CCC00000CAC00000CC +:10010000C8C00000C6C00000C4C00000C2C00000DB +:10011000C0C00000BEC00000BCC00000BAC00000EB +:10012000B8C00000B6C00000B4C00000B2C00000FB +:10013000B0C00000AEC00000ACC00000AAC000000B +:10014000A8C00000A6C00000A4C0000066C6000051 +:10015000A0C000009EC000009CC000009AC000002B +:1001600098C0000096C0000094C0000092C000003B +:1001700090C000008EC000008CC000008AC000004B +:1001800088C0000086C0000084C0000082C000005B +:1001900080C000007EC000007CC000007AC000006B +:1001A00078C0000076C0000074C0000072C000007B +:1001B00070C000006EC000006CC000006AC000008B +:1001C00068C0000066C0000064C0000062C000009B +:1001D00060C000005EC000005CC000005AC00000AB +:1001E00058C0000056C0000054C0000052C00000BB +:1001F00050C000000C944D130C940714E401E60168 +:10020000E801EA01EC01F101EE01F001340A360ADD +:10021000720AAE0AB70ABC0A0E0B130B620A640A12 +:10022000660A680A6A0A6C0A6E0A700A9E0AA00ABE +:10023000A20AA40AA60AA80AAA0AAC0AC80AD30AE9 +:10024000DD0AEB0AED0AEF0AF90A030B8B0E8E0E9C +:10025000910E940E970E9A0E9D0E11241FBECFEF95 +:10026000CDBFDFE2DEBF10E2A0E0B0E2ECE2FAE2F6 +:1002700002C005900D92A23BB107D9F72CE2A2EB88 +:10028000B0E201C01D92A535B207E1F73ED00C9453 +:100290001415B6CEE0E8F6E08FE0808385E0848335 +:1002A000089508954091B3202EEE32E0429FC001A0 +:1002B000439F900D112442E551E06AEF70E08E58A3 +:1002C000994D43C708954091B3202EEE32E0429FEE +:1002D000C001439F900D112443E651E06AEF70E0A6 +:1002E0008459984D3EC708954091B3202EEE32E0D8 +:1002F000429FC001439F900D112444E751E06AEFF3 +:1003000070E08A59974D39C7089587E08093A2001D +:1003100078942ED6C6DF0E94B409FDD020D160E0CB +:1003200080E0BCD0A8D08CE09CD032D5F0D507D6E8 +:10033000B1DF22E736E220936F2480E699E28093D2 +:10034000702430935D2290935C2229EE37E2209353 +:10035000572287ED9AE280934E2C30935E2490933F +:1003600056228091582290915922A0915A22B09100 +:100370005B220196A11DB11D813021EE920725EF70 +:10038000A20725E0B20718F080E090E0DC01000051 +:10039000000000000000000000000000000000005D +:1003A00000000000000000000000E3CF0895089561 +:1003B000E09100208E2F90E08830910590F4FC01B0 +:1003C000E250FF4F0C9405155AD10BC0D1D109C092 +:1003D00047D207C0C2D205C037D303C0E0D301C0A3 +:1003E00041D4F8949091B32081E0911180E0809302 +:1003F000B3207894089581E08093B62042E551E0DF +:100400006EEE72E082E796E2A0D643E651E06EEE31 +:1004100072E08CE697E2A5D644E751E06EEE72E01A +:1004200086E698E2AAD681E008951092B620089553 +:1004300081E0089581E00895E0E0F2E010A2982FB5 +:100440009C71936890A388231CF490E182E002C021 +:1004500090E080E0892BE0E0F2E081A312A216A2F6 +:100460000895E0E0F2E010AA836880AB80E181AB00 +:1004700012AA16AA0895E0E0F2E010A683E880A789 +:100480008FE281A712A616A60895AAECB1E092E029 +:100490009C93E82FF0E084911C920895CF93DF9312 +:1004A000E0E7F0E091819D7F91831092000262303D +:1004B00031F1E0E0F2E09CE1918390E492838111DC +:1004C00002C080E401C080EC80930302613011F02F +:1004D00083E001C082E0C0E0D2E08C8380E2D5DF1F +:1004E0008C8781E2D2DF8D87188E198E81E0888318 +:1004F000C2DF0EC080EC8093030283E0ECCFE0E02B +:10050000F2E09EE1918390E492838111F3CFD9CF01 +:10051000DF91CF910895CF93DF93E0E7F0E0828100 +:100520008B7F8283C0E2D3E08DE0888380E489837F +:1005300089E08A8383E3A9DF888782E3A6DF89874E +:1005400087E3A3DF8A8786E3A0DF8B87E0E2F6E01C +:100550008081836080831482DF91CF910895E0E7EA +:10056000F0E080818E7F808382E88093000108958F +:10057000E0E0F1E0108A80E4808B10A280A310AA52 +:1005800080ABE0E4F1E0108280831092B5201092FD +:10059000B4201092B320089510920020E9DFE0E02B +:1005A000F1E016AA94E290AB11AA49E542AB32E021 +:1005B00033AB609102207091032064AB75AB61E7AF +:1005C00074E260AF71AF12AE8BE384AF83E08093CF +:1005D0003D0110923E0120A9206820AB10924601F7 +:1005E000A0E4B1E09C9310924101409342018093BA +:1005F00043014091042050910520409344015093C1 +:1006000045014EE552E24093480150934901109252 +:100610004A0129E320934C0180934D0110924E0131 +:100620002C9120682C93108A20E4208B24E0208BCE +:10063000818B81E9828B80E1838B47E751E0448B9A +:10064000558B908F318F128E4091B5202EEE32E077 +:10065000429FC001439F900D11248E58994D848F65 +:100660004091B520429FC001439F900D11248E58A8 +:10067000994D958F168E80898068808B0895089596 +:10068000CF93DF9381E08093002072DFE0E0F1E020 +:1006900010AA80E480AB94E090AB11AA12AA5BE4AC +:1006A00053AB14AA15AA16AA21E030E220AF31AF4D +:1006B00012AE40EA44AF38E030933D0110923E0163 +:1006C00080A9806A80AB85E58093A00810924601DE +:1006D000A0E4B1E0D4E2DC931092410189E580937B +:1006E0004201C2E0C0934301609102207091032057 +:1006F000609344017093450161E774E2609348019F +:100700007093490110924A018BE380934C0183E07E +:1007100080934D0110924E012C9120682C93908B68 +:10072000818BA1E9A28B20E1238B67E771E0648BC9 +:10073000758BD08FC18F128EC2E7D6E2C48FD58F52 +:10074000168E20892068208B90A381A3A2A353A397 +:1007500064A375A340A731A712A689EE97E284A7E8 +:1007600095A716A680A1806880A3DF91CF910895F8 +:100770000895CF93F894C2E0C0930020F9DEE0E042 +:10078000F1E016AA94E290AB11AA39E532AB83E00E +:1007900083AB409104205091052044AB55AB4EE50E +:1007A00052E240AF51AF12AE29E324AF80933D0136 +:1007B00010923E0120A9206820AB10924601A0E4CF +:1007C000B1E09C9310924101309342018093430128 +:1007D0002091022030910320209344013093450161 +:1007E00021E734E2209348013093490110924A01F5 +:1007F0002BE320934C0180934D0110924E012C91DC +:1008000020682C9354E0508B818B41E9428BC38B41 +:1008100027E731E0248B358B908FC18F128E62E7F2 +:1008200076E2648F758F168E50A381A342A381E078 +:1008300083A324A335A384E380A7C1A712A689EECE +:1008400097E284A795A716A680898068808B00C050 +:1008500000C0000080A1806880A37894CF910895A3 +:100860000895CF93C3E0C093002082DEE0E0F1E082 +:1008700010A250E450A344E040A311A212A23BE412 +:1008800033A314A215A216A281E090E280A791A73B +:1008900012A620EA24A798E095A716A680A1806A50 +:1008A00080A385E58093A00816AA74E270AB11AA14 +:1008B00069E562ABC3ABA0910420B0910520A4AB65 +:1008C000B5ABAEE5B2E2A0AFB1AF12AE89E384AF93 +:1008D000C0933D0110923E0180A9806880AB1092C8 +:1008E0004601A0E4B1E07C93109241016093420183 +:1008F00082E0809343016091022070910320609315 +:1009000044017093450161E774E26093480170937C +:10091000490110924A018BE380934C01C0934D0131 +:1009200010924E018C9180688C93108A508B408B72 +:10093000C18B81E9828B338B47E751E0448B558B28 +:10094000208F918F128E82E796E2848F958F168E7C +:1009500080898068808BCF9108950895CF93C4E0FB +:10096000C093002005DEE0E0F1E010A280E480A367 +:10097000C0A311A212A24BE443A314A215A216A273 +:1009800081E090E280A791A712A660EA64A788E0C0 +:1009900085A716A690A1906A90A395E59093A008CC +:1009A00010924601A0E4B1E094E29C9310924101C0 +:1009B00099E59093420192E09093430120910220A7 +:1009C00030910320209344013093450121E734E224 +:1009D000209348013093490110924A019BE3909380 +:1009E0004C0193E090934D0110924E012C912068A0 +:1009F0002C93C08B918B31E9328B438B47E751E0CD +:100A0000448B558B608F818F128E62E776E2648F04 +:100A1000758F168E20892068208BC0AB91AB32ABCE +:100A20009AE493AB44AB55AB93EC90AF81AF12AE6D +:100A300089EE97E284AF90933D0110923E0180A928 +:100A4000806880ABCF910895089585E08093002061 +:100A50008FDDE0E0F1E016AA34E230AB11AA29E51F +:100A600022AB83E083AB409104205091052044AB3E +:100A700055AB4EE552E240AF51AF12AE99E394AFA1 +:100A800080933D0110923E0190A9906890AB109226 +:100A90004601E0E4F1E030831092410120934201ED +:100AA000809343012091042030910520209344013C +:100AB0003093450121E734E2209348013093490106 +:100AC00010924A019BE390934C0180934D01109248 +:100AD0004E01808180688083089586E080930020A5 +:100AE00047DDE0E0F1E016AA94E290AB11AA39E507 +:100AF00032AB83E083AB409104205091052044AB9E +:100B000055AB4EE552E240AF51AF12AE29E324AFF0 +:100B100080933D0110923E0120A9206820AB1092E5 +:100B20004601A0E4B1E09C93109241013093420150 +:100B300032E03093430140910220509103204093D2 +:100B400044015093450141E754E2409348015093DA +:100B5000490110924A012BE320934C0180934D01EF +:100B600010924E012C9120682C93108A20E4208B47 +:100B700024E0208B818B81E9828B80E1838B4EEE98 +:100B800052E0448B558B908F318F128E82E796E224 +:100B9000848F958F168E80898068808B0895089544 +:100BA00087E080930020E4DCE0E0F1E016AA94E224 +:100BB00090AB11AA39E532AB83E083AB40910420BE +:100BC0005091052044AB55AB4EE552E240AF51AFDA +:100BD00012AE29E324AF80933D0110923E0120A97B +:100BE000206820AB10924601A0E4B1E09C931092E3 +:100BF00041013093420132E03093430140910220A1 +:100C000050910320409344015093450141E754E241 +:100C1000409348015093490110924A012BE32093DD +:100C20004C0180934D0110924E012C9120682C9321 +:100C3000108A20E4208B25E0208B818B81E9828B38 +:100C400080E1838B4EEE52E0448B558B908F318F39 +:100C5000128E82E796E2848F958F168E8089806847 +:100C6000808B089508951F920F920FB60F92112452 +:100C70008F939F93EF93FF9387E791E08093140105 +:100C8000909315018091B520882349F080917024BC +:100C9000E0E0F1E0848F80915C22858F08C0809134 +:100CA0006F24E0E0F1E0848F80915D22858F000069 +:100CB0000000E0E0F1E080898068808B82E0809332 +:100CC00090019091B52081E0911180E08093B52052 +:100CD00081E080930301FF91EF919F918F910F909D +:100CE0000FBE0F901F9018951F920F920FB60F9284 +:100CF00011248F939F93EF93FF9387E791E0809365 +:100D00002401909325018091B420882349F080919B +:100D10004E2CE0E0F1E084A78091562285A708C020 +:100D200080915722E0E0F1E084A780915E2485A7BE +:100D300000000000E0E0F1E080A1806880A381E095 +:100D4000809390019091B420911180E08093B42021 +:100D500082E080930301FF91EF919F918F910F901B +:100D60000FBE0F901F9018951F920F920FB60F9203 +:100D700011240F900FBE0F901F9018951F920F9285 +:100D80000FB60F9211240F900FBE0F901F90189561 +:100D9000E0E7F0E083818C7F838384818C7F848390 +:100DA00080818D7F8083E0E8F1E080EC8283128691 +:100DB00080E28183118682E280831086A0E0B8E021 +:100DC00034E03C9323E011962C93119714961C92D7 +:100DD000149785ED91E096968D939C939797169630 +:100DE0001C921697E0E4F8E030832183148286A3F6 +:100DF00097A31682E0E6F6E0808180618083E0E4DC +:100E0000F9E083E18183148282E08683A6A3B7A3FD +:100E100010A611A681E0808308951F920F920FB64D +:100E20000F9211242F933F934F935F938F939F9330 +:100E3000EF93FF93CF93DF931F92CDB7DEB78FEF82 +:100E400080934C0980910020873031F4E0E0F2E09B +:100E500084A5898395A502C090912C028091B2202F +:100E6000891B209168093091690991E082300CF466 +:100E700090E09923C9F091E02A3F374008F090E0D4 +:100E8000992391F0209168093091690989301CF407 +:100E900081E090E002C086E090E0820F931F809393 +:100EA00078099093790923C02091680930916909E4 +:100EB00091E08F3F0CF090E09923C9F091E027304A +:100EC000310508F490E0992391F020916809309160 +:100ED0006909883F1CF081E090E002C086E090E064 +:100EE000A901481B590B40937809509379090F9039 +:100EF000DF91CF91FF91EF919F918F915F914F91F2 +:100F00003F912F910F900FBE0F901F901895E0E723 +:100F1000F0E083818F7E8383E0E4F6E080818A6A5B +:100F200080838FEF848388E5828BE0EAF8E084ECAD +:100F3000858383E08683178288E184830895E0E7D0 +:100F4000F0E08381877F8383E0ECF8E080E48083B6 +:100F5000118288E58093550608951F920F920FB66F +:100F60000F92112400000F900FBE0F901F90189544 +:100F70000F931F93CF93DF9300D000D0CDB7DEB790 +:100F80008FEF809370008093710080937200809344 +:100F9000730080937400809375008093760064E002 +:100FA00081E490E0BAD56CE170E082E0BCD58A8340 +:100FB0006DE170E082E0B7D5898389819A810196DD +:100FC00021F480E493E289839A8389819A818B83D7 +:100FD0009C83E0E6F0E082838C8183839FB7F89462 +:100FE000E0E5F0E08081826080839FBF818181FFA6 +:100FF000FDCF9FB7F89400E510E0D80116968C91CC +:101000001697897F16968C931697E0E6F0E080E8B5 +:1010100085838BEB868316968C9116978460169643 +:101020008C938081816080839FBF61E080E490E049 +:1010300074D59FB7F894F80180818E7F80839FBF1D +:101040002496CDBFDEBFDF91CF911F910F91089500 +:101050009FB7F894E82FF0E0E059FF4F609580814A +:10106000682360839FBF0895863011F060E001C05F +:1010700068E18091510081FD26C09FB7F894E0E5BA +:10108000F0E08081826080839FBF818181FFFDCFFE +:101090009FB7F894A0E5B0E016968C911697897FDB +:1010A00016968C931697E0E6F0E080E885838BEB4C +:1010B000868316968C911697846016968C93808101 +:1010C000816080839FBF636084E490E026D560E404 +:1010D00080E0BECF08958091B720089540D1FC01F3 +:1010E00083818093B720811102C085C9089581E072 +:1010F00008958091B720813009F497C908958091AF +:101100005F2488234CF480768034A9F48091602495 +:10111000811113C08FC908958076803481F4809145 +:10112000602481110EC08091652490916624892BE2 +:1011300051F07EC9089580E0089580E0089580E030 +:10114000089580E0089580E008950F931F939B0118 +:101150008A01AC0160E081E80E9401121F910F91A9 +:1011600008950F931F939B018A01AC0160E082E810 +:101170000E9401121F910F9108950F931F939B01DD +:101180008A01AC0160E083E80E9401121F910F9177 +:101190000895E091BC20F091BD200190F081E02DF8 +:1011A000228133812E0F3F1FFC014081E40FF11D8E +:1011B000E217F307B8F481818430B9F0861309C0CF +:1011C00005C081818430A1F0861303C08E2F9F2F2C +:1011D00008958081E80FF11DE217F30790F380E096 +:1011E00090E0089580E090E0089580E090E0089518 +:1011F00080E090E00895809161248F770C942F1106 +:1012000008959091BE20992381F1E091BC20F09146 +:10121000BD200190F081E02D9481891740F5E09385 +:10122000BA20F093BB20228133812E0F3F1FE2179B +:10123000F307F8F49181943061F49281981309C016 +:101240009381961306C0E093BA20F093BB2081E00F +:1012500008959081E90FF11DE217F30758F3E09329 +:10126000BA20F093BB2080E0089580E0089580E0EC +:10127000089580E00895EF92FF921F93CF93DF933C +:10128000C82F60E0BEDF182F882381F1A091BC2019 +:10129000B091BD20EC2FF0E0EE0FFF1F12968D9164 +:1012A0009C911397E80FF91FE080F180D701169603 +:1012B000ED91FC9117970995682F8C2FA2DF182FBD +:1012C0008823A1F0C091BA20D091BB2065E0CE0167 +:1012D00060DFEC01892B21F08A810E940413F6CF94 +:1012E000D7011296ED91FC9113970995812FDF910B +:1012F000CF911F91FF90EF9008951F93CF93DF93AD +:10130000182F7FDF882339F1C091BA20D091BB20FC +:1013100065E0CE013EDFEC01892B41F04C815D811F +:101320006B818A81A9D78111F3CF15C0A091BC2010 +:10133000B091BD20E12FF0E0EE0FFF1F12968D91CE +:101340009C911397E80FF91F0190F081E02D019017 +:10135000F081E02D0995DF91CF911F910895809143 +:10136000BA209091BB200895F5C60895CF9380913F +:10137000BE208823C1F0E091BC20F091BD200190F7 +:10138000F081E02D8481882371F0C0E08C2F73DF21 +:10139000CF5FE091BC20F091BD200190F081E02D65 +:1013A0008481C81798F31092BE201092C220109228 +:1013B000C320CF910895CF938091BE20882349F117 +:1013C000A091BC20B091BD20ED91FC91119784813A +:1013D0008823F9F0C0E0EC2FF0E0EE0FFF1F12962B +:1013E0008D919C911397E80FF91F0190F081E02DEA +:1013F0000084F185E02D309709F00995CF5FA09129 +:10140000BC20B091BD20ED91FC9111978481C8174B +:1014100010F3CF9108950F931F93CF93DF93EFE5D0 +:10142000F4E2128613861486158616861786808146 +:1014300088233CF42091652430916624232B09F401 +:1014400060C38076803409F0FEC0E09160248E2F66 +:1014500090E0FC01E05AF109E830F10508F0EAC03B +:10146000EA5FFE4F0C94051500004FC3E0E0F8E082 +:101470001082CFE5D4E28A819B8186AB97AB8C81C9 +:101480008F7080836E817F818EE592E2EED68E81B1 +:101490009F8120910420309105208217930709F441 +:1014A00034C38093042090930520E09100208E2F78 +:1014B00090E08830910508F0BFC0FC01E25FFE4F6C +:1014C0000C94051569D821C3DBD81FC352D91DC39D +:1014D000C8D91BC343DA19C3B8DA17C3FEDA15C378 +:1014E0005FDB13C3E0E4F8E01082CFE5D4E28A8149 +:1014F0009B8186AB97AB8C818F7080836E817F815F +:1015000081E794E2B2D68E819F81209102203091B2 +:1015100003208217930709F4F8C280930220909366 +:101520000320E09100208E2F90E08830910508F094 +:1015300085C0FC01EA5EFE4F0C9405152DD8E5C26E +:101540009FD8E3C216D9E1C28CD9DFC207DADDC267 +:101550007CDADBC2C2DAD9C223DBD7C210926809B7 +:1015600010926909809161248093B220CEC280914B +:10157000612480932406C9C2E0916124F091622421 +:10158000E830F10508F05CC0E25EFE4F0C940515F2 +:1015900060E080E00E944E02809163240E941C0261 +:1015A0000E94CC02B2C260E080E00E944E028091B4 +:1015B00063240E941C0264D8A8C261E081E00E94FA +:1015C0004E02CFE5D4E28C810E941C028D810E94E4 +:1015D0003102CFD89AC245D998C2C0D996C260E02C +:1015E00080E00E944E02809163240E941C022DDA4A +:1015F0008CC261E080E00E944E02809163240E94D0 +:101600001C026BDA82C262E080E00E944E0280918E +:10161000632480680E941C02C3DA77C2809161242F +:101620008093840672C2E9E7F0E091E088EDF894D7 +:1016300084BF908380E005C081E003C081E001C0E9 +:1016400080E0811165C280915F24982F907609F027 +:10165000E1C188230CF005C12091652430916624F6 +:101660002115310509F4D6C18F7109F0A3C09091FD +:101670006024963079F0983009F492C091119AC0A4 +:101680002230310509F0C6C162E070E082EC90E2E0 +:10169000ECD53DC28091612490916224292F33279B +:1016A00022303105A9F024F42130310541F0A9C1DF +:1016B00023303105D9F12F30310551F1A2C180918C +:1016C000102090911120DC016C9170E0CED559C0B2 +:1016D000E0911020F09111202189821708F09AC121 +:1016E0009927880F991F880F991FE0911220F09178 +:1016F0001320E80FF91F80819181FC0162817381C1 +:10170000B4D5E0916724F091682482E0818339C0E8 +:101710008091142090911520009709F47BC1DC0181 +:1017200012966D917C911397A0D52BC0992781308B +:10173000910571F038F0029709F06CC18AE890E2E7 +:1017400028E109C064E070E08EEA90E28ED519C00D +:1017500083EA90E229E0382FAAE5B0E2E82FF92FDA +:10176000819190E08D939D938E2F831B8217C0F300 +:10177000622F660F6E5F6093582070E088E590E2FC +:1017800074D5EFE5F4E2868197812285338582174F +:10179000930708F0BCC18093692490936A24B7C171 +:1017A0002130310509F036C161E070E08EEB90E246 +:1017B0005CD5ADC18130E1F5909160249A30C1F5DE +:1017C0002130310509F026C18091BE20882309F41B +:1017D00021C1C0916324D09164240091BC20109158 +:1017E000BD20D801ED91FC918481C81708F012C189 +:1017F00060E08C2F06DD882309F40CC1CE01992707 +:10180000880F991FD8011296ED91FC911397E80F5C +:10181000F91F0190F081E02D86819781FC010995E7 +:101820008093C02061E070E080EC90E21ED56FC133 +:10183000823009F0EFC0809160248111E4C0223031 +:10184000310509F0E7C0809163248BD590E0809347 +:10185000B8209093B92062E070E088EB90E205D563 +:1018600056C18F7109F083C090916024933009F4C0 +:10187000CCC018F49130A1F07AC0953019F09930AD +:1018800039F175C08091652490916624892B09F007 +:10189000C1C08BEF98E080936B2490936C2437C188 +:1018A0008091652490916624892B09F0B3C08091C2 +:1018B000612490916224019709F0ACC08091C2200C +:1018C0009091C3208D7F8093C2209093C3201FC12D +:1018D0008091652490916624892B09F09BC0C2D425 +:1018E000882309F497C02091612430916224332722 +:1018F000E0911020F0911120818990E082179307E8 +:1019000008F488C033DD8091612490916224809333 +:10191000BE20882309F4FBC099278150904C880F82 +:10192000991F880F991FE0911220F0911320E80F62 +:10193000F91FE093BC20F093BD200190F081E02DD1 +:101940008481882309F4E3C0C0E060E08C2FD5DCFB +:10195000882309F45FC0CF5FE091BC20F091BD20E7 +:101960000190F081E02D8481C81778F3D0C08130D8 +:10197000E1F4909160249B30C1F4809165249091B2 +:101980006624892B09F046C08091BE20882309F483 +:1019900041C0EFE5F4E2C481D2818C2F6CDC882356 +:1019A000C9F16D2F8C2FA9DC33C0823099F580915D +:1019B0006024813019F0833089F029C0809165243A +:1019C00090916624892B31F5809161249091622455 +:1019D000892B01F580916324DFD41AC0809165249E +:1019E00090916624892BB1F48091612490916224B6 +:1019F000892B81F4CFE5D4E28C81BDD58C8120D6B2 +:101A000007C080E005C080E003C080E001C080E046 +:101A100081117EC080915F248F71813071F580913A +:101A2000BE20882351F10091632410916424C09159 +:101A3000BC20D091BD20E881F98184810817E8F4A9 +:101A400060E0802FDEDB8823C1F0F801FF27CF01A3 +:101A5000880F991FEA81FB81E80FF91FC081D181AE +:101A6000EE81FF810995682F802FCBDB882329F039 +:101A7000EC81FD81099581114BC080915F248F71AC +:101A8000823009F040C08091BE208823B1F1A0913E +:101A9000BC20B091BD20ED91FC91119784818823E9 +:101AA00071F1C0E0EC2FF0E0EE0FFF1F12968D9168 +:101AB0009C911397E80FF91F00811181D8011696A8 +:101AC000ED91FC9117970995682F8C2F9ADB88234D +:101AD000F9F0D8011496ED91FC91159709958111B3 +:101AE00017C0CF5FA091BC20B091BD20ED91FC91BB +:101AF00011979481C917B0F20BC080E009C080E053 +:101B000007C080E005C080E003C081E001C081E043 +:101B1000DF91CF911F910F9108951BBEFC0128ED1D +:101B200024BF608308954091CA01E62FF72F809368 +:101B3000CA0184914093CA010895811122C09091F5 +:101B400054229923D9F09091502C911101C0FFCFCC +:101B50002FB7F894EFE4FCE29181915091832FBF6D +:101B60000DC09091502C9F3F09F4FFCF2FB7F894F0 +:101B7000EFE4FCE291819F5F91832FBF8093542219 +:101B8000089590915422992361F3F8CF0F93E8ECD4 +:101B9000F4E080818F7D808380818F7D8083E8E188 +:101BA000F2E202E0059310921A2210921B2200E248 +:101BB000069300E40693E0E1F2E200E2069300E41B +:101BC0000693EFE5F4E214861586168617861286CC +:101BD00013861092FF210F9108950F9385E0809353 +:101BE000FF21E9E1F2E204E00593E1E1F2E204E041 +:101BF00005930F9108950F9383E08093FF21109236 +:101C00001A2210921B22E8E1F2E202E006930F9101 +:101C10000895E0916B24F0916C24309709F00995B8 +:101C200008950F93CF93DF938091FF21833019F4B0 +:101C3000F0DFACDF5EC08091FB219091FC21C09170 +:101C40006924D0916A24C81BD90B71F52091FD211C +:101C50003091FE21820F931F8093FD219093FE21EE +:101C600020916524309166248217930721F080919A +:101C7000C420882341F084E08093FF21E0E1F2E278 +:101C800002E0069336C0E0916D24F0916E24309707 +:101C900099F00995882381F01092FB211092FC2184 +:101CA000C0916924D0916A24C034D10528F01092E3 +:101CB000C420C0E4D0E003C081E08093C420E0E011 +:101CC000F2E2C28FD38F8091FB219091FC21209171 +:101CD000672430916824280F391F248F358FC80F4F +:101CE000D91FC093FB21D093FC21E8E1F2E202E08E +:101CF0000693DF91CF910F910895FC018181E82F28 +:101D0000E7708E2F90E0FC013197E730F105C0F4C9 +:101D1000EA5DFE4F7AC680E190E0089580E290E0AF +:101D2000089580E490E0089580E890E0089580E0D0 +:101D300091E0089580E092E008958FEF93E0089598 +:101D400088E090E00895282F2F7030E0220F331F95 +:101D5000082E000C990B8827990F881F9927820F4E +:101D6000931F02979C01220F331F220F331F220F54 +:101D7000331F820F931F8B579E4D08950F93CF9360 +:101D80008091CC0480FF62C081E08093CC04E0E1CC +:101D9000F2E200E80693E8E1F2E200E806938093BD +:101DA000CA04E0E1F2E200E106938091FF2188237A +:101DB00029F08350823008F42CDFE8DE8091122273 +:101DC00090911322089709F043C088E0EBEBF1E211 +:101DD000AFE5B4E201900D928A95E1F7E8ECF4E00A +:101DE00080818062808380818062808314DBC82F41 +:101DF000811103C0F2DEC1E02CC080915F248823F2 +:101E00006CF41092FD211092FE211092FB21109291 +:101E1000FC2182E08093FF2104DF1BC080916524B8 +:101E200090916624892B11F4E6DE13C01092FD21F7 +:101E30001092FE211092FB211092FC2181E08093F0 +:101E4000FF21E0E1F2E202E0069303C0C0E001C03E +:101E5000C1E08C2FCF910F9108958F929F92AF92F6 +:101E6000BF92DF92EF92FF920F931F93CF93DF9376 +:101E7000D82E69DF8C01BD2CBB1CBB24BB1CCD2D17 +:101E8000CF70D0E0CC0FDD1FCB0DD11DCE01880F60 +:101E9000991F880F991F880F991F9C01205F3D4D46 +:101EA0007901C9012ADF4C01BB2009F470C0FE0191 +:101EB000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D56 +:101EC00026893789D80115968D919C911697820F96 +:101ED000931F15968D939C93169713962D913C9175 +:101EE00014978217930709F43CC0281B390B21155E +:101EF000B4E03B0738F02FEF33E0C901B40171D5EE +:101F0000281B390BF801808181FF09C0C901B40188 +:101F100068D541E0892B09F040E0842F01C080E0C2 +:101F2000D8019C9180FB91F99C93CC0FDD1FCC0FC5 +:101F3000DD1FCC0FDD1FC050DE4D1E8A1F8A2A8B8D +:101F40003B8B11962D913C91129715968D919C91FA +:101F50001697820F931F8C8B9D8BF70102E00693DF +:101F6000CAC0D8018C9181FFB3C08D7F8C93CC0FF8 +:101F7000DD1FCC0FDD1FCC0FDD1FC050DE4D1E8AD4 +:101F80001F8A1A8A1B8AF70102E00693B4C0FE0179 +:101F9000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D75 +:101FA000A288B388D8018C9182FF19C01196ED9157 +:101FB000FC91129715962D913C91169713968D9141 +:101FC0009C911497B4010DD5B0E4DB9EB0011124AF +:101FD0006B577F4DAC01CF01820F931F1CD5F801C9 +:101FE000258136812A0D3B1D25833683838194818B +:101FF0008217930768F485839683CC0FDD1FCC0F7F +:10200000DD1FCC0FDD1FC050DE4D8E899F8960C063 +:10201000FE01EE0FFF1FEE0FFF1FEE0FFF1FE05040 +:10202000FE4D468957894A155B0509F051C02817AE +:10203000390709F44DC0AC01421B530B9A0121151D +:1020400054E0350750F02FEF33E0C901B401C9D493 +:10205000D901A81BB90BCD0107C0C901B401C1D476 +:10206000F901E81BF90BCF01FE01EE0FFF1FEE0F88 +:10207000FF1FEE0FFF1FE050FE4D128A138A8815D6 +:10208000990578F4D8018C9184608C93B0E4DB9E40 +:10209000C00111248B579F4D848B958B868A978A1C +:1020A00013C0F8014181528125813681240F351FEB +:1020B000CC0FDD1FCC0FDD1FCC0FDD1FC050DE4D60 +:1020C0002C8B3D8B8E8B9F8BF70102E0069313C008 +:1020D000D8018C9180FF0FC08E7F8C931796ED9165 +:1020E000FC911897309739F015966D917C91169761 +:1020F0004D2D80E00995DF91CF911F910F91FF90B9 +:10210000EF90DF90BF90AF909F908F900895CF9306 +:10211000CFB7F89481E011DDEAECF4E080E480834D +:1021200080E28083E1ECF4E0808181608083A9EC2F +:10213000B4E08C9182608C93E8ECF4E08081806460 +:1021400080838C9181608C93808180688083CFBFF5 +:10215000CF910895CF93DF93C0E6D0E0188280E35B +:102160000E943408E0ECF4E080818064808381E0A8 +:102170008883CFB7F89480E090E0FC01EE0FFF1F5A +:10218000EE0FFF1FEE0FFF1FE050FE4D118A01966C +:102190008830910591F7E5E8F1E280818E7F8083B8 +:1021A000EEE8F1E280818E7F8083E7E9F1E28081D1 +:1021B0008E7F8083E0EAF1E280818E7F8083E9EA8E +:1021C000F1E280818E7F8083E2EBF1E280818E7F7D +:1021D00080836AE170E082E0A6DC8F3F19F0809393 +:1021E000FA0403C08FE18093FA046BE170E082E0AF +:1021F0009ADC8F3F19F08093FB0403C08FE180933A +:10220000FB04E0ECF4E0808183608083808180685F +:10221000808380818061808380E192E286839783DE +:102220008081806280838FEF8093C504E8ECF4E0C6 +:10223000808182608083109254228091542C8F3F41 +:1022400009F4FFCF9FB7F894EFE4FCE285818F5F3C +:1022500085839FBF5CDFCFBFDF91CF9108958093CF +:10226000C30408958091C3040895EFE5F4E28087E4 +:102270009187628773870895282F2F7030E0220F8F +:10228000331F082E000C990B8827990F881F992758 +:10229000820F931FFC01EE0FFF1FEE0FFF1FEE0FCB +:1022A000FF1FE050FE4D2189207C09F058C063706B +:1022B000613011F018F404C020EC03C020E801C024 +:1022C00020E440385105E9F050F440325105A9F0BE +:1022D00040345105A1F040315105D9F40CC04115ED +:1022E00032E0530791F04F3F33E0530781F041153F +:1022F000514079F408C041E00DC042E00BC043E01A +:1023000009C044E007C045E005C046E003C047E01F +:1023100001C040E0FC01EE0FFF1FEE0FFF1FEE0FAC +:10232000FF1FE050FE4D118ADC01AA0FBB1FAA0F50 +:10233000BB1FAA0FBB1FA05FBD4D36E03C93242BF3 +:10234000218B880F991F880F991F880F991FFC01F7 +:10235000E050FE4D81898062818B81E0089580E0AC +:102360000895E82FEF70F0E0EE0FFF1F082E000C2D +:10237000990B8827990F881F9927E80FF91FEE0FEF +:10238000FF1FEE0FFF1FEE0FFF1FE050FE4D818974 +:1023900082FB882780F90895282F2F7030E0A9014B +:1023A000440F551F282F082E000C330B2227330F04 +:1023B000221F3327240F351FF901EE0FFF1FEE0FE9 +:1023C000FF1FEE0FFF1FE050FE4D918992FF17C0D7 +:1023D000220F331F220F331F220F331FF901E0504A +:1023E000FE4D91899B7F918BAEDCFC01808180FF4B +:1023F00006C08E7F80830780F085E02D099581E0FF +:1024000008957F928F929F92AF92BF92CF92DF9268 +:10241000EF92FF920F931F93CF93DF93982E862E08 +:102420006A01790190DC5C01792C771C7724771C98 +:10243000C92DCF70D0E0CC0FDD1FC70DD11DFE011F +:10244000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DC0 +:102450008189807C09F47DC0FE01EE0FFF1FEE0F25 +:10246000FF1FEE0FFF1FE050FE4D8189807C803CF6 +:1024700061F0FE01EE0FFF1FEE0FFF1FEE0FFF1FBB +:10248000E050FE4D818982FD66C08FB7F894F5015A +:10249000908190FF03C08FBF712C5EC0F5019081C9 +:1024A000916090838FBFC182D282E382F4821582D1 +:1024B000168207831087811006C091E0E114F104B1 +:1024C00019F090E001C091E0F501808190FB81F965 +:1024D0008B7F8083772059F0CC0FDD1FCC0FDD1F61 +:1024E000CC0FDD1FC050DE4D1E8A1F8A2DC0FE019D +:1024F000EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D10 +:102500008189807C803CA1F4CE01880F991F880FBF +:10251000991F880F991F805F9D4DEFDBBC01C7019C +:1025200060D2892B29F0F50180818E7F808314C0D1 +:10253000CC0FDD1FCC0FDD1FCC0FDD1FC050DE4DDB +:102540001A8A1B8A1E8A1F8A892D87DC7724739436 +:1025500003C0712C01C0712C872DDF91CF911F9189 +:102560000F91FF90EF90DF90CF90BF90AF909F9032 +:102570008F907F900895FF920F931F93CF93DF93D7 +:10258000182FF82EFF1CFF24FF1CC82FCF70D0E09F +:10259000CC0FDD1FCF0DD11DD6DBDC01FE01EE0F10 +:1025A000FF1FEE0FFF1FEE0FFF1FE05FFD4D02E06C +:1025B00005938C9180FF22C08E7F8C931796ED91AE +:1025C000FC9118973097D1F0FF2059F0CC0FDD1F08 +:1025D000CC0FDD1FCC0FDD1FC050DE4D6E897F8913 +:1025E0000AC0CC0FDD1FCC0FDD1FCC0FDD1FC0508C +:1025F000DE4D6A897B89412F81E00995DF91CF917A +:102600001F910F91FF900895CF93C82FB4DFEC2F47 +:10261000EF70F0E0EE0FFF1F8C2FCC0F990B882787 +:10262000990F881F9927E80FF91FEE0FFF1FEE0F74 +:10263000FF1FEE0FFF1FE050FE4D118ACF9108954E +:102640000F93E82FEF70F0E0EE0FFF1F282F082EFA +:10265000000C330B2227330F221F3327E20FF31F07 +:10266000DF01AA0FBB1FAA0FBB1FAA0FBB1FA050E1 +:10267000BE4D51969C915197946051969C93EE0F4C +:10268000FF1FEE0FFF1FEE0FFF1FE05FFD4D01E08C +:10269000069371DF81E00F9108951F920F920FB69C +:1026A0000F9211240F932F933F934F935F936F9348 +:1026B0007F938F939F93AF93BF93EF93FF938091FB +:1026C000CB04882344F480E88093CA040E94DB0989 +:1026D0000E94D8018AC08091CB0482FF20C084E090 +:1026E0008093CA048091182286FF7FC08091CC0419 +:1026F00081FD7BC043DB811178C08091FF21813057 +:1027000011F479DA72C0843009F06FC0E9E1F2E2C5 +:1027100004E00593E1E1F2E204E0059366C08091F4 +:10272000CB0481FF5DC082E08093CA0480911022B7 +:1027300086FF5BC08091CC0481FD57C01FDB8111F7 +:1027400054C08091FF21823041F484E08093FF21C6 +:10275000E0E1F2E202E0069348C0833009F045C0B0 +:10276000E9E1F2E204E00593E1E1F2E204E005933D +:102770003CC080E18093CA0481E0FDDE81E8FBDE9D +:1027800082E0F9DE82E8F7DE0E94B6091092C30407 +:10279000E0E0F2E2118A96E0908B83E4818B118E67 +:1027A000908F818F8BEB91E2848B958BEFD91DC03D +:1027B0008091CB0486FF08C080E48093CA0480E047 +:1027C000BCD90E94D60111C08091CB0485FF0DC0F9 +:1027D00080E28093CA0481E0B0D90E94D70105C08D +:1027E0008091CB0484FDC5CFE3CFFF91EF91BF91E2 +:1027F000AF919F918F917F916F915F914F913F9199 +:102800002F910F910F900FBE0F901F9018951F9250 +:102810000F920FB60F9211240F931F932F933F9394 +:102820004F935F936F937F938F939F93AF93BF93D8 +:10283000CF93DF93EF93FF938091CC0481FD03C08E +:102840009DDA8111B9C082E08093CC048091C504E7 +:102850008195880FE0E1F2E2E81BF10920813181E6 +:1028600020513242369527953695279536952795EE +:10287000822F869520FD02C090E001C090E8890F6C +:10288000E82FEF70F0E0EE0FFF1F282F082E000C4E +:10289000330B2227330F221F3327E20FF31FDF01F1 +:1028A000AA0FBB1FAA0FBB1FAA0FBB1FA05FBD4D66 +:1028B0009C9195FF81C0FD0100E20693811177C0D4 +:1028C0008091FF21843019F4A4D960D975C000919A +:1028D0001222109113228091692490916A24C09150 +:1028E000FB21D091FC219E01200F311F82179307FD +:1028F00018F48C010C1B1D0B8091672490916824A7 +:10290000A8016BEB71E28C0F9D1F85D0C00FD11F0A +:10291000C093FB21D093FC210034110569F4809110 +:10292000FD219091FE218C0F9D1F209165243091F7 +:1029300066248217930780F0EFE5F4E2C287D3871D +:102940000684F785E02D309729F00995811102C0A2 +:1029500044D932C050D930C08091692490916A2402 +:10296000C817D907F9F4E0916D24F0916E243097DF +:1029700011F433D921C00995811102C02ED91CC090 +:102980002091FD213091FE218091FB219091FC212D +:10299000820F931F8093FD219093FE211092FB21C3 +:1029A0001092FC21E0E1F2E202E0069305C08038DB +:1029B00011F437D901C051DAFF91EF91DF91CF9136 +:1029C000BF91AF919F918F917F916F915F914F9147 +:1029D0003F912F911F910F910F900FBE0F901F905D +:1029E0001895AA1BBB1B51E107C0AA1FBB1FA61746 +:1029F000B70710F0A61BB70B881F991F5A95A9F7A8 +:102A000080959095BC01CD010895EE0FFF1F0590B4 +:102A1000F491E02D0994FB01DC0102C001900D92BC +:0C2A200041505040D8F70895F894FFCFC3 +:102A2C00FF55800080006E0879087F086B08000055 +:102A3C004420162000001C201A2006200902270022 +:102A4C0001010080FA0904000003FFFFFF000705E5 +:102A5C0081010001010705820100010107058301C5 +:102A6C00000101001201000200000040EB0300A075 +:102A7C000002010200010000000300000000000041 +:102A8C00000000000000000000000000000000003A +:102A9C00000000000000000000000000000000002A +:102AAC0000000000000000000000555342476F6218 +:102ABC00696E6461722044756D6D79204465766928 +:102ACC0063650054617069725465636800000403A7 +:022ADC000904EB :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 90479f2c..f77c9a66 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.lss +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.lss @@ -3,546 +3,567 @@ USB_BULK_TEST.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 00002d46 00000000 00000000 00000094 2**1 + 0 .text 00002a2c 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 000000b2 00802000 00002d46 00002ddc 2**2 + 1 .data 000000b2 00802000 00002a2c 00002ac0 2**2 CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000b9a 008020b2 008020b2 00002e8e 2**2 + 2 .bss 00000ba3 008020b2 008020b2 00002b72 2**2 ALLOC - 3 .comment 00000030 00000000 00000000 00002e8e 2**0 + 3 .comment 00000030 00000000 00000000 00002b72 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 00002ec0 2**2 + 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 00002ba4 2**2 CONTENTS, READONLY - 5 .debug_aranges 000004c8 00000000 00000000 00002f00 2**3 + 5 .debug_aranges 000004c8 00000000 00000000 00002be8 2**3 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 0000a4a3 00000000 00000000 000033c8 2**0 + 6 .debug_info 0000a750 00000000 00000000 000030b0 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00001b50 00000000 00000000 0000d86b 2**0 + 7 .debug_abbrev 00001bc1 00000000 00000000 0000d800 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 00008bad 00000000 00000000 0000f3bb 2**0 + 8 .debug_line 00008b79 00000000 00000000 0000f3c1 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 00000af4 00000000 00000000 00017f68 2**2 + 9 .debug_frame 00000a84 00000000 00000000 00017f3c 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 0002f65f 00000000 00000000 00018a5c 2**0 + 10 .debug_str 0002fba6 00000000 00000000 000189c0 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 00002402 00000000 00000000 000480bb 2**0 + 11 .debug_loc 000022e4 00000000 00000000 00048566 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 000003f8 00000000 00000000 0004a4c0 2**3 + 12 .debug_ranges 000003f8 00000000 00000000 0004a850 2**3 CONTENTS, READONLY, DEBUGGING - 13 .debug_macro 0000b8d9 00000000 00000000 0004a8b8 2**0 + 13 .debug_macro 0000ba5c 00000000 00000000 0004ac48 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: - 0: 34 c1 rjmp .+616 ; 0x26a <__ctors_end> + 0: 2c c1 rjmp .+600 ; 0x25a <__ctors_end> 2: 00 00 nop - 4: 4e c1 rjmp .+668 ; 0x2a2 <__bad_interrupt> + 4: 46 c1 rjmp .+652 ; 0x292 <__bad_interrupt> 6: 00 00 nop - 8: 4c c1 rjmp .+664 ; 0x2a2 <__bad_interrupt> + 8: 44 c1 rjmp .+648 ; 0x292 <__bad_interrupt> a: 00 00 nop - c: 4a c1 rjmp .+660 ; 0x2a2 <__bad_interrupt> + c: 42 c1 rjmp .+644 ; 0x292 <__bad_interrupt> e: 00 00 nop - 10: 48 c1 rjmp .+656 ; 0x2a2 <__bad_interrupt> + 10: 40 c1 rjmp .+640 ; 0x292 <__bad_interrupt> 12: 00 00 nop - 14: 46 c1 rjmp .+652 ; 0x2a2 <__bad_interrupt> + 14: 3e c1 rjmp .+636 ; 0x292 <__bad_interrupt> 16: 00 00 nop - 18: 16 c6 rjmp .+3116 ; 0xc46 <__vector_6> + 18: 26 c6 rjmp .+3148 ; 0xc66 <__vector_6> 1a: 00 00 nop - 1c: 4c c7 rjmp .+3736 ; 0xeb6 <__vector_7> + 1c: 65 c6 rjmp .+3274 ; 0xce8 <__vector_7> 1e: 00 00 nop - 20: b9 c7 rjmp .+3954 ; 0xf94 <__vector_8> + 20: a3 c6 rjmp .+3398 ; 0xd68 <__vector_8> 22: 00 00 nop - 24: f8 c7 rjmp .+4080 ; 0x1016 <__vector_9> + 24: ab c6 rjmp .+3414 ; 0xd7c <__vector_9> 26: 00 00 nop - 28: 3c c1 rjmp .+632 ; 0x2a2 <__bad_interrupt> + 28: 34 c1 rjmp .+616 ; 0x292 <__bad_interrupt> 2a: 00 00 nop - 2c: 3a c1 rjmp .+628 ; 0x2a2 <__bad_interrupt> + 2c: 32 c1 rjmp .+612 ; 0x292 <__bad_interrupt> 2e: 00 00 nop - 30: 38 c1 rjmp .+624 ; 0x2a2 <__bad_interrupt> + 30: 30 c1 rjmp .+608 ; 0x292 <__bad_interrupt> 32: 00 00 nop - 34: 36 c1 rjmp .+620 ; 0x2a2 <__bad_interrupt> + 34: 2e c1 rjmp .+604 ; 0x292 <__bad_interrupt> 36: 00 00 nop - 38: 34 c1 rjmp .+616 ; 0x2a2 <__bad_interrupt> + 38: 2c c1 rjmp .+600 ; 0x292 <__bad_interrupt> 3a: 00 00 nop - 3c: 32 c1 rjmp .+612 ; 0x2a2 <__bad_interrupt> + 3c: 2a c1 rjmp .+596 ; 0x292 <__bad_interrupt> 3e: 00 00 nop - 40: 30 c1 rjmp .+608 ; 0x2a2 <__bad_interrupt> + 40: 28 c1 rjmp .+592 ; 0x292 <__bad_interrupt> 42: 00 00 nop - 44: 2e c1 rjmp .+604 ; 0x2a2 <__bad_interrupt> + 44: 26 c1 rjmp .+588 ; 0x292 <__bad_interrupt> 46: 00 00 nop - 48: 2c c1 rjmp .+600 ; 0x2a2 <__bad_interrupt> + 48: 24 c1 rjmp .+584 ; 0x292 <__bad_interrupt> 4a: 00 00 nop - 4c: 2a c1 rjmp .+596 ; 0x2a2 <__bad_interrupt> + 4c: 22 c1 rjmp .+580 ; 0x292 <__bad_interrupt> 4e: 00 00 nop - 50: 28 c1 rjmp .+592 ; 0x2a2 <__bad_interrupt> + 50: 20 c1 rjmp .+576 ; 0x292 <__bad_interrupt> 52: 00 00 nop - 54: 26 c1 rjmp .+588 ; 0x2a2 <__bad_interrupt> + 54: 1e c1 rjmp .+572 ; 0x292 <__bad_interrupt> 56: 00 00 nop - 58: 24 c1 rjmp .+584 ; 0x2a2 <__bad_interrupt> + 58: 1c c1 rjmp .+568 ; 0x292 <__bad_interrupt> 5a: 00 00 nop - 5c: 22 c1 rjmp .+580 ; 0x2a2 <__bad_interrupt> + 5c: 1a c1 rjmp .+564 ; 0x292 <__bad_interrupt> 5e: 00 00 nop - 60: 0c 94 2e 09 jmp 0x125c ; 0x125c <__vector_24> - 64: 1e c1 rjmp .+572 ; 0x2a2 <__bad_interrupt> + 60: 7c c7 rjmp .+3832 ; 0xf5a <__vector_24> + 62: 00 00 nop + 64: 16 c1 rjmp .+556 ; 0x292 <__bad_interrupt> 66: 00 00 nop - 68: 1c c1 rjmp .+568 ; 0x2a2 <__bad_interrupt> + 68: 14 c1 rjmp .+552 ; 0x292 <__bad_interrupt> 6a: 00 00 nop - 6c: 1a c1 rjmp .+564 ; 0x2a2 <__bad_interrupt> + 6c: 12 c1 rjmp .+548 ; 0x292 <__bad_interrupt> 6e: 00 00 nop - 70: 18 c1 rjmp .+560 ; 0x2a2 <__bad_interrupt> + 70: 10 c1 rjmp .+544 ; 0x292 <__bad_interrupt> 72: 00 00 nop - 74: 16 c1 rjmp .+556 ; 0x2a2 <__bad_interrupt> + 74: 0e c1 rjmp .+540 ; 0x292 <__bad_interrupt> 76: 00 00 nop - 78: 14 c1 rjmp .+552 ; 0x2a2 <__bad_interrupt> + 78: 0c c1 rjmp .+536 ; 0x292 <__bad_interrupt> 7a: 00 00 nop - 7c: 12 c1 rjmp .+548 ; 0x2a2 <__bad_interrupt> + 7c: 0a c1 rjmp .+532 ; 0x292 <__bad_interrupt> 7e: 00 00 nop - 80: 10 c1 rjmp .+544 ; 0x2a2 <__bad_interrupt> + 80: 08 c1 rjmp .+528 ; 0x292 <__bad_interrupt> 82: 00 00 nop - 84: 0e c1 rjmp .+540 ; 0x2a2 <__bad_interrupt> + 84: 06 c1 rjmp .+524 ; 0x292 <__bad_interrupt> 86: 00 00 nop - 88: 0c c1 rjmp .+536 ; 0x2a2 <__bad_interrupt> + 88: 04 c1 rjmp .+520 ; 0x292 <__bad_interrupt> 8a: 00 00 nop - 8c: 0a c1 rjmp .+532 ; 0x2a2 <__bad_interrupt> + 8c: 02 c1 rjmp .+516 ; 0x292 <__bad_interrupt> 8e: 00 00 nop - 90: 08 c1 rjmp .+528 ; 0x2a2 <__bad_interrupt> + 90: 00 c1 rjmp .+512 ; 0x292 <__bad_interrupt> 92: 00 00 nop - 94: 06 c1 rjmp .+524 ; 0x2a2 <__bad_interrupt> + 94: fe c0 rjmp .+508 ; 0x292 <__bad_interrupt> 96: 00 00 nop - 98: 04 c1 rjmp .+520 ; 0x2a2 <__bad_interrupt> + 98: fc c0 rjmp .+504 ; 0x292 <__bad_interrupt> 9a: 00 00 nop - 9c: 02 c1 rjmp .+516 ; 0x2a2 <__bad_interrupt> + 9c: fa c0 rjmp .+500 ; 0x292 <__bad_interrupt> 9e: 00 00 nop - a0: 00 c1 rjmp .+512 ; 0x2a2 <__bad_interrupt> + a0: f8 c0 rjmp .+496 ; 0x292 <__bad_interrupt> a2: 00 00 nop - a4: fe c0 rjmp .+508 ; 0x2a2 <__bad_interrupt> + a4: f6 c0 rjmp .+492 ; 0x292 <__bad_interrupt> a6: 00 00 nop - a8: fc c0 rjmp .+504 ; 0x2a2 <__bad_interrupt> + a8: f4 c0 rjmp .+488 ; 0x292 <__bad_interrupt> aa: 00 00 nop - ac: fa c0 rjmp .+500 ; 0x2a2 <__bad_interrupt> + ac: f2 c0 rjmp .+484 ; 0x292 <__bad_interrupt> ae: 00 00 nop - b0: f8 c0 rjmp .+496 ; 0x2a2 <__bad_interrupt> + b0: f0 c0 rjmp .+480 ; 0x292 <__bad_interrupt> b2: 00 00 nop - b4: f6 c0 rjmp .+492 ; 0x2a2 <__bad_interrupt> + b4: ee c0 rjmp .+476 ; 0x292 <__bad_interrupt> b6: 00 00 nop - b8: f4 c0 rjmp .+488 ; 0x2a2 <__bad_interrupt> + b8: ec c0 rjmp .+472 ; 0x292 <__bad_interrupt> ba: 00 00 nop - bc: f2 c0 rjmp .+484 ; 0x2a2 <__bad_interrupt> + bc: ea c0 rjmp .+468 ; 0x292 <__bad_interrupt> be: 00 00 nop - c0: f0 c0 rjmp .+480 ; 0x2a2 <__bad_interrupt> + c0: e8 c0 rjmp .+464 ; 0x292 <__bad_interrupt> c2: 00 00 nop - c4: ee c0 rjmp .+476 ; 0x2a2 <__bad_interrupt> + c4: e6 c0 rjmp .+460 ; 0x292 <__bad_interrupt> c6: 00 00 nop - c8: ec c0 rjmp .+472 ; 0x2a2 <__bad_interrupt> + c8: e4 c0 rjmp .+456 ; 0x292 <__bad_interrupt> ca: 00 00 nop - cc: ea c0 rjmp .+468 ; 0x2a2 <__bad_interrupt> + cc: e2 c0 rjmp .+452 ; 0x292 <__bad_interrupt> ce: 00 00 nop - d0: e8 c0 rjmp .+464 ; 0x2a2 <__bad_interrupt> + d0: e0 c0 rjmp .+448 ; 0x292 <__bad_interrupt> d2: 00 00 nop - d4: e6 c0 rjmp .+460 ; 0x2a2 <__bad_interrupt> + d4: de c0 rjmp .+444 ; 0x292 <__bad_interrupt> d6: 00 00 nop - d8: e4 c0 rjmp .+456 ; 0x2a2 <__bad_interrupt> + d8: dc c0 rjmp .+440 ; 0x292 <__bad_interrupt> da: 00 00 nop - dc: e2 c0 rjmp .+452 ; 0x2a2 <__bad_interrupt> + dc: da c0 rjmp .+436 ; 0x292 <__bad_interrupt> de: 00 00 nop - e0: e0 c0 rjmp .+448 ; 0x2a2 <__bad_interrupt> + e0: d8 c0 rjmp .+432 ; 0x292 <__bad_interrupt> e2: 00 00 nop - e4: de c0 rjmp .+444 ; 0x2a2 <__bad_interrupt> + e4: d6 c0 rjmp .+428 ; 0x292 <__bad_interrupt> e6: 00 00 nop - e8: dc c0 rjmp .+440 ; 0x2a2 <__bad_interrupt> + e8: d4 c0 rjmp .+424 ; 0x292 <__bad_interrupt> ea: 00 00 nop - ec: da c0 rjmp .+436 ; 0x2a2 <__bad_interrupt> + ec: d2 c0 rjmp .+420 ; 0x292 <__bad_interrupt> ee: 00 00 nop - f0: d8 c0 rjmp .+432 ; 0x2a2 <__bad_interrupt> + f0: d0 c0 rjmp .+416 ; 0x292 <__bad_interrupt> f2: 00 00 nop - f4: d6 c0 rjmp .+428 ; 0x2a2 <__bad_interrupt> + f4: ce c0 rjmp .+412 ; 0x292 <__bad_interrupt> f6: 00 00 nop - f8: d4 c0 rjmp .+424 ; 0x2a2 <__bad_interrupt> + f8: cc c0 rjmp .+408 ; 0x292 <__bad_interrupt> fa: 00 00 nop - fc: d2 c0 rjmp .+420 ; 0x2a2 <__bad_interrupt> + fc: ca c0 rjmp .+404 ; 0x292 <__bad_interrupt> fe: 00 00 nop - 100: d0 c0 rjmp .+416 ; 0x2a2 <__bad_interrupt> + 100: c8 c0 rjmp .+400 ; 0x292 <__bad_interrupt> 102: 00 00 nop - 104: ce c0 rjmp .+412 ; 0x2a2 <__bad_interrupt> + 104: c6 c0 rjmp .+396 ; 0x292 <__bad_interrupt> 106: 00 00 nop - 108: cc c0 rjmp .+408 ; 0x2a2 <__bad_interrupt> + 108: c4 c0 rjmp .+392 ; 0x292 <__bad_interrupt> 10a: 00 00 nop - 10c: ca c0 rjmp .+404 ; 0x2a2 <__bad_interrupt> + 10c: c2 c0 rjmp .+388 ; 0x292 <__bad_interrupt> 10e: 00 00 nop - 110: c8 c0 rjmp .+400 ; 0x2a2 <__bad_interrupt> + 110: c0 c0 rjmp .+384 ; 0x292 <__bad_interrupt> 112: 00 00 nop - 114: c6 c0 rjmp .+396 ; 0x2a2 <__bad_interrupt> + 114: be c0 rjmp .+380 ; 0x292 <__bad_interrupt> 116: 00 00 nop - 118: c4 c0 rjmp .+392 ; 0x2a2 <__bad_interrupt> + 118: bc c0 rjmp .+376 ; 0x292 <__bad_interrupt> 11a: 00 00 nop - 11c: c2 c0 rjmp .+388 ; 0x2a2 <__bad_interrupt> + 11c: ba c0 rjmp .+372 ; 0x292 <__bad_interrupt> 11e: 00 00 nop - 120: c0 c0 rjmp .+384 ; 0x2a2 <__bad_interrupt> + 120: b8 c0 rjmp .+368 ; 0x292 <__bad_interrupt> 122: 00 00 nop - 124: be c0 rjmp .+380 ; 0x2a2 <__bad_interrupt> + 124: b6 c0 rjmp .+364 ; 0x292 <__bad_interrupt> 126: 00 00 nop - 128: bc c0 rjmp .+376 ; 0x2a2 <__bad_interrupt> + 128: b4 c0 rjmp .+360 ; 0x292 <__bad_interrupt> 12a: 00 00 nop - 12c: ba c0 rjmp .+372 ; 0x2a2 <__bad_interrupt> + 12c: b2 c0 rjmp .+356 ; 0x292 <__bad_interrupt> 12e: 00 00 nop - 130: b8 c0 rjmp .+368 ; 0x2a2 <__bad_interrupt> + 130: b0 c0 rjmp .+352 ; 0x292 <__bad_interrupt> 132: 00 00 nop - 134: b6 c0 rjmp .+364 ; 0x2a2 <__bad_interrupt> + 134: ae c0 rjmp .+348 ; 0x292 <__bad_interrupt> 136: 00 00 nop - 138: b4 c0 rjmp .+360 ; 0x2a2 <__bad_interrupt> + 138: ac c0 rjmp .+344 ; 0x292 <__bad_interrupt> 13a: 00 00 nop - 13c: b2 c0 rjmp .+356 ; 0x2a2 <__bad_interrupt> + 13c: aa c0 rjmp .+340 ; 0x292 <__bad_interrupt> 13e: 00 00 nop - 140: b0 c0 rjmp .+352 ; 0x2a2 <__bad_interrupt> + 140: a8 c0 rjmp .+336 ; 0x292 <__bad_interrupt> 142: 00 00 nop - 144: ae c0 rjmp .+348 ; 0x2a2 <__bad_interrupt> + 144: a6 c0 rjmp .+332 ; 0x292 <__bad_interrupt> 146: 00 00 nop - 148: ac c0 rjmp .+344 ; 0x2a2 <__bad_interrupt> + 148: a4 c0 rjmp .+328 ; 0x292 <__bad_interrupt> 14a: 00 00 nop - 14c: e4 c7 rjmp .+4040 ; 0x1116 <__vector_83> + 14c: 66 c6 rjmp .+3276 ; 0xe1a <__vector_83> 14e: 00 00 nop - 150: a8 c0 rjmp .+336 ; 0x2a2 <__bad_interrupt> + 150: a0 c0 rjmp .+320 ; 0x292 <__bad_interrupt> 152: 00 00 nop - 154: a6 c0 rjmp .+332 ; 0x2a2 <__bad_interrupt> + 154: 9e c0 rjmp .+316 ; 0x292 <__bad_interrupt> 156: 00 00 nop - 158: a4 c0 rjmp .+328 ; 0x2a2 <__bad_interrupt> + 158: 9c c0 rjmp .+312 ; 0x292 <__bad_interrupt> 15a: 00 00 nop - 15c: a2 c0 rjmp .+324 ; 0x2a2 <__bad_interrupt> + 15c: 9a c0 rjmp .+308 ; 0x292 <__bad_interrupt> 15e: 00 00 nop - 160: a0 c0 rjmp .+320 ; 0x2a2 <__bad_interrupt> + 160: 98 c0 rjmp .+304 ; 0x292 <__bad_interrupt> 162: 00 00 nop - 164: 9e c0 rjmp .+316 ; 0x2a2 <__bad_interrupt> + 164: 96 c0 rjmp .+300 ; 0x292 <__bad_interrupt> 166: 00 00 nop - 168: 9c c0 rjmp .+312 ; 0x2a2 <__bad_interrupt> + 168: 94 c0 rjmp .+296 ; 0x292 <__bad_interrupt> 16a: 00 00 nop - 16c: 9a c0 rjmp .+308 ; 0x2a2 <__bad_interrupt> + 16c: 92 c0 rjmp .+292 ; 0x292 <__bad_interrupt> 16e: 00 00 nop - 170: 98 c0 rjmp .+304 ; 0x2a2 <__bad_interrupt> + 170: 90 c0 rjmp .+288 ; 0x292 <__bad_interrupt> 172: 00 00 nop - 174: 96 c0 rjmp .+300 ; 0x2a2 <__bad_interrupt> + 174: 8e c0 rjmp .+284 ; 0x292 <__bad_interrupt> 176: 00 00 nop - 178: 94 c0 rjmp .+296 ; 0x2a2 <__bad_interrupt> + 178: 8c c0 rjmp .+280 ; 0x292 <__bad_interrupt> 17a: 00 00 nop - 17c: 92 c0 rjmp .+292 ; 0x2a2 <__bad_interrupt> + 17c: 8a c0 rjmp .+276 ; 0x292 <__bad_interrupt> 17e: 00 00 nop - 180: 90 c0 rjmp .+288 ; 0x2a2 <__bad_interrupt> + 180: 88 c0 rjmp .+272 ; 0x292 <__bad_interrupt> 182: 00 00 nop - 184: 8e c0 rjmp .+284 ; 0x2a2 <__bad_interrupt> + 184: 86 c0 rjmp .+268 ; 0x292 <__bad_interrupt> 186: 00 00 nop - 188: 8c c0 rjmp .+280 ; 0x2a2 <__bad_interrupt> + 188: 84 c0 rjmp .+264 ; 0x292 <__bad_interrupt> 18a: 00 00 nop - 18c: 8a c0 rjmp .+276 ; 0x2a2 <__bad_interrupt> + 18c: 82 c0 rjmp .+260 ; 0x292 <__bad_interrupt> 18e: 00 00 nop - 190: 88 c0 rjmp .+272 ; 0x2a2 <__bad_interrupt> + 190: 80 c0 rjmp .+256 ; 0x292 <__bad_interrupt> 192: 00 00 nop - 194: 86 c0 rjmp .+268 ; 0x2a2 <__bad_interrupt> + 194: 7e c0 rjmp .+252 ; 0x292 <__bad_interrupt> 196: 00 00 nop - 198: 84 c0 rjmp .+264 ; 0x2a2 <__bad_interrupt> + 198: 7c c0 rjmp .+248 ; 0x292 <__bad_interrupt> 19a: 00 00 nop - 19c: 82 c0 rjmp .+260 ; 0x2a2 <__bad_interrupt> + 19c: 7a c0 rjmp .+244 ; 0x292 <__bad_interrupt> 19e: 00 00 nop - 1a0: 80 c0 rjmp .+256 ; 0x2a2 <__bad_interrupt> + 1a0: 78 c0 rjmp .+240 ; 0x292 <__bad_interrupt> 1a2: 00 00 nop - 1a4: 7e c0 rjmp .+252 ; 0x2a2 <__bad_interrupt> + 1a4: 76 c0 rjmp .+236 ; 0x292 <__bad_interrupt> 1a6: 00 00 nop - 1a8: 7c c0 rjmp .+248 ; 0x2a2 <__bad_interrupt> + 1a8: 74 c0 rjmp .+232 ; 0x292 <__bad_interrupt> 1aa: 00 00 nop - 1ac: 7a c0 rjmp .+244 ; 0x2a2 <__bad_interrupt> + 1ac: 72 c0 rjmp .+228 ; 0x292 <__bad_interrupt> 1ae: 00 00 nop - 1b0: 78 c0 rjmp .+240 ; 0x2a2 <__bad_interrupt> + 1b0: 70 c0 rjmp .+224 ; 0x292 <__bad_interrupt> 1b2: 00 00 nop - 1b4: 76 c0 rjmp .+236 ; 0x2a2 <__bad_interrupt> + 1b4: 6e c0 rjmp .+220 ; 0x292 <__bad_interrupt> 1b6: 00 00 nop - 1b8: 74 c0 rjmp .+232 ; 0x2a2 <__bad_interrupt> + 1b8: 6c c0 rjmp .+216 ; 0x292 <__bad_interrupt> 1ba: 00 00 nop - 1bc: 72 c0 rjmp .+228 ; 0x2a2 <__bad_interrupt> + 1bc: 6a c0 rjmp .+212 ; 0x292 <__bad_interrupt> 1be: 00 00 nop - 1c0: 70 c0 rjmp .+224 ; 0x2a2 <__bad_interrupt> + 1c0: 68 c0 rjmp .+208 ; 0x292 <__bad_interrupt> 1c2: 00 00 nop - 1c4: 6e c0 rjmp .+220 ; 0x2a2 <__bad_interrupt> + 1c4: 66 c0 rjmp .+204 ; 0x292 <__bad_interrupt> 1c6: 00 00 nop - 1c8: 6c c0 rjmp .+216 ; 0x2a2 <__bad_interrupt> + 1c8: 64 c0 rjmp .+200 ; 0x292 <__bad_interrupt> 1ca: 00 00 nop - 1cc: 6a c0 rjmp .+212 ; 0x2a2 <__bad_interrupt> + 1cc: 62 c0 rjmp .+196 ; 0x292 <__bad_interrupt> 1ce: 00 00 nop - 1d0: 68 c0 rjmp .+208 ; 0x2a2 <__bad_interrupt> + 1d0: 60 c0 rjmp .+192 ; 0x292 <__bad_interrupt> 1d2: 00 00 nop - 1d4: 66 c0 rjmp .+204 ; 0x2a2 <__bad_interrupt> + 1d4: 5e c0 rjmp .+188 ; 0x292 <__bad_interrupt> 1d6: 00 00 nop - 1d8: 64 c0 rjmp .+200 ; 0x2a2 <__bad_interrupt> + 1d8: 5c c0 rjmp .+184 ; 0x292 <__bad_interrupt> 1da: 00 00 nop - 1dc: 62 c0 rjmp .+196 ; 0x2a2 <__bad_interrupt> + 1dc: 5a c0 rjmp .+180 ; 0x292 <__bad_interrupt> 1de: 00 00 nop - 1e0: 60 c0 rjmp .+192 ; 0x2a2 <__bad_interrupt> + 1e0: 58 c0 rjmp .+176 ; 0x292 <__bad_interrupt> 1e2: 00 00 nop - 1e4: 5e c0 rjmp .+188 ; 0x2a2 <__bad_interrupt> + 1e4: 56 c0 rjmp .+172 ; 0x292 <__bad_interrupt> 1e6: 00 00 nop - 1e8: 5c c0 rjmp .+184 ; 0x2a2 <__bad_interrupt> + 1e8: 54 c0 rjmp .+168 ; 0x292 <__bad_interrupt> 1ea: 00 00 nop - 1ec: 5a c0 rjmp .+180 ; 0x2a2 <__bad_interrupt> + 1ec: 52 c0 rjmp .+164 ; 0x292 <__bad_interrupt> 1ee: 00 00 nop - 1f0: 58 c0 rjmp .+176 ; 0x2a2 <__bad_interrupt> + 1f0: 50 c0 rjmp .+160 ; 0x292 <__bad_interrupt> 1f2: 00 00 nop - 1f4: 0c 94 da 14 jmp 0x29b4 ; 0x29b4 <__vector_125> - 1f8: 0c 94 94 15 jmp 0x2b28 ; 0x2b28 <__vector_126> - 1fc: d7 01 movw r26, r14 - 1fe: d9 01 movw r26, r18 - 200: db 01 movw r26, r22 - 202: dd 01 movw r26, r26 - 204: df 01 movw r26, r30 - 206: e4 01 movw r28, r8 - 208: e1 01 movw r28, r2 - 20a: e3 01 movw r28, r6 - 20c: 41 06 cpc r4, r17 - 20e: 68 06 cpc r6, r24 - 210: 8f 06 cpc r8, r31 - 212: b6 06 cpc r11, r22 - 214: dd 06 cpc r13, r29 - 216: 4d 07 cpc r20, r29 - 218: 04 07 cpc r16, r20 - 21a: 29 07 cpc r18, r25 - 21c: b7 0b sbc r27, r23 - 21e: b9 0b sbc r27, r25 - 220: f8 0b sbc r31, r24 - 222: 38 0c add r3, r8 - 224: 41 0c add r4, r1 - 226: 46 0c add r4, r6 - 228: 9b 0c add r9, r11 - 22a: a0 0c add r10, r0 - 22c: e5 0b sbc r30, r21 - 22e: e8 0b sbc r30, r24 - 230: eb 0b sbc r30, r27 - 232: ee 0b sbc r30, r30 - 234: f0 0b sbc r31, r16 - 236: f2 0b sbc r31, r18 - 238: f4 0b sbc r31, r20 - 23a: f6 0b sbc r31, r22 - 23c: 24 0c add r2, r4 - 23e: 27 0c add r2, r7 - 240: 2a 0c add r2, r10 - 242: 2d 0c add r2, r13 - 244: 30 0c add r3, r0 - 246: 32 0c add r3, r2 - 248: 34 0c add r3, r4 - 24a: 36 0c add r3, r6 - 24c: 52 0c add r5, r2 - 24e: 5d 0c add r5, r13 - 250: 68 0c add r6, r8 - 252: 77 0c add r7, r7 - 254: 7a 0c add r7, r10 - 256: 7c 0c add r7, r12 - 258: 86 0c add r8, r6 - 25a: 90 0c add r9, r0 - 25c: 18 10 cpse r1, r8 - 25e: 1b 10 cpse r1, r11 - 260: 1e 10 cpse r1, r14 - 262: 21 10 cpse r2, r1 - 264: 24 10 cpse r2, r4 - 266: 27 10 cpse r2, r7 - 268: 2a 10 cpse r2, r10 + 1f4: 0c 94 4d 13 jmp 0x269a ; 0x269a <__vector_125> + 1f8: 0c 94 07 14 jmp 0x280e ; 0x280e <__vector_126> + 1fc: e4 01 movw r28, r8 + 1fe: e6 01 movw r28, r12 + 200: e8 01 movw r28, r16 + 202: ea 01 movw r28, r20 + 204: ec 01 movw r28, r24 + 206: f1 01 movw r30, r2 + 208: ee 01 movw r28, r28 + 20a: f0 01 movw r30, r0 + 20c: 34 0a sbc r3, r20 + 20e: 36 0a sbc r3, r22 + 210: 72 0a sbc r7, r18 + 212: ae 0a sbc r10, r30 + 214: b7 0a sbc r11, r23 + 216: bc 0a sbc r11, r28 + 218: 0e 0b sbc r16, r30 + 21a: 13 0b sbc r17, r19 + 21c: 62 0a sbc r6, r18 + 21e: 64 0a sbc r6, r20 + 220: 66 0a sbc r6, r22 + 222: 68 0a sbc r6, r24 + 224: 6a 0a sbc r6, r26 + 226: 6c 0a sbc r6, r28 + 228: 6e 0a sbc r6, r30 + 22a: 70 0a sbc r7, r16 + 22c: 9e 0a sbc r9, r30 + 22e: a0 0a sbc r10, r16 + 230: a2 0a sbc r10, r18 + 232: a4 0a sbc r10, r20 + 234: a6 0a sbc r10, r22 + 236: a8 0a sbc r10, r24 + 238: aa 0a sbc r10, r26 + 23a: ac 0a sbc r10, r28 + 23c: c8 0a sbc r12, r24 + 23e: d3 0a sbc r13, r19 + 240: dd 0a sbc r13, r29 + 242: eb 0a sbc r14, r27 + 244: ed 0a sbc r14, r29 + 246: ef 0a sbc r14, r31 + 248: f9 0a sbc r15, r25 + 24a: 03 0b sbc r16, r19 + 24c: 8b 0e add r8, r27 + 24e: 8e 0e add r8, r30 + 250: 91 0e add r9, r17 + 252: 94 0e add r9, r20 + 254: 97 0e add r9, r23 + 256: 9a 0e add r9, r26 + 258: 9d 0e add r9, r29 -0000026a <__ctors_end>: - 26a: 11 24 eor r1, r1 - 26c: 1f be out 0x3f, r1 ; 63 - 26e: cf ef ldi r28, 0xFF ; 255 - 270: cd bf out 0x3d, r28 ; 61 - 272: df e2 ldi r29, 0x2F ; 47 - 274: de bf out 0x3e, r29 ; 62 +0000025a <__ctors_end>: + 25a: 11 24 eor r1, r1 + 25c: 1f be out 0x3f, r1 ; 63 + 25e: cf ef ldi r28, 0xFF ; 255 + 260: cd bf out 0x3d, r28 ; 61 + 262: df e2 ldi r29, 0x2F ; 47 + 264: de bf out 0x3e, r29 ; 62 -00000276 <__do_copy_data>: - 276: 10 e2 ldi r17, 0x20 ; 32 - 278: a0 e0 ldi r26, 0x00 ; 0 - 27a: b0 e2 ldi r27, 0x20 ; 32 - 27c: e6 e4 ldi r30, 0x46 ; 70 - 27e: fd e2 ldi r31, 0x2D ; 45 - 280: 02 c0 rjmp .+4 ; 0x286 <__do_copy_data+0x10> - 282: 05 90 lpm r0, Z+ - 284: 0d 92 st X+, r0 - 286: a2 3b cpi r26, 0xB2 ; 178 - 288: b1 07 cpc r27, r17 - 28a: d9 f7 brne .-10 ; 0x282 <__do_copy_data+0xc> +00000266 <__do_copy_data>: + 266: 10 e2 ldi r17, 0x20 ; 32 + 268: a0 e0 ldi r26, 0x00 ; 0 + 26a: b0 e2 ldi r27, 0x20 ; 32 + 26c: ec e2 ldi r30, 0x2C ; 44 + 26e: fa e2 ldi r31, 0x2A ; 42 + 270: 02 c0 rjmp .+4 ; 0x276 <__do_copy_data+0x10> + 272: 05 90 lpm r0, Z+ + 274: 0d 92 st X+, r0 + 276: a2 3b cpi r26, 0xB2 ; 178 + 278: b1 07 cpc r27, r17 + 27a: d9 f7 brne .-10 ; 0x272 <__do_copy_data+0xc> -0000028c <__do_clear_bss>: - 28c: 2c e2 ldi r18, 0x2C ; 44 - 28e: a2 eb ldi r26, 0xB2 ; 178 - 290: b0 e2 ldi r27, 0x20 ; 32 - 292: 01 c0 rjmp .+2 ; 0x296 <.do_clear_bss_start> +0000027c <__do_clear_bss>: + 27c: 2c e2 ldi r18, 0x2C ; 44 + 27e: a2 eb ldi r26, 0xB2 ; 178 + 280: b0 e2 ldi r27, 0x20 ; 32 + 282: 01 c0 rjmp .+2 ; 0x286 <.do_clear_bss_start> -00000294 <.do_clear_bss_loop>: - 294: 1d 92 st X+, r1 +00000284 <.do_clear_bss_loop>: + 284: 1d 92 st X+, r1 -00000296 <.do_clear_bss_start>: - 296: ac 34 cpi r26, 0x4C ; 76 - 298: b2 07 cpc r27, r18 - 29a: e1 f7 brne .-8 ; 0x294 <.do_clear_bss_loop> - 29c: 41 d0 rcall .+130 ; 0x320

- 29e: 0c 94 a1 16 jmp 0x2d42 ; 0x2d42 <_exit> +00000286 <.do_clear_bss_start>: + 286: a5 35 cpi r26, 0x55 ; 85 + 288: b2 07 cpc r27, r18 + 28a: e1 f7 brne .-8 ; 0x284 <.do_clear_bss_loop> + 28c: 3e d0 rcall .+124 ; 0x30a
+ 28e: 0c 94 14 15 jmp 0x2a28 ; 0x2a28 <_exit> -000002a2 <__bad_interrupt>: - 2a2: ae ce rjmp .-676 ; 0x0 <__vectors> +00000292 <__bad_interrupt>: + 292: b6 ce rjmp .-660 ; 0x0 <__vectors> -000002a4 : +00000294 : #include "tiny_dig.h" #include "globals.h" void tiny_dig_setup(void){ PORTE.DIR = 0x0f; - 2a4: e0 e8 ldi r30, 0x80 ; 128 - 2a6: f6 e0 ldi r31, 0x06 ; 6 - 2a8: 8f e0 ldi r24, 0x0F ; 15 - 2aa: 80 83 st Z, r24 + 294: e0 e8 ldi r30, 0x80 ; 128 + 296: f6 e0 ldi r31, 0x06 ; 6 + 298: 8f e0 ldi r24, 0x0F ; 15 + 29a: 80 83 st Z, r24 PORTE.OUT = 0x05; - 2ac: 85 e0 ldi r24, 0x05 ; 5 - 2ae: 84 83 std Z+4, r24 ; 0x04 - 2b0: 08 95 ret + 29c: 85 e0 ldi r24, 0x05 ; 5 + 29e: 84 83 std Z+4, r24 ; 0x04 + 2a0: 08 95 ret -000002b2 : +000002a2 : #include #include #include void board_init(void) { - 2b2: 08 95 ret + 2a2: 08 95 ret -000002b4 : +000002a4 : { return true; } 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[usb_state * PACKET_SIZE], 250, iso_callback); - 2b4: 40 91 b3 20 lds r20, 0x20B3 ; 0x8020b3 - 2b8: 2e ee ldi r18, 0xEE ; 238 - 2ba: 32 e0 ldi r19, 0x02 ; 2 - 2bc: 42 9f mul r20, r18 - 2be: c0 01 movw r24, r0 - 2c0: 43 9f mul r20, r19 - 2c2: 90 0d add r25, r0 - 2c4: 11 24 eor r1, r1 - 2c6: 4a e5 ldi r20, 0x5A ; 90 - 2c8: 51 e0 ldi r21, 0x01 ; 1 - 2ca: 6a ef ldi r22, 0xFA ; 250 - 2cc: 70 e0 ldi r23, 0x00 ; 0 - 2ce: 86 59 subi r24, 0x96 ; 150 - 2d0: 99 4d sbci r25, 0xD9 ; 217 - 2d2: 0c 94 28 0a jmp 0x1450 ; 0x1450 - 2d6: 08 95 ret + 2a4: 40 91 b3 20 lds r20, 0x20B3 ; 0x8020b3 + 2a8: 2e ee ldi r18, 0xEE ; 238 + 2aa: 32 e0 ldi r19, 0x02 ; 2 + 2ac: 42 9f mul r20, r18 + 2ae: c0 01 movw r24, r0 + 2b0: 43 9f mul r20, r19 + 2b2: 90 0d add r25, r0 + 2b4: 11 24 eor r1, r1 + 2b6: 42 e5 ldi r20, 0x52 ; 82 + 2b8: 51 e0 ldi r21, 0x01 ; 1 + 2ba: 6a ef ldi r22, 0xFA ; 250 + 2bc: 70 e0 ldi r23, 0x00 ; 0 + 2be: 8e 58 subi r24, 0x8E ; 142 + 2c0: 99 4d sbci r25, 0xD9 ; 217 + 2c2: 43 c7 rjmp .+3718 ; 0x114a + 2c4: 08 95 ret -000002d8 : - //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[0], PACKET_SIZE, iso_callback); +000002c6 : + //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[!usb_state * PACKET_SIZE], PACKET_SIZE, iso_callback); return; } void iso_callback2(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_t ep){ udi_vendor_iso_in_run2((uint8_t *)&isoBuf[usb_state * PACKET_SIZE + 250], 250, iso_callback2); - 2d8: 40 91 b3 20 lds r20, 0x20B3 ; 0x8020b3 - 2dc: 2e ee ldi r18, 0xEE ; 238 - 2de: 32 e0 ldi r19, 0x02 ; 2 - 2e0: 42 9f mul r20, r18 - 2e2: c0 01 movw r24, r0 - 2e4: 43 9f mul r20, r19 - 2e6: 90 0d add r25, r0 - 2e8: 11 24 eor r1, r1 - 2ea: 4c e6 ldi r20, 0x6C ; 108 - 2ec: 51 e0 ldi r21, 0x01 ; 1 - 2ee: 6a ef ldi r22, 0xFA ; 250 - 2f0: 70 e0 ldi r23, 0x00 ; 0 - 2f2: 8c 59 subi r24, 0x9C ; 156 - 2f4: 98 4d sbci r25, 0xD8 ; 216 - 2f6: 0c 94 34 0a jmp 0x1468 ; 0x1468 - 2fa: 08 95 ret + 2c6: 40 91 b3 20 lds r20, 0x20B3 ; 0x8020b3 + 2ca: 2e ee ldi r18, 0xEE ; 238 + 2cc: 32 e0 ldi r19, 0x02 ; 2 + 2ce: 42 9f mul r20, r18 + 2d0: c0 01 movw r24, r0 + 2d2: 43 9f mul r20, r19 + 2d4: 90 0d add r25, r0 + 2d6: 11 24 eor r1, r1 + 2d8: 43 e6 ldi r20, 0x63 ; 99 + 2da: 51 e0 ldi r21, 0x01 ; 1 + 2dc: 6a ef ldi r22, 0xFA ; 250 + 2de: 70 e0 ldi r23, 0x00 ; 0 + 2e0: 84 59 subi r24, 0x94 ; 148 + 2e2: 98 4d sbci r25, 0xD8 ; 216 + 2e4: 3e c7 rjmp .+3708 ; 0x1162 + 2e6: 08 95 ret -000002fc : - //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[0], PACKET_SIZE, iso_callback); +000002e8 : + //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[!usb_state * PACKET_SIZE + 250], PACKET_SIZE, iso_callback); return; } void iso_callback3(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_t ep){ udi_vendor_iso_in_run3((uint8_t *)&isoBuf[usb_state * PACKET_SIZE + 500], 250, iso_callback3); - 2fc: 40 91 b3 20 lds r20, 0x20B3 ; 0x8020b3 - 300: 2e ee ldi r18, 0xEE ; 238 - 302: 32 e0 ldi r19, 0x02 ; 2 - 304: 42 9f mul r20, r18 - 306: c0 01 movw r24, r0 - 308: 43 9f mul r20, r19 - 30a: 90 0d add r25, r0 - 30c: 11 24 eor r1, r1 - 30e: 4e e7 ldi r20, 0x7E ; 126 - 310: 51 e0 ldi r21, 0x01 ; 1 - 312: 6a ef ldi r22, 0xFA ; 250 - 314: 70 e0 ldi r23, 0x00 ; 0 - 316: 82 5a subi r24, 0xA2 ; 162 - 318: 97 4d sbci r25, 0xD7 ; 215 - 31a: 0c 94 40 0a jmp 0x1480 ; 0x1480 - 31e: 08 95 ret + 2e8: 40 91 b3 20 lds r20, 0x20B3 ; 0x8020b3 + 2ec: 2e ee ldi r18, 0xEE ; 238 + 2ee: 32 e0 ldi r19, 0x02 ; 2 + 2f0: 42 9f mul r20, r18 + 2f2: c0 01 movw r24, r0 + 2f4: 43 9f mul r20, r19 + 2f6: 90 0d add r25, r0 + 2f8: 11 24 eor r1, r1 + 2fa: 44 e7 ldi r20, 0x74 ; 116 + 2fc: 51 e0 ldi r21, 0x01 ; 1 + 2fe: 6a ef ldi r22, 0xFA ; 250 + 300: 70 e0 ldi r23, 0x00 ; 0 + 302: 8a 59 subi r24, 0x9A ; 154 + 304: 97 4d sbci r25, 0xD7 ; 215 + 306: 39 c7 rjmp .+3698 ; 0x117a + 308: 08 95 ret + +0000030a
: +volatile unsigned char precalc_DMA_CH1_DESTADDR1_b2_state_equals_1; -00000320
: -uint32_t debug_counter; -unsigned char tripleUsbSuccess = 0; int main(void){ irq_initialize_vectors(); - 320: 87 e0 ldi r24, 0x07 ; 7 - 322: 80 93 a2 00 sts 0x00A2, r24 ; 0x8000a2 <__TEXT_REGION_LENGTH__+0x7000a2> + 30a: 87 e0 ldi r24, 0x07 ; 7 + 30c: 80 93 a2 00 sts 0x00A2, r24 ; 0x8000a2 <__TEXT_REGION_LENGTH__+0x7000a2> cpu_irq_enable(); - 326: 78 94 sei + 310: 78 94 sei sysclk_init(); - 328: a4 d7 rcall .+3912 ; 0x1272 + 312: 2e d6 rcall .+3164 ; 0xf70 board_init(); - 32a: c3 df rcall .-122 ; 0x2b2 + 314: c6 df rcall .-116 ; 0x2a2 udc_start(); - 32c: 0e 94 37 0b call 0x166e ; 0x166e + 316: 0e 94 b4 09 call 0x1368 ; 0x1368 tiny_dac_setup(); - 330: e6 d0 rcall .+460 ; 0x4fe + 31a: fd d0 rcall .+506 ; 0x516 tiny_dma_setup(); - 332: 09 d1 rcall .+530 ; 0x546 + 31c: 20 d1 rcall .+576 ; 0x55e tiny_adc_setup(0, 0); - 334: 60 e0 ldi r22, 0x00 ; 0 - 336: 80 e0 ldi r24, 0x00 ; 0 - 338: a5 d0 rcall .+330 ; 0x484 + 31e: 60 e0 ldi r22, 0x00 ; 0 + 320: 80 e0 ldi r24, 0x00 ; 0 + 322: bc d0 rcall .+376 ; 0x49c tiny_adc_pid_setup(); - 33a: 91 d0 rcall .+290 ; 0x45e + 324: a8 d0 rcall .+336 ; 0x476 tiny_adc_ch1setup(12); - 33c: 8c e0 ldi r24, 0x0C ; 12 - 33e: 85 d0 rcall .+266 ; 0x44a + 326: 8c e0 ldi r24, 0x0C ; 12 + 328: 9c d0 rcall .+312 ; 0x462 tiny_timer_setup(); - 340: af d6 rcall .+3422 ; 0x10a0 + 32a: 32 d5 rcall .+2660 ; 0xd90 tiny_uart_setup(); - 342: 63 d7 rcall .+3782 ; 0x120a + 32c: f0 d5 rcall .+3040 ; 0xf0e tiny_spi_setup(); - 344: 7c d7 rcall .+3832 ; 0x123e + 32e: 07 d6 rcall .+3086 ; 0xf3e tiny_dig_setup(); - 346: ae df rcall .-164 ; 0x2a4 - 348: 80 91 56 22 lds r24, 0x2256 ; 0x802256 - 34c: 90 91 57 22 lds r25, 0x2257 ; 0x802257 - 350: a0 91 58 22 lds r26, 0x2258 ; 0x802258 - 354: b0 91 59 22 lds r27, 0x2259 ; 0x802259 + 330: b1 df rcall .-158 ; 0x294 //USARTC0.DATA = 0x55; //asm("nop"); + + precalc_DMA_CH0_DESTADDR0_b1_state_equals_0 = (( (uint16_t) &isoBuf[0 * PACKET_SIZE]) >> 0) & 0xFF; + 332: 22 e7 ldi r18, 0x72 ; 114 + 334: 36 e2 ldi r19, 0x26 ; 38 + 336: 20 93 6f 24 sts 0x246F, r18 ; 0x80246f + precalc_DMA_CH0_DESTADDR0_b1_state_equals_1 = (( (uint16_t) &isoBuf[1 * PACKET_SIZE]) >> 0) & 0xFF; + 33a: 80 e6 ldi r24, 0x60 ; 96 + 33c: 99 e2 ldi r25, 0x29 ; 41 + 33e: 80 93 70 24 sts 0x2470, r24 ; 0x802470 + precalc_DMA_CH0_DESTADDR1_b1_state_equals_0 = (( (uint16_t) &isoBuf[0 * PACKET_SIZE]) >> 8) & 0xFF; + 342: 30 93 5d 22 sts 0x225D, r19 ; 0x80225d + precalc_DMA_CH0_DESTADDR1_b1_state_equals_1 = (( (uint16_t) &isoBuf[1 * PACKET_SIZE]) >> 8) & 0xFF; + 346: 90 93 5c 22 sts 0x225C, r25 ; 0x80225c + + precalc_DMA_CH1_DESTADDR0_b2_state_equals_0 = (( (uint16_t) &isoBuf[0 * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; + 34a: 29 ee ldi r18, 0xE9 ; 233 + 34c: 37 e2 ldi r19, 0x27 ; 39 + 34e: 20 93 57 22 sts 0x2257, r18 ; 0x802257 + precalc_DMA_CH1_DESTADDR0_b2_state_equals_1 = (( (uint16_t) &isoBuf[1 * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; + 352: 87 ed ldi r24, 0xD7 ; 215 + 354: 9a e2 ldi r25, 0x2A ; 42 + 356: 80 93 4e 2c sts 0x2C4E, r24 ; 0x802c4e + precalc_DMA_CH1_DESTADDR1_b2_state_equals_0 = (( (uint16_t) &isoBuf[0 * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; + 35a: 30 93 5e 24 sts 0x245E, r19 ; 0x80245e + precalc_DMA_CH1_DESTADDR1_b2_state_equals_1 = (( (uint16_t) &isoBuf[1 * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; + 35e: 90 93 56 22 sts 0x2256, r25 ; 0x802256 + 362: 80 91 58 22 lds r24, 0x2258 ; 0x802258 + 366: 90 91 59 22 lds r25, 0x2259 ; 0x802259 + 36a: a0 91 5a 22 lds r26, 0x225A ; 0x80225a + 36e: b0 91 5b 22 lds r27, 0x225B ; 0x80225b + + while (true) { debug_counter++; - 358: 01 96 adiw r24, 0x01 ; 1 - 35a: a1 1d adc r26, r1 - 35c: b1 1d adc r27, r1 + 372: 01 96 adiw r24, 0x01 ; 1 + 374: a1 1d adc r26, r1 + 376: b1 1d adc r27, r1 if(debug_counter > 100000000){ - 35e: 81 30 cpi r24, 0x01 ; 1 - 360: 21 ee ldi r18, 0xE1 ; 225 - 362: 92 07 cpc r25, r18 - 364: 25 ef ldi r18, 0xF5 ; 245 - 366: a2 07 cpc r26, r18 - 368: 25 e0 ldi r18, 0x05 ; 5 - 36a: b2 07 cpc r27, r18 - 36c: 18 f0 brcs .+6 ; 0x374 + 378: 81 30 cpi r24, 0x01 ; 1 + 37a: 21 ee ldi r18, 0xE1 ; 225 + 37c: 92 07 cpc r25, r18 + 37e: 25 ef ldi r18, 0xF5 ; 245 + 380: a2 07 cpc r26, r18 + 382: 25 e0 ldi r18, 0x05 ; 5 + 384: b2 07 cpc r27, r18 + 386: 18 f0 brcs .+6 ; 0x38e debug_counter = 0; - 36e: 80 e0 ldi r24, 0x00 ; 0 - 370: 90 e0 ldi r25, 0x00 ; 0 - 372: dc 01 movw r26, r24 + 388: 80 e0 ldi r24, 0x00 ; 0 + 38a: 90 e0 ldi r25, 0x00 ; 0 + 38c: dc 01 movw r26, r24 ... asm("nop"); asm("nop"); @@ -550,7253 +571,6855 @@ int main(void){ //test_byte = ADCA.CH1.RESH; //DO NOTHING! } - 390: e3 cf rjmp .-58 ; 0x358 + 3aa: e3 cf rjmp .-58 ; 0x372 -00000392 : +000003ac : //! Global variable to give and record information about setup request management udd_ctrl_request_t udd_g_ctrlreq; //CALLBACKS: void main_suspend_action(void) { - 392: 08 95 ret + 3ac: 08 95 ret -00000394 : +000003ae : return; } void main_resume_action(void) { - 394: 08 95 ret + 3ae: 08 95 ret -00000396 : +000003b0 : return; } void main_sof_action(void) { switch(global_mode){ - 396: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 39a: 8e 2f mov r24, r30 - 39c: 90 e0 ldi r25, 0x00 ; 0 - 39e: 88 30 cpi r24, 0x08 ; 8 - 3a0: 91 05 cpc r25, r1 - 3a2: 90 f4 brcc .+36 ; 0x3c8 - 3a4: fc 01 movw r30, r24 - 3a6: e2 50 subi r30, 0x02 ; 2 - 3a8: ff 4f sbci r31, 0xFF ; 255 - 3aa: 0c 94 92 16 jmp 0x2d24 ; 0x2d24 <__tablejump2__> + 3b0: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 3b4: 8e 2f mov r24, r30 + 3b6: 90 e0 ldi r25, 0x00 ; 0 + 3b8: 88 30 cpi r24, 0x08 ; 8 + 3ba: 91 05 cpc r25, r1 + 3bc: 90 f4 brcc .+36 ; 0x3e2 + 3be: fc 01 movw r30, r24 + 3c0: e2 50 subi r30, 0x02 ; 2 + 3c2: ff 4f sbci r31, 0xFF ; 255 + 3c4: 0c 94 05 15 jmp 0x2a0a ; 0x2a0a <__tablejump2__> case 0: tiny_dma_loop_mode_0(); - 3ae: 59 d1 rcall .+690 ; 0x662 + 3c8: 5a d1 rcall .+692 ; 0x67e break; - 3b0: 0b c0 rjmp .+22 ; 0x3c8 + 3ca: 0b c0 rjmp .+22 ; 0x3e2 case 1: tiny_dma_loop_mode_1(); - 3b2: d0 d1 rcall .+928 ; 0x754 + 3cc: d1 d1 rcall .+930 ; 0x770 break; - 3b4: 09 c0 rjmp .+18 ; 0x3c8 + 3ce: 09 c0 rjmp .+18 ; 0x3e2 case 2: tiny_dma_loop_mode_2(); - 3b6: 44 d2 rcall .+1160 ; 0x840 + 3d0: 47 d2 rcall .+1166 ; 0x860 break; - 3b8: 07 c0 rjmp .+14 ; 0x3c8 + 3d2: 07 c0 rjmp .+14 ; 0x3e2 case 3: tiny_dma_loop_mode_3(); - 3ba: bf d2 rcall .+1406 ; 0x93a + 3d4: c2 d2 rcall .+1412 ; 0x95a break; - 3bc: 05 c0 rjmp .+10 ; 0x3c8 + 3d6: 05 c0 rjmp .+10 ; 0x3e2 case 4: tiny_dma_loop_mode_4(); - 3be: 34 d3 rcall .+1640 ; 0xa28 + 3d8: 37 d3 rcall .+1646 ; 0xa48 break; - 3c0: 03 c0 rjmp .+6 ; 0x3c8 + 3da: 03 c0 rjmp .+6 ; 0x3e2 case 6: tiny_dma_loop_mode_6(); - 3c2: dd d3 rcall .+1978 ; 0xb7e + 3dc: e0 d3 rcall .+1984 ; 0xb9e break; - 3c4: 01 c0 rjmp .+2 ; 0x3c8 + 3de: 01 c0 rjmp .+2 ; 0x3e2 case 7: tiny_dma_loop_mode_7(); - 3c6: 3e d4 rcall .+2172 ; 0xc44 + 3e0: 41 d4 rcall .+2178 ; 0xc64 break; default: break; } - usb_state = !b1_state; - 3c8: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - 3cc: 81 e0 ldi r24, 0x01 ; 1 - 3ce: 91 11 cpse r25, r1 - 3d0: 80 e0 ldi r24, 0x00 ; 0 - 3d2: 80 93 b3 20 sts 0x20B3, r24 ; 0x8020b3 - 3d6: 08 95 ret + cli(); + 3e2: f8 94 cli + usb_state = !usb_state; + 3e4: 90 91 b3 20 lds r25, 0x20B3 ; 0x8020b3 + 3e8: 81 e0 ldi r24, 0x01 ; 1 + 3ea: 91 11 cpse r25, r1 + 3ec: 80 e0 ldi r24, 0x00 ; 0 + 3ee: 80 93 b3 20 sts 0x20B3, r24 ; 0x8020b3 + sei(); + 3f2: 78 94 sei + 3f4: 08 95 ret -000003d8 : +000003f6 : return; } bool main_vendor_enable(void) { main_b_vendor_enable = true; - 3d8: 81 e0 ldi r24, 0x01 ; 1 - 3da: 80 93 b6 20 sts 0x20B6, r24 ; 0x8020b6 + 3f6: 81 e0 ldi r24, 0x01 ; 1 + 3f8: 80 93 b6 20 sts 0x20B6, r24 ; 0x8020b6 udi_vendor_iso_in_run((uint8_t *)&isoBuf[0], PACKET_SIZE, iso_callback); - 3de: 4a e5 ldi r20, 0x5A ; 90 - 3e0: 51 e0 ldi r21, 0x01 ; 1 - 3e2: 6e ee ldi r22, 0xEE ; 238 - 3e4: 72 e0 ldi r23, 0x02 ; 2 - 3e6: 8a e6 ldi r24, 0x6A ; 106 - 3e8: 96 e2 ldi r25, 0x26 ; 38 - 3ea: 0e 94 28 0a call 0x1450 ; 0x1450 + 3fc: 42 e5 ldi r20, 0x52 ; 82 + 3fe: 51 e0 ldi r21, 0x01 ; 1 + 400: 6e ee ldi r22, 0xEE ; 238 + 402: 72 e0 ldi r23, 0x02 ; 2 + 404: 82 e7 ldi r24, 0x72 ; 114 + 406: 96 e2 ldi r25, 0x26 ; 38 + 408: a0 d6 rcall .+3392 ; 0x114a udi_vendor_iso_in_run2((uint8_t *)&isoBuf[250], PACKET_SIZE, iso_callback2); - 3ee: 4c e6 ldi r20, 0x6C ; 108 - 3f0: 51 e0 ldi r21, 0x01 ; 1 - 3f2: 6e ee ldi r22, 0xEE ; 238 - 3f4: 72 e0 ldi r23, 0x02 ; 2 - 3f6: 84 e6 ldi r24, 0x64 ; 100 - 3f8: 97 e2 ldi r25, 0x27 ; 39 - 3fa: 0e 94 34 0a call 0x1468 ; 0x1468 + 40a: 43 e6 ldi r20, 0x63 ; 99 + 40c: 51 e0 ldi r21, 0x01 ; 1 + 40e: 6e ee ldi r22, 0xEE ; 238 + 410: 72 e0 ldi r23, 0x02 ; 2 + 412: 8c e6 ldi r24, 0x6C ; 108 + 414: 97 e2 ldi r25, 0x27 ; 39 + 416: a5 d6 rcall .+3402 ; 0x1162 udi_vendor_iso_in_run3((uint8_t *)&isoBuf[500], PACKET_SIZE, iso_callback3); - 3fe: 4e e7 ldi r20, 0x7E ; 126 - 400: 51 e0 ldi r21, 0x01 ; 1 - 402: 6e ee ldi r22, 0xEE ; 238 - 404: 72 e0 ldi r23, 0x02 ; 2 - 406: 8e e5 ldi r24, 0x5E ; 94 - 408: 98 e2 ldi r25, 0x28 ; 40 - 40a: 0e 94 40 0a call 0x1480 ; 0x1480 + 418: 44 e7 ldi r20, 0x74 ; 116 + 41a: 51 e0 ldi r21, 0x01 ; 1 + 41c: 6e ee ldi r22, 0xEE ; 238 + 41e: 72 e0 ldi r23, 0x02 ; 2 + 420: 86 e6 ldi r24, 0x66 ; 102 + 422: 98 e2 ldi r25, 0x28 ; 40 + 424: aa d6 rcall .+3412 ; 0x117a return true; } - 40e: 81 e0 ldi r24, 0x01 ; 1 - 410: 08 95 ret + 426: 81 e0 ldi r24, 0x01 ; 1 + 428: 08 95 ret -00000412 : +0000042a : void main_vendor_disable(void) { main_b_vendor_enable = false; - 412: 10 92 b6 20 sts 0x20B6, r1 ; 0x8020b6 - 416: 08 95 ret + 42a: 10 92 b6 20 sts 0x20B6, r1 ; 0x8020b6 + 42e: 08 95 ret -00000418 : +00000430 : } bool main_setup_out_received(void) { return 1; } - 418: 81 e0 ldi r24, 0x01 ; 1 - 41a: 08 95 ret + 430: 81 e0 ldi r24, 0x01 ; 1 + 432: 08 95 ret -0000041c : +00000434 : bool main_setup_in_received(void) { return true; } - 41c: 81 e0 ldi r24, 0x01 ; 1 - 41e: 08 95 ret + 434: 81 e0 ldi r24, 0x01 ; 1 + 436: 08 95 ret -00000420 : +00000438 : return; } void tiny_adc_ch0setup(unsigned char gain_mask){ ADCA.CH0.CTRL = 0x00; //Reset - 420: e0 e0 ldi r30, 0x00 ; 0 - 422: f2 e0 ldi r31, 0x02 ; 2 - 424: 10 a2 std Z+32, r1 ; 0x20 + 438: e0 e0 ldi r30, 0x00 ; 0 + 43a: f2 e0 ldi r31, 0x02 ; 2 + 43c: 10 a2 std Z+32, r1 ; 0x20 ADCA.CH0.CTRL = ADC_CH_START_bm | (gain_mask&0x1c) | ADC_CH_INPUTMODE_DIFFWGAIN_gc; - 426: 98 2f mov r25, r24 - 428: 9c 71 andi r25, 0x1C ; 28 - 42a: 93 68 ori r25, 0x83 ; 131 - 42c: 90 a3 std Z+32, r25 ; 0x20 + 43e: 98 2f mov r25, r24 + 440: 9c 71 andi r25, 0x1C ; 28 + 442: 93 68 ori r25, 0x83 ; 131 + 444: 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); #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); - 42e: 88 23 and r24, r24 - 430: 1c f4 brge .+6 ; 0x438 - 432: 90 e1 ldi r25, 0x10 ; 16 - 434: 82 e0 ldi r24, 0x02 ; 2 - 436: 02 c0 rjmp .+4 ; 0x43c - 438: 90 e0 ldi r25, 0x00 ; 0 - 43a: 80 e0 ldi r24, 0x00 ; 0 - 43c: 89 2b or r24, r25 - 43e: e0 e0 ldi r30, 0x00 ; 0 - 440: f2 e0 ldi r31, 0x02 ; 2 - 442: 81 a3 std Z+33, r24 ; 0x21 + 446: 88 23 and r24, r24 + 448: 1c f4 brge .+6 ; 0x450 + 44a: 90 e1 ldi r25, 0x10 ; 16 + 44c: 82 e0 ldi r24, 0x02 ; 2 + 44e: 02 c0 rjmp .+4 ; 0x454 + 450: 90 e0 ldi r25, 0x00 ; 0 + 452: 80 e0 ldi r24, 0x00 ; 0 + 454: 89 2b or r24, r25 + 456: e0 e0 ldi r30, 0x00 ; 0 + 458: f2 e0 ldi r31, 0x02 ; 2 + 45a: 81 a3 std Z+33, r24 ; 0x21 #endif ADCA.CH0.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 444: 12 a2 std Z+34, r1 ; 0x22 + 45c: 12 a2 std Z+34, r1 ; 0x22 ADCA.CH0.SCAN = 0x00; //Disable scanning - 446: 16 a2 std Z+38, r1 ; 0x26 - 448: 08 95 ret + 45e: 16 a2 std Z+38, r1 ; 0x26 + 460: 08 95 ret -0000044a : +00000462 : } void tiny_adc_ch1setup(unsigned char gain_mask){ ADCA.CH2.CTRL = 0x00; //Reset - 44a: e0 e0 ldi r30, 0x00 ; 0 - 44c: f2 e0 ldi r31, 0x02 ; 2 - 44e: 10 aa std Z+48, r1 ; 0x30 + 462: e0 e0 ldi r30, 0x00 ; 0 + 464: f2 e0 ldi r31, 0x02 ; 2 + 466: 10 aa std Z+48, r1 ; 0x30 ADCA.CH2.CTRL = ADC_CH_START_bm | gain_mask | ADC_CH_INPUTMODE_DIFFWGAIN_gc; - 450: 83 68 ori r24, 0x83 ; 131 - 452: 80 ab std Z+48, r24 ; 0x30 + 468: 83 68 ori r24, 0x83 ; 131 + 46a: 80 ab std Z+48, r24 ; 0x30 ADCA.CH2.MUXCTRL = ADC_CH_MUXPOS_PIN2_gc | ADC_CH_MUXNEG_PIN4_gc; - 454: 80 e1 ldi r24, 0x10 ; 16 - 456: 81 ab std Z+49, r24 ; 0x31 + 46c: 80 e1 ldi r24, 0x10 ; 16 + 46e: 81 ab std Z+49, r24 ; 0x31 ADCA.CH2.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 458: 12 aa std Z+50, r1 ; 0x32 + 470: 12 aa std Z+50, r1 ; 0x32 ADCA.CH2.SCAN = 0x00; //Disable scanning - 45a: 16 aa std Z+54, r1 ; 0x36 - 45c: 08 95 ret + 472: 16 aa std Z+54, r1 ; 0x36 + 474: 08 95 ret -0000045e : +00000476 : } void tiny_adc_pid_setup(void){ ADCA.CH1.CTRL = 0x00; //Reset - 45e: e0 e0 ldi r30, 0x00 ; 0 - 460: f2 e0 ldi r31, 0x02 ; 2 - 462: 10 a6 std Z+40, r1 ; 0x28 + 476: e0 e0 ldi r30, 0x00 ; 0 + 478: f2 e0 ldi r31, 0x02 ; 2 + 47a: 10 a6 std Z+40, r1 ; 0x28 ADCA.CH1.CTRL = ADC_CH_START_bm | ADC_CH_GAIN_1X_gc | ADC_CH_INPUTMODE_DIFFWGAIN_gc; - 464: 83 e8 ldi r24, 0x83 ; 131 - 466: 80 a7 std Z+40, r24 ; 0x28 + 47c: 83 e8 ldi r24, 0x83 ; 131 + 47e: 80 a7 std Z+40, r24 ; 0x28 ADCA.CH1.MUXCTRL = ADC_CH_MUXPOS_PIN5_gc | 0b00000111; - 468: 8f e2 ldi r24, 0x2F ; 47 - 46a: 81 a7 std Z+41, r24 ; 0x29 + 480: 8f e2 ldi r24, 0x2F ; 47 + 482: 81 a7 std Z+41, r24 ; 0x29 ADCA.CH1.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 46c: 12 a6 std Z+42, r1 ; 0x2a + 484: 12 a6 std Z+42, r1 ; 0x2a ADCA.CH1.SCAN = 0x00; //Disable scanning - 46e: 16 a6 std Z+46, r1 ; 0x2e - 470: 08 95 ret + 486: 16 a6 std Z+46, r1 ; 0x2e + 488: 08 95 ret -00000472 : +0000048a : //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; - 472: aa ec ldi r26, 0xCA ; 202 - 474: b1 e0 ldi r27, 0x01 ; 1 - 476: 92 e0 ldi r25, 0x02 ; 2 - 478: 9c 93 st X, r25 + 48a: aa ec ldi r26, 0xCA ; 202 + 48c: b1 e0 ldi r27, 0x01 ; 1 + 48e: 92 e0 ldi r25, 0x02 ; 2 + 490: 9c 93 st X, r25 result = pgm_read_byte(index); - 47a: e8 2f mov r30, r24 - 47c: f0 e0 ldi r31, 0x00 ; 0 - 47e: 84 91 lpm r24, Z + 492: e8 2f mov r30, r24 + 494: f0 e0 ldi r31, 0x00 ; 0 + 496: 84 91 lpm r24, Z /* Clean up NVM Command register. */ NVM_CMD = NVM_CMD_NO_OPERATION_gc; - 480: 1c 92 st X, r1 + 498: 1c 92 st X, r1 return( result ); - 482: 08 95 ret + 49a: 08 95 ret -00000484 : +0000049c : // 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){ - 484: cf 93 push r28 - 486: df 93 push r29 + 49c: cf 93 push r28 + 49e: df 93 push r29 PR.PRPA &=0b11111101; - 488: e0 e7 ldi r30, 0x70 ; 112 - 48a: f0 e0 ldi r31, 0x00 ; 0 - 48c: 91 81 ldd r25, Z+1 ; 0x01 - 48e: 9d 7f andi r25, 0xFD ; 253 - 490: 91 83 std Z+1, r25 ; 0x01 + 4a0: e0 e7 ldi r30, 0x70 ; 112 + 4a2: f0 e0 ldi r31, 0x00 ; 0 + 4a4: 91 81 ldd r25, Z+1 ; 0x01 + 4a6: 9d 7f andi r25, 0xFD ; 253 + 4a8: 91 83 std Z+1, r25 ; 0x01 ADCA.CTRLA = 0x00; //Turn off - 492: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> + 4aa: 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 ; - 496: 62 30 cpi r22, 0x02 ; 2 - 498: 31 f1 breq .+76 ; 0x4e6 - 49a: e0 e0 ldi r30, 0x00 ; 0 - 49c: f2 e0 ldi r31, 0x02 ; 2 - 49e: 9c e1 ldi r25, 0x1C ; 28 - 4a0: 91 83 std Z+1, r25 ; 0x01 + 4ae: 62 30 cpi r22, 0x02 ; 2 + 4b0: 31 f1 breq .+76 ; 0x4fe + 4b2: e0 e0 ldi r30, 0x00 ; 0 + 4b4: f2 e0 ldi r31, 0x02 ; 2 + 4b6: 9c e1 ldi r25, 0x1C ; 28 + 4b8: 91 83 std Z+1, r25 ; 0x01 ADCA.REFCTRL = ADC_REFSEL_INTVCC2_gc; - 4a2: 90 e4 ldi r25, 0x40 ; 64 - 4a4: 92 83 std Z+2, r25 ; 0x02 + 4ba: 90 e4 ldi r25, 0x40 ; 64 + 4bc: 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! ;.; - 4a6: 81 11 cpse r24, r1 - 4a8: 02 c0 rjmp .+4 ; 0x4ae - 4aa: 80 e4 ldi r24, 0x40 ; 64 - 4ac: 01 c0 rjmp .+2 ; 0x4b0 - 4ae: 80 ec ldi r24, 0xC0 ; 192 - 4b0: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> + 4be: 81 11 cpse r24, r1 + 4c0: 02 c0 rjmp .+4 ; 0x4c6 + 4c2: 80 e4 ldi r24, 0x40 ; 64 + 4c4: 01 c0 rjmp .+2 ; 0x4c8 + 4c6: 80 ec ldi r24, 0xC0 ; 192 + 4c8: 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 - 4b4: 61 30 cpi r22, 0x01 ; 1 - 4b6: 11 f0 breq .+4 ; 0x4bc - 4b8: 83 e0 ldi r24, 0x03 ; 3 - 4ba: 01 c0 rjmp .+2 ; 0x4be - 4bc: 82 e0 ldi r24, 0x02 ; 2 - 4be: c0 e0 ldi r28, 0x00 ; 0 - 4c0: d2 e0 ldi r29, 0x02 ; 2 - 4c2: 8c 83 std Y+4, r24 ; 0x04 + 4cc: 61 30 cpi r22, 0x01 ; 1 + 4ce: 11 f0 breq .+4 ; 0x4d4 + 4d0: 83 e0 ldi r24, 0x03 ; 3 + 4d2: 01 c0 rjmp .+2 ; 0x4d6 + 4d4: 82 e0 ldi r24, 0x02 ; 2 + 4d6: c0 e0 ldi r28, 0x00 ; 0 + 4d8: d2 e0 ldi r29, 0x02 ; 2 + 4da: 8c 83 std Y+4, r24 ; 0x04 ADCA.CALL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, ADCACAL0)); //Load calibration bytes from production row. - 4c4: 80 e2 ldi r24, 0x20 ; 32 - 4c6: d5 df rcall .-86 ; 0x472 - 4c8: 8c 87 std Y+12, r24 ; 0x0c + 4dc: 80 e2 ldi r24, 0x20 ; 32 + 4de: d5 df rcall .-86 ; 0x48a + 4e0: 8c 87 std Y+12, r24 ; 0x0c ADCA.CALH = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, ADCACAL1)); //Load calibration bytes from production row. - 4ca: 81 e2 ldi r24, 0x21 ; 33 - 4cc: d2 df rcall .-92 ; 0x472 - 4ce: 8d 87 std Y+13, r24 ; 0x0d + 4e2: 81 e2 ldi r24, 0x21 ; 33 + 4e4: d2 df rcall .-92 ; 0x48a + 4e6: 8d 87 std Y+13, r24 ; 0x0d ADCA.CMP = 0x0000; //No compare used - 4d0: 18 8e std Y+24, r1 ; 0x18 - 4d2: 19 8e std Y+25, r1 ; 0x19 + 4e8: 18 8e std Y+24, r1 ; 0x18 + 4ea: 19 8e std Y+25, r1 ; 0x19 ADCA.CTRLA = ADC_ENABLE_bm; - 4d4: 81 e0 ldi r24, 0x01 ; 1 - 4d6: 88 83 st Y, r24 + 4ec: 81 e0 ldi r24, 0x01 ; 1 + 4ee: 88 83 st Y, r24 tiny_adc_pid_setup(); - 4d8: c2 df rcall .-124 ; 0x45e - 4da: 0e c0 rjmp .+28 ; 0x4f8 + 4f0: c2 df rcall .-124 ; 0x476 + 4f2: 0e c0 rjmp .+28 ; 0x510 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! ;.; - 4dc: 80 ec ldi r24, 0xC0 ; 192 - 4de: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> + 4f4: 80 ec ldi r24, 0xC0 ; 192 + 4f6: 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 - 4e2: 83 e0 ldi r24, 0x03 ; 3 - 4e4: ec cf rjmp .-40 ; 0x4be + 4fa: 83 e0 ldi r24, 0x03 ; 3 + 4fc: ec cf rjmp .-40 ; 0x4d6 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 ; - 4e6: e0 e0 ldi r30, 0x00 ; 0 - 4e8: f2 e0 ldi r31, 0x02 ; 2 - 4ea: 9e e1 ldi r25, 0x1E ; 30 - 4ec: 91 83 std Z+1, r25 ; 0x01 + 4fe: e0 e0 ldi r30, 0x00 ; 0 + 500: f2 e0 ldi r31, 0x02 ; 2 + 502: 9e e1 ldi r25, 0x1E ; 30 + 504: 91 83 std Z+1, r25 ; 0x01 ADCA.REFCTRL = ADC_REFSEL_INTVCC2_gc; - 4ee: 90 e4 ldi r25, 0x40 ; 64 - 4f0: 92 83 std Z+2, r25 ; 0x02 + 506: 90 e4 ldi r25, 0x40 ; 64 + 508: 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! ;.; - 4f2: 81 11 cpse r24, r1 - 4f4: f3 cf rjmp .-26 ; 0x4dc - 4f6: d9 cf rjmp .-78 ; 0x4aa + 50a: 81 11 cpse r24, r1 + 50c: f3 cf rjmp .-26 ; 0x4f4 + 50e: d9 cf rjmp .-78 ; 0x4c2 ADCA.CTRLA = ADC_ENABLE_bm; tiny_adc_pid_setup(); return; } - 4f8: df 91 pop r29 - 4fa: cf 91 pop r28 - 4fc: 08 95 ret + 510: df 91 pop r29 + 512: cf 91 pop r28 + 514: 08 95 ret -000004fe : +00000516 : #include "tiny_adc.h" #include #include void tiny_dac_setup(void){ - 4fe: cf 93 push r28 - 500: df 93 push r29 + 516: cf 93 push r28 + 518: df 93 push r29 //Turn on in PR PR.PRPB &=0b11111011; - 502: e0 e7 ldi r30, 0x70 ; 112 - 504: f0 e0 ldi r31, 0x00 ; 0 - 506: 82 81 ldd r24, Z+2 ; 0x02 - 508: 8b 7f andi r24, 0xFB ; 251 - 50a: 82 83 std Z+2, r24 ; 0x02 + 51a: e0 e7 ldi r30, 0x70 ; 112 + 51c: f0 e0 ldi r31, 0x00 ; 0 + 51e: 82 81 ldd r24, Z+2 ; 0x02 + 520: 8b 7f andi r24, 0xFB ; 251 + 522: 82 83 std Z+2, r24 ; 0x02 DACB.CTRLA = DAC_CH1EN_bm | DAC_CH0EN_bm | DAC_ENABLE_bm; - 50c: c0 e2 ldi r28, 0x20 ; 32 - 50e: d3 e0 ldi r29, 0x03 ; 3 - 510: 8d e0 ldi r24, 0x0D ; 13 - 512: 88 83 st Y, r24 + 524: c0 e2 ldi r28, 0x20 ; 32 + 526: d3 e0 ldi r29, 0x03 ; 3 + 528: 8d e0 ldi r24, 0x0D ; 13 + 52a: 88 83 st Y, r24 DACB.CTRLB = DAC_CHSEL_DUAL_gc; - 514: 80 e4 ldi r24, 0x40 ; 64 - 516: 89 83 std Y+1, r24 ; 0x01 + 52c: 80 e4 ldi r24, 0x40 ; 64 + 52e: 89 83 std Y+1, r24 ; 0x01 DACB.CTRLC = DAC_REFSEL_AVCC_gc | DAC_LEFTADJ_bm; - 518: 89 e0 ldi r24, 0x09 ; 9 - 51a: 8a 83 std Y+2, r24 ; 0x02 + 530: 89 e0 ldi r24, 0x09 ; 9 + 532: 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. - 51c: 83 e3 ldi r24, 0x33 ; 51 - 51e: a9 df rcall .-174 ; 0x472 - 520: 88 87 std Y+8, r24 ; 0x08 + 534: 83 e3 ldi r24, 0x33 ; 51 + 536: a9 df rcall .-174 ; 0x48a + 538: 88 87 std Y+8, r24 ; 0x08 DACB.CH0OFFSETCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB0OFFCAL)); //Load calibration bytes from production row. - 522: 82 e3 ldi r24, 0x32 ; 50 - 524: a6 df rcall .-180 ; 0x472 - 526: 89 87 std Y+9, r24 ; 0x09 + 53a: 82 e3 ldi r24, 0x32 ; 50 + 53c: a6 df rcall .-180 ; 0x48a + 53e: 89 87 std Y+9, r24 ; 0x09 DACB.CH1GAINCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB1GAINCAL)); //Load calibration bytes from production row. - 528: 87 e3 ldi r24, 0x37 ; 55 - 52a: a3 df rcall .-186 ; 0x472 - 52c: 8a 87 std Y+10, r24 ; 0x0a + 540: 87 e3 ldi r24, 0x37 ; 55 + 542: a3 df rcall .-186 ; 0x48a + 544: 8a 87 std Y+10, r24 ; 0x0a DACB.CH1OFFSETCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB1OFFCAL)); //Load calibration bytes from production row. - 52e: 86 e3 ldi r24, 0x36 ; 54 - 530: a0 df rcall .-192 ; 0x472 - 532: 8b 87 std Y+11, r24 ; 0x0b + 546: 86 e3 ldi r24, 0x36 ; 54 + 548: a0 df rcall .-192 ; 0x48a + 54a: 8b 87 std Y+11, r24 ; 0x0b //Set up for triple mode! PORTB.DIR |= 0x03; - 534: e0 e2 ldi r30, 0x20 ; 32 - 536: f6 e0 ldi r31, 0x06 ; 6 - 538: 80 81 ld r24, Z - 53a: 83 60 ori r24, 0x03 ; 3 - 53c: 80 83 st Z, r24 + 54c: e0 e2 ldi r30, 0x20 ; 32 + 54e: f6 e0 ldi r31, 0x06 ; 6 + 550: 80 81 ld r24, Z + 552: 83 60 ori r24, 0x03 ; 3 + 554: 80 83 st Z, r24 PORTB.OUT = 0x00; - 53e: 14 82 std Z+4, r1 ; 0x04 + 556: 14 82 std Z+4, r1 ; 0x04 - 540: df 91 pop r29 - 542: cf 91 pop r28 - 544: 08 95 ret + 558: df 91 pop r29 + 55a: cf 91 pop r28 + 55c: 08 95 ret -00000546 : -#include "globals.h" +0000055e : +#include void tiny_dma_setup(void){ //Turn on DMA PR.PRGEN &=0b111111110; //Turn on DMA clk - 546: e0 e7 ldi r30, 0x70 ; 112 - 548: f0 e0 ldi r31, 0x00 ; 0 - 54a: 80 81 ld r24, Z - 54c: 8e 7f andi r24, 0xFE ; 254 - 54e: 80 83 st Z, r24 - DMA.CTRL = DMA_ENABLE_bm | DMA_PRIMODE_CH0123_gc; - 550: 83 e8 ldi r24, 0x83 ; 131 - 552: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> - 556: 08 95 ret + 55e: e0 e7 ldi r30, 0x70 ; 112 + 560: f0 e0 ldi r31, 0x00 ; 0 + 562: 80 81 ld r24, Z + 564: 8e 7f andi r24, 0xFE ; 254 + 566: 80 83 st Z, r24 + DMA.CTRL = DMA_ENABLE_bm | DMA_PRIMODE_CH01RR23_gc; + 568: 82 e8 ldi r24, 0x82 ; 130 + 56a: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> + 56e: 08 95 ret -00000558 : +00000570 : } void tiny_dma_flush(void){ DMA.CH0.CTRLA = 0x00; - 558: e0 e0 ldi r30, 0x00 ; 0 - 55a: f1 e0 ldi r31, 0x01 ; 1 - 55c: 10 8a std Z+16, r1 ; 0x10 + 570: e0 e0 ldi r30, 0x00 ; 0 + 572: f1 e0 ldi r31, 0x01 ; 1 + 574: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 55e: 80 e4 ldi r24, 0x40 ; 64 - 560: 80 8b std Z+16, r24 ; 0x10 + 576: 80 e4 ldi r24, 0x40 ; 64 + 578: 80 8b std Z+16, r24 ; 0x10 DMA.CH1.CTRLA = 0x00; - 562: 10 a2 std Z+32, r1 ; 0x20 + 57a: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 564: 80 a3 std Z+32, r24 ; 0x20 + 57c: 80 a3 std Z+32, r24 ; 0x20 DMA.CH2.CTRLA = 0x00; - 566: 10 aa std Z+48, r1 ; 0x30 + 57e: 10 aa std Z+48, r1 ; 0x30 DMA.CH2.CTRLA = DMA_CH_RESET_bm; - 568: 80 ab std Z+48, r24 ; 0x30 + 580: 80 ab std Z+48, r24 ; 0x30 DMA.CH3.CTRLA = 0x00; - 56a: e0 e4 ldi r30, 0x40 ; 64 - 56c: f1 e0 ldi r31, 0x01 ; 1 - 56e: 10 82 st Z, r1 + 582: e0 e4 ldi r30, 0x40 ; 64 + 584: f1 e0 ldi r31, 0x01 ; 1 + 586: 10 82 st Z, r1 DMA.CH3.CTRLA = DMA_CH_RESET_bm; - 570: 80 83 st Z, r24 + 588: 80 83 st Z, r24 b1_state = 0; - 572: 10 92 b5 20 sts 0x20B5, r1 ; 0x8020b5 + 58a: 10 92 b5 20 sts 0x20B5, r1 ; 0x8020b5 b2_state = 0; - 576: 10 92 b4 20 sts 0x20B4, r1 ; 0x8020b4 - 57a: 08 95 ret + 58e: 10 92 b4 20 sts 0x20B4, r1 ; 0x8020b4 + usb_state = 0; + 592: 10 92 b3 20 sts 0x20B3, r1 ; 0x8020b3 + 596: 08 95 ret -0000057c : +00000598 : } void tiny_dma_set_mode_0(void){ global_mode = 0; - 57c: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> + 598: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> tiny_dma_flush(); - 580: eb df rcall .-42 ; 0x558 + 59c: e9 df rcall .-46 ; 0x570 DMA.CH2.REPCNT = 0; //Repeat forever! - 582: e0 e0 ldi r30, 0x00 ; 0 - 584: f1 e0 ldi r31, 0x01 ; 1 - 586: 16 aa std Z+54, r1 ; 0x36 + 59e: e0 e0 ldi r30, 0x00 ; 0 + 5a0: f1 e0 ldi r31, 0x01 ; 1 + 5a2: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 588: 94 e2 ldi r25, 0x24 ; 36 - 58a: 90 ab std Z+48, r25 ; 0x30 + 5a4: 94 e2 ldi r25, 0x24 ; 36 + 5a6: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! - 58c: 11 aa std Z+49, r1 ; 0x31 + 5a8: 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. - 58e: 49 e5 ldi r20, 0x59 ; 89 - 590: 42 ab std Z+50, r20 ; 0x32 + 5aa: 49 e5 ldi r20, 0x59 ; 89 + 5ac: 42 ab std Z+50, r20 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 592: 32 e0 ldi r19, 0x02 ; 2 - 594: 33 ab std Z+51, r19 ; 0x33 + 5ae: 32 e0 ldi r19, 0x02 ; 2 + 5b0: 33 ab std Z+51, r19 ; 0x33 DMA.CH2.TRFCNT = auxDacBufLen; - 596: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 59a: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 59e: 64 ab std Z+52, r22 ; 0x34 - 5a0: 75 ab std Z+53, r23 ; 0x35 + 5b2: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 5b6: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 5ba: 64 ab std Z+52, r22 ; 0x34 + 5bc: 75 ab std Z+53, r23 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 5a2: 6a e6 ldi r22, 0x6A ; 106 - 5a4: 74 e2 ldi r23, 0x24 ; 36 - 5a6: 60 af std Z+56, r22 ; 0x38 + 5be: 61 e7 ldi r22, 0x71 ; 113 + 5c0: 74 e2 ldi r23, 0x24 ; 36 + 5c2: 60 af std Z+56, r22 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 5a8: 71 af std Z+57, r23 ; 0x39 + 5c4: 71 af std Z+57, r23 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 5aa: 12 ae std Z+58, r1 ; 0x3a + 5c6: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 5ac: 8b e3 ldi r24, 0x3B ; 59 - 5ae: 84 af std Z+60, r24 ; 0x3c + 5c8: 8b e3 ldi r24, 0x3B ; 59 + 5ca: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 5b0: 83 e0 ldi r24, 0x03 ; 3 - 5b2: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 5cc: 83 e0 ldi r24, 0x03 ; 3 + 5ce: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 5b6: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 5d2: 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! - 5ba: 20 a9 ldd r18, Z+48 ; 0x30 - 5bc: 20 68 ori r18, 0x80 ; 128 - 5be: 20 ab std Z+48, r18 ; 0x30 + 5d6: 20 a9 ldd r18, Z+48 ; 0x30 + 5d8: 20 68 ori r18, 0x80 ; 128 + 5da: 20 ab std Z+48, r18 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 5c0: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 5dc: 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; - 5c4: a0 e4 ldi r26, 0x40 ; 64 - 5c6: b1 e0 ldi r27, 0x01 ; 1 - 5c8: 9c 93 st X, r25 + 5e0: a0 e4 ldi r26, 0x40 ; 64 + 5e2: b1 e0 ldi r27, 0x01 ; 1 + 5e4: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //Hi interrupt on block complete - 5ca: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 5e6: 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. - 5ce: 40 93 42 01 sts 0x0142, r20 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 5ea: 40 93 42 01 sts 0x0142, r20 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 5d2: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 5ee: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = dacBuf_len; - 5d6: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 5da: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 5de: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 5e2: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 5f2: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 5f6: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 5fa: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 5fe: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 5e6: 4a e5 ldi r20, 0x5A ; 90 - 5e8: 52 e2 ldi r21, 0x22 ; 34 - 5ea: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 602: 4e e5 ldi r20, 0x5E ; 94 + 604: 52 e2 ldi r21, 0x22 ; 34 + 606: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 5ee: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 60a: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 5f2: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 60e: 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 - 5f6: 29 e3 ldi r18, 0x39 ; 57 - 5f8: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 612: 29 e3 ldi r18, 0x39 ; 57 + 614: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 5fc: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 618: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 600: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 61c: 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! - 604: 2c 91 ld r18, X - 606: 20 68 ori r18, 0x80 ; 128 - 608: 2c 93 st X, r18 + 620: 2c 91 ld r18, X + 622: 20 68 ori r18, 0x80 ; 128 + 624: 2c 93 st X, r18 DMA.CH0.CTRLA = 0x00; - 60a: 10 8a std Z+16, r1 ; 0x10 + 626: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 60c: 20 e4 ldi r18, 0x40 ; 64 - 60e: 20 8b std Z+16, r18 ; 0x10 + 628: 20 e4 ldi r18, 0x40 ; 64 + 62a: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 610: 24 e0 ldi r18, 0x04 ; 4 - 612: 20 8b std Z+16, r18 ; 0x10 + 62c: 24 e0 ldi r18, 0x04 ; 4 + 62e: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLB = 0x03; //Hi interrupt! - 614: 81 8b std Z+17, r24 ; 0x11 + 630: 81 8b std Z+17, r24 ; 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. - 616: 81 e9 ldi r24, 0x91 ; 145 - 618: 82 8b std Z+18, r24 ; 0x12 + 632: 81 e9 ldi r24, 0x91 ; 145 + 634: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 61a: 80 e1 ldi r24, 0x10 ; 16 - 61c: 83 8b std Z+19, r24 ; 0x13 + 636: 80 e1 ldi r24, 0x10 ; 16 + 638: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 61e: 47 e7 ldi r20, 0x77 ; 119 - 620: 51 e0 ldi r21, 0x01 ; 1 - 622: 44 8b std Z+20, r20 ; 0x14 - 624: 55 8b std Z+21, r21 ; 0x15 + 63a: 47 e7 ldi r20, 0x77 ; 119 + 63c: 51 e0 ldi r21, 0x01 ; 1 + 63e: 44 8b std Z+20, r20 ; 0x14 + 640: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 626: 90 8f std Z+24, r25 ; 0x18 + 642: 90 8f std Z+24, r25 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 628: 31 8f std Z+25, r19 ; 0x19 + 644: 31 8f std Z+25, r19 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 62a: 12 8e std Z+26, r1 ; 0x1a + 646: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 62c: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - 630: 2e ee ldi r18, 0xEE ; 238 - 632: 32 e0 ldi r19, 0x02 ; 2 - 634: 42 9f mul r20, r18 - 636: c0 01 movw r24, r0 - 638: 43 9f mul r20, r19 - 63a: 90 0d add r25, r0 - 63c: 11 24 eor r1, r1 - 63e: 86 59 subi r24, 0x96 ; 150 - 640: 99 4d sbci r25, 0xD9 ; 217 - 642: 84 8f std Z+28, r24 ; 0x1c + 648: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + 64c: 2e ee ldi r18, 0xEE ; 238 + 64e: 32 e0 ldi r19, 0x02 ; 2 + 650: 42 9f mul r20, r18 + 652: c0 01 movw r24, r0 + 654: 43 9f mul r20, r19 + 656: 90 0d add r25, r0 + 658: 11 24 eor r1, r1 + 65a: 8e 58 subi r24, 0x8E ; 142 + 65c: 99 4d sbci r25, 0xD9 ; 217 + 65e: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - 644: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - 648: 42 9f mul r20, r18 - 64a: c0 01 movw r24, r0 - 64c: 43 9f mul r20, r19 - 64e: 90 0d add r25, r0 - 650: 11 24 eor r1, r1 - 652: 86 59 subi r24, 0x96 ; 150 - 654: 99 4d sbci r25, 0xD9 ; 217 - 656: 95 8f std Z+29, r25 ; 0x1d + 660: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + 664: 42 9f mul r20, r18 + 666: c0 01 movw r24, r0 + 668: 43 9f mul r20, r19 + 66a: 90 0d add r25, r0 + 66c: 11 24 eor r1, r1 + 66e: 8e 58 subi r24, 0x8E ; 142 + 670: 99 4d sbci r25, 0xD9 ; 217 + 672: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 658: 16 8e std Z+30, r1 ; 0x1e + 674: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 65a: 80 89 ldd r24, Z+16 ; 0x10 - 65c: 80 68 ori r24, 0x80 ; 128 - 65e: 80 8b std Z+16, r24 ; 0x10 - 660: 08 95 ret + 676: 80 89 ldd r24, Z+16 ; 0x10 + 678: 80 68 ori r24, 0x80 ; 128 + 67a: 80 8b std Z+16, r24 ; 0x10 + 67c: 08 95 ret -00000662 : +0000067e : } void tiny_dma_loop_mode_0(void){ - 662: 08 95 ret + 67e: 08 95 ret -00000664 : +00000680 : return; } void tiny_dma_set_mode_1(void){ - 664: cf 93 push r28 - 666: df 93 push r29 + 680: cf 93 push r28 + 682: df 93 push r29 global_mode = 1; - 668: 81 e0 ldi r24, 0x01 ; 1 - 66a: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + 684: 81 e0 ldi r24, 0x01 ; 1 + 686: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - 66e: 74 df rcall .-280 ; 0x558 + 68a: 72 df rcall .-284 ; 0x570 //AUX channel (to keep it tx, therefore always rx) DMA.CH2.CTRLA = 0x00; - 670: e0 e0 ldi r30, 0x00 ; 0 - 672: f1 e0 ldi r31, 0x01 ; 1 - 674: 10 aa std Z+48, r1 ; 0x30 + 68c: e0 e0 ldi r30, 0x00 ; 0 + 68e: f1 e0 ldi r31, 0x01 ; 1 + 690: 10 aa std Z+48, r1 ; 0x30 DMA.CH2.CTRLA = DMA_CH_RESET_bm; - 676: 80 e4 ldi r24, 0x40 ; 64 - 678: 80 ab std Z+48, r24 ; 0x30 + 692: 80 e4 ldi r24, 0x40 ; 64 + 694: 80 ab std Z+48, r24 ; 0x30 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 67a: 94 e0 ldi r25, 0x04 ; 4 - 67c: 90 ab std Z+48, r25 ; 0x30 + 696: 94 e0 ldi r25, 0x04 ; 4 + 698: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //No int - 67e: 11 aa std Z+49, r1 ; 0x31 + 69a: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 680: 12 aa std Z+50, r1 ; 0x32 + 69c: 12 aa std Z+50, r1 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 682: 5b e4 ldi r21, 0x4B ; 75 - 684: 53 ab std Z+51, r21 ; 0x33 + 69e: 5b e4 ldi r21, 0x4B ; 75 + 6a0: 53 ab std Z+51, r21 ; 0x33 DMA.CH2.TRFCNT = 0; - 686: 14 aa std Z+52, r1 ; 0x34 - 688: 15 aa std Z+53, r1 ; 0x35 + 6a2: 14 aa std Z+52, r1 ; 0x34 + 6a4: 15 aa std Z+53, r1 ; 0x35 DMA.CH2.REPCNT = 0; - 68a: 16 aa std Z+54, r1 ; 0x36 + 6a6: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 68c: 21 e0 ldi r18, 0x01 ; 1 - 68e: 30 e2 ldi r19, 0x20 ; 32 - 690: 20 af std Z+56, r18 ; 0x38 + 6a8: 21 e0 ldi r18, 0x01 ; 1 + 6aa: 30 e2 ldi r19, 0x20 ; 32 + 6ac: 20 af std Z+56, r18 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 692: 31 af std Z+57, r19 ; 0x39 + 6ae: 31 af std Z+57, r19 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 694: 12 ae std Z+58, r1 ; 0x3a + 6b0: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 696: 40 ea ldi r20, 0xA0 ; 160 - 698: 44 af std Z+60, r20 ; 0x3c + 6b2: 40 ea ldi r20, 0xA0 ; 160 + 6b4: 44 af std Z+60, r20 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 69a: 38 e0 ldi r19, 0x08 ; 8 - 69c: 30 93 3d 01 sts 0x013D, r19 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 6b6: 38 e0 ldi r19, 0x08 ; 8 + 6b8: 30 93 3d 01 sts 0x013D, r19 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 6a0: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 6bc: 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! - 6a4: 80 a9 ldd r24, Z+48 ; 0x30 - 6a6: 80 6a ori r24, 0xA0 ; 160 - 6a8: 80 ab std Z+48, r24 ; 0x30 + 6c0: 80 a9 ldd r24, Z+48 ; 0x30 + 6c2: 80 6a ori r24, 0xA0 ; 160 + 6c4: 80 ab std Z+48, r24 ; 0x30 USARTC0.DATA = 0x55; - 6aa: 85 e5 ldi r24, 0x55 ; 85 - 6ac: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 6c6: 85 e5 ldi r24, 0x55 ; 85 + 6c8: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> DMA.CH3.REPCNT = 0; //Repeat forever! - 6b0: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 6cc: 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; - 6b4: a0 e4 ldi r26, 0x40 ; 64 - 6b6: b1 e0 ldi r27, 0x01 ; 1 - 6b8: d4 e2 ldi r29, 0x24 ; 36 - 6ba: dc 93 st X, r29 + 6d0: a0 e4 ldi r26, 0x40 ; 64 + 6d2: b1 e0 ldi r27, 0x01 ; 1 + 6d4: d4 e2 ldi r29, 0x24 ; 36 + 6d6: dc 93 st X, r29 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 6bc: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 6d8: 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. - 6c0: 89 e5 ldi r24, 0x59 ; 89 - 6c2: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 6dc: 89 e5 ldi r24, 0x59 ; 89 + 6de: 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 - 6c6: c2 e0 ldi r28, 0x02 ; 2 - 6c8: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 6e2: c2 e0 ldi r28, 0x02 ; 2 + 6e4: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - 6cc: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 6d0: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 6d4: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 6d8: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 6e8: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 6ec: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 6f0: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 6f4: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 6dc: 6a e6 ldi r22, 0x6A ; 106 - 6de: 74 e2 ldi r23, 0x24 ; 36 - 6e0: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 6f8: 61 e7 ldi r22, 0x71 ; 113 + 6fa: 74 e2 ldi r23, 0x24 ; 36 + 6fc: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 6e4: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 700: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 6e8: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 704: 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 - 6ec: 8b e3 ldi r24, 0x3B ; 59 - 6ee: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 708: 8b e3 ldi r24, 0x3B ; 59 + 70a: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 6f2: 83 e0 ldi r24, 0x03 ; 3 - 6f4: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 70e: 83 e0 ldi r24, 0x03 ; 3 + 710: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 6f8: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 714: 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! - 6fc: 2c 91 ld r18, X - 6fe: 20 68 ori r18, 0x80 ; 128 - 700: 2c 93 st X, r18 + 718: 2c 91 ld r18, X + 71a: 20 68 ori r18, 0x80 ; 128 + 71c: 2c 93 st X, r18 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 702: 90 8b std Z+16, r25 ; 0x10 + 71e: 90 8b std Z+16, r25 ; 0x10 DMA.CH0.CTRLB = 0x03; //Hi interrupt! - 704: 81 8b std Z+17, r24 ; 0x11 + 720: 81 8b std Z+17, r24 ; 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. - 706: a1 e9 ldi r26, 0x91 ; 145 - 708: a2 8b std Z+18, r26 ; 0x12 + 722: a1 e9 ldi r26, 0x91 ; 145 + 724: a2 8b std Z+18, r26 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 70a: 20 e1 ldi r18, 0x10 ; 16 - 70c: 23 8b std Z+19, r18 ; 0x13 + 726: 20 e1 ldi r18, 0x10 ; 16 + 728: 23 8b std Z+19, r18 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 70e: 67 e7 ldi r22, 0x77 ; 119 - 710: 71 e0 ldi r23, 0x01 ; 1 - 712: 64 8b std Z+20, r22 ; 0x14 - 714: 75 8b std Z+21, r23 ; 0x15 + 72a: 67 e7 ldi r22, 0x77 ; 119 + 72c: 71 e0 ldi r23, 0x01 ; 1 + 72e: 64 8b std Z+20, r22 ; 0x14 + 730: 75 8b std Z+21, r23 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 716: d0 8f std Z+24, r29 ; 0x18 + 732: d0 8f std Z+24, r29 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 718: c1 8f std Z+25, r28 ; 0x19 + 734: c1 8f std Z+25, r28 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 71a: 12 8e std Z+26, r1 ; 0x1a + 736: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - 71c: ca e6 ldi r28, 0x6A ; 106 - 71e: d6 e2 ldi r29, 0x26 ; 38 - 720: c4 8f std Z+28, r28 ; 0x1c + 738: c2 e7 ldi r28, 0x72 ; 114 + 73a: d6 e2 ldi r29, 0x26 ; 38 + 73c: c4 8f std Z+28, r28 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - 722: d5 8f std Z+29, r29 ; 0x1d + 73e: d5 8f std Z+29, r29 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 724: 16 8e std Z+30, r1 ; 0x1e + 740: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 726: 20 89 ldd r18, Z+16 ; 0x10 - 728: 20 68 ori r18, 0x80 ; 128 - 72a: 20 8b std Z+16, r18 ; 0x10 + 742: 20 89 ldd r18, Z+16 ; 0x10 + 744: 20 68 ori r18, 0x80 ; 128 + 746: 20 8b std Z+16, r18 ; 0x10 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 72c: 90 a3 std Z+32, r25 ; 0x20 + 748: 90 a3 std Z+32, r25 ; 0x20 DMA.CH1.CTRLB = 0x03; //Hi interrupt - 72e: 81 a3 std Z+33, r24 ; 0x21 + 74a: 81 a3 std Z+33, r24 ; 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. - 730: a2 a3 std Z+34, r26 ; 0x22 + 74c: a2 a3 std Z+34, r26 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 732: 53 a3 std Z+35, r21 ; 0x23 + 74e: 53 a3 std Z+35, r21 ; 0x23 DMA.CH1.TRFCNT = HALFPACKET_SIZE; - 734: 64 a3 std Z+36, r22 ; 0x24 - 736: 75 a3 std Z+37, r23 ; 0x25 + 750: 64 a3 std Z+36, r22 ; 0x24 + 752: 75 a3 std Z+37, r23 ; 0x25 DMA.CH1.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 738: 40 a7 std Z+40, r20 ; 0x28 + 754: 40 a7 std Z+40, r20 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 73a: 31 a7 std Z+41, r19 ; 0x29 + 756: 31 a7 std Z+41, r19 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 73c: 12 a6 std Z+42, r1 ; 0x2a + 758: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 73e: 81 ee ldi r24, 0xE1 ; 225 - 740: 97 e2 ldi r25, 0x27 ; 39 - 742: 84 a7 std Z+44, r24 ; 0x2c + 75a: 89 ee ldi r24, 0xE9 ; 233 + 75c: 97 e2 ldi r25, 0x27 ; 39 + 75e: 84 a7 std Z+44, r24 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; - 744: 95 a7 std Z+45, r25 ; 0x2d + 760: 95 a7 std Z+45, r25 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 746: 16 a6 std Z+46, r1 ; 0x2e + 762: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 748: 80 a1 ldd r24, Z+32 ; 0x20 - 74a: 80 68 ori r24, 0x80 ; 128 - 74c: 80 a3 std Z+32, r24 ; 0x20 + 764: 80 a1 ldd r24, Z+32 ; 0x20 + 766: 80 68 ori r24, 0x80 ; 128 + 768: 80 a3 std Z+32, r24 ; 0x20 } - 74e: df 91 pop r29 - 750: cf 91 pop r28 - 752: 08 95 ret + 76a: df 91 pop r29 + 76c: cf 91 pop r28 + 76e: 08 95 ret -00000754 : +00000770 : void tiny_dma_loop_mode_1(void){ - 754: 08 95 ret + 770: 08 95 ret -00000756 : +00000772 : return; } void tiny_dma_set_mode_2(void){ - 756: cf 93 push r28 + 772: cf 93 push r28 cli(); - 758: f8 94 cli + 774: f8 94 cli global_mode = 2; - 75a: c2 e0 ldi r28, 0x02 ; 2 - 75c: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 776: c2 e0 ldi r28, 0x02 ; 2 + 778: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 760: fb de rcall .-522 ; 0x558 + 77c: f9 de rcall .-526 ; 0x570 DMA.CH2.REPCNT = 0; //Repeat forever! - 762: e0 e0 ldi r30, 0x00 ; 0 - 764: f1 e0 ldi r31, 0x01 ; 1 - 766: 16 aa std Z+54, r1 ; 0x36 + 77e: e0 e0 ldi r30, 0x00 ; 0 + 780: f1 e0 ldi r31, 0x01 ; 1 + 782: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 768: 94 e2 ldi r25, 0x24 ; 36 - 76a: 90 ab std Z+48, r25 ; 0x30 + 784: 94 e2 ldi r25, 0x24 ; 36 + 786: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - 76c: 11 aa std Z+49, r1 ; 0x31 + 788: 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. - 76e: 39 e5 ldi r19, 0x59 ; 89 - 770: 32 ab std Z+50, r19 ; 0x32 + 78a: 39 e5 ldi r19, 0x59 ; 89 + 78c: 32 ab std Z+50, r19 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 772: 83 e0 ldi r24, 0x03 ; 3 - 774: 83 ab std Z+51, r24 ; 0x33 + 78e: 83 e0 ldi r24, 0x03 ; 3 + 790: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - 776: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 77a: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 77e: 44 ab std Z+52, r20 ; 0x34 - 780: 55 ab std Z+53, r21 ; 0x35 + 792: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 796: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 79a: 44 ab std Z+52, r20 ; 0x34 + 79c: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 782: 4a e5 ldi r20, 0x5A ; 90 - 784: 52 e2 ldi r21, 0x22 ; 34 - 786: 40 af std Z+56, r20 ; 0x38 + 79e: 4e e5 ldi r20, 0x5E ; 94 + 7a0: 52 e2 ldi r21, 0x22 ; 34 + 7a2: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 788: 51 af std Z+57, r21 ; 0x39 + 7a4: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 78a: 12 ae std Z+58, r1 ; 0x3a + 7a6: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 78c: 29 e3 ldi r18, 0x39 ; 57 - 78e: 24 af std Z+60, r18 ; 0x3c + 7a8: 29 e3 ldi r18, 0x39 ; 57 + 7aa: 24 af std Z+60, r18 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 790: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 7ac: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 794: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 7b0: 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! - 798: 20 a9 ldd r18, Z+48 ; 0x30 - 79a: 20 68 ori r18, 0x80 ; 128 - 79c: 20 ab std Z+48, r18 ; 0x30 + 7b4: 20 a9 ldd r18, Z+48 ; 0x30 + 7b6: 20 68 ori r18, 0x80 ; 128 + 7b8: 20 ab std Z+48, r18 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 79e: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 7ba: 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; - 7a2: a0 e4 ldi r26, 0x40 ; 64 - 7a4: b1 e0 ldi r27, 0x01 ; 1 - 7a6: 9c 93 st X, r25 + 7be: a0 e4 ldi r26, 0x40 ; 64 + 7c0: b1 e0 ldi r27, 0x01 ; 1 + 7c2: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 7a8: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 7c4: 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. - 7ac: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 7b0: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 7c8: 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 + 7cc: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - 7b4: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 7b8: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 7bc: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 7c0: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 7d0: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 7d4: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 7d8: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 7dc: 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 - 7c4: 2a e6 ldi r18, 0x6A ; 106 - 7c6: 34 e2 ldi r19, 0x24 ; 36 - 7c8: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 7e0: 21 e7 ldi r18, 0x71 ; 113 + 7e2: 34 e2 ldi r19, 0x24 ; 36 + 7e4: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 7cc: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 7e8: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 7d0: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 7ec: 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 - 7d4: 2b e3 ldi r18, 0x3B ; 59 - 7d6: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 7f0: 2b e3 ldi r18, 0x3B ; 59 + 7f2: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 7da: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 7f6: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 7de: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 7fa: 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! - 7e2: 2c 91 ld r18, X - 7e4: 20 68 ori r18, 0x80 ; 128 - 7e6: 2c 93 st X, r18 + 7fe: 2c 91 ld r18, X + 800: 20 68 ori r18, 0x80 ; 128 + 802: 2c 93 st X, r18 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 7e8: 54 e0 ldi r21, 0x04 ; 4 - 7ea: 50 8b std Z+16, r21 ; 0x10 + 804: 54 e0 ldi r21, 0x04 ; 4 + 806: 50 8b std Z+16, r21 ; 0x10 DMA.CH0.CTRLB = 0x03; //No interrupt! - 7ec: 81 8b std Z+17, r24 ; 0x11 + 808: 81 8b std Z+17, r24 ; 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. - 7ee: 41 e9 ldi r20, 0x91 ; 145 - 7f0: 42 8b std Z+18, r20 ; 0x12 - DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 7f2: 20 e1 ldi r18, 0x10 ; 16 - 7f4: 23 8b std Z+19, r18 ; 0x13 + 80a: 41 e9 ldi r20, 0x91 ; 145 + 80c: 42 8b std Z+18, r20 ; 0x12 + DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from ADCA channel 0 + 80e: c3 8b std Z+19, r28 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 7f6: 27 e7 ldi r18, 0x77 ; 119 - 7f8: 31 e0 ldi r19, 0x01 ; 1 - 7fa: 24 8b std Z+20, r18 ; 0x14 - 7fc: 35 8b std Z+21, r19 ; 0x15 + 810: 27 e7 ldi r18, 0x77 ; 119 + 812: 31 e0 ldi r19, 0x01 ; 1 + 814: 24 8b std Z+20, r18 ; 0x14 + 816: 35 8b std Z+21, r19 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 7fe: 90 8f std Z+24, r25 ; 0x18 + 818: 90 8f std Z+24, r25 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 800: c1 8f std Z+25, r28 ; 0x19 + 81a: c1 8f std Z+25, r28 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 802: 12 8e std Z+26, r1 ; 0x1a + 81c: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - 804: 6a e6 ldi r22, 0x6A ; 106 - 806: 76 e2 ldi r23, 0x26 ; 38 - 808: 64 8f std Z+28, r22 ; 0x1c + 81e: 62 e7 ldi r22, 0x72 ; 114 + 820: 76 e2 ldi r23, 0x26 ; 38 + 822: 64 8f std Z+28, r22 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - 80a: 75 8f std Z+29, r23 ; 0x1d + 824: 75 8f std Z+29, r23 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 80c: 16 8e std Z+30, r1 ; 0x1e + 826: 16 8e std Z+30, r1 ; 0x1e + + DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! + 828: 50 a3 std Z+32, r21 ; 0x20 + DMA.CH1.CTRLB = 0x03; //No interrupt! + 82a: 81 a3 std Z+33, r24 ; 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. + 82c: 42 a3 std Z+34, r20 ; 0x22 + DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH0_gc; //Triggered from ADCA channel 0 + 82e: 81 e0 ldi r24, 0x01 ; 1 + 830: 83 a3 std Z+35, r24 ; 0x23 + DMA.CH1.TRFCNT = HALFPACKET_SIZE; + 832: 24 a3 std Z+36, r18 ; 0x24 + 834: 35 a3 std Z+37, r19 ; 0x25 + + DMA.CH1.SRCADDR0 = (( (uint16_t) &ADCA.CH2.RESL) >> 0) & 0xFF; //Source address is ADC + 836: 84 e3 ldi r24, 0x34 ; 52 + 838: 80 a7 std Z+40, r24 ; 0x28 + DMA.CH1.SRCADDR1 = (( (uint16_t) &ADCA.CH2.RESL) >> 8) & 0xFF; + 83a: c1 a7 std Z+41, r28 ; 0x29 + DMA.CH1.SRCADDR2 = 0x00; + 83c: 12 a6 std Z+42, r1 ; 0x2a + + DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf + 83e: 89 ee ldi r24, 0xE9 ; 233 + 840: 97 e2 ldi r25, 0x27 ; 39 + 842: 84 a7 std Z+44, r24 ; 0x2c + DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; + 844: 95 a7 std Z+45, r25 ; 0x2d + DMA.CH1.DESTADDR2 = 0x00; + 846: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 80e: 90 89 ldd r25, Z+16 ; 0x10 - 810: 90 68 ori r25, 0x80 ; 128 - 812: 90 8b std Z+16, r25 ; 0x10 - - DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 814: 50 a3 std Z+32, r21 ; 0x20 - DMA.CH1.CTRLB = 0x03; //No interrupt! - 816: 81 a3 std Z+33, r24 ; 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. - 818: 42 a3 std Z+34, r20 ; 0x22 - DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH2_gc; //Triggered from ADCA channel 0 - 81a: 82 e1 ldi r24, 0x12 ; 18 - 81c: 83 a3 std Z+35, r24 ; 0x23 - DMA.CH1.TRFCNT = HALFPACKET_SIZE; - 81e: 24 a3 std Z+36, r18 ; 0x24 - 820: 35 a3 std Z+37, r19 ; 0x25 - - DMA.CH1.SRCADDR0 = (( (uint16_t) &ADCA.CH2.RESL) >> 0) & 0xFF; //Source address is ADC - 822: 84 e3 ldi r24, 0x34 ; 52 - 824: 80 a7 std Z+40, r24 ; 0x28 - DMA.CH1.SRCADDR1 = (( (uint16_t) &ADCA.CH2.RESL) >> 8) & 0xFF; - 826: c1 a7 std Z+41, r28 ; 0x29 - DMA.CH1.SRCADDR2 = 0x00; - 828: 12 a6 std Z+42, r1 ; 0x2a - - DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 82a: 81 ee ldi r24, 0xE1 ; 225 - 82c: 97 e2 ldi r25, 0x27 ; 39 - 82e: 84 a7 std Z+44, r24 ; 0x2c - DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; - 830: 95 a7 std Z+45, r25 ; 0x2d - DMA.CH1.DESTADDR2 = 0x00; - 832: 16 a6 std Z+46, r1 ; 0x2e - + 848: 80 89 ldd r24, Z+16 ; 0x10 + 84a: 80 68 ori r24, 0x80 ; 128 + 84c: 80 8b std Z+16, r24 ; 0x10 + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + 84e: 00 c0 rjmp .+0 ; 0x850 + 850: 00 c0 rjmp .+0 ; 0x852 + 852: 00 00 nop + _delay_us(5); //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 834: 80 a1 ldd r24, Z+32 ; 0x20 - 836: 80 68 ori r24, 0x80 ; 128 - 838: 80 a3 std Z+32, r24 ; 0x20 + 854: 80 a1 ldd r24, Z+32 ; 0x20 + 856: 80 68 ori r24, 0x80 ; 128 + 858: 80 a3 std Z+32, r24 ; 0x20 sei(); - 83a: 78 94 sei + 85a: 78 94 sei } - 83c: cf 91 pop r28 - 83e: 08 95 ret + 85c: cf 91 pop r28 + 85e: 08 95 ret -00000840 : +00000860 : void tiny_dma_loop_mode_2(void){ - 840: 08 95 ret + 860: 08 95 ret -00000842 : +00000862 : return; } void tiny_dma_set_mode_3(void){ - 842: cf 93 push r28 + 862: cf 93 push r28 global_mode = 3; - 844: c3 e0 ldi r28, 0x03 ; 3 - 846: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 864: c3 e0 ldi r28, 0x03 ; 3 + 866: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 84a: 86 de rcall .-756 ; 0x558 + 86a: 82 de rcall .-764 ; 0x570 //AUX channel (to keep it tx, therefore always rx) DMA.CH1.CTRLA = 0x00; - 84c: e0 e0 ldi r30, 0x00 ; 0 - 84e: f1 e0 ldi r31, 0x01 ; 1 - 850: 10 a2 std Z+32, r1 ; 0x20 + 86c: e0 e0 ldi r30, 0x00 ; 0 + 86e: f1 e0 ldi r31, 0x01 ; 1 + 870: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 852: 50 e4 ldi r21, 0x40 ; 64 - 854: 50 a3 std Z+32, r21 ; 0x20 + 872: 50 e4 ldi r21, 0x40 ; 64 + 874: 50 a3 std Z+32, r21 ; 0x20 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 856: 44 e0 ldi r20, 0x04 ; 4 - 858: 40 a3 std Z+32, r20 ; 0x20 + 876: 44 e0 ldi r20, 0x04 ; 4 + 878: 40 a3 std Z+32, r20 ; 0x20 DMA.CH1.CTRLB = 0x00; //No int - 85a: 11 a2 std Z+33, r1 ; 0x21 + 87a: 11 a2 std Z+33, r1 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 85c: 12 a2 std Z+34, r1 ; 0x22 + 87c: 12 a2 std Z+34, r1 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 85e: 3b e4 ldi r19, 0x4B ; 75 - 860: 33 a3 std Z+35, r19 ; 0x23 + 87e: 3b e4 ldi r19, 0x4B ; 75 + 880: 33 a3 std Z+35, r19 ; 0x23 DMA.CH1.TRFCNT = 0; - 862: 14 a2 std Z+36, r1 ; 0x24 - 864: 15 a2 std Z+37, r1 ; 0x25 + 882: 14 a2 std Z+36, r1 ; 0x24 + 884: 15 a2 std Z+37, r1 ; 0x25 DMA.CH1.REPCNT = 0; - 866: 16 a2 std Z+38, r1 ; 0x26 + 886: 16 a2 std Z+38, r1 ; 0x26 DMA.CH1.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 868: 81 e0 ldi r24, 0x01 ; 1 - 86a: 90 e2 ldi r25, 0x20 ; 32 - 86c: 80 a7 std Z+40, r24 ; 0x28 + 888: 81 e0 ldi r24, 0x01 ; 1 + 88a: 90 e2 ldi r25, 0x20 ; 32 + 88c: 80 a7 std Z+40, r24 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 86e: 91 a7 std Z+41, r25 ; 0x29 + 88e: 91 a7 std Z+41, r25 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 870: 12 a6 std Z+42, r1 ; 0x2a + 890: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 872: 20 ea ldi r18, 0xA0 ; 160 - 874: 24 a7 std Z+44, r18 ; 0x2c + 892: 20 ea ldi r18, 0xA0 ; 160 + 894: 24 a7 std Z+44, r18 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 876: 98 e0 ldi r25, 0x08 ; 8 - 878: 95 a7 std Z+45, r25 ; 0x2d + 896: 98 e0 ldi r25, 0x08 ; 8 + 898: 95 a7 std Z+45, r25 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 87a: 16 a6 std Z+46, r1 ; 0x2e + 89a: 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! - 87c: 80 a1 ldd r24, Z+32 ; 0x20 - 87e: 80 6a ori r24, 0xA0 ; 160 - 880: 80 a3 std Z+32, r24 ; 0x20 + 89c: 80 a1 ldd r24, Z+32 ; 0x20 + 89e: 80 6a ori r24, 0xA0 ; 160 + 8a0: 80 a3 std Z+32, r24 ; 0x20 USARTC0.DATA = 0x55; - 882: 85 e5 ldi r24, 0x55 ; 85 - 884: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 8a2: 85 e5 ldi r24, 0x55 ; 85 + 8a4: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> DMA.CH2.REPCNT = 0; //Repeat forever! - 888: 16 aa std Z+54, r1 ; 0x36 + 8a8: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 88a: 74 e2 ldi r23, 0x24 ; 36 - 88c: 70 ab std Z+48, r23 ; 0x30 + 8aa: 74 e2 ldi r23, 0x24 ; 36 + 8ac: 70 ab std Z+48, r23 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - 88e: 11 aa std Z+49, r1 ; 0x31 + 8ae: 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. - 890: 69 e5 ldi r22, 0x59 ; 89 - 892: 62 ab std Z+50, r22 ; 0x32 + 8b0: 69 e5 ldi r22, 0x59 ; 89 + 8b2: 62 ab std Z+50, r22 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 894: c3 ab std Z+51, r28 ; 0x33 + 8b4: c3 ab std Z+51, r28 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - 896: a0 91 04 20 lds r26, 0x2004 ; 0x802004 - 89a: b0 91 05 20 lds r27, 0x2005 ; 0x802005 - 89e: a4 ab std Z+52, r26 ; 0x34 - 8a0: b5 ab std Z+53, r27 ; 0x35 + 8b6: a0 91 04 20 lds r26, 0x2004 ; 0x802004 + 8ba: b0 91 05 20 lds r27, 0x2005 ; 0x802005 + 8be: a4 ab std Z+52, r26 ; 0x34 + 8c0: b5 ab std Z+53, r27 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 8a2: aa e5 ldi r26, 0x5A ; 90 - 8a4: b2 e2 ldi r27, 0x22 ; 34 - 8a6: a0 af std Z+56, r26 ; 0x38 + 8c2: ae e5 ldi r26, 0x5E ; 94 + 8c4: b2 e2 ldi r27, 0x22 ; 34 + 8c6: a0 af std Z+56, r26 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 8a8: b1 af std Z+57, r27 ; 0x39 + 8c8: b1 af std Z+57, r27 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 8aa: 12 ae std Z+58, r1 ; 0x3a + 8ca: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 8ac: 89 e3 ldi r24, 0x39 ; 57 - 8ae: 84 af std Z+60, r24 ; 0x3c + 8cc: 89 e3 ldi r24, 0x39 ; 57 + 8ce: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 8b0: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 8d0: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 8b4: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 8d4: 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! - 8b8: 80 a9 ldd r24, Z+48 ; 0x30 - 8ba: 80 68 ori r24, 0x80 ; 128 - 8bc: 80 ab std Z+48, r24 ; 0x30 + 8d8: 80 a9 ldd r24, Z+48 ; 0x30 + 8da: 80 68 ori r24, 0x80 ; 128 + 8dc: 80 ab std Z+48, r24 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 8be: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 8de: 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; - 8c2: a0 e4 ldi r26, 0x40 ; 64 - 8c4: b1 e0 ldi r27, 0x01 ; 1 - 8c6: 7c 93 st X, r23 + 8e2: a0 e4 ldi r26, 0x40 ; 64 + 8e4: b1 e0 ldi r27, 0x01 ; 1 + 8e6: 7c 93 st X, r23 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 8c8: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 8e8: 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. - 8cc: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 8ec: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 8d0: 82 e0 ldi r24, 0x02 ; 2 - 8d2: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 8f0: 82 e0 ldi r24, 0x02 ; 2 + 8f2: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - 8d6: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 8da: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 8de: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 8e2: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 8f6: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 8fa: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 8fe: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 902: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 8e6: 6a e6 ldi r22, 0x6A ; 106 - 8e8: 74 e2 ldi r23, 0x24 ; 36 - 8ea: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 906: 61 e7 ldi r22, 0x71 ; 113 + 908: 74 e2 ldi r23, 0x24 ; 36 + 90a: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 8ee: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 90e: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 8f2: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 912: 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 - 8f6: 8b e3 ldi r24, 0x3B ; 59 - 8f8: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 916: 8b e3 ldi r24, 0x3B ; 59 + 918: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 8fc: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 91c: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 900: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 920: 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! - 904: 8c 91 ld r24, X - 906: 80 68 ori r24, 0x80 ; 128 - 908: 8c 93 st X, r24 + 924: 8c 91 ld r24, X + 926: 80 68 ori r24, 0x80 ; 128 + 928: 8c 93 st X, r24 //Actual data being transferred DMA.CH0.CTRLA = 0x00; - 90a: 10 8a std Z+16, r1 ; 0x10 + 92a: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 90c: 50 8b std Z+16, r21 ; 0x10 + 92c: 50 8b std Z+16, r21 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 90e: 40 8b std Z+16, r20 ; 0x10 + 92e: 40 8b std Z+16, r20 ; 0x10 DMA.CH0.CTRLB = 0x03; //Hi interrupt - 910: c1 8b std Z+17, r28 ; 0x11 + 930: c1 8b std Z+17, r28 ; 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. - 912: 81 e9 ldi r24, 0x91 ; 145 - 914: 82 8b std Z+18, r24 ; 0x12 + 932: 81 e9 ldi r24, 0x91 ; 145 + 934: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 916: 33 8b std Z+19, r19 ; 0x13 + 936: 33 8b std Z+19, r19 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 918: 47 e7 ldi r20, 0x77 ; 119 - 91a: 51 e0 ldi r21, 0x01 ; 1 - 91c: 44 8b std Z+20, r20 ; 0x14 - 91e: 55 8b std Z+21, r21 ; 0x15 + 938: 47 e7 ldi r20, 0x77 ; 119 + 93a: 51 e0 ldi r21, 0x01 ; 1 + 93c: 44 8b std Z+20, r20 ; 0x14 + 93e: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; //Source address is ADC - 920: 20 8f std Z+24, r18 ; 0x18 + 940: 20 8f std Z+24, r18 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 922: 91 8f std Z+25, r25 ; 0x19 + 942: 91 8f std Z+25, r25 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 924: 12 8e std Z+26, r1 ; 0x1a + 944: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - 926: 8a e6 ldi r24, 0x6A ; 106 - 928: 96 e2 ldi r25, 0x26 ; 38 - 92a: 84 8f std Z+28, r24 ; 0x1c + 946: 82 e7 ldi r24, 0x72 ; 114 + 948: 96 e2 ldi r25, 0x26 ; 38 + 94a: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - 92c: 95 8f std Z+29, r25 ; 0x1d + 94c: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 92e: 16 8e std Z+30, r1 ; 0x1e + 94e: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 930: 80 89 ldd r24, Z+16 ; 0x10 - 932: 80 68 ori r24, 0x80 ; 128 - 934: 80 8b std Z+16, r24 ; 0x10 + 950: 80 89 ldd r24, Z+16 ; 0x10 + 952: 80 68 ori r24, 0x80 ; 128 + 954: 80 8b std Z+16, r24 ; 0x10 } - 936: cf 91 pop r28 - 938: 08 95 ret + 956: cf 91 pop r28 + 958: 08 95 ret -0000093a : +0000095a : void tiny_dma_loop_mode_3(void){ - 93a: 08 95 ret + 95a: 08 95 ret -0000093c : +0000095c : return; } void tiny_dma_set_mode_4(void){ - 93c: cf 93 push r28 + 95c: cf 93 push r28 global_mode = 4; - 93e: c4 e0 ldi r28, 0x04 ; 4 - 940: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 95e: c4 e0 ldi r28, 0x04 ; 4 + 960: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 944: 09 de rcall .-1006 ; 0x558 + 964: 05 de rcall .-1014 ; 0x570 //AUX channel (to keep it tx, therefore always rx) DMA.CH1.CTRLA = 0x00; - 946: e0 e0 ldi r30, 0x00 ; 0 - 948: f1 e0 ldi r31, 0x01 ; 1 - 94a: 10 a2 std Z+32, r1 ; 0x20 + 966: e0 e0 ldi r30, 0x00 ; 0 + 968: f1 e0 ldi r31, 0x01 ; 1 + 96a: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 94c: 80 e4 ldi r24, 0x40 ; 64 - 94e: 80 a3 std Z+32, r24 ; 0x20 + 96c: 80 e4 ldi r24, 0x40 ; 64 + 96e: 80 a3 std Z+32, r24 ; 0x20 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 950: c0 a3 std Z+32, r28 ; 0x20 + 970: c0 a3 std Z+32, r28 ; 0x20 DMA.CH1.CTRLB = 0x00; //No int - 952: 11 a2 std Z+33, r1 ; 0x21 + 972: 11 a2 std Z+33, r1 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 954: 12 a2 std Z+34, r1 ; 0x22 + 974: 12 a2 std Z+34, r1 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 956: 4b e4 ldi r20, 0x4B ; 75 - 958: 43 a3 std Z+35, r20 ; 0x23 + 976: 4b e4 ldi r20, 0x4B ; 75 + 978: 43 a3 std Z+35, r20 ; 0x23 DMA.CH1.TRFCNT = 0; - 95a: 14 a2 std Z+36, r1 ; 0x24 - 95c: 15 a2 std Z+37, r1 ; 0x25 + 97a: 14 a2 std Z+36, r1 ; 0x24 + 97c: 15 a2 std Z+37, r1 ; 0x25 DMA.CH1.REPCNT = 0; - 95e: 16 a2 std Z+38, r1 ; 0x26 + 97e: 16 a2 std Z+38, r1 ; 0x26 DMA.CH1.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 960: 81 e0 ldi r24, 0x01 ; 1 - 962: 90 e2 ldi r25, 0x20 ; 32 - 964: 80 a7 std Z+40, r24 ; 0x28 + 980: 81 e0 ldi r24, 0x01 ; 1 + 982: 90 e2 ldi r25, 0x20 ; 32 + 984: 80 a7 std Z+40, r24 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 966: 91 a7 std Z+41, r25 ; 0x29 + 986: 91 a7 std Z+41, r25 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 968: 12 a6 std Z+42, r1 ; 0x2a + 988: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 96a: 60 ea ldi r22, 0xA0 ; 160 - 96c: 64 a7 std Z+44, r22 ; 0x2c + 98a: 60 ea ldi r22, 0xA0 ; 160 + 98c: 64 a7 std Z+44, r22 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 96e: 88 e0 ldi r24, 0x08 ; 8 - 970: 85 a7 std Z+45, r24 ; 0x2d + 98e: 88 e0 ldi r24, 0x08 ; 8 + 990: 85 a7 std Z+45, r24 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 972: 16 a6 std Z+46, r1 ; 0x2e + 992: 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! - 974: 90 a1 ldd r25, Z+32 ; 0x20 - 976: 90 6a ori r25, 0xA0 ; 160 - 978: 90 a3 std Z+32, r25 ; 0x20 + 994: 90 a1 ldd r25, Z+32 ; 0x20 + 996: 90 6a ori r25, 0xA0 ; 160 + 998: 90 a3 std Z+32, r25 ; 0x20 USARTC0.DATA = 0x55; - 97a: 95 e5 ldi r25, 0x55 ; 85 - 97c: 90 93 a0 08 sts 0x08A0, r25 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 99a: 95 e5 ldi r25, 0x55 ; 85 + 99c: 90 93 a0 08 sts 0x08A0, r25 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> DMA.CH3.REPCNT = 0; //Repeat forever! - 980: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 9a0: 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; - 984: a0 e4 ldi r26, 0x40 ; 64 - 986: b1 e0 ldi r27, 0x01 ; 1 - 988: 94 e2 ldi r25, 0x24 ; 36 - 98a: 9c 93 st X, r25 + 9a4: a0 e4 ldi r26, 0x40 ; 64 + 9a6: b1 e0 ldi r27, 0x01 ; 1 + 9a8: 94 e2 ldi r25, 0x24 ; 36 + 9aa: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 98c: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 9ac: 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. - 990: 99 e5 ldi r25, 0x59 ; 89 - 992: 90 93 42 01 sts 0x0142, r25 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 9b0: 99 e5 ldi r25, 0x59 ; 89 + 9b2: 90 93 42 01 sts 0x0142, r25 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 996: 92 e0 ldi r25, 0x02 ; 2 - 998: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 9b6: 92 e0 ldi r25, 0x02 ; 2 + 9b8: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - 99c: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 9a0: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 9a4: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 9a8: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 9bc: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 9c0: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 9c4: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 9c8: 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 - 9ac: 2a e6 ldi r18, 0x6A ; 106 - 9ae: 34 e2 ldi r19, 0x24 ; 36 - 9b0: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 9cc: 21 e7 ldi r18, 0x71 ; 113 + 9ce: 34 e2 ldi r19, 0x24 ; 36 + 9d0: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 9b4: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 9d4: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 9b8: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 9d8: 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 - 9bc: 9b e3 ldi r25, 0x3B ; 59 - 9be: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 9dc: 9b e3 ldi r25, 0x3B ; 59 + 9de: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 9c2: 93 e0 ldi r25, 0x03 ; 3 - 9c4: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 9e2: 93 e0 ldi r25, 0x03 ; 3 + 9e4: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 9c8: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 9e8: 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! - 9cc: 2c 91 ld r18, X - 9ce: 20 68 ori r18, 0x80 ; 128 - 9d0: 2c 93 st X, r18 + 9ec: 2c 91 ld r18, X + 9ee: 20 68 ori r18, 0x80 ; 128 + 9f0: 2c 93 st X, r18 //Actual data being transferred DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 9d2: c0 8b std Z+16, r28 ; 0x10 + 9f2: c0 8b std Z+16, r28 ; 0x10 DMA.CH0.CTRLB = 0x03; //No interrupt - 9d4: 91 8b std Z+17, r25 ; 0x11 + 9f4: 91 8b std Z+17, r25 ; 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. - 9d6: 31 e9 ldi r19, 0x91 ; 145 - 9d8: 32 8b std Z+18, r19 ; 0x12 + 9f6: 31 e9 ldi r19, 0x91 ; 145 + 9f8: 32 8b std Z+18, r19 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 9da: 43 8b std Z+19, r20 ; 0x13 + 9fa: 43 8b std Z+19, r20 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 9dc: 47 e7 ldi r20, 0x77 ; 119 - 9de: 51 e0 ldi r21, 0x01 ; 1 - 9e0: 44 8b std Z+20, r20 ; 0x14 - 9e2: 55 8b std Z+21, r21 ; 0x15 + 9fc: 47 e7 ldi r20, 0x77 ; 119 + 9fe: 51 e0 ldi r21, 0x01 ; 1 + a00: 44 8b std Z+20, r20 ; 0x14 + a02: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; //Source address is ADC - 9e4: 60 8f std Z+24, r22 ; 0x18 + a04: 60 8f std Z+24, r22 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 9e6: 81 8f std Z+25, r24 ; 0x19 + a06: 81 8f std Z+25, r24 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 9e8: 12 8e std Z+26, r1 ; 0x1a + a08: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - 9ea: 6a e6 ldi r22, 0x6A ; 106 - 9ec: 76 e2 ldi r23, 0x26 ; 38 - 9ee: 64 8f std Z+28, r22 ; 0x1c + a0a: 62 e7 ldi r22, 0x72 ; 114 + a0c: 76 e2 ldi r23, 0x26 ; 38 + a0e: 64 8f std Z+28, r22 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - 9f0: 75 8f std Z+29, r23 ; 0x1d + a10: 75 8f std Z+29, r23 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 9f2: 16 8e std Z+30, r1 ; 0x1e + a12: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 9f4: 20 89 ldd r18, Z+16 ; 0x10 - 9f6: 20 68 ori r18, 0x80 ; 128 - 9f8: 20 8b std Z+16, r18 ; 0x10 + a14: 20 89 ldd r18, Z+16 ; 0x10 + a16: 20 68 ori r18, 0x80 ; 128 + a18: 20 8b std Z+16, r18 ; 0x10 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 9fa: c0 ab std Z+48, r28 ; 0x30 + a1a: c0 ab std Z+48, r28 ; 0x30 DMA.CH2.CTRLB = 0x03; //Hi interrupt on block complete - 9fc: 91 ab std Z+49, r25 ; 0x31 + a1c: 91 ab std Z+49, r25 ; 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. - 9fe: 32 ab std Z+50, r19 ; 0x32 + a1e: 32 ab std Z+50, r19 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_SPIC_gc; - a00: 9a e4 ldi r25, 0x4A ; 74 - a02: 93 ab std Z+51, r25 ; 0x33 + a20: 9a e4 ldi r25, 0x4A ; 74 + a22: 93 ab std Z+51, r25 ; 0x33 DMA.CH2.TRFCNT = HALFPACKET_SIZE; - a04: 44 ab std Z+52, r20 ; 0x34 - a06: 55 ab std Z+53, r21 ; 0x35 + a24: 44 ab std Z+52, r20 ; 0x34 + a26: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &SPIC.DATA) >> 0) & 0xFF; //Source address is ADC - a08: 93 ec ldi r25, 0xC3 ; 195 - a0a: 90 af std Z+56, r25 ; 0x38 + a28: 93 ec ldi r25, 0xC3 ; 195 + a2a: 90 af std Z+56, r25 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &SPIC.DATA) >> 8) & 0xFF; - a0c: 81 af std Z+57, r24 ; 0x39 + a2c: 81 af std Z+57, r24 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - a0e: 12 ae std Z+58, r1 ; 0x3a + a2e: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - a10: 81 ee ldi r24, 0xE1 ; 225 - a12: 97 e2 ldi r25, 0x27 ; 39 - a14: 84 af std Z+60, r24 ; 0x3c + a30: 89 ee ldi r24, 0xE9 ; 233 + a32: 97 e2 ldi r25, 0x27 ; 39 + a34: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; - a16: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + a36: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - a1a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + a3a: 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! - a1e: 80 a9 ldd r24, Z+48 ; 0x30 - a20: 80 68 ori r24, 0x80 ; 128 - a22: 80 ab std Z+48, r24 ; 0x30 + a3e: 80 a9 ldd r24, Z+48 ; 0x30 + a40: 80 68 ori r24, 0x80 ; 128 + a42: 80 ab std Z+48, r24 ; 0x30 } - a24: cf 91 pop r28 - a26: 08 95 ret + a44: cf 91 pop r28 + a46: 08 95 ret -00000a28 : +00000a48 : void tiny_dma_loop_mode_4(void){ - a28: 08 95 ret + a48: 08 95 ret -00000a2a : +00000a4a : return; } void tiny_dma_set_mode_5(void){ global_mode = 5; - a2a: 85 e0 ldi r24, 0x05 ; 5 - a2c: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + a4a: 85 e0 ldi r24, 0x05 ; 5 + a4c: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - a30: 93 dd rcall .-1242 ; 0x558 + a50: 8f dd rcall .-1250 ; 0x570 DMA.CH2.REPCNT = 0; //Repeat forever! - a32: e0 e0 ldi r30, 0x00 ; 0 - a34: f1 e0 ldi r31, 0x01 ; 1 - a36: 16 aa std Z+54, r1 ; 0x36 + a52: e0 e0 ldi r30, 0x00 ; 0 + a54: f1 e0 ldi r31, 0x01 ; 1 + a56: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - a38: 34 e2 ldi r19, 0x24 ; 36 - a3a: 30 ab std Z+48, r19 ; 0x30 + a58: 34 e2 ldi r19, 0x24 ; 36 + a5a: 30 ab std Z+48, r19 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - a3c: 11 aa std Z+49, r1 ; 0x31 + a5c: 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. - a3e: 29 e5 ldi r18, 0x59 ; 89 - a40: 22 ab std Z+50, r18 ; 0x32 + a5e: 29 e5 ldi r18, 0x59 ; 89 + a60: 22 ab std Z+50, r18 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - a42: 83 e0 ldi r24, 0x03 ; 3 - a44: 83 ab std Z+51, r24 ; 0x33 + a62: 83 e0 ldi r24, 0x03 ; 3 + a64: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - a46: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - a4a: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - a4e: 44 ab std Z+52, r20 ; 0x34 - a50: 55 ab std Z+53, r21 ; 0x35 + a66: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + a6a: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + a6e: 44 ab std Z+52, r20 ; 0x34 + a70: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - a52: 4a e5 ldi r20, 0x5A ; 90 - a54: 52 e2 ldi r21, 0x22 ; 34 - a56: 40 af std Z+56, r20 ; 0x38 + a72: 4e e5 ldi r20, 0x5E ; 94 + a74: 52 e2 ldi r21, 0x22 ; 34 + a76: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - a58: 51 af std Z+57, r21 ; 0x39 + a78: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - a5a: 12 ae std Z+58, r1 ; 0x3a + a7a: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - a5c: 99 e3 ldi r25, 0x39 ; 57 - a5e: 94 af std Z+60, r25 ; 0x3c + a7c: 99 e3 ldi r25, 0x39 ; 57 + a7e: 94 af std Z+60, r25 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - a60: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + a80: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - a64: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + a84: 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! - a68: 90 a9 ldd r25, Z+48 ; 0x30 - a6a: 90 68 ori r25, 0x80 ; 128 - a6c: 90 ab std Z+48, r25 ; 0x30 + a88: 90 a9 ldd r25, Z+48 ; 0x30 + a8a: 90 68 ori r25, 0x80 ; 128 + a8c: 90 ab std Z+48, r25 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - a6e: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + a8e: 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; - a72: e0 e4 ldi r30, 0x40 ; 64 - a74: f1 e0 ldi r31, 0x01 ; 1 - a76: 30 83 st Z, r19 + a92: e0 e4 ldi r30, 0x40 ; 64 + a94: f1 e0 ldi r31, 0x01 ; 1 + a96: 30 83 st Z, r19 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - a78: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + a98: 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. - a7c: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + a9c: 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 - a80: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + aa0: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = dacBuf_len; - a84: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - a88: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - a8c: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - a90: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + aa4: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + aa8: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + aac: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + ab0: 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 - a94: 2a e6 ldi r18, 0x6A ; 106 - a96: 34 e2 ldi r19, 0x24 ; 36 - a98: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + ab4: 21 e7 ldi r18, 0x71 ; 113 + ab6: 34 e2 ldi r19, 0x24 ; 36 + ab8: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - a9c: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + abc: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - aa0: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + ac0: 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 - aa4: 9b e3 ldi r25, 0x3B ; 59 - aa6: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + ac4: 9b e3 ldi r25, 0x3B ; 59 + ac6: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - aaa: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + aca: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - aae: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + ace: 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! - ab2: 80 81 ld r24, Z - ab4: 80 68 ori r24, 0x80 ; 128 - ab6: 80 83 st Z, r24 - ab8: 08 95 ret + ad2: 80 81 ld r24, Z + ad4: 80 68 ori r24, 0x80 ; 128 + ad6: 80 83 st Z, r24 + ad8: 08 95 ret -00000aba : +00000ada : } void tiny_dma_set_mode_6(void){ global_mode = 6; - aba: 86 e0 ldi r24, 0x06 ; 6 - abc: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + ada: 86 e0 ldi r24, 0x06 ; 6 + adc: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - ac0: 4b dd rcall .-1386 ; 0x558 + ae0: 47 dd rcall .-1394 ; 0x570 DMA.CH2.REPCNT = 0; //Repeat forever! - ac2: e0 e0 ldi r30, 0x00 ; 0 - ac4: f1 e0 ldi r31, 0x01 ; 1 - ac6: 16 aa std Z+54, r1 ; 0x36 + ae2: e0 e0 ldi r30, 0x00 ; 0 + ae4: f1 e0 ldi r31, 0x01 ; 1 + ae6: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - ac8: 94 e2 ldi r25, 0x24 ; 36 - aca: 90 ab std Z+48, r25 ; 0x30 + ae8: 94 e2 ldi r25, 0x24 ; 36 + aea: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - acc: 11 aa std Z+49, r1 ; 0x31 + aec: 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. - ace: 39 e5 ldi r19, 0x59 ; 89 - ad0: 32 ab std Z+50, r19 ; 0x32 + aee: 39 e5 ldi r19, 0x59 ; 89 + af0: 32 ab std Z+50, r19 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - ad2: 83 e0 ldi r24, 0x03 ; 3 - ad4: 83 ab std Z+51, r24 ; 0x33 + af2: 83 e0 ldi r24, 0x03 ; 3 + af4: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - ad6: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - ada: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - ade: 44 ab std Z+52, r20 ; 0x34 - ae0: 55 ab std Z+53, r21 ; 0x35 + af6: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + afa: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + afe: 44 ab std Z+52, r20 ; 0x34 + b00: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - ae2: 4a e5 ldi r20, 0x5A ; 90 - ae4: 52 e2 ldi r21, 0x22 ; 34 - ae6: 40 af std Z+56, r20 ; 0x38 + b02: 4e e5 ldi r20, 0x5E ; 94 + b04: 52 e2 ldi r21, 0x22 ; 34 + b06: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - ae8: 51 af std Z+57, r21 ; 0x39 + b08: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - aea: 12 ae std Z+58, r1 ; 0x3a + b0a: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - aec: 29 e3 ldi r18, 0x39 ; 57 - aee: 24 af std Z+60, r18 ; 0x3c + b0c: 29 e3 ldi r18, 0x39 ; 57 + b0e: 24 af std Z+60, r18 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - af0: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + b10: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - af4: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + b14: 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! - af8: 20 a9 ldd r18, Z+48 ; 0x30 - afa: 20 68 ori r18, 0x80 ; 128 - afc: 20 ab std Z+48, r18 ; 0x30 + b18: 20 a9 ldd r18, Z+48 ; 0x30 + b1a: 20 68 ori r18, 0x80 ; 128 + b1c: 20 ab std Z+48, r18 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - afe: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + b1e: 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; - b02: a0 e4 ldi r26, 0x40 ; 64 - b04: b1 e0 ldi r27, 0x01 ; 1 - b06: 9c 93 st X, r25 + b22: a0 e4 ldi r26, 0x40 ; 64 + b24: b1 e0 ldi r27, 0x01 ; 1 + b26: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - b08: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + b28: 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. - b0c: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + b2c: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - b10: 32 e0 ldi r19, 0x02 ; 2 - b12: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + b30: 32 e0 ldi r19, 0x02 ; 2 + b32: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - b16: 40 91 02 20 lds r20, 0x2002 ; 0x802002 - b1a: 50 91 03 20 lds r21, 0x2003 ; 0x802003 - b1e: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - b22: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + b36: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + b3a: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + b3e: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + b42: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - b26: 4a e6 ldi r20, 0x6A ; 106 - b28: 54 e2 ldi r21, 0x24 ; 36 - b2a: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + b46: 41 e7 ldi r20, 0x71 ; 113 + b48: 54 e2 ldi r21, 0x24 ; 36 + b4a: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - b2e: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + b4e: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - b32: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + b52: 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 - b36: 2b e3 ldi r18, 0x3B ; 59 - b38: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + b56: 2b e3 ldi r18, 0x3B ; 59 + b58: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - b3c: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + b5c: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - b40: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + b60: 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! - b44: 2c 91 ld r18, X - b46: 20 68 ori r18, 0x80 ; 128 - b48: 2c 93 st X, r18 + b64: 2c 91 ld r18, X + b66: 20 68 ori r18, 0x80 ; 128 + b68: 2c 93 st X, r18 DMA.CH0.CTRLA = 0x00; - b4a: 10 8a std Z+16, r1 ; 0x10 + b6a: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - b4c: 20 e4 ldi r18, 0x40 ; 64 - b4e: 20 8b std Z+16, r18 ; 0x10 + b6c: 20 e4 ldi r18, 0x40 ; 64 + b6e: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - b50: 24 e0 ldi r18, 0x04 ; 4 - b52: 20 8b std Z+16, r18 ; 0x10 + b70: 24 e0 ldi r18, 0x04 ; 4 + b72: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLB = 0x03; //Hi interrupt! - b54: 81 8b std Z+17, r24 ; 0x11 + b74: 81 8b std Z+17, r24 ; 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. - b56: 81 e9 ldi r24, 0x91 ; 145 - b58: 82 8b std Z+18, r24 ; 0x12 + b76: 81 e9 ldi r24, 0x91 ; 145 + b78: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - b5a: 80 e1 ldi r24, 0x10 ; 16 - b5c: 83 8b std Z+19, r24 ; 0x13 + b7a: 80 e1 ldi r24, 0x10 ; 16 + b7c: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = PACKET_SIZE; - b5e: 4e ee ldi r20, 0xEE ; 238 - b60: 52 e0 ldi r21, 0x02 ; 2 - b62: 44 8b std Z+20, r20 ; 0x14 - b64: 55 8b std Z+21, r21 ; 0x15 + b7e: 4e ee ldi r20, 0xEE ; 238 + b80: 52 e0 ldi r21, 0x02 ; 2 + b82: 44 8b std Z+20, r20 ; 0x14 + b84: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - b66: 90 8f std Z+24, r25 ; 0x18 + b86: 90 8f std Z+24, r25 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - b68: 31 8f std Z+25, r19 ; 0x19 + b88: 31 8f std Z+25, r19 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - b6a: 12 8e std Z+26, r1 ; 0x1a + b8a: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - b6c: 8a e6 ldi r24, 0x6A ; 106 - b6e: 96 e2 ldi r25, 0x26 ; 38 - b70: 84 8f std Z+28, r24 ; 0x1c + b8c: 82 e7 ldi r24, 0x72 ; 114 + b8e: 96 e2 ldi r25, 0x26 ; 38 + b90: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - b72: 95 8f std Z+29, r25 ; 0x1d + b92: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - b74: 16 8e std Z+30, r1 ; 0x1e + b94: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - b76: 80 89 ldd r24, Z+16 ; 0x10 - b78: 80 68 ori r24, 0x80 ; 128 - b7a: 80 8b std Z+16, r24 ; 0x10 - b7c: 08 95 ret + b96: 80 89 ldd r24, Z+16 ; 0x10 + b98: 80 68 ori r24, 0x80 ; 128 + b9a: 80 8b std Z+16, r24 ; 0x10 + b9c: 08 95 ret -00000b7e : +00000b9e : } void tiny_dma_loop_mode_6(void){ - b7e: 08 95 ret + b9e: 08 95 ret -00000b80 : +00000ba0 : return; } void tiny_dma_set_mode_7(void){ global_mode = 7; - b80: 87 e0 ldi r24, 0x07 ; 7 - b82: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + ba0: 87 e0 ldi r24, 0x07 ; 7 + ba2: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - b86: e8 dc rcall .-1584 ; 0x558 + ba6: e4 dc rcall .-1592 ; 0x570 DMA.CH2.REPCNT = 0; //Repeat forever! - b88: e0 e0 ldi r30, 0x00 ; 0 - b8a: f1 e0 ldi r31, 0x01 ; 1 - b8c: 16 aa std Z+54, r1 ; 0x36 + ba8: e0 e0 ldi r30, 0x00 ; 0 + baa: f1 e0 ldi r31, 0x01 ; 1 + bac: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - b8e: 94 e2 ldi r25, 0x24 ; 36 - b90: 90 ab std Z+48, r25 ; 0x30 + bae: 94 e2 ldi r25, 0x24 ; 36 + bb0: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - b92: 11 aa std Z+49, r1 ; 0x31 + bb2: 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. - b94: 39 e5 ldi r19, 0x59 ; 89 - b96: 32 ab std Z+50, r19 ; 0x32 + bb4: 39 e5 ldi r19, 0x59 ; 89 + bb6: 32 ab std Z+50, r19 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - b98: 83 e0 ldi r24, 0x03 ; 3 - b9a: 83 ab std Z+51, r24 ; 0x33 + bb8: 83 e0 ldi r24, 0x03 ; 3 + bba: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - b9c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - ba0: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - ba4: 44 ab std Z+52, r20 ; 0x34 - ba6: 55 ab std Z+53, r21 ; 0x35 + bbc: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + bc0: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + bc4: 44 ab std Z+52, r20 ; 0x34 + bc6: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - ba8: 4a e5 ldi r20, 0x5A ; 90 - baa: 52 e2 ldi r21, 0x22 ; 34 - bac: 40 af std Z+56, r20 ; 0x38 + bc8: 4e e5 ldi r20, 0x5E ; 94 + bca: 52 e2 ldi r21, 0x22 ; 34 + bcc: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - bae: 51 af std Z+57, r21 ; 0x39 + bce: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - bb0: 12 ae std Z+58, r1 ; 0x3a + bd0: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - bb2: 29 e3 ldi r18, 0x39 ; 57 - bb4: 24 af std Z+60, r18 ; 0x3c + bd2: 29 e3 ldi r18, 0x39 ; 57 + bd4: 24 af std Z+60, r18 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - bb6: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + bd6: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - bba: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + bda: 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! - bbe: 20 a9 ldd r18, Z+48 ; 0x30 - bc0: 20 68 ori r18, 0x80 ; 128 - bc2: 20 ab std Z+48, r18 ; 0x30 + bde: 20 a9 ldd r18, Z+48 ; 0x30 + be0: 20 68 ori r18, 0x80 ; 128 + be2: 20 ab std Z+48, r18 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - bc4: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + be4: 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; - bc8: a0 e4 ldi r26, 0x40 ; 64 - bca: b1 e0 ldi r27, 0x01 ; 1 - bcc: 9c 93 st X, r25 + be8: a0 e4 ldi r26, 0x40 ; 64 + bea: b1 e0 ldi r27, 0x01 ; 1 + bec: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - bce: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + bee: 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. - bd2: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + bf2: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - bd6: 32 e0 ldi r19, 0x02 ; 2 - bd8: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + bf6: 32 e0 ldi r19, 0x02 ; 2 + bf8: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - bdc: 40 91 02 20 lds r20, 0x2002 ; 0x802002 - be0: 50 91 03 20 lds r21, 0x2003 ; 0x802003 - be4: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - be8: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + bfc: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + c00: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + c04: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + c08: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - bec: 4a e6 ldi r20, 0x6A ; 106 - bee: 54 e2 ldi r21, 0x24 ; 36 - bf0: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + c0c: 41 e7 ldi r20, 0x71 ; 113 + c0e: 54 e2 ldi r21, 0x24 ; 36 + c10: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - bf4: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + c14: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - bf8: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + c18: 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 - bfc: 2b e3 ldi r18, 0x3B ; 59 - bfe: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + c1c: 2b e3 ldi r18, 0x3B ; 59 + c1e: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - c02: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + c22: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - c06: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + c26: 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! - c0a: 2c 91 ld r18, X - c0c: 20 68 ori r18, 0x80 ; 128 - c0e: 2c 93 st X, r18 + c2a: 2c 91 ld r18, X + c2c: 20 68 ori r18, 0x80 ; 128 + c2e: 2c 93 st X, r18 DMA.CH0.CTRLA = 0x00; - c10: 10 8a std Z+16, r1 ; 0x10 + c30: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - c12: 20 e4 ldi r18, 0x40 ; 64 - c14: 20 8b std Z+16, r18 ; 0x10 + c32: 20 e4 ldi r18, 0x40 ; 64 + c34: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_2BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - c16: 25 e0 ldi r18, 0x05 ; 5 - c18: 20 8b std Z+16, r18 ; 0x10 + c36: 25 e0 ldi r18, 0x05 ; 5 + c38: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLB = 0x03; //No interrupt! - c1a: 81 8b std Z+17, r24 ; 0x11 + c3a: 81 8b std Z+17, r24 ; 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. - c1c: 81 e9 ldi r24, 0x91 ; 145 - c1e: 82 8b std Z+18, r24 ; 0x12 + c3c: 81 e9 ldi r24, 0x91 ; 145 + c3e: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - c20: 80 e1 ldi r24, 0x10 ; 16 - c22: 83 8b std Z+19, r24 ; 0x13 + c40: 80 e1 ldi r24, 0x10 ; 16 + c42: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = PACKET_SIZE; - c24: 4e ee ldi r20, 0xEE ; 238 - c26: 52 e0 ldi r21, 0x02 ; 2 - c28: 44 8b std Z+20, r20 ; 0x14 - c2a: 55 8b std Z+21, r21 ; 0x15 + c44: 4e ee ldi r20, 0xEE ; 238 + c46: 52 e0 ldi r21, 0x02 ; 2 + c48: 44 8b std Z+20, r20 ; 0x14 + c4a: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - c2c: 90 8f std Z+24, r25 ; 0x18 + c4c: 90 8f std Z+24, r25 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - c2e: 31 8f std Z+25, r19 ; 0x19 + c4e: 31 8f std Z+25, r19 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - c30: 12 8e std Z+26, r1 ; 0x1a + c50: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - c32: 8a e6 ldi r24, 0x6A ; 106 - c34: 96 e2 ldi r25, 0x26 ; 38 - c36: 84 8f std Z+28, r24 ; 0x1c + c52: 82 e7 ldi r24, 0x72 ; 114 + c54: 96 e2 ldi r25, 0x26 ; 38 + c56: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - c38: 95 8f std Z+29, r25 ; 0x1d + c58: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - c3a: 16 8e std Z+30, r1 ; 0x1e + c5a: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - c3c: 80 89 ldd r24, Z+16 ; 0x10 - c3e: 80 68 ori r24, 0x80 ; 128 - c40: 80 8b std Z+16, r24 ; 0x10 - c42: 08 95 ret + c5c: 80 89 ldd r24, Z+16 ; 0x10 + c5e: 80 68 ori r24, 0x80 ; 128 + c60: 80 8b std Z+16, r24 ; 0x10 + c62: 08 95 ret -00000c44 : +00000c64 : } void tiny_dma_loop_mode_7(void){ - c44: 08 95 ret + c64: 08 95 ret -00000c46 <__vector_6>: +00000c66 <__vector_6>: } ISR(DMA_CH0_vect){ - c46: 1f 92 push r1 - c48: 0f 92 push r0 - c4a: 0f b6 in r0, 0x3f ; 63 - c4c: 0f 92 push r0 - c4e: 11 24 eor r1, r1 - c50: 2f 93 push r18 - c52: 3f 93 push r19 - c54: 4f 93 push r20 - c56: 8f 93 push r24 - c58: 9f 93 push r25 - c5a: af 93 push r26 - c5c: bf 93 push r27 - c5e: ef 93 push r30 - c60: ff 93 push r31 + c66: 1f 92 push r1 + c68: 0f 92 push r0 + c6a: 0f b6 in r0, 0x3f ; 63 + c6c: 0f 92 push r0 + c6e: 11 24 eor r1, r1 + c70: 8f 93 push r24 + c72: 9f 93 push r25 + c74: ef 93 push r30 + c76: ff 93 push r31 + DMA.CH0.TRFCNT = HALFPACKET_SIZE; + c78: 87 e7 ldi r24, 0x77 ; 119 + c7a: 91 e0 ldi r25, 0x01 ; 1 + c7c: 80 93 14 01 sts 0x0114, r24 ; 0x800114 <__TEXT_REGION_LENGTH__+0x700114> + c80: 90 93 15 01 sts 0x0115, r25 ; 0x800115 <__TEXT_REGION_LENGTH__+0x700115> + if(b1_state){ + c84: 80 91 b5 20 lds r24, 0x20B5 ; 0x8020b5 + c88: 88 23 and r24, r24 + c8a: 49 f0 breq .+18 ; 0xc9e <__vector_6+0x38> + DMA.CH0.DESTADDR0 = precalc_DMA_CH0_DESTADDR0_b1_state_equals_1; + c8c: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + c90: e0 e0 ldi r30, 0x00 ; 0 + c92: f1 e0 ldi r31, 0x01 ; 1 + c94: 84 8f std Z+28, r24 ; 0x1c + DMA.CH0.DESTADDR1 = precalc_DMA_CH0_DESTADDR1_b1_state_equals_1; + c96: 80 91 5c 22 lds r24, 0x225C ; 0x80225c + c9a: 85 8f std Z+29, r24 ; 0x1d + c9c: 08 c0 rjmp .+16 ; 0xcae <__vector_6+0x48> + } else { + DMA.CH0.DESTADDR0 = precalc_DMA_CH0_DESTADDR0_b1_state_equals_0; + c9e: 80 91 6f 24 lds r24, 0x246F ; 0x80246f + ca2: e0 e0 ldi r30, 0x00 ; 0 + ca4: f1 e0 ldi r31, 0x01 ; 1 + ca6: 84 8f std Z+28, r24 ; 0x1c + DMA.CH0.DESTADDR1 = precalc_DMA_CH0_DESTADDR1_b1_state_equals_0; + ca8: 80 91 5d 22 lds r24, 0x225D ; 0x80225d + cac: 85 8f std Z+29, r24 ; 0x1d + } + //Must enable last for REPCNT won't work! + asm("nop"); + cae: 00 00 nop + asm("nop"); + cb0: 00 00 nop + + + DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + cb2: e0 e0 ldi r30, 0x00 ; 0 + cb4: f1 e0 ldi r31, 0x01 ; 1 + cb6: 80 89 ldd r24, Z+16 ; 0x10 + cb8: 80 68 ori r24, 0x80 ; 128 + cba: 80 8b std Z+16, r24 ; 0x10 + EVSYS.STROBE = 0x02; + cbc: 82 e0 ldi r24, 0x02 ; 2 + cbe: 80 93 90 01 sts 0x0190, r24 ; 0x800190 <__TEXT_REGION_LENGTH__+0x700190> + b1_state = !b1_state; + cc2: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 + cc6: 81 e0 ldi r24, 0x01 ; 1 + cc8: 91 11 cpse r25, r1 + cca: 80 e0 ldi r24, 0x00 ; 0 + ccc: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 DMA.INTFLAGS = 0x01; - c62: 81 e0 ldi r24, 0x01 ; 1 - c64: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - switch(global_mode){ - c68: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - c6c: 8e 2f mov r24, r30 - c6e: 90 e0 ldi r25, 0x00 ; 0 - c70: 88 30 cpi r24, 0x08 ; 8 - c72: 91 05 cpc r25, r1 - c74: 08 f0 brcs .+2 ; 0xc78 <__vector_6+0x32> - c76: 11 c1 rjmp .+546 ; 0xe9a <__vector_6+0x254> - c78: fc 01 movw r30, r24 - c7a: ea 5f subi r30, 0xFA ; 250 - c7c: fe 4f sbci r31, 0xFE ; 254 - c7e: 0c 94 92 16 jmp 0x2d24 ; 0x2d24 <__tablejump2__> - case 0: - DMA.CH0.TRFCNT = HALFPACKET_SIZE; - c82: e0 e0 ldi r30, 0x00 ; 0 - c84: f1 e0 ldi r31, 0x01 ; 1 - c86: 87 e7 ldi r24, 0x77 ; 119 - c88: 91 e0 ldi r25, 0x01 ; 1 - c8a: 84 8b std Z+20, r24 ; 0x14 - c8c: 95 8b std Z+21, r25 ; 0x15 - DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - c8e: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - c92: 2e ee ldi r18, 0xEE ; 238 - c94: 32 e0 ldi r19, 0x02 ; 2 - c96: 42 9f mul r20, r18 - c98: c0 01 movw r24, r0 - c9a: 43 9f mul r20, r19 - c9c: 90 0d add r25, r0 - c9e: 11 24 eor r1, r1 - ca0: 86 59 subi r24, 0x96 ; 150 - ca2: 99 4d sbci r25, 0xD9 ; 217 - ca4: 84 8f std Z+28, r24 ; 0x1c - DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - ca6: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - caa: 42 9f mul r20, r18 - cac: c0 01 movw r24, r0 - cae: 43 9f mul r20, r19 - cb0: 90 0d add r25, r0 - cb2: 11 24 eor r1, r1 - cb4: 86 59 subi r24, 0x96 ; 150 - cb6: 99 4d sbci r25, 0xD9 ; 217 - cb8: 95 8f std Z+29, r25 ; 0x1d - //Must enable last for REPCNT won't work! - DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - cba: 80 89 ldd r24, Z+16 ; 0x10 - cbc: 80 68 ori r24, 0x80 ; 128 - cbe: 80 8b std Z+16, r24 ; 0x10 - b1_state = !b1_state; - cc0: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - cc4: 81 e0 ldi r24, 0x01 ; 1 - cc6: 91 11 cpse r25, r1 - cc8: 80 e0 ldi r24, 0x00 ; 0 - cca: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 - break; - cce: e5 c0 rjmp .+458 ; 0xe9a <__vector_6+0x254> - case 1: - DMA.CH0.TRFCNT = HALFPACKET_SIZE; - cd0: e0 e0 ldi r30, 0x00 ; 0 - cd2: f1 e0 ldi r31, 0x01 ; 1 - cd4: 87 e7 ldi r24, 0x77 ; 119 - cd6: 91 e0 ldi r25, 0x01 ; 1 - cd8: 84 8b std Z+20, r24 ; 0x14 - cda: 95 8b std Z+21, r25 ; 0x15 - DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - cdc: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - ce0: 2e ee ldi r18, 0xEE ; 238 - ce2: 32 e0 ldi r19, 0x02 ; 2 - ce4: 42 9f mul r20, r18 - ce6: c0 01 movw r24, r0 - ce8: 43 9f mul r20, r19 - cea: 90 0d add r25, r0 - cec: 11 24 eor r1, r1 - cee: 86 59 subi r24, 0x96 ; 150 - cf0: 99 4d sbci r25, 0xD9 ; 217 - cf2: 84 8f std Z+28, r24 ; 0x1c - DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - cf4: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - cf8: 42 9f mul r20, r18 - cfa: c0 01 movw r24, r0 - cfc: 43 9f mul r20, r19 - cfe: 90 0d add r25, r0 - d00: 11 24 eor r1, r1 - d02: 86 59 subi r24, 0x96 ; 150 - d04: 99 4d sbci r25, 0xD9 ; 217 - d06: 95 8f std Z+29, r25 ; 0x1d - //Must enable last for REPCNT won't work! - DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - d08: 80 89 ldd r24, Z+16 ; 0x10 - d0a: 80 68 ori r24, 0x80 ; 128 - d0c: 80 8b std Z+16, r24 ; 0x10 - b1_state = !b1_state; - d0e: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - d12: 81 e0 ldi r24, 0x01 ; 1 - d14: 91 11 cpse r25, r1 - d16: 80 e0 ldi r24, 0x00 ; 0 - d18: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 - break; - d1c: be c0 rjmp .+380 ; 0xe9a <__vector_6+0x254> - case 2: - DMA.CH0.TRFCNT = HALFPACKET_SIZE; - d1e: e0 e0 ldi r30, 0x00 ; 0 - d20: f1 e0 ldi r31, 0x01 ; 1 - d22: 87 e7 ldi r24, 0x77 ; 119 - d24: 91 e0 ldi r25, 0x01 ; 1 - d26: 84 8b std Z+20, r24 ; 0x14 - d28: 95 8b std Z+21, r25 ; 0x15 - DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - d2a: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d2e: 2e ee ldi r18, 0xEE ; 238 - d30: 32 e0 ldi r19, 0x02 ; 2 - d32: 42 9f mul r20, r18 - d34: c0 01 movw r24, r0 - d36: 43 9f mul r20, r19 - d38: 90 0d add r25, r0 - d3a: 11 24 eor r1, r1 - d3c: 86 59 subi r24, 0x96 ; 150 - d3e: 99 4d sbci r25, 0xD9 ; 217 - d40: 84 8f std Z+28, r24 ; 0x1c - DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - d42: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d46: 42 9f mul r20, r18 - d48: c0 01 movw r24, r0 - d4a: 43 9f mul r20, r19 - d4c: 90 0d add r25, r0 - d4e: 11 24 eor r1, r1 - d50: 86 59 subi r24, 0x96 ; 150 - d52: 99 4d sbci r25, 0xD9 ; 217 - d54: 95 8f std Z+29, r25 ; 0x1d - //Must enable last for REPCNT won't work! - DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - d56: 80 89 ldd r24, Z+16 ; 0x10 - d58: 80 68 ori r24, 0x80 ; 128 - d5a: 80 8b std Z+16, r24 ; 0x10 - b1_state = !b1_state; - d5c: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - d60: 81 e0 ldi r24, 0x01 ; 1 - d62: 91 11 cpse r25, r1 - d64: 80 e0 ldi r24, 0x00 ; 0 - d66: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 - break; - d6a: 97 c0 rjmp .+302 ; 0xe9a <__vector_6+0x254> - case 3: - DMA.CH0.TRFCNT = HALFPACKET_SIZE; - d6c: e0 e0 ldi r30, 0x00 ; 0 - d6e: f1 e0 ldi r31, 0x01 ; 1 - d70: 87 e7 ldi r24, 0x77 ; 119 - d72: 91 e0 ldi r25, 0x01 ; 1 - d74: 84 8b std Z+20, r24 ; 0x14 - d76: 95 8b std Z+21, r25 ; 0x15 - DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - d78: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d7c: 2e ee ldi r18, 0xEE ; 238 - d7e: 32 e0 ldi r19, 0x02 ; 2 - d80: 42 9f mul r20, r18 - d82: c0 01 movw r24, r0 - d84: 43 9f mul r20, r19 - d86: 90 0d add r25, r0 - d88: 11 24 eor r1, r1 - d8a: 86 59 subi r24, 0x96 ; 150 - d8c: 99 4d sbci r25, 0xD9 ; 217 - d8e: 84 8f std Z+28, r24 ; 0x1c - DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - d90: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d94: 42 9f mul r20, r18 - d96: c0 01 movw r24, r0 - d98: 43 9f mul r20, r19 - d9a: 90 0d add r25, r0 - d9c: 11 24 eor r1, r1 - d9e: 86 59 subi r24, 0x96 ; 150 - da0: 99 4d sbci r25, 0xD9 ; 217 - da2: 95 8f std Z+29, r25 ; 0x1d - //Must enable last for REPCNT won't work! - DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - da4: 80 89 ldd r24, Z+16 ; 0x10 - da6: 80 68 ori r24, 0x80 ; 128 - da8: 80 8b std Z+16, r24 ; 0x10 - b1_state = !b1_state; - daa: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - dae: 81 e0 ldi r24, 0x01 ; 1 - db0: 91 11 cpse r25, r1 - db2: 80 e0 ldi r24, 0x00 ; 0 - db4: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 - break; - db8: 70 c0 rjmp .+224 ; 0xe9a <__vector_6+0x254> - case 4: - DMA.CH0.TRFCNT = HALFPACKET_SIZE; - dba: e0 e0 ldi r30, 0x00 ; 0 - dbc: f1 e0 ldi r31, 0x01 ; 1 - dbe: 87 e7 ldi r24, 0x77 ; 119 - dc0: 91 e0 ldi r25, 0x01 ; 1 - dc2: 84 8b std Z+20, r24 ; 0x14 - dc4: 95 8b std Z+21, r25 ; 0x15 - DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - dc6: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - dca: 2e ee ldi r18, 0xEE ; 238 - dcc: 32 e0 ldi r19, 0x02 ; 2 - dce: 42 9f mul r20, r18 - dd0: c0 01 movw r24, r0 - dd2: 43 9f mul r20, r19 - dd4: 90 0d add r25, r0 - dd6: 11 24 eor r1, r1 - dd8: 86 59 subi r24, 0x96 ; 150 - dda: 99 4d sbci r25, 0xD9 ; 217 - ddc: 84 8f std Z+28, r24 ; 0x1c - DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - dde: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - de2: 42 9f mul r20, r18 - de4: c0 01 movw r24, r0 - de6: 43 9f mul r20, r19 - de8: 90 0d add r25, r0 - dea: 11 24 eor r1, r1 - dec: 86 59 subi r24, 0x96 ; 150 - dee: 99 4d sbci r25, 0xD9 ; 217 - df0: 95 8f std Z+29, r25 ; 0x1d - //Must enable last for REPCNT won't work! - DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - df2: 80 89 ldd r24, Z+16 ; 0x10 - df4: 80 68 ori r24, 0x80 ; 128 - df6: 80 8b std Z+16, r24 ; 0x10 - b1_state = !b1_state; - df8: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - dfc: 81 e0 ldi r24, 0x01 ; 1 - dfe: 91 11 cpse r25, r1 - e00: 80 e0 ldi r24, 0x00 ; 0 - e02: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 - break; - e06: 49 c0 rjmp .+146 ; 0xe9a <__vector_6+0x254> - case 6: - DMA.CH0.TRFCNT = PACKET_SIZE; - e08: e0 e0 ldi r30, 0x00 ; 0 - e0a: f1 e0 ldi r31, 0x01 ; 1 - e0c: 2e ee ldi r18, 0xEE ; 238 - e0e: 32 e0 ldi r19, 0x02 ; 2 - e10: 24 8b std Z+20, r18 ; 0x14 - e12: 35 8b std Z+21, r19 ; 0x15 - DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - e14: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - e18: 42 9f mul r20, r18 - e1a: c0 01 movw r24, r0 - e1c: 43 9f mul r20, r19 - e1e: 90 0d add r25, r0 - e20: 11 24 eor r1, r1 - e22: 86 59 subi r24, 0x96 ; 150 - e24: 99 4d sbci r25, 0xD9 ; 217 - e26: 84 8f std Z+28, r24 ; 0x1c - DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - e28: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - e2c: 42 9f mul r20, r18 - e2e: c0 01 movw r24, r0 - e30: 43 9f mul r20, r19 - e32: 90 0d add r25, r0 - e34: 11 24 eor r1, r1 - e36: 86 59 subi r24, 0x96 ; 150 - e38: 99 4d sbci r25, 0xD9 ; 217 - e3a: 95 8f std Z+29, r25 ; 0x1d - //Must enable last for REPCNT won't work! - DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - e3c: 80 89 ldd r24, Z+16 ; 0x10 - e3e: 80 68 ori r24, 0x80 ; 128 - e40: 80 8b std Z+16, r24 ; 0x10 - b1_state = !b1_state; - e42: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - e46: 81 e0 ldi r24, 0x01 ; 1 - e48: 91 11 cpse r25, r1 - e4a: 80 e0 ldi r24, 0x00 ; 0 - e4c: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 - break; - e50: 24 c0 rjmp .+72 ; 0xe9a <__vector_6+0x254> - case 7: - DMA.CH0.TRFCNT = PACKET_SIZE; - e52: e0 e0 ldi r30, 0x00 ; 0 - e54: f1 e0 ldi r31, 0x01 ; 1 - e56: 2e ee ldi r18, 0xEE ; 238 - e58: 32 e0 ldi r19, 0x02 ; 2 - e5a: 24 8b std Z+20, r18 ; 0x14 - e5c: 35 8b std Z+21, r19 ; 0x15 - DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - e5e: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - e62: 42 9f mul r20, r18 - e64: c0 01 movw r24, r0 - e66: 43 9f mul r20, r19 - e68: 90 0d add r25, r0 - e6a: 11 24 eor r1, r1 - e6c: 86 59 subi r24, 0x96 ; 150 - e6e: 99 4d sbci r25, 0xD9 ; 217 - e70: 84 8f std Z+28, r24 ; 0x1c - DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - e72: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - e76: 42 9f mul r20, r18 - e78: c0 01 movw r24, r0 - e7a: 43 9f mul r20, r19 - e7c: 90 0d add r25, r0 - e7e: 11 24 eor r1, r1 - e80: 86 59 subi r24, 0x96 ; 150 - e82: 99 4d sbci r25, 0xD9 ; 217 - e84: 95 8f std Z+29, r25 ; 0x1d - //Must enable last for REPCNT won't work! - DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - e86: 80 89 ldd r24, Z+16 ; 0x10 - e88: 80 68 ori r24, 0x80 ; 128 - e8a: 80 8b std Z+16, r24 ; 0x10 - b1_state = !b1_state; - e8c: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - e90: 81 e0 ldi r24, 0x01 ; 1 - e92: 91 11 cpse r25, r1 - e94: 80 e0 ldi r24, 0x00 ; 0 - e96: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 - break; + cd0: 81 e0 ldi r24, 0x01 ; 1 + cd2: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> default: //////////////////////////////////////// break; } + */ } - e9a: ff 91 pop r31 - e9c: ef 91 pop r30 - e9e: bf 91 pop r27 - ea0: af 91 pop r26 - ea2: 9f 91 pop r25 - ea4: 8f 91 pop r24 - ea6: 4f 91 pop r20 - ea8: 3f 91 pop r19 - eaa: 2f 91 pop r18 - eac: 0f 90 pop r0 - eae: 0f be out 0x3f, r0 ; 63 - eb0: 0f 90 pop r0 - eb2: 1f 90 pop r1 - eb4: 18 95 reti + cd6: ff 91 pop r31 + cd8: ef 91 pop r30 + cda: 9f 91 pop r25 + cdc: 8f 91 pop r24 + cde: 0f 90 pop r0 + ce0: 0f be out 0x3f, r0 ; 63 + ce2: 0f 90 pop r0 + ce4: 1f 90 pop r1 + ce6: 18 95 reti -00000eb6 <__vector_7>: +00000ce8 <__vector_7>: ISR(DMA_CH1_vect){ - eb6: 1f 92 push r1 - eb8: 0f 92 push r0 - eba: 0f b6 in r0, 0x3f ; 63 - ebc: 0f 92 push r0 - ebe: 11 24 eor r1, r1 - ec0: 2f 93 push r18 - ec2: 3f 93 push r19 - ec4: 4f 93 push r20 - ec6: 8f 93 push r24 - ec8: 9f 93 push r25 - eca: ef 93 push r30 - ecc: ff 93 push r31 + ce8: 1f 92 push r1 + cea: 0f 92 push r0 + cec: 0f b6 in r0, 0x3f ; 63 + cee: 0f 92 push r0 + cf0: 11 24 eor r1, r1 + cf2: 8f 93 push r24 + cf4: 9f 93 push r25 + cf6: ef 93 push r30 + cf8: ff 93 push r31 + DMA.CH1.TRFCNT = HALFPACKET_SIZE; + cfa: 87 e7 ldi r24, 0x77 ; 119 + cfc: 91 e0 ldi r25, 0x01 ; 1 + cfe: 80 93 24 01 sts 0x0124, r24 ; 0x800124 <__TEXT_REGION_LENGTH__+0x700124> + d02: 90 93 25 01 sts 0x0125, r25 ; 0x800125 <__TEXT_REGION_LENGTH__+0x700125> + + if(b2_state){ + d06: 80 91 b4 20 lds r24, 0x20B4 ; 0x8020b4 + d0a: 88 23 and r24, r24 + d0c: 49 f0 breq .+18 ; 0xd20 <__vector_7+0x38> + DMA.CH1.DESTADDR0 = precalc_DMA_CH1_DESTADDR0_b2_state_equals_1; + d0e: 80 91 4e 2c lds r24, 0x2C4E ; 0x802c4e + d12: e0 e0 ldi r30, 0x00 ; 0 + d14: f1 e0 ldi r31, 0x01 ; 1 + d16: 84 a7 std Z+44, r24 ; 0x2c + DMA.CH1.DESTADDR1 = precalc_DMA_CH1_DESTADDR1_b2_state_equals_1; + d18: 80 91 56 22 lds r24, 0x2256 ; 0x802256 + d1c: 85 a7 std Z+45, r24 ; 0x2d + d1e: 08 c0 rjmp .+16 ; 0xd30 <__vector_7+0x48> + } else { + DMA.CH1.DESTADDR0 = precalc_DMA_CH1_DESTADDR0_b2_state_equals_0; + d20: 80 91 57 22 lds r24, 0x2257 ; 0x802257 + d24: e0 e0 ldi r30, 0x00 ; 0 + d26: f1 e0 ldi r31, 0x01 ; 1 + d28: 84 a7 std Z+44, r24 ; 0x2c + DMA.CH1.DESTADDR1 = precalc_DMA_CH1_DESTADDR1_b2_state_equals_0; + d2a: 80 91 5e 24 lds r24, 0x245E ; 0x80245e + d2e: 85 a7 std Z+45, r24 ; 0x2d + } + //Must enable last for REPCNT won't work! + asm("nop"); + d30: 00 00 nop + asm("nop"); + d32: 00 00 nop + + + DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + d34: e0 e0 ldi r30, 0x00 ; 0 + d36: f1 e0 ldi r31, 0x01 ; 1 + d38: 80 a1 ldd r24, Z+32 ; 0x20 + d3a: 80 68 ori r24, 0x80 ; 128 + d3c: 80 a3 std Z+32, r24 ; 0x20 + EVSYS.STROBE = 0x01; + d3e: 81 e0 ldi r24, 0x01 ; 1 + d40: 80 93 90 01 sts 0x0190, r24 ; 0x800190 <__TEXT_REGION_LENGTH__+0x700190> + b2_state = !b2_state; + d44: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 + d48: 91 11 cpse r25, r1 + d4a: 80 e0 ldi r24, 0x00 ; 0 + d4c: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 DMA.INTFLAGS = 0x02; - ece: 82 e0 ldi r24, 0x02 ; 2 - ed0: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - switch(global_mode){ - ed4: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - ed8: 81 30 cpi r24, 0x01 ; 1 - eda: 19 f0 breq .+6 ; 0xee2 <__vector_7+0x2c> - edc: 82 30 cpi r24, 0x02 ; 2 - ede: 41 f1 breq .+80 ; 0xf30 <__vector_7+0x7a> - ee0: 4d c0 rjmp .+154 ; 0xf7c <__vector_7+0xc6> - case 0: - //////////////////////////////////////// - break; - case 1: - DMA.CH1.TRFCNT = HALFPACKET_SIZE; - ee2: e0 e0 ldi r30, 0x00 ; 0 - ee4: f1 e0 ldi r31, 0x01 ; 1 - ee6: 87 e7 ldi r24, 0x77 ; 119 - ee8: 91 e0 ldi r25, 0x01 ; 1 - eea: 84 a3 std Z+36, r24 ; 0x24 - eec: 95 a3 std Z+37, r25 ; 0x25 - DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - eee: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - ef2: 2e ee ldi r18, 0xEE ; 238 - ef4: 32 e0 ldi r19, 0x02 ; 2 - ef6: 42 9f mul r20, r18 - ef8: c0 01 movw r24, r0 - efa: 43 9f mul r20, r19 - efc: 90 0d add r25, r0 - efe: 11 24 eor r1, r1 - f00: 8f 51 subi r24, 0x1F ; 31 - f02: 98 4d sbci r25, 0xD8 ; 216 - f04: 84 a7 std Z+44, r24 ; 0x2c - DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - f06: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - f0a: 42 9f mul r20, r18 - f0c: c0 01 movw r24, r0 - f0e: 43 9f mul r20, r19 - f10: 90 0d add r25, r0 - f12: 11 24 eor r1, r1 - f14: 8f 51 subi r24, 0x1F ; 31 - f16: 98 4d sbci r25, 0xD8 ; 216 - f18: 95 a7 std Z+45, r25 ; 0x2d - //Must enable last for REPCNT won't work! - DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - f1a: 80 a1 ldd r24, Z+32 ; 0x20 - f1c: 80 68 ori r24, 0x80 ; 128 - f1e: 80 a3 std Z+32, r24 ; 0x20 - b2_state = !b2_state; - f20: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 - f24: 81 e0 ldi r24, 0x01 ; 1 - f26: 91 11 cpse r25, r1 - f28: 80 e0 ldi r24, 0x00 ; 0 - f2a: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 - break; - f2e: 26 c0 rjmp .+76 ; 0xf7c <__vector_7+0xc6> - case 2: - DMA.CH1.TRFCNT = HALFPACKET_SIZE; - f30: e0 e0 ldi r30, 0x00 ; 0 - f32: f1 e0 ldi r31, 0x01 ; 1 - f34: 87 e7 ldi r24, 0x77 ; 119 - f36: 91 e0 ldi r25, 0x01 ; 1 - f38: 84 a3 std Z+36, r24 ; 0x24 - f3a: 95 a3 std Z+37, r25 ; 0x25 - DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - f3c: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - f40: 2e ee ldi r18, 0xEE ; 238 - f42: 32 e0 ldi r19, 0x02 ; 2 - f44: 42 9f mul r20, r18 - f46: c0 01 movw r24, r0 - f48: 43 9f mul r20, r19 - f4a: 90 0d add r25, r0 - f4c: 11 24 eor r1, r1 - f4e: 8f 51 subi r24, 0x1F ; 31 - f50: 98 4d sbci r25, 0xD8 ; 216 - f52: 84 a7 std Z+44, r24 ; 0x2c - DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - f54: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - f58: 42 9f mul r20, r18 - f5a: c0 01 movw r24, r0 - f5c: 43 9f mul r20, r19 - f5e: 90 0d add r25, r0 - f60: 11 24 eor r1, r1 - f62: 8f 51 subi r24, 0x1F ; 31 - f64: 98 4d sbci r25, 0xD8 ; 216 - f66: 95 a7 std Z+45, r25 ; 0x2d - //Must enable last for REPCNT won't work! - DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - f68: 80 a1 ldd r24, Z+32 ; 0x20 - f6a: 80 68 ori r24, 0x80 ; 128 - f6c: 80 a3 std Z+32, r24 ; 0x20 - b2_state = !b2_state; - f6e: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 - f72: 81 e0 ldi r24, 0x01 ; 1 - f74: 91 11 cpse r25, r1 - f76: 80 e0 ldi r24, 0x00 ; 0 - f78: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 - break; + d50: 82 e0 ldi r24, 0x02 ; 2 + d52: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> default: //////////////////////////////////////// break; } + */ } - f7c: ff 91 pop r31 - f7e: ef 91 pop r30 - f80: 9f 91 pop r25 - f82: 8f 91 pop r24 - f84: 4f 91 pop r20 - f86: 3f 91 pop r19 - f88: 2f 91 pop r18 - f8a: 0f 90 pop r0 - f8c: 0f be out 0x3f, r0 ; 63 - f8e: 0f 90 pop r0 - f90: 1f 90 pop r1 - f92: 18 95 reti + d56: ff 91 pop r31 + d58: ef 91 pop r30 + d5a: 9f 91 pop r25 + d5c: 8f 91 pop r24 + d5e: 0f 90 pop r0 + d60: 0f be out 0x3f, r0 ; 63 + d62: 0f 90 pop r0 + d64: 1f 90 pop r1 + d66: 18 95 reti -00000f94 <__vector_8>: +00000d68 <__vector_8>: ISR(DMA_CH2_vect){ - f94: 1f 92 push r1 - f96: 0f 92 push r0 - f98: 0f b6 in r0, 0x3f ; 63 - f9a: 0f 92 push r0 - f9c: 11 24 eor r1, r1 - f9e: 2f 93 push r18 - fa0: 3f 93 push r19 - fa2: 4f 93 push r20 - fa4: 8f 93 push r24 - fa6: 9f 93 push r25 - fa8: ef 93 push r30 - faa: ff 93 push r31 - DMA.INTFLAGS = 0x04; - fac: e0 e0 ldi r30, 0x00 ; 0 - fae: f1 e0 ldi r31, 0x01 ; 1 - fb0: 84 e0 ldi r24, 0x04 ; 4 - fb2: 83 83 std Z+3, r24 ; 0x03 - DMA.CH2.TRFCNT = HALFPACKET_SIZE; - fb4: 87 e7 ldi r24, 0x77 ; 119 - fb6: 91 e0 ldi r25, 0x01 ; 1 - fb8: 84 ab std Z+52, r24 ; 0x34 - fba: 95 ab std Z+53, r25 ; 0x35 + 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 DMA.CH2.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - fbc: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - fc0: 2e ee ldi r18, 0xEE ; 238 - fc2: 32 e0 ldi r19, 0x02 ; 2 - fc4: 42 9f mul r20, r18 - fc6: c0 01 movw r24, r0 - fc8: 43 9f mul r20, r19 - fca: 90 0d add r25, r0 - fcc: 11 24 eor r1, r1 - fce: 8f 51 subi r24, 0x1F ; 31 - fd0: 98 4d sbci r25, 0xD8 ; 216 - fd2: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - fd4: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - fd8: 42 9f mul r20, r18 - fda: c0 01 movw r24, r0 - fdc: 43 9f mul r20, r19 - fde: 90 0d add r25, r0 - fe0: 11 24 eor r1, r1 - fe2: 8f 51 subi r24, 0x1F ; 31 - fe4: 98 4d sbci r25, 0xD8 ; 216 - fe6: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - fea: 80 a9 ldd r24, Z+48 ; 0x30 - fec: 80 68 ori r24, 0x80 ; 128 - fee: 80 ab std Z+48, r24 ; 0x30 - b2_state = !b2_state; - ff0: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 - ff4: 81 e0 ldi r24, 0x01 ; 1 - ff6: 91 11 cpse r25, r1 - ff8: 80 e0 ldi r24, 0x00 ; 0 - ffa: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 + b2_state = !b2_state;*/ } - ffe: ff 91 pop r31 - 1000: ef 91 pop r30 - 1002: 9f 91 pop r25 - 1004: 8f 91 pop r24 - 1006: 4f 91 pop r20 - 1008: 3f 91 pop r19 - 100a: 2f 91 pop r18 - 100c: 0f 90 pop r0 - 100e: 0f be out 0x3f, r0 ; 63 - 1010: 0f 90 pop r0 - 1012: 1f 90 pop r1 - 1014: 18 95 reti + d72: 0f 90 pop r0 + d74: 0f be out 0x3f, r0 ; 63 + d76: 0f 90 pop r0 + d78: 1f 90 pop r1 + d7a: 18 95 reti -00001016 <__vector_9>: +00000d7c <__vector_9>: ISR(DMA_CH3_vect){ - 1016: 1f 92 push r1 - 1018: 0f 92 push r0 - 101a: 0f b6 in r0, 0x3f ; 63 - 101c: 0f 92 push r0 - 101e: 11 24 eor r1, r1 - 1020: 2f 93 push r18 - 1022: 3f 93 push r19 - 1024: 4f 93 push r20 - 1026: 8f 93 push r24 - 1028: 9f 93 push r25 - 102a: ef 93 push r30 - 102c: ff 93 push r31 - DMA.INTFLAGS = 0x08; - 102e: 88 e0 ldi r24, 0x08 ; 8 - 1030: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - DMA.CH3.TRFCNT = HALFPACKET_SIZE; - 1034: 87 e7 ldi r24, 0x77 ; 119 - 1036: 91 e0 ldi r25, 0x01 ; 1 - 1038: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 103c: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + d7c: 1f 92 push r1 + d7e: 0f 92 push r0 + d80: 0f b6 in r0, 0x3f ; 63 + d82: 0f 92 push r0 + d84: 11 24 eor r1, r1 DMA.CH3.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 1040: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 1044: 2e ee ldi r18, 0xEE ; 238 - 1046: 32 e0 ldi r19, 0x02 ; 2 - 1048: 42 9f mul r20, r18 - 104a: c0 01 movw r24, r0 - 104c: 43 9f mul r20, r19 - 104e: 90 0d add r25, r0 - 1050: 11 24 eor r1, r1 - 1052: 8f 51 subi r24, 0x1F ; 31 - 1054: 98 4d sbci r25, 0xD8 ; 216 - 1056: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 8) & 0xFF; - 105a: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - 105e: 42 9f mul r20, r18 - 1060: c0 01 movw r24, r0 - 1062: 43 9f mul r20, r19 - 1064: 90 0d add r25, r0 - 1066: 11 24 eor r1, r1 - 1068: 8f 51 subi r24, 0x1F ; 31 - 106a: 98 4d sbci r25, 0xD8 ; 216 - 106c: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 1070: e0 e4 ldi r30, 0x40 ; 64 - 1072: f1 e0 ldi r31, 0x01 ; 1 - 1074: 80 81 ld r24, Z - 1076: 80 68 ori r24, 0x80 ; 128 - 1078: 80 83 st Z, r24 - b2_state = !b2_state; - 107a: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 - 107e: 81 e0 ldi r24, 0x01 ; 1 - 1080: 91 11 cpse r25, r1 - 1082: 80 e0 ldi r24, 0x00 ; 0 - 1084: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 + b2_state = !b2_state;*/ } - 1088: ff 91 pop r31 - 108a: ef 91 pop r30 - 108c: 9f 91 pop r25 - 108e: 8f 91 pop r24 - 1090: 4f 91 pop r20 - 1092: 3f 91 pop r19 - 1094: 2f 91 pop r18 - 1096: 0f 90 pop r0 - 1098: 0f be out 0x3f, r0 ; 63 - 109a: 0f 90 pop r0 - 109c: 1f 90 pop r1 - 109e: 18 95 reti + d86: 0f 90 pop r0 + d88: 0f be out 0x3f, r0 ; 63 + d8a: 0f 90 pop r0 + d8c: 1f 90 pop r1 + d8e: 18 95 reti -000010a0 : +00000d90 : #define PSU_PER 2048 #define jump 6 void tiny_timer_setup(void){ //Turn everything on! PR.PRPC &= 0b11111100; //Enable TCC0, TCC1 - 10a0: e0 e7 ldi r30, 0x70 ; 112 - 10a2: f0 e0 ldi r31, 0x00 ; 0 - 10a4: 83 81 ldd r24, Z+3 ; 0x03 - 10a6: 8c 7f andi r24, 0xFC ; 252 - 10a8: 83 83 std Z+3, r24 ; 0x03 + d90: e0 e7 ldi r30, 0x70 ; 112 + d92: f0 e0 ldi r31, 0x00 ; 0 + d94: 83 81 ldd r24, Z+3 ; 0x03 + d96: 8c 7f andi r24, 0xFC ; 252 + d98: 83 83 std Z+3, r24 ; 0x03 PR.PRPD &= 0b11111100; //Enable TCD0, TCD1 - 10aa: 84 81 ldd r24, Z+4 ; 0x04 - 10ac: 8c 7f andi r24, 0xFC ; 252 - 10ae: 84 83 std Z+4, r24 ; 0x04 + d9a: 84 81 ldd r24, Z+4 ; 0x04 + d9c: 8c 7f andi r24, 0xFC ; 252 + d9e: 84 83 std Z+4, r24 ; 0x04 PR.PRGEN &= 0b11111101; //Enable EVSYS - 10b0: 80 81 ld r24, Z - 10b2: 8d 7f andi r24, 0xFD ; 253 - 10b4: 80 83 st Z, r24 + da0: 80 81 ld r24, Z + da2: 8d 7f andi r24, 0xFD ; 253 + da4: 80 83 st Z, r24 //Set up EVSYS EVSYS.CH2MUX = TCDAC_OVF; - 10b6: e0 e8 ldi r30, 0x80 ; 128 - 10b8: f1 e0 ldi r31, 0x01 ; 1 - 10ba: 80 ec ldi r24, 0xC0 ; 192 - 10bc: 82 83 std Z+2, r24 ; 0x02 + da6: e0 e8 ldi r30, 0x80 ; 128 + da8: f1 e0 ldi r31, 0x01 ; 1 + daa: 80 ec ldi r24, 0xC0 ; 192 + dac: 82 83 std Z+2, r24 ; 0x02 EVSYS.CH2CTRL = 0x00; //No filtering or Quadrature stuff - 10be: 12 86 std Z+10, r1 ; 0x0a + dae: 12 86 std Z+10, r1 ; 0x0a - EVSYS.CH1MUX = TCDAC_AUX_OVF; - 10c0: 88 ec ldi r24, 0xC8 ; 200 - 10c2: 81 83 std Z+1, r24 ; 0x01 + EVSYS.CH1MUX = EVSYS_CHMUX_ADCA_CH0_gc; + db0: 80 e2 ldi r24, 0x20 ; 32 + db2: 81 83 std Z+1, r24 ; 0x01 EVSYS.CH1CTRL = 0x00; //No filtering or Quadrature stuff - 10c4: 11 86 std Z+9, r1 ; 0x09 + db4: 11 86 std Z+9, r1 ; 0x09 + + EVSYS.CH0MUX = EVSYS_CHMUX_ADCA_CH2_gc; + db6: 82 e2 ldi r24, 0x22 ; 34 + db8: 80 83 st Z, r24 + EVSYS.CH0CTRL = 0x00; //No filtering or Quadrature stuff + dba: 10 86 std Z+8, r1 ; 0x08 + //Waveform (50Hz sin wave) TC_DAC.CTRLA = 0x04; //Some clk setting - not 100% sure since it was SW generated - 10c6: e0 e0 ldi r30, 0x00 ; 0 - 10c8: f8 e0 ldi r31, 0x08 ; 8 - 10ca: 34 e0 ldi r19, 0x04 ; 4 - 10cc: 30 83 st Z, r19 + dbc: a0 e0 ldi r26, 0x00 ; 0 + dbe: b8 e0 ldi r27, 0x08 ; 8 + dc0: 34 e0 ldi r19, 0x04 ; 4 + dc2: 3c 93 st X, r19 TC_DAC.CTRLB = TC_WGMODE_SINGLESLOPE_gc; //No enable is set - 10ce: 23 e0 ldi r18, 0x03 ; 3 - 10d0: 21 83 std Z+1, r18 ; 0x01 + dc4: 23 e0 ldi r18, 0x03 ; 3 + dc6: 11 96 adiw r26, 0x01 ; 1 + dc8: 2c 93 st X, r18 + dca: 11 97 sbiw r26, 0x01 ; 1 TC_DAC.CTRLE = TC_BYTEM_NORMAL_gc; - 10d2: 14 82 std Z+4, r1 ; 0x04 + dcc: 14 96 adiw r26, 0x04 ; 4 + dce: 1c 92 st X, r1 + dd0: 14 97 sbiw r26, 0x04 ; 4 TC_DAC.PER = 469; - 10d4: 85 ed ldi r24, 0xD5 ; 213 - 10d6: 91 e0 ldi r25, 0x01 ; 1 - 10d8: 86 a3 std Z+38, r24 ; 0x26 - 10da: 97 a3 std Z+39, r25 ; 0x27 + dd2: 85 ed ldi r24, 0xD5 ; 213 + dd4: 91 e0 ldi r25, 0x01 ; 1 + dd6: 96 96 adiw r26, 0x26 ; 38 + dd8: 8d 93 st X+, r24 + dda: 9c 93 st X, r25 + ddc: 97 97 sbiw r26, 0x27 ; 39 TC_DAC.INTCTRLA = 0x00; - 10dc: 16 82 std Z+6, r1 ; 0x06 + dde: 16 96 adiw r26, 0x06 ; 6 + de0: 1c 92 st X, r1 + de2: 16 97 sbiw r26, 0x06 ; 6 //Aux channel (blank 50Hz) TC_AUXDAC.CTRLA = 0x04; //Some clk setting - not 100% sure since it was SW generated - 10de: e0 e4 ldi r30, 0x40 ; 64 - 10e0: f8 e0 ldi r31, 0x08 ; 8 - 10e2: 30 83 st Z, r19 + de4: e0 e4 ldi r30, 0x40 ; 64 + de6: f8 e0 ldi r31, 0x08 ; 8 + de8: 30 83 st Z, r19 TC_AUXDAC.CTRLB = TC_WGMODE_SINGLESLOPE_gc; //No enable is set - 10e4: 21 83 std Z+1, r18 ; 0x01 + dea: 21 83 std Z+1, r18 ; 0x01 TC_AUXDAC.CTRLE = TC_BYTEM_NORMAL_gc; - 10e6: 14 82 std Z+4, r1 ; 0x04 + dec: 14 82 std Z+4, r1 ; 0x04 TC_AUXDAC.PER = 469; - 10e8: 86 a3 std Z+38, r24 ; 0x26 - 10ea: 97 a3 std Z+39, r25 ; 0x27 + dee: 86 a3 std Z+38, r24 ; 0x26 + df0: 97 a3 std Z+39, r25 ; 0x27 TC_AUXDAC.INTCTRLA = 0x00; - 10ec: 16 82 std Z+6, r1 ; 0x06 + df2: 16 82 std Z+6, r1 ; 0x06 //PSU PORTD.DIR |= 0b00010000; - 10ee: e0 e6 ldi r30, 0x60 ; 96 - 10f0: f6 e0 ldi r31, 0x06 ; 6 - 10f2: 80 81 ld r24, Z - 10f4: 80 61 ori r24, 0x10 ; 16 - 10f6: 80 83 st Z, r24 + df4: e0 e6 ldi r30, 0x60 ; 96 + df6: f6 e0 ldi r31, 0x06 ; 6 + df8: 80 81 ld r24, Z + dfa: 80 61 ori r24, 0x10 ; 16 + dfc: 80 83 st Z, r24 TC_PSU.CTRLB = 0x10 | TC_WGMODE_SINGLESLOPE_gc; //CCAEN is set - 10f8: e0 e4 ldi r30, 0x40 ; 64 - 10fa: f9 e0 ldi r31, 0x09 ; 9 - 10fc: 83 e1 ldi r24, 0x13 ; 19 - 10fe: 81 83 std Z+1, r24 ; 0x01 + dfe: e0 e4 ldi r30, 0x40 ; 64 + e00: f9 e0 ldi r31, 0x09 ; 9 + e02: 83 e1 ldi r24, 0x13 ; 19 + e04: 81 83 std Z+1, r24 ; 0x01 TC_PSU.CTRLE = TC_BYTEM_NORMAL_gc; - 1100: 14 82 std Z+4, r1 ; 0x04 + e06: 14 82 std Z+4, r1 ; 0x04 TC_PSU.INTCTRLA = TC_OVFINTLVL_MED_gc; - 1102: 81 e0 ldi r24, 0x01 ; 1 - 1104: 86 83 std Z+6, r24 ; 0x06 + e08: 82 e0 ldi r24, 0x02 ; 2 + e0a: 86 83 std Z+6, r24 ; 0x06 TC_PSU.PER = PSU_PER; // Max value of CNT - 1106: 28 eb ldi r18, 0xB8 ; 184 - 1108: 3b e0 ldi r19, 0x0B ; 11 - 110a: 26 a3 std Z+38, r18 ; 0x26 - 110c: 37 a3 std Z+39, r19 ; 0x27 + e0c: a6 a3 std Z+38, r26 ; 0x26 + e0e: b7 a3 std Z+39, r27 ; 0x27 TC_PSU.CCA = 0; //Initial Duty cycle of 0% - 110e: 10 a6 std Z+40, r1 ; 0x28 - 1110: 11 a6 std Z+41, r1 ; 0x29 + e10: 10 a6 std Z+40, r1 ; 0x28 + e12: 11 a6 std Z+41, r1 ; 0x29 TC_PSU.CTRLA = TC_CLKSEL_DIV1_gc; - 1112: 80 83 st Z, r24 - 1114: 08 95 ret + e14: 81 e0 ldi r24, 0x01 ; 1 + e16: 80 83 st Z, r24 + e18: 08 95 ret -00001116 <__vector_83>: +00000e1a <__vector_83>: TCC1.PER = 1800; // Max value of CNT TCC1.CTRLA = TC_CLKSEL_DIV1_gc; */ } ISR(TC_PSU_OVF){ - 1116: 1f 92 push r1 - 1118: 0f 92 push r0 - 111a: 0f b6 in r0, 0x3f ; 63 - 111c: 0f 92 push r0 - 111e: 11 24 eor r1, r1 - 1120: 2f 93 push r18 - 1122: 3f 93 push r19 - 1124: 4f 93 push r20 - 1126: 5f 93 push r21 - 1128: 8f 93 push r24 - 112a: 9f 93 push r25 - 112c: ef 93 push r30 - 112e: ff 93 push r31 - 1130: cf 93 push r28 - 1132: df 93 push r29 - 1134: 1f 92 push r1 - 1136: cd b7 in r28, 0x3d ; 61 - 1138: de b7 in r29, 0x3e ; 62 + e1a: 1f 92 push r1 + e1c: 0f 92 push r0 + e1e: 0f b6 in r0, 0x3f ; 63 + e20: 0f 92 push r0 + e22: 11 24 eor r1, r1 + e24: 2f 93 push r18 + e26: 3f 93 push r19 + e28: 4f 93 push r20 + e2a: 5f 93 push r21 + e2c: 8f 93 push r24 + e2e: 9f 93 push r25 + e30: ef 93 push r30 + e32: ff 93 push r31 + e34: cf 93 push r28 + e36: df 93 push r29 + e38: 1f 92 push r1 + e3a: cd b7 in r28, 0x3d ; 61 + e3c: de b7 in r29, 0x3e ; 62 char tempvar; char err; volatile char nothing; TC_PSU.INTFLAGS = 0xff; - 113a: 8f ef ldi r24, 0xFF ; 255 - 113c: 80 93 4c 09 sts 0x094C, r24 ; 0x80094c <__TEXT_REGION_LENGTH__+0x70094c> + e3e: 8f ef ldi r24, 0xFF ; 255 + e40: 80 93 4c 09 sts 0x094C, r24 ; 0x80094c <__TEXT_REGION_LENGTH__+0x70094c> if (global_mode == 7){ - 1140: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - 1144: 87 30 cpi r24, 0x07 ; 7 - 1146: 31 f4 brne .+12 ; 0x1154 <__vector_83+0x3e> + e44: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> + e48: 87 30 cpi r24, 0x07 ; 7 + e4a: 31 f4 brne .+12 ; 0xe58 <__vector_83+0x3e> nothing = ADCA.CH1.RESL; - 1148: e0 e0 ldi r30, 0x00 ; 0 - 114a: f2 e0 ldi r31, 0x02 ; 2 - 114c: 84 a5 ldd r24, Z+44 ; 0x2c - 114e: 89 83 std Y+1, r24 ; 0x01 + e4c: e0 e0 ldi r30, 0x00 ; 0 + e4e: f2 e0 ldi r31, 0x02 ; 2 + e50: 84 a5 ldd r24, Z+44 ; 0x2c + e52: 89 83 std Y+1, r24 ; 0x01 tempvar = ADCA.CH1.RESH; - 1150: 95 a5 ldd r25, Z+45 ; 0x2d - 1152: 02 c0 rjmp .+4 ; 0x1158 <__vector_83+0x42> + e54: 95 a5 ldd r25, Z+45 ; 0x2d + e56: 02 c0 rjmp .+4 ; 0xe5c <__vector_83+0x42> } else{ tempvar = ADCA.CH1.RESL; - 1154: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + e58: 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); - 1158: 80 91 b2 20 lds r24, 0x20B2 ; 0x8020b2 <__data_end> - 115c: 89 1b sub r24, r25 + e5c: 80 91 b2 20 lds r24, 0x20B2 ; 0x8020b2 <__data_end> + e60: 89 1b sub r24, r25 if ((err > 1) & ((unsigned short) TC_PSU.CCA < PSU_PER - jump) ){ - 115e: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 1162: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 1166: 91 e0 ldi r25, 0x01 ; 1 - 1168: 82 30 cpi r24, 0x02 ; 2 - 116a: 0c f4 brge .+2 ; 0x116e <__vector_83+0x58> - 116c: 90 e0 ldi r25, 0x00 ; 0 - 116e: 99 23 and r25, r25 - 1170: c9 f0 breq .+50 ; 0x11a4 <__vector_83+0x8e> - 1172: 91 e0 ldi r25, 0x01 ; 1 - 1174: 22 3b cpi r18, 0xB2 ; 178 - 1176: 3b 40 sbci r19, 0x0B ; 11 - 1178: 08 f0 brcs .+2 ; 0x117c <__vector_83+0x66> - 117a: 90 e0 ldi r25, 0x00 ; 0 - 117c: 99 23 and r25, r25 - 117e: 91 f0 breq .+36 ; 0x11a4 <__vector_83+0x8e> + e62: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + e66: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + e6a: 91 e0 ldi r25, 0x01 ; 1 + e6c: 82 30 cpi r24, 0x02 ; 2 + e6e: 0c f4 brge .+2 ; 0xe72 <__vector_83+0x58> + e70: 90 e0 ldi r25, 0x00 ; 0 + e72: 99 23 and r25, r25 + e74: c9 f0 breq .+50 ; 0xea8 <__vector_83+0x8e> + e76: 91 e0 ldi r25, 0x01 ; 1 + e78: 2a 3f cpi r18, 0xFA ; 250 + e7a: 37 40 sbci r19, 0x07 ; 7 + e7c: 08 f0 brcs .+2 ; 0xe80 <__vector_83+0x66> + e7e: 90 e0 ldi r25, 0x00 ; 0 + e80: 99 23 and r25, r25 + e82: 91 f0 breq .+36 ; 0xea8 <__vector_83+0x8e> TC_PSU.CCABUF = TC_PSU.CCA + ((err > 8) ? jump : 1); - 1180: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 1184: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 1188: 89 30 cpi r24, 0x09 ; 9 - 118a: 1c f4 brge .+6 ; 0x1192 <__vector_83+0x7c> - 118c: 81 e0 ldi r24, 0x01 ; 1 - 118e: 90 e0 ldi r25, 0x00 ; 0 - 1190: 02 c0 rjmp .+4 ; 0x1196 <__vector_83+0x80> - 1192: 86 e0 ldi r24, 0x06 ; 6 - 1194: 90 e0 ldi r25, 0x00 ; 0 - 1196: 82 0f add r24, r18 - 1198: 93 1f adc r25, r19 - 119a: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - 119e: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> - 11a2: 23 c0 rjmp .+70 ; 0x11ea <__vector_83+0xd4> + e84: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + e88: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + e8c: 89 30 cpi r24, 0x09 ; 9 + e8e: 1c f4 brge .+6 ; 0xe96 <__vector_83+0x7c> + e90: 81 e0 ldi r24, 0x01 ; 1 + e92: 90 e0 ldi r25, 0x00 ; 0 + e94: 02 c0 rjmp .+4 ; 0xe9a <__vector_83+0x80> + e96: 86 e0 ldi r24, 0x06 ; 6 + e98: 90 e0 ldi r25, 0x00 ; 0 + e9a: 82 0f add r24, r18 + e9c: 93 1f adc r25, r19 + e9e: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + ea2: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + ea6: 23 c0 rjmp .+70 ; 0xeee <__vector_83+0xd4> } else if ((err < -1) & ((unsigned short) TC_PSU.CCA > jump)){ - 11a4: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 11a8: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 11ac: 91 e0 ldi r25, 0x01 ; 1 - 11ae: 8f 3f cpi r24, 0xFF ; 255 - 11b0: 0c f0 brlt .+2 ; 0x11b4 <__vector_83+0x9e> - 11b2: 90 e0 ldi r25, 0x00 ; 0 - 11b4: 99 23 and r25, r25 - 11b6: c9 f0 breq .+50 ; 0x11ea <__vector_83+0xd4> - 11b8: 91 e0 ldi r25, 0x01 ; 1 - 11ba: 27 30 cpi r18, 0x07 ; 7 - 11bc: 31 05 cpc r19, r1 - 11be: 08 f4 brcc .+2 ; 0x11c2 <__vector_83+0xac> - 11c0: 90 e0 ldi r25, 0x00 ; 0 - 11c2: 99 23 and r25, r25 - 11c4: 91 f0 breq .+36 ; 0x11ea <__vector_83+0xd4> + ea8: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + eac: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + eb0: 91 e0 ldi r25, 0x01 ; 1 + eb2: 8f 3f cpi r24, 0xFF ; 255 + eb4: 0c f0 brlt .+2 ; 0xeb8 <__vector_83+0x9e> + eb6: 90 e0 ldi r25, 0x00 ; 0 + eb8: 99 23 and r25, r25 + eba: c9 f0 breq .+50 ; 0xeee <__vector_83+0xd4> + ebc: 91 e0 ldi r25, 0x01 ; 1 + ebe: 27 30 cpi r18, 0x07 ; 7 + ec0: 31 05 cpc r19, r1 + ec2: 08 f4 brcc .+2 ; 0xec6 <__vector_83+0xac> + ec4: 90 e0 ldi r25, 0x00 ; 0 + ec6: 99 23 and r25, r25 + ec8: 91 f0 breq .+36 ; 0xeee <__vector_83+0xd4> TC_PSU.CCABUF = TC_PSU.CCA - ((err < -8) ? jump : 1); - 11c6: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 11ca: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 11ce: 88 3f cpi r24, 0xF8 ; 248 - 11d0: 1c f0 brlt .+6 ; 0x11d8 <__vector_83+0xc2> - 11d2: 81 e0 ldi r24, 0x01 ; 1 - 11d4: 90 e0 ldi r25, 0x00 ; 0 - 11d6: 02 c0 rjmp .+4 ; 0x11dc <__vector_83+0xc6> - 11d8: 86 e0 ldi r24, 0x06 ; 6 - 11da: 90 e0 ldi r25, 0x00 ; 0 - 11dc: a9 01 movw r20, r18 - 11de: 48 1b sub r20, r24 - 11e0: 59 0b sbc r21, r25 - 11e2: 40 93 78 09 sts 0x0978, r20 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - 11e6: 50 93 79 09 sts 0x0979, r21 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + eca: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + ece: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + ed2: 88 3f cpi r24, 0xF8 ; 248 + ed4: 1c f0 brlt .+6 ; 0xedc <__vector_83+0xc2> + ed6: 81 e0 ldi r24, 0x01 ; 1 + ed8: 90 e0 ldi r25, 0x00 ; 0 + eda: 02 c0 rjmp .+4 ; 0xee0 <__vector_83+0xc6> + edc: 86 e0 ldi r24, 0x06 ; 6 + ede: 90 e0 ldi r25, 0x00 ; 0 + ee0: a9 01 movw r20, r18 + ee2: 48 1b sub r20, r24 + ee4: 59 0b sbc r21, r25 + ee6: 40 93 78 09 sts 0x0978, r20 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + eea: 50 93 79 09 sts 0x0979, r21 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> } - 11ea: 0f 90 pop r0 - 11ec: df 91 pop r29 - 11ee: cf 91 pop r28 - 11f0: ff 91 pop r31 - 11f2: ef 91 pop r30 - 11f4: 9f 91 pop r25 - 11f6: 8f 91 pop r24 - 11f8: 5f 91 pop r21 - 11fa: 4f 91 pop r20 - 11fc: 3f 91 pop r19 - 11fe: 2f 91 pop r18 - 1200: 0f 90 pop r0 - 1202: 0f be out 0x3f, r0 ; 63 - 1204: 0f 90 pop r0 - 1206: 1f 90 pop r1 - 1208: 18 95 reti + eee: 0f 90 pop r0 + ef0: df 91 pop r29 + ef2: cf 91 pop r28 + ef4: ff 91 pop r31 + ef6: ef 91 pop r30 + ef8: 9f 91 pop r25 + efa: 8f 91 pop r24 + efc: 5f 91 pop r21 + efe: 4f 91 pop r20 + f00: 3f 91 pop r19 + f02: 2f 91 pop r18 + f04: 0f 90 pop r0 + f06: 0f be out 0x3f, r0 ; 63 + f08: 0f 90 pop r0 + f0a: 1f 90 pop r1 + f0c: 18 95 reti -0000120a : +00000f0e : #include "tiny_uart.h" #include "globals.h" void tiny_uart_setup(void){ PR.PRPC &= 0b11101111; - 120a: e0 e7 ldi r30, 0x70 ; 112 - 120c: f0 e0 ldi r31, 0x00 ; 0 - 120e: 83 81 ldd r24, Z+3 ; 0x03 - 1210: 8f 7e andi r24, 0xEF ; 239 - 1212: 83 83 std Z+3, r24 ; 0x03 + f0e: e0 e7 ldi r30, 0x70 ; 112 + f10: f0 e0 ldi r31, 0x00 ; 0 + f12: 83 81 ldd r24, Z+3 ; 0x03 + f14: 8f 7e andi r24, 0xEF ; 239 + f16: 83 83 std Z+3, r24 ; 0x03 //PR.PRPE &= 0b11111110; ??? PORTC.DIR |= 0b10101010; - 1214: e0 e4 ldi r30, 0x40 ; 64 - 1216: f6 e0 ldi r31, 0x06 ; 6 - 1218: 80 81 ld r24, Z - 121a: 8a 64 ori r24, 0x4A ; 74 - 121c: 80 83 st Z, r24 + f18: e0 e4 ldi r30, 0x40 ; 64 + f1a: f6 e0 ldi r31, 0x06 ; 6 + f1c: 80 81 ld r24, Z + f1e: 8a 6a ori r24, 0xAA ; 170 + f20: 80 83 st Z, r24 PORTC.OUT = 0xff; - 121e: 8f ef ldi r24, 0xFF ; 255 - 1220: 84 83 std Z+4, r24 ; 0x04 + f22: 8f ef ldi r24, 0xFF ; 255 + f24: 84 83 std Z+4, r24 ; 0x04 PORTC.PIN2CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; - 1222: 88 e5 ldi r24, 0x58 ; 88 - 1224: 82 8b std Z+18, r24 ; 0x12 + f26: 88 e5 ldi r24, 0x58 ; 88 + f28: 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!!! - 1226: 80 e2 ldi r24, 0x20 ; 32 - 1228: 86 87 std Z+14, r24 ; 0x0e //#endif USARTC0.CTRLC = USART_CMODE_MSPI_gc | 0b00000100; //LSB received first, UPCHA disabled - 122a: e0 ea ldi r30, 0xA0 ; 160 - 122c: f8 e0 ldi r31, 0x08 ; 8 - 122e: 84 ec ldi r24, 0xC4 ; 196 - 1230: 85 83 std Z+5, r24 ; 0x05 + f2a: e0 ea ldi r30, 0xA0 ; 160 + f2c: f8 e0 ldi r31, 0x08 ; 8 + f2e: 84 ec ldi r24, 0xC4 ; 196 + f30: 85 83 std Z+5, r24 ; 0x05 USARTC0.BAUDCTRLA = 3; //BSEL = fper/(2fbaud) -1; 24/(2*3) - 1 = 3 - 1232: 83 e0 ldi r24, 0x03 ; 3 - 1234: 86 83 std Z+6, r24 ; 0x06 + f32: 83 e0 ldi r24, 0x03 ; 3 + f34: 86 83 std Z+6, r24 ; 0x06 USARTC0.BAUDCTRLB = 0x00;//USART_BSCALE0_bm; - 1236: 17 82 std Z+7, r1 ; 0x07 + f36: 17 82 std Z+7, r1 ; 0x07 USARTC0.CTRLB = USART_RXEN_bm | USART_TXEN_bm; - 1238: 88 e1 ldi r24, 0x18 ; 24 - 123a: 84 83 std Z+4, r24 ; 0x04 - 123c: 08 95 ret + f38: 88 e1 ldi r24, 0x18 ; 24 + f3a: 84 83 std Z+4, r24 ; 0x04 + f3c: 08 95 ret -0000123e : +00000f3e : } void tiny_spi_setup(void){ //Power Reduction disable PR.PRPC &= 0b11110111; - 123e: e0 e7 ldi r30, 0x70 ; 112 - 1240: f0 e0 ldi r31, 0x00 ; 0 - 1242: 83 81 ldd r24, Z+3 ; 0x03 - 1244: 87 7f andi r24, 0xF7 ; 247 - 1246: 83 83 std Z+3, r24 ; 0x03 + f3e: e0 e7 ldi r30, 0x70 ; 112 + f40: f0 e0 ldi r31, 0x00 ; 0 + f42: 83 81 ldd r24, Z+3 ; 0x03 + f44: 87 7f andi r24, 0xF7 ; 247 + f46: 83 83 std Z+3, r24 ; 0x03 //SPI enable SPIC.CTRL = SPI_ENABLE_bm; //Slave mode - 1248: e0 ec ldi r30, 0xC0 ; 192 - 124a: f8 e0 ldi r31, 0x08 ; 8 - 124c: 80 e4 ldi r24, 0x40 ; 64 - 124e: 80 83 st Z, r24 + f48: e0 ec ldi r30, 0xC0 ; 192 + f4a: f8 e0 ldi r31, 0x08 ; 8 + f4c: 80 e4 ldi r24, 0x40 ; 64 + f4e: 80 83 st Z, r24 SPIC.INTCTRL = SPI_INTLVL_OFF_gc; - 1250: 83 e0 ldi r24, 0x03 ; 3 - 1252: 81 83 std Z+1, r24 ; 0x01 + f50: 11 82 std Z+1, r1 ; 0x01 //#ifdef VERO PORTC.PIN5CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; - //#else - // PORTC.PIN7CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //Pin5 if not swapped - 1254: 88 e5 ldi r24, 0x58 ; 88 - 1256: 80 93 57 06 sts 0x0657, r24 ; 0x800657 <__TEXT_REGION_LENGTH__+0x700657> - 125a: 08 95 ret + f52: 88 e5 ldi r24, 0x58 ; 88 + f54: 80 93 55 06 sts 0x0655, r24 ; 0x800655 <__TEXT_REGION_LENGTH__+0x700655> + f58: 08 95 ret -0000125c <__vector_24>: +00000f5a <__vector_24>: //#endif return; } ISR(SPIC_INT_vect){ - 125c: 1f 92 push r1 - 125e: 0f 92 push r0 - 1260: 0f b6 in r0, 0x3f ; 63 - 1262: 0f 92 push r0 - 1264: 11 24 eor r1, r1 + f5a: 1f 92 push r1 + f5c: 0f 92 push r0 + f5e: 0f b6 in r0, 0x3f ; 63 + f60: 0f 92 push r0 + f62: 11 24 eor r1, r1 asm("nop"); - 1266: 00 00 nop + f64: 00 00 nop } - 1268: 0f 90 pop r0 - 126a: 0f be out 0x3f, r0 ; 63 - 126c: 0f 90 pop r0 - 126e: 1f 90 pop r1 - 1270: 18 95 reti + f66: 0f 90 pop r0 + f68: 0f be out 0x3f, r0 ; 63 + f6a: 0f 90 pop r0 + f6c: 1f 90 pop r1 + f6e: 18 95 reti -00001272 : +00000f70 : } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; - 1272: 0f 93 push r16 - 1274: 1f 93 push r17 - 1276: cf 93 push r28 - 1278: df 93 push r29 - 127a: 00 d0 rcall .+0 ; 0x127c - 127c: 00 d0 rcall .+0 ; 0x127e - 127e: cd b7 in r28, 0x3d ; 61 - 1280: de b7 in r29, 0x3e ; 62 - 1282: 8f ef ldi r24, 0xFF ; 255 - 1284: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> - 1288: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - 128c: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> - 1290: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> - 1294: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> - 1298: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> - 129c: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> - 12a0: 64 e0 ldi r22, 0x04 ; 4 - 12a2: 81 e4 ldi r24, 0x41 ; 65 - 12a4: 90 e0 ldi r25, 0x00 ; 0 - 12a6: c6 d5 rcall .+2956 ; 0x1e34 - 12a8: 6c e1 ldi r22, 0x1C ; 28 - 12aa: 70 e0 ldi r23, 0x00 ; 0 - 12ac: 82 e0 ldi r24, 0x02 ; 2 - 12ae: c8 d5 rcall .+2960 ; 0x1e40 - 12b0: 8a 83 std Y+2, r24 ; 0x02 - 12b2: 6d e1 ldi r22, 0x1D ; 29 - 12b4: 70 e0 ldi r23, 0x00 ; 0 - 12b6: 82 e0 ldi r24, 0x02 ; 2 - 12b8: c3 d5 rcall .+2950 ; 0x1e40 - 12ba: 89 83 std Y+1, r24 ; 0x01 - 12bc: 89 81 ldd r24, Y+1 ; 0x01 - 12be: 9a 81 ldd r25, Y+2 ; 0x02 - 12c0: 01 96 adiw r24, 0x01 ; 1 - 12c2: 21 f4 brne .+8 ; 0x12cc - 12c4: 80 e4 ldi r24, 0x40 ; 64 - 12c6: 93 e2 ldi r25, 0x23 ; 35 - 12c8: 89 83 std Y+1, r24 ; 0x01 - 12ca: 9a 83 std Y+2, r25 ; 0x02 - 12cc: 89 81 ldd r24, Y+1 ; 0x01 - 12ce: 9a 81 ldd r25, Y+2 ; 0x02 - 12d0: 8b 83 std Y+3, r24 ; 0x03 - 12d2: 9c 83 std Y+4, r25 ; 0x04 - 12d4: e0 e6 ldi r30, 0x60 ; 96 - 12d6: f0 e0 ldi r31, 0x00 ; 0 - 12d8: 82 83 std Z+2, r24 ; 0x02 - 12da: 8c 81 ldd r24, Y+4 ; 0x04 - 12dc: 83 83 std Z+3, r24 ; 0x03 - 12de: 9f b7 in r25, 0x3f ; 63 - 12e0: f8 94 cli - 12e2: e0 e5 ldi r30, 0x50 ; 80 - 12e4: f0 e0 ldi r31, 0x00 ; 0 - 12e6: 80 81 ld r24, Z - 12e8: 82 60 ori r24, 0x02 ; 2 - 12ea: 80 83 st Z, r24 - 12ec: 9f bf out 0x3f, r25 ; 63 - 12ee: 81 81 ldd r24, Z+1 ; 0x01 - 12f0: 81 ff sbrs r24, 1 - 12f2: fd cf rjmp .-6 ; 0x12ee - 12f4: 9f b7 in r25, 0x3f ; 63 - 12f6: f8 94 cli - 12f8: 00 e5 ldi r16, 0x50 ; 80 - 12fa: 10 e0 ldi r17, 0x00 ; 0 - 12fc: d8 01 movw r26, r16 - 12fe: 16 96 adiw r26, 0x06 ; 6 - 1300: 8c 91 ld r24, X - 1302: 16 97 sbiw r26, 0x06 ; 6 - 1304: 89 7f andi r24, 0xF9 ; 249 - 1306: 16 96 adiw r26, 0x06 ; 6 - 1308: 8c 93 st X, r24 - 130a: 16 97 sbiw r26, 0x06 ; 6 - 130c: e0 e6 ldi r30, 0x60 ; 96 - 130e: f0 e0 ldi r31, 0x00 ; 0 - 1310: 80 e8 ldi r24, 0x80 ; 128 - 1312: 85 83 std Z+5, r24 ; 0x05 - 1314: 8b eb ldi r24, 0xBB ; 187 - 1316: 86 83 std Z+6, r24 ; 0x06 - 1318: 16 96 adiw r26, 0x06 ; 6 - 131a: 8c 91 ld r24, X - 131c: 16 97 sbiw r26, 0x06 ; 6 - 131e: 84 60 ori r24, 0x04 ; 4 - 1320: 16 96 adiw r26, 0x06 ; 6 - 1322: 8c 93 st X, r24 - 1324: 80 81 ld r24, Z - 1326: 81 60 ori r24, 0x01 ; 1 - 1328: 80 83 st Z, r24 - 132a: 9f bf out 0x3f, r25 ; 63 - 132c: 61 e0 ldi r22, 0x01 ; 1 - 132e: 80 e4 ldi r24, 0x40 ; 64 - 1330: 90 e0 ldi r25, 0x00 ; 0 - 1332: 80 d5 rcall .+2816 ; 0x1e34 - 1334: 9f b7 in r25, 0x3f ; 63 - 1336: f8 94 cli - 1338: f8 01 movw r30, r16 - 133a: 80 81 ld r24, Z - 133c: 8e 7f andi r24, 0xFE ; 254 - 133e: 80 83 st Z, r24 - 1340: 9f bf out 0x3f, r25 ; 63 - 1342: 24 96 adiw r28, 0x04 ; 4 - 1344: cd bf out 0x3d, r28 ; 61 - 1346: de bf out 0x3e, r29 ; 62 - 1348: df 91 pop r29 - 134a: cf 91 pop r28 - 134c: 1f 91 pop r17 - 134e: 0f 91 pop r16 - 1350: 08 95 ret + f70: 0f 93 push r16 + f72: 1f 93 push r17 + f74: cf 93 push r28 + f76: df 93 push r29 + f78: 00 d0 rcall .+0 ; 0xf7a + f7a: 00 d0 rcall .+0 ; 0xf7c + f7c: cd b7 in r28, 0x3d ; 61 + f7e: de b7 in r29, 0x3e ; 62 + f80: 8f ef ldi r24, 0xFF ; 255 + f82: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> + f86: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + f8a: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> + f8e: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> + f92: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> + f96: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> + f9a: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> + f9e: 64 e0 ldi r22, 0x04 ; 4 + fa0: 81 e4 ldi r24, 0x41 ; 65 + fa2: 90 e0 ldi r25, 0x00 ; 0 + fa4: ba d5 rcall .+2932 ; 0x1b1a + fa6: 6c e1 ldi r22, 0x1C ; 28 + fa8: 70 e0 ldi r23, 0x00 ; 0 + faa: 82 e0 ldi r24, 0x02 ; 2 + fac: bc d5 rcall .+2936 ; 0x1b26 + fae: 8a 83 std Y+2, r24 ; 0x02 + fb0: 6d e1 ldi r22, 0x1D ; 29 + fb2: 70 e0 ldi r23, 0x00 ; 0 + fb4: 82 e0 ldi r24, 0x02 ; 2 + fb6: b7 d5 rcall .+2926 ; 0x1b26 + fb8: 89 83 std Y+1, r24 ; 0x01 + fba: 89 81 ldd r24, Y+1 ; 0x01 + fbc: 9a 81 ldd r25, Y+2 ; 0x02 + fbe: 01 96 adiw r24, 0x01 ; 1 + fc0: 21 f4 brne .+8 ; 0xfca + fc2: 80 e4 ldi r24, 0x40 ; 64 + fc4: 93 e2 ldi r25, 0x23 ; 35 + fc6: 89 83 std Y+1, r24 ; 0x01 + fc8: 9a 83 std Y+2, r25 ; 0x02 + fca: 89 81 ldd r24, Y+1 ; 0x01 + fcc: 9a 81 ldd r25, Y+2 ; 0x02 + fce: 8b 83 std Y+3, r24 ; 0x03 + fd0: 9c 83 std Y+4, r25 ; 0x04 + fd2: e0 e6 ldi r30, 0x60 ; 96 + fd4: f0 e0 ldi r31, 0x00 ; 0 + fd6: 82 83 std Z+2, r24 ; 0x02 + fd8: 8c 81 ldd r24, Y+4 ; 0x04 + fda: 83 83 std Z+3, r24 ; 0x03 + fdc: 9f b7 in r25, 0x3f ; 63 + fde: f8 94 cli + fe0: e0 e5 ldi r30, 0x50 ; 80 + fe2: f0 e0 ldi r31, 0x00 ; 0 + fe4: 80 81 ld r24, Z + fe6: 82 60 ori r24, 0x02 ; 2 + fe8: 80 83 st Z, r24 + fea: 9f bf out 0x3f, r25 ; 63 + fec: 81 81 ldd r24, Z+1 ; 0x01 + fee: 81 ff sbrs r24, 1 + ff0: fd cf rjmp .-6 ; 0xfec + ff2: 9f b7 in r25, 0x3f ; 63 + ff4: f8 94 cli + ff6: 00 e5 ldi r16, 0x50 ; 80 + ff8: 10 e0 ldi r17, 0x00 ; 0 + ffa: d8 01 movw r26, r16 + ffc: 16 96 adiw r26, 0x06 ; 6 + ffe: 8c 91 ld r24, X + 1000: 16 97 sbiw r26, 0x06 ; 6 + 1002: 89 7f andi r24, 0xF9 ; 249 + 1004: 16 96 adiw r26, 0x06 ; 6 + 1006: 8c 93 st X, r24 + 1008: 16 97 sbiw r26, 0x06 ; 6 + 100a: e0 e6 ldi r30, 0x60 ; 96 + 100c: f0 e0 ldi r31, 0x00 ; 0 + 100e: 80 e8 ldi r24, 0x80 ; 128 + 1010: 85 83 std Z+5, r24 ; 0x05 + 1012: 8b eb ldi r24, 0xBB ; 187 + 1014: 86 83 std Z+6, r24 ; 0x06 + 1016: 16 96 adiw r26, 0x06 ; 6 + 1018: 8c 91 ld r24, X + 101a: 16 97 sbiw r26, 0x06 ; 6 + 101c: 84 60 ori r24, 0x04 ; 4 + 101e: 16 96 adiw r26, 0x06 ; 6 + 1020: 8c 93 st X, r24 + 1022: 80 81 ld r24, Z + 1024: 81 60 ori r24, 0x01 ; 1 + 1026: 80 83 st Z, r24 + 1028: 9f bf out 0x3f, r25 ; 63 + 102a: 61 e0 ldi r22, 0x01 ; 1 + 102c: 80 e4 ldi r24, 0x40 ; 64 + 102e: 90 e0 ldi r25, 0x00 ; 0 + 1030: 74 d5 rcall .+2792 ; 0x1b1a + 1032: 9f b7 in r25, 0x3f ; 63 + 1034: f8 94 cli + 1036: f8 01 movw r30, r16 + 1038: 80 81 ld r24, Z + 103a: 8e 7f andi r24, 0xFE ; 254 + 103c: 80 83 st Z, r24 + 103e: 9f bf out 0x3f, r25 ; 63 + 1040: 24 96 adiw r28, 0x04 ; 4 + 1042: cd bf out 0x3d, r28 ; 61 + 1044: de bf out 0x3e, r29 ; 62 + 1046: df 91 pop r29 + 1048: cf 91 pop r28 + 104a: 1f 91 pop r17 + 104c: 0f 91 pop r16 + 104e: 08 95 ret -00001352 : - 1352: 9f b7 in r25, 0x3f ; 63 - 1354: f8 94 cli - 1356: e8 2f mov r30, r24 - 1358: f0 e0 ldi r31, 0x00 ; 0 - 135a: e0 59 subi r30, 0x90 ; 144 - 135c: ff 4f sbci r31, 0xFF ; 255 - 135e: 60 95 com r22 - 1360: 80 81 ld r24, Z - 1362: 68 23 and r22, r24 - 1364: 60 83 st Z, r22 - 1366: 9f bf out 0x3f, r25 ; 63 - 1368: 08 95 ret +00001050 : + 1050: 9f b7 in r25, 0x3f ; 63 + 1052: f8 94 cli + 1054: e8 2f mov r30, r24 + 1056: f0 e0 ldi r31, 0x00 ; 0 + 1058: e0 59 subi r30, 0x90 ; 144 + 105a: ff 4f sbci r31, 0xFF ; 255 + 105c: 60 95 com r22 + 105e: 80 81 ld r24, Z + 1060: 68 23 and r22, r24 + 1062: 60 83 st Z, r22 + 1064: 9f bf out 0x3f, r25 ; 63 + 1066: 08 95 ret -0000136a : +00001068 : /* * 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) { - 136a: 86 30 cpi r24, 0x06 ; 6 - 136c: 11 f0 breq .+4 ; 0x1372 + 1068: 86 30 cpi r24, 0x06 ; 6 + 106a: 11 f0 breq .+4 ; 0x1070 prescaler = CLK_USBPSDIV_8_gc; } else { prescaler = 0; - 136e: 60 e0 ldi r22, 0x00 ; 0 - 1370: 01 c0 rjmp .+2 ; 0x1374 + 106c: 60 e0 ldi r22, 0x00 ; 0 + 106e: 01 c0 rjmp .+2 ; 0x1072 /* * 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; - 1372: 68 e1 ldi r22, 0x18 ; 24 + 1070: 68 e1 ldi r22, 0x18 ; 24 static inline bool osc_is_ready(uint8_t id) { Assert(id != OSC_ID_USBSOF); return OSC.STATUS & id; - 1374: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + 1072: 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)) { - 1378: 81 fd sbrc r24, 1 - 137a: 26 c0 rjmp .+76 ; 0x13c8 + 1076: 81 fd sbrc r24, 1 + 1078: 26 c0 rjmp .+76 ; 0x10c6 typedef uint8_t irqflags_t; static inline irqflags_t cpu_irq_save(void) { irqflags_t flags = SREG; - 137c: 9f b7 in r25, 0x3f ; 63 + 107a: 9f b7 in r25, 0x3f ; 63 cpu_irq_disable(); - 137e: f8 94 cli + 107c: f8 94 cli irqflags_t flags; Assert(id != OSC_ID_USBSOF); flags = cpu_irq_save(); OSC.CTRL |= id; - 1380: e0 e5 ldi r30, 0x50 ; 80 - 1382: f0 e0 ldi r31, 0x00 ; 0 - 1384: 80 81 ld r24, Z - 1386: 82 60 ori r24, 0x02 ; 2 - 1388: 80 83 st Z, r24 + 107e: e0 e5 ldi r30, 0x50 ; 80 + 1080: f0 e0 ldi r31, 0x00 ; 0 + 1082: 80 81 ld r24, Z + 1084: 82 60 ori r24, 0x02 ; 2 + 1086: 80 83 st Z, r24 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; - 138a: 9f bf out 0x3f, r25 ; 63 + 1088: 9f bf out 0x3f, r25 ; 63 static inline bool osc_is_ready(uint8_t id) { Assert(id != OSC_ID_USBSOF); return OSC.STATUS & id; - 138c: 81 81 ldd r24, Z+1 ; 0x01 + 108a: 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)) { - 138e: 81 ff sbrs r24, 1 - 1390: fd cf rjmp .-6 ; 0x138c + 108c: 81 ff sbrs r24, 1 + 108e: fd cf rjmp .-6 ; 0x108a typedef uint8_t irqflags_t; static inline irqflags_t cpu_irq_save(void) { irqflags_t flags = SREG; - 1392: 9f b7 in r25, 0x3f ; 63 + 1090: 9f b7 in r25, 0x3f ; 63 cpu_irq_disable(); - 1394: f8 94 cli + 1092: f8 94 cli # if !XMEGA_E || (ref_id == OSC_ID_USBSOF) #endif ); OSC.DFLLCTRL &= ~(OSC_RC32MCREF_gm); - 1396: a0 e5 ldi r26, 0x50 ; 80 - 1398: b0 e0 ldi r27, 0x00 ; 0 - 139a: 16 96 adiw r26, 0x06 ; 6 - 139c: 8c 91 ld r24, X - 139e: 16 97 sbiw r26, 0x06 ; 6 - 13a0: 89 7f andi r24, 0xF9 ; 249 - 13a2: 16 96 adiw r26, 0x06 ; 6 - 13a4: 8c 93 st X, r24 - 13a6: 16 97 sbiw r26, 0x06 ; 6 + 1094: a0 e5 ldi r26, 0x50 ; 80 + 1096: b0 e0 ldi r27, 0x00 ; 0 + 1098: 16 96 adiw r26, 0x06 ; 6 + 109a: 8c 91 ld r24, X + 109c: 16 97 sbiw r26, 0x06 ; 6 + 109e: 89 7f andi r24, 0xF9 ; 249 + 10a0: 16 96 adiw r26, 0x06 ; 6 + 10a2: 8c 93 st X, r24 + 10a4: 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; - 13a8: e0 e6 ldi r30, 0x60 ; 96 - 13aa: f0 e0 ldi r31, 0x00 ; 0 - 13ac: 80 e8 ldi r24, 0x80 ; 128 - 13ae: 85 83 std Z+5, r24 ; 0x05 + 10a6: e0 e6 ldi r30, 0x60 ; 96 + 10a8: f0 e0 ldi r31, 0x00 ; 0 + 10aa: 80 e8 ldi r24, 0x80 ; 128 + 10ac: 85 83 std Z+5, r24 ; 0x05 DFLLRC32M.COMP2 = 0xBB; - 13b0: 8b eb ldi r24, 0xBB ; 187 - 13b2: 86 83 std Z+6, r24 ; 0x06 + 10ae: 8b eb ldi r24, 0xBB ; 187 + 10b0: 86 83 std Z+6, r24 ; 0x06 OSC.DFLLCTRL |= OSC_RC32MCREF_USBSOF_gc; - 13b4: 16 96 adiw r26, 0x06 ; 6 - 13b6: 8c 91 ld r24, X - 13b8: 16 97 sbiw r26, 0x06 ; 6 - 13ba: 84 60 ori r24, 0x04 ; 4 - 13bc: 16 96 adiw r26, 0x06 ; 6 - 13be: 8c 93 st X, r24 + 10b2: 16 96 adiw r26, 0x06 ; 6 + 10b4: 8c 91 ld r24, X + 10b6: 16 97 sbiw r26, 0x06 ; 6 + 10b8: 84 60 ori r24, 0x04 ; 4 + 10ba: 16 96 adiw r26, 0x06 ; 6 + 10bc: 8c 93 st X, r24 OSC.DFLLCTRL &= ~(OSC_RC32MCREF_bm); # endif } #endif DFLLRC32M.CTRL |= DFLL_ENABLE_bm; - 13c0: 80 81 ld r24, Z - 13c2: 81 60 ori r24, 0x01 ; 1 - 13c4: 80 83 st Z, r24 + 10be: 80 81 ld r24, Z + 10c0: 81 60 ori r24, 0x01 ; 1 + 10c2: 80 83 st Z, r24 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; - 13c6: 9f bf out 0x3f, r25 ; 63 + 10c4: 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) - 13c8: 63 60 ori r22, 0x03 ; 3 - 13ca: 84 e4 ldi r24, 0x44 ; 68 - 13cc: 90 e0 ldi r25, 0x00 ; 0 - 13ce: 32 d5 rcall .+2660 ; 0x1e34 + 10c6: 63 60 ori r22, 0x03 ; 3 + 10c8: 84 e4 ldi r24, 0x44 ; 68 + 10ca: 90 e0 ldi r25, 0x00 ; 0 + 10cc: 26 d5 rcall .+2636 ; 0x1b1a default: Assert(false); break; } sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_USB); - 13d0: 60 e4 ldi r22, 0x40 ; 64 - 13d2: 80 e0 ldi r24, 0x00 ; 0 - 13d4: be cf rjmp .-132 ; 0x1352 - 13d6: 08 95 ret + 10ce: 60 e4 ldi r22, 0x40 ; 64 + 10d0: 80 e0 ldi r24, 0x00 ; 0 + 10d2: be cf rjmp .-132 ; 0x1050 + 10d4: 08 95 ret -000013d8 : +000010d6 : } uint8_t udi_vendor_getsetting(void) { return udi_vendor_alternate_setting; } - 13d8: 80 91 b7 20 lds r24, 0x20B7 ; 0x8020b7 - 13dc: 08 95 ret + 10d6: 80 91 b7 20 lds r24, 0x20B7 ; 0x8020b7 + 10da: 08 95 ret -000013de : +000010dc : * \name Internal routines */ //@{ bool udi_vendor_enable(void) { udi_vendor_alternate_setting = udc_get_interface_desc()->bAlternateSetting; - 13de: 42 d1 rcall .+644 ; 0x1664 - 13e0: fc 01 movw r30, r24 - 13e2: 83 81 ldd r24, Z+3 ; 0x03 - 13e4: 80 93 b7 20 sts 0x20B7, r24 ; 0x8020b7 + 10dc: 40 d1 rcall .+640 ; 0x135e + 10de: fc 01 movw r30, r24 + 10e0: 83 81 ldd r24, Z+3 ; 0x03 + 10e2: 80 93 b7 20 sts 0x20B7, r24 ; 0x8020b7 if (0 == udi_vendor_alternate_setting) { - 13e8: 81 11 cpse r24, r1 - 13ea: 03 c0 rjmp .+6 ; 0x13f2 + 10e6: 81 11 cpse r24, r1 + 10e8: 02 c0 rjmp .+4 ; 0x10ee // Call application callback // to notify that interface is enabled if (!UDI_VENDOR_ENABLE_EXT()) { - 13ec: 0c 94 ec 01 jmp 0x3d8 ; 0x3d8 - 13f0: 08 95 ret + 10ea: 85 c9 rjmp .-3318 ; 0x3f6 + 10ec: 08 95 ret return false; } } return true; - 13f2: 81 e0 ldi r24, 0x01 ; 1 + 10ee: 81 e0 ldi r24, 0x01 ; 1 } - 13f4: 08 95 ret + 10f0: 08 95 ret -000013f6 : +000010f2 : void udi_vendor_disable(void) { if (1 == udi_vendor_alternate_setting) { - 13f6: 80 91 b7 20 lds r24, 0x20B7 ; 0x8020b7 - 13fa: 81 30 cpi r24, 0x01 ; 1 - 13fc: 09 f4 brne .+2 ; 0x1400 + 10f2: 80 91 b7 20 lds r24, 0x20B7 ; 0x8020b7 + 10f6: 81 30 cpi r24, 0x01 ; 1 + 10f8: 09 f4 brne .+2 ; 0x10fc UDI_VENDOR_DISABLE_EXT(); - 13fe: 09 c8 rjmp .-4078 ; 0x412 - 1400: 08 95 ret + 10fa: 97 c9 rjmp .-3282 ; 0x42a + 10fc: 08 95 ret -00001402 : +000010fe : } bool udi_vendor_setup(void) { if (Udd_setup_is_in()) { - 1402: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1406: 88 23 and r24, r24 - 1408: 4c f4 brge .+18 ; 0x141c + 10fe: 80 91 5f 24 lds r24, 0x245F ; 0x80245f + 1102: 88 23 and r24, r24 + 1104: 4c f4 brge .+18 ; 0x1118 if ((Udd_setup_type() == USB_REQ_TYPE_VENDOR) - 140a: 80 76 andi r24, 0x60 ; 96 - 140c: 80 34 cpi r24, 0x40 ; 64 - 140e: b1 f4 brne .+44 ; 0x143c + 1106: 80 76 andi r24, 0x60 ; 96 + 1108: 80 34 cpi r24, 0x40 ; 64 + 110a: a9 f4 brne .+42 ; 0x1136 && (udd_g_ctrlreq.req.bRequest == 0)) { - 1410: 80 91 5b 24 lds r24, 0x245B ; 0x80245b - 1414: 81 11 cpse r24, r1 - 1416: 14 c0 rjmp .+40 ; 0x1440 + 110c: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 1110: 81 11 cpse r24, r1 + 1112: 13 c0 rjmp .+38 ; 0x113a return UDI_VENDOR_SETUP_IN_RECEIVED(); - 1418: 01 c8 rjmp .-4094 ; 0x41c - 141a: 08 95 ret + 1114: 8f c9 rjmp .-3298 ; 0x434 + 1116: 08 95 ret } } if (Udd_setup_is_out()) { if ((Udd_setup_type() == USB_REQ_TYPE_VENDOR) - 141c: 80 76 andi r24, 0x60 ; 96 - 141e: 80 34 cpi r24, 0x40 ; 64 - 1420: 89 f4 brne .+34 ; 0x1444 + 1118: 80 76 andi r24, 0x60 ; 96 + 111a: 80 34 cpi r24, 0x40 ; 64 + 111c: 81 f4 brne .+32 ; 0x113e && (udd_g_ctrlreq.req.bRequest == 0) - 1422: 80 91 5b 24 lds r24, 0x245B ; 0x80245b - 1426: 81 11 cpse r24, r1 - 1428: 0f c0 rjmp .+30 ; 0x1448 + 111e: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 1122: 81 11 cpse r24, r1 + 1124: 0e c0 rjmp .+28 ; 0x1142 && (0 != udd_g_ctrlreq.req.wLength)) { - 142a: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 142e: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1432: 89 2b or r24, r25 - 1434: 59 f0 breq .+22 ; 0x144c + 1126: 80 91 65 24 lds r24, 0x2465 ; 0x802465 + 112a: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 112e: 89 2b or r24, r25 + 1130: 51 f0 breq .+20 ; 0x1146 return UDI_VENDOR_SETUP_OUT_RECEIVED(); - 1436: 0c 94 0c 02 jmp 0x418 ; 0x418 - 143a: 08 95 ret + 1132: 7e c9 rjmp .-3332 ; 0x430 + 1134: 08 95 ret } } return false; // Not supported request - 143c: 80 e0 ldi r24, 0x00 ; 0 - 143e: 08 95 ret - 1440: 80 e0 ldi r24, 0x00 ; 0 - 1442: 08 95 ret - 1444: 80 e0 ldi r24, 0x00 ; 0 - 1446: 08 95 ret - 1448: 80 e0 ldi r24, 0x00 ; 0 - 144a: 08 95 ret - 144c: 80 e0 ldi r24, 0x00 ; 0 + 1136: 80 e0 ldi r24, 0x00 ; 0 + 1138: 08 95 ret + 113a: 80 e0 ldi r24, 0x00 ; 0 + 113c: 08 95 ret + 113e: 80 e0 ldi r24, 0x00 ; 0 + 1140: 08 95 ret + 1142: 80 e0 ldi r24, 0x00 ; 0 + 1144: 08 95 ret + 1146: 80 e0 ldi r24, 0x00 ; 0 } - 144e: 08 95 ret + 1148: 08 95 ret -00001450 : +0000114a : * * \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) { - 1450: 0f 93 push r16 - 1452: 1f 93 push r17 - 1454: 9b 01 movw r18, r22 + 114a: 0f 93 push r16 + 114c: 1f 93 push r17 + 114e: 9b 01 movw r18, r22 return udd_ep_run(UDI_VENDOR_EP_ISO_IN, - 1456: 8a 01 movw r16, r20 - 1458: ac 01 movw r20, r24 - 145a: 60 e0 ldi r22, 0x00 ; 0 - 145c: 81 e8 ldi r24, 0x81 ; 129 - 145e: 0e 94 8e 13 call 0x271c ; 0x271c + 1150: 8a 01 movw r16, r20 + 1152: ac 01 movw r20, r24 + 1154: 60 e0 ldi r22, 0x00 ; 0 + 1156: 81 e8 ldi r24, 0x81 ; 129 + 1158: 0e 94 01 12 call 0x2402 ; 0x2402 false, buf, buf_size, callback); } - 1462: 1f 91 pop r17 - 1464: 0f 91 pop r16 - 1466: 08 95 ret + 115c: 1f 91 pop r17 + 115e: 0f 91 pop r16 + 1160: 08 95 ret -00001468 : +00001162 : bool udi_vendor_iso_in_run2(uint8_t * buf, iram_size_t buf_size, udd_callback_trans_t callback) { - 1468: 0f 93 push r16 - 146a: 1f 93 push r17 - 146c: 9b 01 movw r18, r22 + 1162: 0f 93 push r16 + 1164: 1f 93 push r17 + 1166: 9b 01 movw r18, r22 return udd_ep_run(UDI_VENDOR_EP_ISO_IN + 1, - 146e: 8a 01 movw r16, r20 - 1470: ac 01 movw r20, r24 - 1472: 60 e0 ldi r22, 0x00 ; 0 - 1474: 82 e8 ldi r24, 0x82 ; 130 - 1476: 0e 94 8e 13 call 0x271c ; 0x271c + 1168: 8a 01 movw r16, r20 + 116a: ac 01 movw r20, r24 + 116c: 60 e0 ldi r22, 0x00 ; 0 + 116e: 82 e8 ldi r24, 0x82 ; 130 + 1170: 0e 94 01 12 call 0x2402 ; 0x2402 false, buf, buf_size, callback); } - 147a: 1f 91 pop r17 - 147c: 0f 91 pop r16 - 147e: 08 95 ret + 1174: 1f 91 pop r17 + 1176: 0f 91 pop r16 + 1178: 08 95 ret -00001480 : +0000117a : bool udi_vendor_iso_in_run3(uint8_t * buf, iram_size_t buf_size, udd_callback_trans_t callback) { - 1480: 0f 93 push r16 - 1482: 1f 93 push r17 - 1484: 9b 01 movw r18, r22 + 117a: 0f 93 push r16 + 117c: 1f 93 push r17 + 117e: 9b 01 movw r18, r22 return udd_ep_run(UDI_VENDOR_EP_ISO_IN + 2, - 1486: 8a 01 movw r16, r20 - 1488: ac 01 movw r20, r24 - 148a: 60 e0 ldi r22, 0x00 ; 0 - 148c: 83 e8 ldi r24, 0x83 ; 131 - 148e: 0e 94 8e 13 call 0x271c ; 0x271c + 1180: 8a 01 movw r16, r20 + 1182: ac 01 movw r20, r24 + 1184: 60 e0 ldi r22, 0x00 ; 0 + 1186: 83 e8 ldi r24, 0x83 ; 131 + 1188: 0e 94 01 12 call 0x2402 ; 0x2402 false, buf, buf_size, callback); } - 1492: 1f 91 pop r17 - 1494: 0f 91 pop r16 - 1496: 08 95 ret + 118c: 1f 91 pop r17 + 118e: 0f 91 pop r16 + 1190: 08 95 ret -00001498 : +00001192 : /*! \brief Stop the USB Device stack */ void udc_stop(void) { udd_disable(); udc_reset(); - 1498: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 149c: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 14a0: 01 90 ld r0, Z+ - 14a2: f0 81 ld r31, Z - 14a4: e0 2d mov r30, r0 - 14a6: 22 81 ldd r18, Z+2 ; 0x02 - 14a8: 33 81 ldd r19, Z+3 ; 0x03 - 14aa: 2e 0f add r18, r30 - 14ac: 3f 1f adc r19, r31 - 14ae: fc 01 movw r30, r24 - 14b0: 40 81 ld r20, Z - 14b2: e4 0f add r30, r20 - 14b4: f1 1d adc r31, r1 - 14b6: e2 17 cp r30, r18 - 14b8: f3 07 cpc r31, r19 - 14ba: b8 f4 brcc .+46 ; 0x14ea - 14bc: 81 81 ldd r24, Z+1 ; 0x01 - 14be: 84 30 cpi r24, 0x04 ; 4 - 14c0: b9 f0 breq .+46 ; 0x14f0 - 14c2: 86 13 cpse r24, r22 - 14c4: 09 c0 rjmp .+18 ; 0x14d8 - 14c6: 05 c0 rjmp .+10 ; 0x14d2 - 14c8: 81 81 ldd r24, Z+1 ; 0x01 - 14ca: 84 30 cpi r24, 0x04 ; 4 - 14cc: a1 f0 breq .+40 ; 0x14f6 - 14ce: 86 13 cpse r24, r22 - 14d0: 03 c0 rjmp .+6 ; 0x14d8 - 14d2: 8e 2f mov r24, r30 - 14d4: 9f 2f mov r25, r31 - 14d6: 08 95 ret - 14d8: 80 81 ld r24, Z - 14da: e8 0f add r30, r24 - 14dc: f1 1d adc r31, r1 - 14de: e2 17 cp r30, r18 - 14e0: f3 07 cpc r31, r19 - 14e2: 90 f3 brcs .-28 ; 0x14c8 - 14e4: 80 e0 ldi r24, 0x00 ; 0 - 14e6: 90 e0 ldi r25, 0x00 ; 0 - 14e8: 08 95 ret - 14ea: 80 e0 ldi r24, 0x00 ; 0 - 14ec: 90 e0 ldi r25, 0x00 ; 0 - 14ee: 08 95 ret - 14f0: 80 e0 ldi r24, 0x00 ; 0 - 14f2: 90 e0 ldi r25, 0x00 ; 0 - 14f4: 08 95 ret - 14f6: 80 e0 ldi r24, 0x00 ; 0 - 14f8: 90 e0 ldi r25, 0x00 ; 0 - 14fa: 08 95 ret + 1192: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 1196: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 119a: 01 90 ld r0, Z+ + 119c: f0 81 ld r31, Z + 119e: e0 2d mov r30, r0 + 11a0: 22 81 ldd r18, Z+2 ; 0x02 + 11a2: 33 81 ldd r19, Z+3 ; 0x03 + 11a4: 2e 0f add r18, r30 + 11a6: 3f 1f adc r19, r31 + 11a8: fc 01 movw r30, r24 + 11aa: 40 81 ld r20, Z + 11ac: e4 0f add r30, r20 + 11ae: f1 1d adc r31, r1 + 11b0: e2 17 cp r30, r18 + 11b2: f3 07 cpc r31, r19 + 11b4: b8 f4 brcc .+46 ; 0x11e4 + 11b6: 81 81 ldd r24, Z+1 ; 0x01 + 11b8: 84 30 cpi r24, 0x04 ; 4 + 11ba: b9 f0 breq .+46 ; 0x11ea + 11bc: 86 13 cpse r24, r22 + 11be: 09 c0 rjmp .+18 ; 0x11d2 + 11c0: 05 c0 rjmp .+10 ; 0x11cc + 11c2: 81 81 ldd r24, Z+1 ; 0x01 + 11c4: 84 30 cpi r24, 0x04 ; 4 + 11c6: a1 f0 breq .+40 ; 0x11f0 + 11c8: 86 13 cpse r24, r22 + 11ca: 03 c0 rjmp .+6 ; 0x11d2 + 11cc: 8e 2f mov r24, r30 + 11ce: 9f 2f mov r25, r31 + 11d0: 08 95 ret + 11d2: 80 81 ld r24, Z + 11d4: e8 0f add r30, r24 + 11d6: f1 1d adc r31, r1 + 11d8: e2 17 cp r30, r18 + 11da: f3 07 cpc r31, r19 + 11dc: 90 f3 brcs .-28 ; 0x11c2 + 11de: 80 e0 ldi r24, 0x00 ; 0 + 11e0: 90 e0 ldi r25, 0x00 ; 0 + 11e2: 08 95 ret + 11e4: 80 e0 ldi r24, 0x00 ; 0 + 11e6: 90 e0 ldi r25, 0x00 ; 0 + 11e8: 08 95 ret + 11ea: 80 e0 ldi r24, 0x00 ; 0 + 11ec: 90 e0 ldi r25, 0x00 ; 0 + 11ee: 08 95 ret + 11f0: 80 e0 ldi r24, 0x00 ; 0 + 11f2: 90 e0 ldi r25, 0x00 ; 0 + 11f4: 08 95 ret -000014fc : - 14fc: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1500: 8f 77 andi r24, 0x7F ; 127 - 1502: 0c 94 bc 12 jmp 0x2578 ; 0x2578 - 1506: 08 95 ret +000011f6 : + 11f6: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 11fa: 8f 77 andi r24, 0x7F ; 127 + 11fc: 0c 94 2f 11 jmp 0x225e ; 0x225e + 1200: 08 95 ret -00001508 : - 1508: 90 91 be 20 lds r25, 0x20BE ; 0x8020be - 150c: 99 23 and r25, r25 - 150e: 81 f1 breq .+96 ; 0x1570 - 1510: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 1514: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 1518: 01 90 ld r0, Z+ - 151a: f0 81 ld r31, Z - 151c: e0 2d mov r30, r0 - 151e: 94 81 ldd r25, Z+4 ; 0x04 - 1520: 89 17 cp r24, r25 - 1522: 40 f5 brcc .+80 ; 0x1574 - 1524: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba - 1528: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb - 152c: 22 81 ldd r18, Z+2 ; 0x02 - 152e: 33 81 ldd r19, Z+3 ; 0x03 - 1530: 2e 0f add r18, r30 - 1532: 3f 1f adc r19, r31 - 1534: e2 17 cp r30, r18 - 1536: f3 07 cpc r31, r19 - 1538: f8 f4 brcc .+62 ; 0x1578 - 153a: 91 81 ldd r25, Z+1 ; 0x01 - 153c: 94 30 cpi r25, 0x04 ; 4 - 153e: 61 f4 brne .+24 ; 0x1558 - 1540: 92 81 ldd r25, Z+2 ; 0x02 - 1542: 98 13 cpse r25, r24 - 1544: 09 c0 rjmp .+18 ; 0x1558 - 1546: 93 81 ldd r25, Z+3 ; 0x03 - 1548: 96 13 cpse r25, r22 - 154a: 06 c0 rjmp .+12 ; 0x1558 - 154c: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba - 1550: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb - 1554: 81 e0 ldi r24, 0x01 ; 1 - 1556: 08 95 ret - 1558: 90 81 ld r25, Z - 155a: e9 0f add r30, r25 - 155c: f1 1d adc r31, r1 - 155e: e2 17 cp r30, r18 - 1560: f3 07 cpc r31, r19 - 1562: 58 f3 brcs .-42 ; 0x153a - 1564: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba - 1568: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb - 156c: 80 e0 ldi r24, 0x00 ; 0 - 156e: 08 95 ret - 1570: 80 e0 ldi r24, 0x00 ; 0 - 1572: 08 95 ret - 1574: 80 e0 ldi r24, 0x00 ; 0 - 1576: 08 95 ret - 1578: 80 e0 ldi r24, 0x00 ; 0 - 157a: 08 95 ret +00001202 : + 1202: 90 91 be 20 lds r25, 0x20BE ; 0x8020be + 1206: 99 23 and r25, r25 + 1208: 81 f1 breq .+96 ; 0x126a + 120a: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 120e: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 1212: 01 90 ld r0, Z+ + 1214: f0 81 ld r31, Z + 1216: e0 2d mov r30, r0 + 1218: 94 81 ldd r25, Z+4 ; 0x04 + 121a: 89 17 cp r24, r25 + 121c: 40 f5 brcc .+80 ; 0x126e + 121e: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba + 1222: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb + 1226: 22 81 ldd r18, Z+2 ; 0x02 + 1228: 33 81 ldd r19, Z+3 ; 0x03 + 122a: 2e 0f add r18, r30 + 122c: 3f 1f adc r19, r31 + 122e: e2 17 cp r30, r18 + 1230: f3 07 cpc r31, r19 + 1232: f8 f4 brcc .+62 ; 0x1272 + 1234: 91 81 ldd r25, Z+1 ; 0x01 + 1236: 94 30 cpi r25, 0x04 ; 4 + 1238: 61 f4 brne .+24 ; 0x1252 + 123a: 92 81 ldd r25, Z+2 ; 0x02 + 123c: 98 13 cpse r25, r24 + 123e: 09 c0 rjmp .+18 ; 0x1252 + 1240: 93 81 ldd r25, Z+3 ; 0x03 + 1242: 96 13 cpse r25, r22 + 1244: 06 c0 rjmp .+12 ; 0x1252 + 1246: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba + 124a: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb + 124e: 81 e0 ldi r24, 0x01 ; 1 + 1250: 08 95 ret + 1252: 90 81 ld r25, Z + 1254: e9 0f add r30, r25 + 1256: f1 1d adc r31, r1 + 1258: e2 17 cp r30, r18 + 125a: f3 07 cpc r31, r19 + 125c: 58 f3 brcs .-42 ; 0x1234 + 125e: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba + 1262: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb + 1266: 80 e0 ldi r24, 0x00 ; 0 + 1268: 08 95 ret + 126a: 80 e0 ldi r24, 0x00 ; 0 + 126c: 08 95 ret + 126e: 80 e0 ldi r24, 0x00 ; 0 + 1270: 08 95 ret + 1272: 80 e0 ldi r24, 0x00 ; 0 + 1274: 08 95 ret -0000157c : - 157c: ef 92 push r14 - 157e: ff 92 push r15 - 1580: 1f 93 push r17 - 1582: cf 93 push r28 - 1584: df 93 push r29 - 1586: c8 2f mov r28, r24 - 1588: 60 e0 ldi r22, 0x00 ; 0 - 158a: be df rcall .-132 ; 0x1508 - 158c: 18 2f mov r17, r24 - 158e: 88 23 and r24, r24 - 1590: 81 f1 breq .+96 ; 0x15f2 - 1592: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 1596: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 159a: ec 2f mov r30, r28 - 159c: f0 e0 ldi r31, 0x00 ; 0 - 159e: ee 0f add r30, r30 - 15a0: ff 1f adc r31, r31 - 15a2: 12 96 adiw r26, 0x02 ; 2 - 15a4: 8d 91 ld r24, X+ - 15a6: 9c 91 ld r25, X - 15a8: 13 97 sbiw r26, 0x03 ; 3 - 15aa: e8 0f add r30, r24 - 15ac: f9 1f adc r31, r25 - 15ae: e0 80 ld r14, Z - 15b0: f1 80 ldd r15, Z+1 ; 0x01 - 15b2: d7 01 movw r26, r14 - 15b4: 16 96 adiw r26, 0x06 ; 6 - 15b6: ed 91 ld r30, X+ - 15b8: fc 91 ld r31, X - 15ba: 17 97 sbiw r26, 0x07 ; 7 - 15bc: 09 95 icall - 15be: 68 2f mov r22, r24 - 15c0: 8c 2f mov r24, r28 - 15c2: a2 df rcall .-188 ; 0x1508 - 15c4: 18 2f mov r17, r24 - 15c6: 88 23 and r24, r24 - 15c8: a1 f0 breq .+40 ; 0x15f2 - 15ca: c0 91 ba 20 lds r28, 0x20BA ; 0x8020ba - 15ce: d0 91 bb 20 lds r29, 0x20BB ; 0x8020bb - 15d2: 65 e0 ldi r22, 0x05 ; 5 - 15d4: ce 01 movw r24, r28 - 15d6: 60 df rcall .-320 ; 0x1498 - 15d8: ec 01 movw r28, r24 - 15da: 89 2b or r24, r25 - 15dc: 21 f0 breq .+8 ; 0x15e6 - 15de: 8a 81 ldd r24, Y+2 ; 0x02 - 15e0: 0e 94 91 14 call 0x2922 ; 0x2922 - 15e4: f6 cf rjmp .-20 ; 0x15d2 - 15e6: d7 01 movw r26, r14 - 15e8: 12 96 adiw r26, 0x02 ; 2 - 15ea: ed 91 ld r30, X+ - 15ec: fc 91 ld r31, X - 15ee: 13 97 sbiw r26, 0x03 ; 3 - 15f0: 09 95 icall - 15f2: 81 2f mov r24, r17 - 15f4: df 91 pop r29 - 15f6: cf 91 pop r28 - 15f8: 1f 91 pop r17 - 15fa: ff 90 pop r15 - 15fc: ef 90 pop r14 - 15fe: 08 95 ret +00001276 : + 1276: ef 92 push r14 + 1278: ff 92 push r15 + 127a: 1f 93 push r17 + 127c: cf 93 push r28 + 127e: df 93 push r29 + 1280: c8 2f mov r28, r24 + 1282: 60 e0 ldi r22, 0x00 ; 0 + 1284: be df rcall .-132 ; 0x1202 + 1286: 18 2f mov r17, r24 + 1288: 88 23 and r24, r24 + 128a: 81 f1 breq .+96 ; 0x12ec + 128c: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1290: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1294: ec 2f mov r30, r28 + 1296: f0 e0 ldi r31, 0x00 ; 0 + 1298: ee 0f add r30, r30 + 129a: ff 1f adc r31, r31 + 129c: 12 96 adiw r26, 0x02 ; 2 + 129e: 8d 91 ld r24, X+ + 12a0: 9c 91 ld r25, X + 12a2: 13 97 sbiw r26, 0x03 ; 3 + 12a4: e8 0f add r30, r24 + 12a6: f9 1f adc r31, r25 + 12a8: e0 80 ld r14, Z + 12aa: f1 80 ldd r15, Z+1 ; 0x01 + 12ac: d7 01 movw r26, r14 + 12ae: 16 96 adiw r26, 0x06 ; 6 + 12b0: ed 91 ld r30, X+ + 12b2: fc 91 ld r31, X + 12b4: 17 97 sbiw r26, 0x07 ; 7 + 12b6: 09 95 icall + 12b8: 68 2f mov r22, r24 + 12ba: 8c 2f mov r24, r28 + 12bc: a2 df rcall .-188 ; 0x1202 + 12be: 18 2f mov r17, r24 + 12c0: 88 23 and r24, r24 + 12c2: a1 f0 breq .+40 ; 0x12ec + 12c4: c0 91 ba 20 lds r28, 0x20BA ; 0x8020ba + 12c8: d0 91 bb 20 lds r29, 0x20BB ; 0x8020bb + 12cc: 65 e0 ldi r22, 0x05 ; 5 + 12ce: ce 01 movw r24, r28 + 12d0: 60 df rcall .-320 ; 0x1192 + 12d2: ec 01 movw r28, r24 + 12d4: 89 2b or r24, r25 + 12d6: 21 f0 breq .+8 ; 0x12e0 + 12d8: 8a 81 ldd r24, Y+2 ; 0x02 + 12da: 0e 94 04 13 call 0x2608 ; 0x2608 + 12de: f6 cf rjmp .-20 ; 0x12cc + 12e0: d7 01 movw r26, r14 + 12e2: 12 96 adiw r26, 0x02 ; 2 + 12e4: ed 91 ld r30, X+ + 12e6: fc 91 ld r31, X + 12e8: 13 97 sbiw r26, 0x03 ; 3 + 12ea: 09 95 icall + 12ec: 81 2f mov r24, r17 + 12ee: df 91 pop r29 + 12f0: cf 91 pop r28 + 12f2: 1f 91 pop r17 + 12f4: ff 90 pop r15 + 12f6: ef 90 pop r14 + 12f8: 08 95 ret -00001600 : - 1600: 1f 93 push r17 - 1602: cf 93 push r28 - 1604: df 93 push r29 - 1606: 18 2f mov r17, r24 - 1608: 7f df rcall .-258 ; 0x1508 - 160a: 88 23 and r24, r24 - 160c: 39 f1 breq .+78 ; 0x165c - 160e: c0 91 ba 20 lds r28, 0x20BA ; 0x8020ba - 1612: d0 91 bb 20 lds r29, 0x20BB ; 0x8020bb - 1616: 65 e0 ldi r22, 0x05 ; 5 - 1618: ce 01 movw r24, r28 - 161a: 3e df rcall .-388 ; 0x1498 - 161c: ec 01 movw r28, r24 - 161e: 89 2b or r24, r25 - 1620: 41 f0 breq .+16 ; 0x1632 - 1622: 4c 81 ldd r20, Y+4 ; 0x04 - 1624: 5d 81 ldd r21, Y+5 ; 0x05 - 1626: 6b 81 ldd r22, Y+3 ; 0x03 - 1628: 8a 81 ldd r24, Y+2 ; 0x02 - 162a: b3 d7 rcall .+3942 ; 0x2592 - 162c: 81 11 cpse r24, r1 - 162e: f3 cf rjmp .-26 ; 0x1616 - 1630: 15 c0 rjmp .+42 ; 0x165c - 1632: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 1636: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 163a: e1 2f mov r30, r17 - 163c: f0 e0 ldi r31, 0x00 ; 0 - 163e: ee 0f add r30, r30 - 1640: ff 1f adc r31, r31 - 1642: 12 96 adiw r26, 0x02 ; 2 - 1644: 8d 91 ld r24, X+ - 1646: 9c 91 ld r25, X - 1648: 13 97 sbiw r26, 0x03 ; 3 - 164a: e8 0f add r30, r24 - 164c: f9 1f adc r31, r25 - 164e: 01 90 ld r0, Z+ - 1650: f0 81 ld r31, Z - 1652: e0 2d mov r30, r0 - 1654: 01 90 ld r0, Z+ - 1656: f0 81 ld r31, Z - 1658: e0 2d mov r30, r0 - 165a: 09 95 icall - 165c: df 91 pop r29 - 165e: cf 91 pop r28 - 1660: 1f 91 pop r17 - 1662: 08 95 ret +000012fa : + 12fa: 1f 93 push r17 + 12fc: cf 93 push r28 + 12fe: df 93 push r29 + 1300: 18 2f mov r17, r24 + 1302: 7f df rcall .-258 ; 0x1202 + 1304: 88 23 and r24, r24 + 1306: 39 f1 breq .+78 ; 0x1356 + 1308: c0 91 ba 20 lds r28, 0x20BA ; 0x8020ba + 130c: d0 91 bb 20 lds r29, 0x20BB ; 0x8020bb + 1310: 65 e0 ldi r22, 0x05 ; 5 + 1312: ce 01 movw r24, r28 + 1314: 3e df rcall .-388 ; 0x1192 + 1316: ec 01 movw r28, r24 + 1318: 89 2b or r24, r25 + 131a: 41 f0 breq .+16 ; 0x132c + 131c: 4c 81 ldd r20, Y+4 ; 0x04 + 131e: 5d 81 ldd r21, Y+5 ; 0x05 + 1320: 6b 81 ldd r22, Y+3 ; 0x03 + 1322: 8a 81 ldd r24, Y+2 ; 0x02 + 1324: a9 d7 rcall .+3922 ; 0x2278 + 1326: 81 11 cpse r24, r1 + 1328: f3 cf rjmp .-26 ; 0x1310 + 132a: 15 c0 rjmp .+42 ; 0x1356 + 132c: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1330: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1334: e1 2f mov r30, r17 + 1336: f0 e0 ldi r31, 0x00 ; 0 + 1338: ee 0f add r30, r30 + 133a: ff 1f adc r31, r31 + 133c: 12 96 adiw r26, 0x02 ; 2 + 133e: 8d 91 ld r24, X+ + 1340: 9c 91 ld r25, X + 1342: 13 97 sbiw r26, 0x03 ; 3 + 1344: e8 0f add r30, r24 + 1346: f9 1f adc r31, r25 + 1348: 01 90 ld r0, Z+ + 134a: f0 81 ld r31, Z + 134c: e0 2d mov r30, r0 + 134e: 01 90 ld r0, Z+ + 1350: f0 81 ld r31, Z + 1352: e0 2d mov r30, r0 + 1354: 09 95 icall + 1356: df 91 pop r29 + 1358: cf 91 pop r28 + 135a: 1f 91 pop r17 + 135c: 08 95 ret -00001664 : - 1664: 80 91 ba 20 lds r24, 0x20BA ; 0x8020ba - 1668: 90 91 bb 20 lds r25, 0x20BB ; 0x8020bb - 166c: 08 95 ret +0000135e : + 135e: 80 91 ba 20 lds r24, 0x20BA ; 0x8020ba + 1362: 90 91 bb 20 lds r25, 0x20BB ; 0x8020bb + 1366: 08 95 ret -0000166e : - 166e: ff c6 rjmp .+3582 ; 0x246e - 1670: 08 95 ret +00001368 : + 1368: f5 c6 rjmp .+3562 ; 0x2154 + 136a: 08 95 ret -00001672 : - 1672: cf 93 push r28 - 1674: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1678: 88 23 and r24, r24 - 167a: c1 f0 breq .+48 ; 0x16ac - 167c: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 1680: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 1684: 01 90 ld r0, Z+ - 1686: f0 81 ld r31, Z - 1688: e0 2d mov r30, r0 - 168a: 84 81 ldd r24, Z+4 ; 0x04 - 168c: 88 23 and r24, r24 - 168e: 71 f0 breq .+28 ; 0x16ac - 1690: c0 e0 ldi r28, 0x00 ; 0 - 1692: 8c 2f mov r24, r28 - 1694: 73 df rcall .-282 ; 0x157c - 1696: cf 5f subi r28, 0xFF ; 255 - 1698: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 169c: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 16a0: 01 90 ld r0, Z+ - 16a2: f0 81 ld r31, Z - 16a4: e0 2d mov r30, r0 - 16a6: 84 81 ldd r24, Z+4 ; 0x04 - 16a8: c8 17 cp r28, r24 - 16aa: 98 f3 brcs .-26 ; 0x1692 - 16ac: 10 92 be 20 sts 0x20BE, r1 ; 0x8020be - 16b0: 10 92 c2 20 sts 0x20C2, r1 ; 0x8020c2 - 16b4: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 - 16b8: cf 91 pop r28 - 16ba: 08 95 ret +0000136c : + 136c: cf 93 push r28 + 136e: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1372: 88 23 and r24, r24 + 1374: c1 f0 breq .+48 ; 0x13a6 + 1376: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 137a: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 137e: 01 90 ld r0, Z+ + 1380: f0 81 ld r31, Z + 1382: e0 2d mov r30, r0 + 1384: 84 81 ldd r24, Z+4 ; 0x04 + 1386: 88 23 and r24, r24 + 1388: 71 f0 breq .+28 ; 0x13a6 + 138a: c0 e0 ldi r28, 0x00 ; 0 + 138c: 8c 2f mov r24, r28 + 138e: 73 df rcall .-282 ; 0x1276 + 1390: cf 5f subi r28, 0xFF ; 255 + 1392: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 1396: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 139a: 01 90 ld r0, Z+ + 139c: f0 81 ld r31, Z + 139e: e0 2d mov r30, r0 + 13a0: 84 81 ldd r24, Z+4 ; 0x04 + 13a2: c8 17 cp r28, r24 + 13a4: 98 f3 brcs .-26 ; 0x138c + 13a6: 10 92 be 20 sts 0x20BE, r1 ; 0x8020be + 13aa: 10 92 c2 20 sts 0x20C2, r1 ; 0x8020c2 + 13ae: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 + 13b2: cf 91 pop r28 + 13b4: 08 95 ret -000016bc : +000013b6 : CPU_TO_LE16(USB_DEV_STATUS_BUS_POWERED); #endif } void udc_sof_notify(void) { - 16bc: cf 93 push r28 + 13b6: cf 93 push r28 uint8_t iface_num; if (udc_num_configuration) { - 16be: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 16c2: 88 23 and r24, r24 - 16c4: 49 f1 breq .+82 ; 0x1718 + 13b8: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 13bc: 88 23 and r24, r24 + 13be: 49 f1 breq .+82 ; 0x1412 for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 16c6: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 16ca: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 16ce: ed 91 ld r30, X+ - 16d0: fc 91 ld r31, X - 16d2: 11 97 sbiw r26, 0x01 ; 1 + 13c0: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 13c4: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 13c8: ed 91 ld r30, X+ + 13ca: fc 91 ld r31, X + 13cc: 11 97 sbiw r26, 0x01 ; 1 void udc_sof_notify(void) { uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; - 16d4: 84 81 ldd r24, Z+4 ; 0x04 - 16d6: 88 23 and r24, r24 - 16d8: f9 f0 breq .+62 ; 0x1718 - 16da: c0 e0 ldi r28, 0x00 ; 0 + 13ce: 84 81 ldd r24, Z+4 ; 0x04 + 13d0: 88 23 and r24, r24 + 13d2: f9 f0 breq .+62 ; 0x1412 + 13d4: 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) { - 16dc: ec 2f mov r30, r28 - 16de: f0 e0 ldi r31, 0x00 ; 0 - 16e0: ee 0f add r30, r30 - 16e2: ff 1f adc r31, r31 - 16e4: 12 96 adiw r26, 0x02 ; 2 - 16e6: 8d 91 ld r24, X+ - 16e8: 9c 91 ld r25, X - 16ea: 13 97 sbiw r26, 0x03 ; 3 - 16ec: e8 0f add r30, r24 - 16ee: f9 1f adc r31, r25 - 16f0: 01 90 ld r0, Z+ - 16f2: f0 81 ld r31, Z - 16f4: e0 2d mov r30, r0 - 16f6: 00 84 ldd r0, Z+8 ; 0x08 - 16f8: f1 85 ldd r31, Z+9 ; 0x09 - 16fa: e0 2d mov r30, r0 - 16fc: 30 97 sbiw r30, 0x00 ; 0 - 16fe: 09 f0 breq .+2 ; 0x1702 + 13d6: ec 2f mov r30, r28 + 13d8: f0 e0 ldi r31, 0x00 ; 0 + 13da: ee 0f add r30, r30 + 13dc: ff 1f adc r31, r31 + 13de: 12 96 adiw r26, 0x02 ; 2 + 13e0: 8d 91 ld r24, X+ + 13e2: 9c 91 ld r25, X + 13e4: 13 97 sbiw r26, 0x03 ; 3 + 13e6: e8 0f add r30, r24 + 13e8: f9 1f adc r31, r25 + 13ea: 01 90 ld r0, Z+ + 13ec: f0 81 ld r31, Z + 13ee: e0 2d mov r30, r0 + 13f0: 00 84 ldd r0, Z+8 ; 0x08 + 13f2: f1 85 ldd r31, Z+9 ; 0x09 + 13f4: e0 2d mov r30, r0 + 13f6: 30 97 sbiw r30, 0x00 ; 0 + 13f8: 09 f0 breq .+2 ; 0x13fc udc_ptr_conf->udi_apis[iface_num]->sof_notify(); - 1700: 09 95 icall + 13fa: 09 95 icall uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { - 1702: cf 5f subi r28, 0xFF ; 255 + 13fc: 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; - 1704: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 1708: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 170c: ed 91 ld r30, X+ - 170e: fc 91 ld r31, X - 1710: 11 97 sbiw r26, 0x01 ; 1 + 13fe: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1402: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1406: ed 91 ld r30, X+ + 1408: fc 91 ld r31, X + 140a: 11 97 sbiw r26, 0x01 ; 1 void udc_sof_notify(void) { uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; - 1712: 84 81 ldd r24, Z+4 ; 0x04 - 1714: c8 17 cp r28, r24 - 1716: 10 f3 brcs .-60 ; 0x16dc + 140c: 84 81 ldd r24, Z+4 ; 0x04 + 140e: c8 17 cp r28, r24 + 1410: 10 f3 brcs .-60 ; 0x13d6 if (udc_ptr_conf->udi_apis[iface_num]->sof_notify != NULL) { udc_ptr_conf->udi_apis[iface_num]->sof_notify(); } } } } - 1718: cf 91 pop r28 - 171a: 08 95 ret + 1412: cf 91 pop r28 + 1414: 08 95 ret -0000171c : +00001416 : * 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) { - 171c: 0f 93 push r16 - 171e: 1f 93 push r17 - 1720: cf 93 push r28 - 1722: df 93 push r29 + 1416: 0f 93 push r16 + 1418: 1f 93 push r17 + 141a: cf 93 push r28 + 141c: df 93 push r29 // By default no data (receive/send) and no callbacks registered udd_g_ctrlreq.payload_size = 0; - 1724: ea e5 ldi r30, 0x5A ; 90 - 1726: f4 e2 ldi r31, 0x24 ; 36 - 1728: 12 86 std Z+10, r1 ; 0x0a - 172a: 13 86 std Z+11, r1 ; 0x0b + 141e: ef e5 ldi r30, 0x5F ; 95 + 1420: f4 e2 ldi r31, 0x24 ; 36 + 1422: 12 86 std Z+10, r1 ; 0x0a + 1424: 13 86 std Z+11, r1 ; 0x0b udd_g_ctrlreq.callback = NULL; - 172c: 14 86 std Z+12, r1 ; 0x0c - 172e: 15 86 std Z+13, r1 ; 0x0d + 1426: 14 86 std Z+12, r1 ; 0x0c + 1428: 15 86 std Z+13, r1 ; 0x0d udd_g_ctrlreq.over_under_run = NULL; - 1730: 16 86 std Z+14, r1 ; 0x0e - 1732: 17 86 std Z+15, r1 ; 0x0f + 142a: 16 86 std Z+14, r1 ; 0x0e + 142c: 17 86 std Z+15, r1 ; 0x0f if (Udd_setup_is_in()) { - 1734: 80 81 ld r24, Z - 1736: 88 23 and r24, r24 - 1738: 3c f4 brge .+14 ; 0x1748 + 142e: 80 81 ld r24, Z + 1430: 88 23 and r24, r24 + 1432: 3c f4 brge .+14 ; 0x1442 if (udd_g_ctrlreq.req.wLength == 0) { - 173a: 20 91 60 24 lds r18, 0x2460 ; 0x802460 - 173e: 30 91 61 24 lds r19, 0x2461 ; 0x802461 - 1742: 23 2b or r18, r19 - 1744: 09 f4 brne .+2 ; 0x1748 - 1746: 6a c3 rjmp .+1748 ; 0x1e1c + 1434: 20 91 65 24 lds r18, 0x2465 ; 0x802465 + 1438: 30 91 66 24 lds r19, 0x2466 ; 0x802466 + 143c: 23 2b or r18, r19 + 143e: 09 f4 brne .+2 ; 0x1442 + 1440: 60 c3 rjmp .+1728 ; 0x1b02 return false; // Error from USB host } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ - 1748: 80 76 andi r24, 0x60 ; 96 - 174a: 80 34 cpi r24, 0x40 ; 64 - 174c: 09 f0 breq .+2 ; 0x1750 - 174e: 08 c1 rjmp .+528 ; 0x1960 + 1442: 80 76 andi r24, 0x60 ; 96 + 1444: 80 34 cpi r24, 0x40 ; 64 + 1446: 09 f0 breq .+2 ; 0x144a + 1448: fe c0 rjmp .+508 ; 0x1646 } return false; } static bool udc_reqvend(void){ switch (udd_g_ctrlreq.req.bRequest){ - 1750: e0 91 5b 24 lds r30, 0x245B ; 0x80245b - 1754: 8e 2f mov r24, r30 - 1756: 90 e0 ldi r25, 0x00 ; 0 - 1758: fc 01 movw r30, r24 - 175a: e0 5a subi r30, 0xA0 ; 160 - 175c: f1 09 sbc r31, r1 - 175e: e8 30 cpi r30, 0x08 ; 8 - 1760: f1 05 cpc r31, r1 - 1762: 08 f0 brcs .+2 ; 0x1766 - 1764: f4 c0 rjmp .+488 ; 0x194e - 1766: e2 5f subi r30, 0xF2 ; 242 - 1768: fe 4f sbci r31, 0xFE ; 254 - 176a: 0c 94 92 16 jmp 0x2d24 ; 0x2d24 <__tablejump2__> + 144a: e0 91 60 24 lds r30, 0x2460 ; 0x802460 + 144e: 8e 2f mov r24, r30 + 1450: 90 e0 ldi r25, 0x00 ; 0 + 1452: fc 01 movw r30, r24 + 1454: e0 5a subi r30, 0xA0 ; 160 + 1456: f1 09 sbc r31, r1 + 1458: e8 30 cpi r30, 0x08 ; 8 + 145a: f1 05 cpc r31, r1 + 145c: 08 f0 brcs .+2 ; 0x1460 + 145e: ea c0 rjmp .+468 ; 0x1634 + 1460: ea 5f subi r30, 0xFA ; 250 + 1462: fe 4f sbci r31, 0xFE ; 254 + 1464: 0c 94 05 15 jmp 0x2a0a ; 0x2a0a <__tablejump2__> case 0xa0: //Break! (Debug command) asm("nop"); - 176e: 00 00 nop - 1770: 59 c3 rjmp .+1714 ; 0x1e24 + 1468: 00 00 nop + 146a: 4f c3 rjmp .+1694 ; 0x1b0a return 1; case 0xa1: //Receive waveform for signal gen TC_DAC.CTRLA = 0x00; - 1772: e0 e0 ldi r30, 0x00 ; 0 - 1774: f8 e0 ldi r31, 0x08 ; 8 - 1776: 10 82 st Z, r1 + 146c: e0 e0 ldi r30, 0x00 ; 0 + 146e: f8 e0 ldi r31, 0x08 ; 8 + 1470: 10 82 st Z, r1 TC_DAC.PERBUF = udd_g_ctrlreq.req.wValue; - 1778: ca e5 ldi r28, 0x5A ; 90 - 177a: d4 e2 ldi r29, 0x24 ; 36 - 177c: 8a 81 ldd r24, Y+2 ; 0x02 - 177e: 9b 81 ldd r25, Y+3 ; 0x03 - 1780: 86 ab std Z+54, r24 ; 0x36 - 1782: 97 ab std Z+55, r25 ; 0x37 + 1472: cf e5 ldi r28, 0x5F ; 95 + 1474: d4 e2 ldi r29, 0x24 ; 36 + 1476: 8a 81 ldd r24, Y+2 ; 0x02 + 1478: 9b 81 ldd r25, Y+3 ; 0x03 + 147a: 86 ab std Z+54, r24 ; 0x36 + 147c: 97 ab std Z+55, r25 ; 0x37 TC_DAC.CTRLA = (unsigned char) udd_g_ctrlreq.req.wIndex & 0x0F; - 1784: 8c 81 ldd r24, Y+4 ; 0x04 - 1786: 8f 70 andi r24, 0x0F ; 15 - 1788: 80 83 st Z, r24 + 147e: 8c 81 ldd r24, Y+4 ; 0x04 + 1480: 8f 70 andi r24, 0x0F ; 15 + 1482: 80 83 st Z, r24 udd_set_setup_payload(dacBuf_CH1, udd_g_ctrlreq.req.wLength); - 178a: 6e 81 ldd r22, Y+6 ; 0x06 - 178c: 7f 81 ldd r23, Y+7 ; 0x07 - 178e: 8a e5 ldi r24, 0x5A ; 90 - 1790: 92 e2 ldi r25, 0x22 ; 34 - 1792: f8 d6 rcall .+3568 ; 0x2584 + 1484: 6e 81 ldd r22, Y+6 ; 0x06 + 1486: 7f 81 ldd r23, Y+7 ; 0x07 + 1488: 8e e5 ldi r24, 0x5E ; 94 + 148a: 92 e2 ldi r25, 0x22 ; 34 + 148c: ee d6 rcall .+3548 ; 0x226a if(dacBuf_len != udd_g_ctrlreq.req.wLength){ - 1794: 8e 81 ldd r24, Y+6 ; 0x06 - 1796: 9f 81 ldd r25, Y+7 ; 0x07 - 1798: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 179c: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 17a0: 82 17 cp r24, r18 - 17a2: 93 07 cpc r25, r19 - 17a4: 09 f4 brne .+2 ; 0x17a8 - 17a6: 3e c3 rjmp .+1660 ; 0x1e24 + 148e: 8e 81 ldd r24, Y+6 ; 0x06 + 1490: 9f 81 ldd r25, Y+7 ; 0x07 + 1492: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + 1496: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + 149a: 82 17 cp r24, r18 + 149c: 93 07 cpc r25, r19 + 149e: 09 f4 brne .+2 ; 0x14a2 + 14a0: 34 c3 rjmp .+1640 ; 0x1b0a dacBuf_len = udd_g_ctrlreq.req.wLength; - 17a8: 80 93 04 20 sts 0x2004, r24 ; 0x802004 - 17ac: 90 93 05 20 sts 0x2005, r25 ; 0x802005 + 14a2: 80 93 04 20 sts 0x2004, r24 ; 0x802004 + 14a6: 90 93 05 20 sts 0x2005, r25 ; 0x802005 switch(global_mode){ - 17b0: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 17b4: 8e 2f mov r24, r30 - 17b6: 90 e0 ldi r25, 0x00 ; 0 - 17b8: 88 30 cpi r24, 0x08 ; 8 - 17ba: 91 05 cpc r25, r1 - 17bc: 08 f0 brcs .+2 ; 0x17c0 - 17be: c9 c0 rjmp .+402 ; 0x1952 - 17c0: fc 01 movw r30, r24 - 17c2: ea 5e subi r30, 0xEA ; 234 - 17c4: fe 4f sbci r31, 0xFE ; 254 - 17c6: 0c 94 92 16 jmp 0x2d24 ; 0x2d24 <__tablejump2__> + 14aa: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 14ae: 8e 2f mov r24, r30 + 14b0: 90 e0 ldi r25, 0x00 ; 0 + 14b2: 88 30 cpi r24, 0x08 ; 8 + 14b4: 91 05 cpc r25, r1 + 14b6: 08 f0 brcs .+2 ; 0x14ba + 14b8: bf c0 rjmp .+382 ; 0x1638 + 14ba: fc 01 movw r30, r24 + 14bc: e2 5f subi r30, 0xF2 ; 242 + 14be: fe 4f sbci r31, 0xFE ; 254 + 14c0: 0c 94 05 15 jmp 0x2a0a ; 0x2a0a <__tablejump2__> case 0: tiny_dma_set_mode_0(); - 17ca: 0e 94 be 02 call 0x57c ; 0x57c - 17ce: 2a c3 rjmp .+1620 ; 0x1e24 + 14c4: 69 d8 rcall .-3886 ; 0x598 + 14c6: 21 c3 rjmp .+1602 ; 0x1b0a break; case 1: tiny_dma_set_mode_1(); - 17d0: 0e 94 32 03 call 0x664 ; 0x664 - 17d4: 27 c3 rjmp .+1614 ; 0x1e24 + 14c8: db d8 rcall .-3658 ; 0x680 + 14ca: 1f c3 rjmp .+1598 ; 0x1b0a break; case 2: tiny_dma_set_mode_2(); - 17d6: 0e 94 ab 03 call 0x756 ; 0x756 - 17da: 24 c3 rjmp .+1608 ; 0x1e24 + 14cc: 52 d9 rcall .-3420 ; 0x772 + 14ce: 1d c3 rjmp .+1594 ; 0x1b0a break; case 3: tiny_dma_set_mode_3(); - 17dc: 32 d8 rcall .-3996 ; 0x842 - 17de: 22 c3 rjmp .+1604 ; 0x1e24 + 14d0: c8 d9 rcall .-3184 ; 0x862 + 14d2: 1b c3 rjmp .+1590 ; 0x1b0a break; case 4: tiny_dma_set_mode_4(); - 17e0: ad d8 rcall .-3750 ; 0x93c - 17e2: 20 c3 rjmp .+1600 ; 0x1e24 + 14d4: 43 da rcall .-2938 ; 0x95c + 14d6: 19 c3 rjmp .+1586 ; 0x1b0a break; case 5: tiny_dma_set_mode_5(); - 17e4: 22 d9 rcall .-3516 ; 0xa2a - 17e6: 1e c3 rjmp .+1596 ; 0x1e24 + 14d8: b8 da rcall .-2704 ; 0xa4a + 14da: 17 c3 rjmp .+1582 ; 0x1b0a break; case 6: tiny_dma_set_mode_6(); - 17e8: 68 d9 rcall .-3376 ; 0xaba - 17ea: 1c c3 rjmp .+1592 ; 0x1e24 + 14dc: fe da rcall .-2564 ; 0xada + 14de: 15 c3 rjmp .+1578 ; 0x1b0a break; case 7: tiny_dma_set_mode_7(); - 17ec: c9 d9 rcall .-3182 ; 0xb80 - 17ee: 1a c3 rjmp .+1588 ; 0x1e24 + 14e0: 5f db rcall .-2370 ; 0xba0 + 14e2: 13 c3 rjmp .+1574 ; 0x1b0a break; } } return 1; case 0xa2: //CH2 waveform TC_AUXDAC.CTRLA = 0x00; - 17f0: e0 e4 ldi r30, 0x40 ; 64 - 17f2: f8 e0 ldi r31, 0x08 ; 8 - 17f4: 10 82 st Z, r1 + 14e4: e0 e4 ldi r30, 0x40 ; 64 + 14e6: f8 e0 ldi r31, 0x08 ; 8 + 14e8: 10 82 st Z, r1 TC_AUXDAC.PERBUF = udd_g_ctrlreq.req.wValue; - 17f6: ca e5 ldi r28, 0x5A ; 90 - 17f8: d4 e2 ldi r29, 0x24 ; 36 - 17fa: 8a 81 ldd r24, Y+2 ; 0x02 - 17fc: 9b 81 ldd r25, Y+3 ; 0x03 - 17fe: 86 ab std Z+54, r24 ; 0x36 - 1800: 97 ab std Z+55, r25 ; 0x37 + 14ea: cf e5 ldi r28, 0x5F ; 95 + 14ec: d4 e2 ldi r29, 0x24 ; 36 + 14ee: 8a 81 ldd r24, Y+2 ; 0x02 + 14f0: 9b 81 ldd r25, Y+3 ; 0x03 + 14f2: 86 ab std Z+54, r24 ; 0x36 + 14f4: 97 ab std Z+55, r25 ; 0x37 TC_AUXDAC.CTRLA = (unsigned char) udd_g_ctrlreq.req.wIndex & 0x0F; - 1802: 8c 81 ldd r24, Y+4 ; 0x04 - 1804: 8f 70 andi r24, 0x0F ; 15 - 1806: 80 83 st Z, r24 + 14f6: 8c 81 ldd r24, Y+4 ; 0x04 + 14f8: 8f 70 andi r24, 0x0F ; 15 + 14fa: 80 83 st Z, r24 udd_set_setup_payload(dacBuf_CH2, udd_g_ctrlreq.req.wLength); - 1808: 6e 81 ldd r22, Y+6 ; 0x06 - 180a: 7f 81 ldd r23, Y+7 ; 0x07 - 180c: 8a e6 ldi r24, 0x6A ; 106 - 180e: 94 e2 ldi r25, 0x24 ; 36 - 1810: b9 d6 rcall .+3442 ; 0x2584 + 14fc: 6e 81 ldd r22, Y+6 ; 0x06 + 14fe: 7f 81 ldd r23, Y+7 ; 0x07 + 1500: 81 e7 ldi r24, 0x71 ; 113 + 1502: 94 e2 ldi r25, 0x24 ; 36 + 1504: b2 d6 rcall .+3428 ; 0x226a if(auxDacBufLen != udd_g_ctrlreq.req.wLength){ - 1812: 8e 81 ldd r24, Y+6 ; 0x06 - 1814: 9f 81 ldd r25, Y+7 ; 0x07 - 1816: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 181a: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 181e: 82 17 cp r24, r18 - 1820: 93 07 cpc r25, r19 - 1822: 09 f4 brne .+2 ; 0x1826 - 1824: ff c2 rjmp .+1534 ; 0x1e24 + 1506: 8e 81 ldd r24, Y+6 ; 0x06 + 1508: 9f 81 ldd r25, Y+7 ; 0x07 + 150a: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 150e: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 1512: 82 17 cp r24, r18 + 1514: 93 07 cpc r25, r19 + 1516: 09 f4 brne .+2 ; 0x151a + 1518: f8 c2 rjmp .+1520 ; 0x1b0a auxDacBufLen = udd_g_ctrlreq.req.wLength; - 1826: 80 93 02 20 sts 0x2002, r24 ; 0x802002 - 182a: 90 93 03 20 sts 0x2003, r25 ; 0x802003 + 151a: 80 93 02 20 sts 0x2002, r24 ; 0x802002 + 151e: 90 93 03 20 sts 0x2003, r25 ; 0x802003 switch(global_mode){ - 182e: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 1832: 8e 2f mov r24, r30 - 1834: 90 e0 ldi r25, 0x00 ; 0 - 1836: 88 30 cpi r24, 0x08 ; 8 - 1838: 91 05 cpc r25, r1 - 183a: 08 f0 brcs .+2 ; 0x183e - 183c: 8c c0 rjmp .+280 ; 0x1956 - 183e: fc 01 movw r30, r24 - 1840: e2 5e subi r30, 0xE2 ; 226 - 1842: fe 4f sbci r31, 0xFE ; 254 - 1844: 0c 94 92 16 jmp 0x2d24 ; 0x2d24 <__tablejump2__> + 1522: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 1526: 8e 2f mov r24, r30 + 1528: 90 e0 ldi r25, 0x00 ; 0 + 152a: 88 30 cpi r24, 0x08 ; 8 + 152c: 91 05 cpc r25, r1 + 152e: 08 f0 brcs .+2 ; 0x1532 + 1530: 85 c0 rjmp .+266 ; 0x163c + 1532: fc 01 movw r30, r24 + 1534: ea 5e subi r30, 0xEA ; 234 + 1536: fe 4f sbci r31, 0xFE ; 254 + 1538: 0c 94 05 15 jmp 0x2a0a ; 0x2a0a <__tablejump2__> case 0: tiny_dma_set_mode_0(); - 1848: 0e 94 be 02 call 0x57c ; 0x57c - 184c: eb c2 rjmp .+1494 ; 0x1e24 + 153c: 2d d8 rcall .-4006 ; 0x598 + 153e: e5 c2 rjmp .+1482 ; 0x1b0a break; case 1: tiny_dma_set_mode_1(); - 184e: 0e 94 32 03 call 0x664 ; 0x664 - 1852: e8 c2 rjmp .+1488 ; 0x1e24 + 1540: 9f d8 rcall .-3778 ; 0x680 + 1542: e3 c2 rjmp .+1478 ; 0x1b0a break; case 2: tiny_dma_set_mode_2(); - 1854: 0e 94 ab 03 call 0x756 ; 0x756 - 1858: e5 c2 rjmp .+1482 ; 0x1e24 + 1544: 16 d9 rcall .-3540 ; 0x772 + 1546: e1 c2 rjmp .+1474 ; 0x1b0a break; case 3: tiny_dma_set_mode_3(); - 185a: 0e 94 21 04 call 0x842 ; 0x842 - 185e: e2 c2 rjmp .+1476 ; 0x1e24 + 1548: 8c d9 rcall .-3304 ; 0x862 + 154a: df c2 rjmp .+1470 ; 0x1b0a break; case 4: tiny_dma_set_mode_4(); - 1860: 6d d8 rcall .-3878 ; 0x93c - 1862: e0 c2 rjmp .+1472 ; 0x1e24 + 154c: 07 da rcall .-3058 ; 0x95c + 154e: dd c2 rjmp .+1466 ; 0x1b0a break; case 5: tiny_dma_set_mode_5(); - 1864: e2 d8 rcall .-3644 ; 0xa2a - 1866: de c2 rjmp .+1468 ; 0x1e24 + 1550: 7c da rcall .-2824 ; 0xa4a + 1552: db c2 rjmp .+1462 ; 0x1b0a break; case 6: tiny_dma_set_mode_6(); - 1868: 28 d9 rcall .-3504 ; 0xaba - 186a: dc c2 rjmp .+1464 ; 0x1e24 + 1554: c2 da rcall .-2684 ; 0xada + 1556: d9 c2 rjmp .+1458 ; 0x1b0a break; case 7: tiny_dma_set_mode_7(); - 186c: 89 d9 rcall .-3310 ; 0xb80 - 186e: da c2 rjmp .+1460 ; 0x1e24 + 1558: 23 db rcall .-2490 ; 0xba0 + 155a: d7 c2 rjmp .+1454 ; 0x1b0a break; } } return 1; case 0xa3: //PSU voltage control TC_PSU.CCA = 0; - 1870: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 1874: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 155c: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 1560: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> PSU_target = udd_g_ctrlreq.req.wValue; - 1878: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 187c: 80 93 b2 20 sts 0x20B2, r24 ; 0x8020b2 <__data_end> - 1880: d1 c2 rjmp .+1442 ; 0x1e24 + 1564: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 1568: 80 93 b2 20 sts 0x20B2, r24 ; 0x8020b2 <__data_end> + 156c: ce c2 rjmp .+1436 ; 0x1b0a return 1; case 0xa4: //Triple mode PORTB.OUT = udd_g_ctrlreq.req.wValue; - 1882: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1886: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> - 188a: cc c2 rjmp .+1432 ; 0x1e24 + 156e: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 1572: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> + 1576: c9 c2 rjmp .+1426 ; 0x1b0a return 1; case 0xa5: //Control Gain and Scope modes switch(udd_g_ctrlreq.req.wValue){ - 188c: e0 91 5c 24 lds r30, 0x245C ; 0x80245c - 1890: f0 91 5d 24 lds r31, 0x245D ; 0x80245d - 1894: e8 30 cpi r30, 0x08 ; 8 - 1896: f1 05 cpc r31, r1 - 1898: 08 f0 brcs .+2 ; 0x189c - 189a: 5f c0 rjmp .+190 ; 0x195a - 189c: ea 5d subi r30, 0xDA ; 218 - 189e: fe 4f sbci r31, 0xFE ; 254 - 18a0: 0c 94 92 16 jmp 0x2d24 ; 0x2d24 <__tablejump2__> + 1578: e0 91 61 24 lds r30, 0x2461 ; 0x802461 + 157c: f0 91 62 24 lds r31, 0x2462 ; 0x802462 + 1580: e8 30 cpi r30, 0x08 ; 8 + 1582: f1 05 cpc r31, r1 + 1584: 08 f0 brcs .+2 ; 0x1588 + 1586: 5c c0 rjmp .+184 ; 0x1640 + 1588: e2 5e subi r30, 0xE2 ; 226 + 158a: fe 4f sbci r31, 0xFE ; 254 + 158c: 0c 94 05 15 jmp 0x2a0a ; 0x2a0a <__tablejump2__> case 0: //Mode 0 tiny_adc_setup(0, 0); - 18a4: 60 e0 ldi r22, 0x00 ; 0 - 18a6: 80 e0 ldi r24, 0x00 ; 0 - 18a8: 0e 94 42 02 call 0x484 ; 0x484 + 1590: 60 e0 ldi r22, 0x00 ; 0 + 1592: 80 e0 ldi r24, 0x00 ; 0 + 1594: 0e 94 4e 02 call 0x49c ; 0x49c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 18ac: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 18b0: 0e 94 10 02 call 0x420 ; 0x420 + 1598: 80 91 63 24 lds r24, 0x2463 ; 0x802463 + 159c: 0e 94 1c 02 call 0x438 ; 0x438 tiny_dma_set_mode_0(); - 18b4: 0e 94 be 02 call 0x57c ; 0x57c - 18b8: b5 c2 rjmp .+1386 ; 0x1e24 + 15a0: 0e 94 cc 02 call 0x598 ; 0x598 + 15a4: b2 c2 rjmp .+1380 ; 0x1b0a break; case 1: //Mode 1 tiny_adc_setup(0, 0); - 18ba: 60 e0 ldi r22, 0x00 ; 0 - 18bc: 80 e0 ldi r24, 0x00 ; 0 - 18be: 0e 94 42 02 call 0x484 ; 0x484 + 15a6: 60 e0 ldi r22, 0x00 ; 0 + 15a8: 80 e0 ldi r24, 0x00 ; 0 + 15aa: 0e 94 4e 02 call 0x49c ; 0x49c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 18c2: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 18c6: 0e 94 10 02 call 0x420 ; 0x420 + 15ae: 80 91 63 24 lds r24, 0x2463 ; 0x802463 + 15b2: 0e 94 1c 02 call 0x438 ; 0x438 tiny_dma_set_mode_1(); - 18ca: 0e 94 32 03 call 0x664 ; 0x664 - 18ce: aa c2 rjmp .+1364 ; 0x1e24 + 15b6: 64 d8 rcall .-3896 ; 0x680 + 15b8: a8 c2 rjmp .+1360 ; 0x1b0a break; case 2: //Mode 2 tiny_adc_setup(1, 1); - 18d0: 61 e0 ldi r22, 0x01 ; 1 - 18d2: 81 e0 ldi r24, 0x01 ; 1 - 18d4: 0e 94 42 02 call 0x484 ; 0x484 + 15ba: 61 e0 ldi r22, 0x01 ; 1 + 15bc: 81 e0 ldi r24, 0x01 ; 1 + 15be: 0e 94 4e 02 call 0x49c ; 0x49c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 18d8: ca e5 ldi r28, 0x5A ; 90 - 18da: d4 e2 ldi r29, 0x24 ; 36 - 18dc: 8c 81 ldd r24, Y+4 ; 0x04 - 18de: 0e 94 10 02 call 0x420 ; 0x420 + 15c2: cf e5 ldi r28, 0x5F ; 95 + 15c4: d4 e2 ldi r29, 0x24 ; 36 + 15c6: 8c 81 ldd r24, Y+4 ; 0x04 + 15c8: 0e 94 1c 02 call 0x438 ; 0x438 tiny_adc_ch1setup(udd_g_ctrlreq.req.wIndex>>8); - 18e2: 8d 81 ldd r24, Y+5 ; 0x05 - 18e4: 0e 94 25 02 call 0x44a ; 0x44a + 15cc: 8d 81 ldd r24, Y+5 ; 0x05 + 15ce: 0e 94 31 02 call 0x462 ; 0x462 tiny_dma_set_mode_2(); - 18e8: 0e 94 ab 03 call 0x756 ; 0x756 - 18ec: 9b c2 rjmp .+1334 ; 0x1e24 + 15d2: cf d8 rcall .-3682 ; 0x772 + 15d4: 9a c2 rjmp .+1332 ; 0x1b0a break; case 3: //Mode 3 tiny_dma_set_mode_3(); - 18ee: 0e 94 21 04 call 0x842 ; 0x842 - 18f2: 98 c2 rjmp .+1328 ; 0x1e24 + 15d6: 45 d9 rcall .-3446 ; 0x862 + 15d8: 98 c2 rjmp .+1328 ; 0x1b0a break; case 4: //Mode 4 tiny_dma_set_mode_4(); - 18f4: 23 d8 rcall .-4026 ; 0x93c - 18f6: 96 c2 rjmp .+1324 ; 0x1e24 + 15da: c0 d9 rcall .-3200 ; 0x95c + 15dc: 96 c2 rjmp .+1324 ; 0x1b0a break; case 5: //Mode 5 tiny_adc_setup(0, 0); - 18f8: 60 e0 ldi r22, 0x00 ; 0 - 18fa: 80 e0 ldi r24, 0x00 ; 0 - 18fc: 0e 94 42 02 call 0x484 ; 0x484 + 15de: 60 e0 ldi r22, 0x00 ; 0 + 15e0: 80 e0 ldi r24, 0x00 ; 0 + 15e2: 0e 94 4e 02 call 0x49c ; 0x49c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1900: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 1904: 0e 94 10 02 call 0x420 ; 0x420 + 15e6: 80 91 63 24 lds r24, 0x2463 ; 0x802463 + 15ea: 0e 94 1c 02 call 0x438 ; 0x438 tiny_dma_set_mode_5(); - 1908: 90 d8 rcall .-3808 ; 0xa2a - 190a: 8c c2 rjmp .+1304 ; 0x1e24 + 15ee: 2d da rcall .-2982 ; 0xa4a + 15f0: 8c c2 rjmp .+1304 ; 0x1b0a break; case 6: //Mode 6 tiny_adc_setup(0, 1); - 190c: 61 e0 ldi r22, 0x01 ; 1 - 190e: 80 e0 ldi r24, 0x00 ; 0 - 1910: 0e 94 42 02 call 0x484 ; 0x484 + 15f2: 61 e0 ldi r22, 0x01 ; 1 + 15f4: 80 e0 ldi r24, 0x00 ; 0 + 15f6: 0e 94 4e 02 call 0x49c ; 0x49c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1914: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 1918: 0e 94 10 02 call 0x420 ; 0x420 + 15fa: 80 91 63 24 lds r24, 0x2463 ; 0x802463 + 15fe: 0e 94 1c 02 call 0x438 ; 0x438 tiny_dma_set_mode_6(); - 191c: ce d8 rcall .-3684 ; 0xaba - 191e: 82 c2 rjmp .+1284 ; 0x1e24 + 1602: 6b da rcall .-2858 ; 0xada + 1604: 82 c2 rjmp .+1284 ; 0x1b0a break; case 7: //Mode 7 tiny_adc_setup(0, 2); - 1920: 62 e0 ldi r22, 0x02 ; 2 - 1922: 80 e0 ldi r24, 0x00 ; 0 - 1924: 0e 94 42 02 call 0x484 ; 0x484 + 1606: 62 e0 ldi r22, 0x02 ; 2 + 1608: 80 e0 ldi r24, 0x00 ; 0 + 160a: 0e 94 4e 02 call 0x49c ; 0x49c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex | 0x80); - 1928: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 192c: 80 68 ori r24, 0x80 ; 128 - 192e: 0e 94 10 02 call 0x420 ; 0x420 + 160e: 80 91 63 24 lds r24, 0x2463 ; 0x802463 + 1612: 80 68 ori r24, 0x80 ; 128 + 1614: 0e 94 1c 02 call 0x438 ; 0x438 tiny_dma_set_mode_7(); - 1932: 26 d9 rcall .-3508 ; 0xb80 - 1934: 77 c2 rjmp .+1262 ; 0x1e24 + 1618: c3 da rcall .-2682 ; 0xba0 + 161a: 77 c2 rjmp .+1262 ; 0x1b0a default: return 0; } return 1; case 0xa6: //Digital out??? PORTE.OUT = udd_g_ctrlreq.req.wValue; - 1936: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 193a: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> - 193e: 72 c2 rjmp .+1252 ; 0x1e24 + 161c: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 1620: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> + 1624: 72 c2 rjmp .+1252 ; 0x1b0a 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" - 1940: e9 e7 ldi r30, 0x79 ; 121 - 1942: f0 e0 ldi r31, 0x00 ; 0 - 1944: 91 e0 ldi r25, 0x01 ; 1 - 1946: 88 ed ldi r24, 0xD8 ; 216 - 1948: f8 94 cli - 194a: 84 bf out 0x34, r24 ; 52 - 194c: 90 83 st Z, r25 + 1626: e9 e7 ldi r30, 0x79 ; 121 + 1628: f0 e0 ldi r31, 0x00 ; 0 + 162a: 91 e0 ldi r25, 0x01 ; 1 + 162c: 88 ed ldi r24, 0xD8 ; 216 + 162e: f8 94 cli + 1630: 84 bf out 0x34, r24 ; 52 + 1632: 90 83 st Z, r25 [swrst] "r" ((uint8_t) RST_SWRST_bm), [rst] "e" (&RST.CTRL) : "memory"); __builtin_unreachable(); default: return 0; - 194e: 80 e0 ldi r24, 0x00 ; 0 - 1950: 05 c0 rjmp .+10 ; 0x195c + 1634: 80 e0 ldi r24, 0x00 ; 0 + 1636: 05 c0 rjmp .+10 ; 0x1642 case 7: tiny_dma_set_mode_7(); break; } } return 1; - 1952: 81 e0 ldi r24, 0x01 ; 1 - 1954: 03 c0 rjmp .+6 ; 0x195c + 1638: 81 e0 ldi r24, 0x01 ; 1 + 163a: 03 c0 rjmp .+6 ; 0x1642 case 7: tiny_dma_set_mode_7(); break; } } return 1; - 1956: 81 e0 ldi r24, 0x01 ; 1 - 1958: 01 c0 rjmp .+2 ; 0x195c + 163c: 81 e0 ldi r24, 0x01 ; 1 + 163e: 01 c0 rjmp .+2 ; 0x1642 tiny_adc_setup(0, 2); tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex | 0x80); tiny_dma_set_mode_7(); break; default: return 0; - 195a: 80 e0 ldi r24, 0x00 ; 0 + 1640: 80 e0 ldi r24, 0x00 ; 0 return false; // Error from USB host } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ if (udc_reqvend()) { - 195c: 81 11 cpse r24, r1 - 195e: 65 c2 rjmp .+1226 ; 0x1e2a + 1642: 81 11 cpse r24, r1 + 1644: 65 c2 rjmp .+1226 ; 0x1b10 return true; } } // If standard request then try to decode it in UDC if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) { - 1960: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1964: 98 2f mov r25, r24 - 1966: 90 76 andi r25, 0x60 ; 96 - 1968: 09 f0 breq .+2 ; 0x196c - 196a: e1 c1 rjmp .+962 ; 0x1d2e + 1646: 80 91 5f 24 lds r24, 0x245F ; 0x80245f + 164a: 98 2f mov r25, r24 + 164c: 90 76 andi r25, 0x60 ; 96 + 164e: 09 f0 breq .+2 ; 0x1652 + 1650: e1 c1 rjmp .+962 ; 0x1a14 * * \return true if the request is supported */ static bool udc_reqstd(void) { if (Udd_setup_is_in()) { - 196c: 88 23 and r24, r24 - 196e: 0c f0 brlt .+2 ; 0x1972 - 1970: 05 c1 rjmp .+522 ; 0x1b7c + 1652: 88 23 and r24, r24 + 1654: 0c f0 brlt .+2 ; 0x1658 + 1656: 05 c1 rjmp .+522 ; 0x1862 // GET Standard Requests if (udd_g_ctrlreq.req.wLength == 0) { - 1972: 20 91 60 24 lds r18, 0x2460 ; 0x802460 - 1976: 30 91 61 24 lds r19, 0x2461 ; 0x802461 - 197a: 21 15 cp r18, r1 - 197c: 31 05 cpc r19, r1 - 197e: 09 f4 brne .+2 ; 0x1982 - 1980: d6 c1 rjmp .+940 ; 0x1d2e + 1658: 20 91 65 24 lds r18, 0x2465 ; 0x802465 + 165c: 30 91 66 24 lds r19, 0x2466 ; 0x802466 + 1660: 21 15 cp r18, r1 + 1662: 31 05 cpc r19, r1 + 1664: 09 f4 brne .+2 ; 0x1668 + 1666: d6 c1 rjmp .+940 ; 0x1a14 return false; // Error for USB host } if (USB_REQ_RECIP_DEVICE == Udd_setup_recipient()) { - 1982: 8f 71 andi r24, 0x1F ; 31 - 1984: 09 f0 breq .+2 ; 0x1988 - 1986: a3 c0 rjmp .+326 ; 0x1ace + 1668: 8f 71 andi r24, 0x1F ; 31 + 166a: 09 f0 breq .+2 ; 0x166e + 166c: a3 c0 rjmp .+326 ; 0x17b4 // Standard Get Device request switch (udd_g_ctrlreq.req.bRequest) { - 1988: 90 91 5b 24 lds r25, 0x245B ; 0x80245b - 198c: 96 30 cpi r25, 0x06 ; 6 - 198e: 79 f0 breq .+30 ; 0x19ae - 1990: 98 30 cpi r25, 0x08 ; 8 - 1992: 09 f4 brne .+2 ; 0x1996 - 1994: 92 c0 rjmp .+292 ; 0x1aba - 1996: 91 11 cpse r25, r1 - 1998: 9a c0 rjmp .+308 ; 0x1ace + 166e: 90 91 60 24 lds r25, 0x2460 ; 0x802460 + 1672: 96 30 cpi r25, 0x06 ; 6 + 1674: 79 f0 breq .+30 ; 0x1694 + 1676: 98 30 cpi r25, 0x08 ; 8 + 1678: 09 f4 brne .+2 ; 0x167c + 167a: 92 c0 rjmp .+292 ; 0x17a0 + 167c: 91 11 cpse r25, r1 + 167e: 9a c0 rjmp .+308 ; 0x17b4 * * \return true if success */ static bool udc_req_std_dev_get_status(void) { if (udd_g_ctrlreq.req.wLength != sizeof(udc_device_status)) { - 199a: 22 30 cpi r18, 0x02 ; 2 - 199c: 31 05 cpc r19, r1 - 199e: 09 f0 breq .+2 ; 0x19a2 - 19a0: c6 c1 rjmp .+908 ; 0x1d2e + 1680: 22 30 cpi r18, 0x02 ; 2 + 1682: 31 05 cpc r19, r1 + 1684: 09 f0 breq .+2 ; 0x1688 + 1686: c6 c1 rjmp .+908 ; 0x1a14 return false; } udd_set_setup_payload( (uint8_t *) & udc_device_status, - 19a2: 62 e0 ldi r22, 0x02 ; 2 - 19a4: 70 e0 ldi r23, 0x00 ; 0 - 19a6: 82 ec ldi r24, 0xC2 ; 194 - 19a8: 90 e2 ldi r25, 0x20 ; 32 - 19aa: ec d5 rcall .+3032 ; 0x2584 - 19ac: 3d c2 rjmp .+1146 ; 0x1e28 + 1688: 62 e0 ldi r22, 0x02 ; 2 + 168a: 70 e0 ldi r23, 0x00 ; 0 + 168c: 82 ec ldi r24, 0xC2 ; 194 + 168e: 90 e2 ldi r25, 0x20 ; 32 + 1690: ec d5 rcall .+3032 ; 0x226a + 1692: 3d c2 rjmp .+1146 ; 0x1b0e */ static bool udc_req_std_dev_get_descriptor(void) { uint8_t conf_num; conf_num = udd_g_ctrlreq.req.wValue & 0xff; - 19ae: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 19b2: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1694: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 1698: 90 91 62 24 lds r25, 0x2462 ; 0x802462 // Check descriptor ID switch ((uint8_t) (udd_g_ctrlreq.req.wValue >> 8)) { - 19b6: 29 2f mov r18, r25 - 19b8: 33 27 eor r19, r19 - 19ba: 22 30 cpi r18, 0x02 ; 2 - 19bc: 31 05 cpc r19, r1 - 19be: a9 f0 breq .+42 ; 0x19ea - 19c0: 24 f4 brge .+8 ; 0x19ca - 19c2: 21 30 cpi r18, 0x01 ; 1 - 19c4: 31 05 cpc r19, r1 - 19c6: 41 f0 breq .+16 ; 0x19d8 - 19c8: a9 c1 rjmp .+850 ; 0x1d1c - 19ca: 23 30 cpi r18, 0x03 ; 3 - 19cc: 31 05 cpc r19, r1 - 19ce: d9 f1 breq .+118 ; 0x1a46 - 19d0: 2f 30 cpi r18, 0x0F ; 15 - 19d2: 31 05 cpc r19, r1 - 19d4: 51 f1 breq .+84 ; 0x1a2a - 19d6: a2 c1 rjmp .+836 ; 0x1d1c + 169c: 29 2f mov r18, r25 + 169e: 33 27 eor r19, r19 + 16a0: 22 30 cpi r18, 0x02 ; 2 + 16a2: 31 05 cpc r19, r1 + 16a4: a9 f0 breq .+42 ; 0x16d0 + 16a6: 24 f4 brge .+8 ; 0x16b0 + 16a8: 21 30 cpi r18, 0x01 ; 1 + 16aa: 31 05 cpc r19, r1 + 16ac: 41 f0 breq .+16 ; 0x16be + 16ae: a9 c1 rjmp .+850 ; 0x1a02 + 16b0: 23 30 cpi r18, 0x03 ; 3 + 16b2: 31 05 cpc r19, r1 + 16b4: d9 f1 breq .+118 ; 0x172c + 16b6: 2f 30 cpi r18, 0x0F ; 15 + 16b8: 31 05 cpc r19, r1 + 16ba: 51 f1 breq .+84 ; 0x1710 + 16bc: a2 c1 rjmp .+836 ; 0x1a02 } else #endif { udd_set_setup_payload( (uint8_t *) udc_config.confdev_lsfs, udc_config.confdev_lsfs->bLength); - 19d8: 80 91 10 20 lds r24, 0x2010 ; 0x802010 - 19dc: 90 91 11 20 lds r25, 0x2011 ; 0x802011 + 16be: 80 91 10 20 lds r24, 0x2010 ; 0x802010 + 16c2: 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( - 19e0: dc 01 movw r26, r24 - 19e2: 6c 91 ld r22, X - 19e4: 70 e0 ldi r23, 0x00 ; 0 - 19e6: ce d5 rcall .+2972 ; 0x2584 - 19e8: 59 c0 rjmp .+178 ; 0x1a9c + 16c6: dc 01 movw r26, r24 + 16c8: 6c 91 ld r22, X + 16ca: 70 e0 ldi r23, 0x00 ; 0 + 16cc: ce d5 rcall .+2972 ; 0x226a + 16ce: 59 c0 rjmp .+178 ; 0x1782 le16_to_cpu(udc_config.conf_hs[conf_num].desc->wTotalLength)); } else #endif { // FS descriptor if (conf_num >= udc_config.confdev_lsfs-> - 19ea: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 19ee: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 19f2: 21 89 ldd r18, Z+17 ; 0x11 - 19f4: 82 17 cp r24, r18 - 19f6: 08 f0 brcs .+2 ; 0x19fa - 19f8: 9a c1 rjmp .+820 ; 0x1d2e + 16d0: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 16d4: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 16d8: 21 89 ldd r18, Z+17 ; 0x11 + 16da: 82 17 cp r24, r18 + 16dc: 08 f0 brcs .+2 ; 0x16e0 + 16de: 9a c1 rjmp .+820 ; 0x1a14 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)); - 19fa: 99 27 eor r25, r25 - 19fc: 88 0f add r24, r24 - 19fe: 99 1f adc r25, r25 - 1a00: 88 0f add r24, r24 - 1a02: 99 1f adc r25, r25 - 1a04: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 1a08: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 1a0c: e8 0f add r30, r24 - 1a0e: f9 1f adc r31, r25 - 1a10: 80 81 ld r24, Z - 1a12: 91 81 ldd r25, Z+1 ; 0x01 + 16e0: 99 27 eor r25, r25 + 16e2: 88 0f add r24, r24 + 16e4: 99 1f adc r25, r25 + 16e6: 88 0f add r24, r24 + 16e8: 99 1f adc r25, r25 + 16ea: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 16ee: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 16f2: e8 0f add r30, r24 + 16f4: f9 1f adc r31, r25 + 16f6: 80 81 ld r24, Z + 16f8: 91 81 ldd r25, Z+1 ; 0x01 // FS descriptor if (conf_num >= udc_config.confdev_lsfs-> bNumConfigurations) { return false; } udd_set_setup_payload( - 1a14: fc 01 movw r30, r24 - 1a16: 62 81 ldd r22, Z+2 ; 0x02 - 1a18: 73 81 ldd r23, Z+3 ; 0x03 - 1a1a: b4 d5 rcall .+2920 ; 0x2584 + 16fa: fc 01 movw r30, r24 + 16fc: 62 81 ldd r22, Z+2 ; 0x02 + 16fe: 73 81 ldd r23, Z+3 ; 0x03 + 1700: b4 d5 rcall .+2920 ; 0x226a (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 = - 1a1c: e0 91 62 24 lds r30, 0x2462 ; 0x802462 - 1a20: f0 91 63 24 lds r31, 0x2463 ; 0x802463 - 1a24: 82 e0 ldi r24, 0x02 ; 2 - 1a26: 81 83 std Z+1, r24 ; 0x01 - 1a28: 39 c0 rjmp .+114 ; 0x1a9c + 1702: e0 91 67 24 lds r30, 0x2467 ; 0x802467 + 1706: f0 91 68 24 lds r31, 0x2468 ; 0x802468 + 170a: 82 e0 ldi r24, 0x02 ; 2 + 170c: 81 83 std Z+1, r24 ; 0x01 + 170e: 39 c0 rjmp .+114 ; 0x1782 break; #endif case USB_DT_BOS: // Device BOS descriptor requested if (udc_config.conf_bos == NULL) { - 1a2a: 80 91 14 20 lds r24, 0x2014 ; 0x802014 - 1a2e: 90 91 15 20 lds r25, 0x2015 ; 0x802015 - 1a32: 00 97 sbiw r24, 0x00 ; 0 - 1a34: 09 f4 brne .+2 ; 0x1a38 - 1a36: 7b c1 rjmp .+758 ; 0x1d2e + 1710: 80 91 14 20 lds r24, 0x2014 ; 0x802014 + 1714: 90 91 15 20 lds r25, 0x2015 ; 0x802015 + 1718: 00 97 sbiw r24, 0x00 ; 0 + 171a: 09 f4 brne .+2 ; 0x171e + 171c: 7b c1 rjmp .+758 ; 0x1a14 return false; } udd_set_setup_payload( (uint8_t *) udc_config.conf_bos, - 1a38: dc 01 movw r26, r24 - 1a3a: 12 96 adiw r26, 0x02 ; 2 - 1a3c: 6d 91 ld r22, X+ - 1a3e: 7c 91 ld r23, X - 1a40: 13 97 sbiw r26, 0x03 ; 3 - 1a42: a0 d5 rcall .+2880 ; 0x2584 - 1a44: 2b c0 rjmp .+86 ; 0x1a9c + 171e: dc 01 movw r26, r24 + 1720: 12 96 adiw r26, 0x02 ; 2 + 1722: 6d 91 ld r22, X+ + 1724: 7c 91 ld r23, X + 1726: 13 97 sbiw r26, 0x03 ; 3 + 1728: a0 d5 rcall .+2880 ; 0x226a + 172a: 2b c0 rjmp .+86 ; 0x1782 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) { - 1a46: 99 27 eor r25, r25 - 1a48: 81 30 cpi r24, 0x01 ; 1 - 1a4a: 91 05 cpc r25, r1 - 1a4c: 71 f0 breq .+28 ; 0x1a6a - 1a4e: 38 f0 brcs .+14 ; 0x1a5e - 1a50: 02 97 sbiw r24, 0x02 ; 2 - 1a52: 09 f0 breq .+2 ; 0x1a56 - 1a54: 6c c1 rjmp .+728 ; 0x1d2e + 172c: 99 27 eor r25, r25 + 172e: 81 30 cpi r24, 0x01 ; 1 + 1730: 91 05 cpc r25, r1 + 1732: 71 f0 breq .+28 ; 0x1750 + 1734: 38 f0 brcs .+14 ; 0x1744 + 1736: 02 97 sbiw r24, 0x02 ; 2 + 1738: 09 f0 breq .+2 ; 0x173c + 173a: 6c c1 rjmp .+728 ; 0x1a14 break; #endif #ifdef USB_DEVICE_PRODUCT_NAME case 2: str_length = USB_DEVICE_PRODUCT_NAME_SIZE; str = udc_string_product_name; - 1a56: 8a e8 ldi r24, 0x8A ; 138 - 1a58: 90 e2 ldi r25, 0x20 ; 32 + 173c: 8a e8 ldi r24, 0x8A ; 138 + 173e: 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; - 1a5a: 28 e1 ldi r18, 0x18 ; 24 - 1a5c: 09 c0 rjmp .+18 ; 0x1a70 + 1740: 28 e1 ldi r18, 0x18 ; 24 + 1742: 09 c0 rjmp .+18 ; 0x1756 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, - 1a5e: 64 e0 ldi r22, 0x04 ; 4 - 1a60: 70 e0 ldi r23, 0x00 ; 0 - 1a62: 8e ea ldi r24, 0xAE ; 174 - 1a64: 90 e2 ldi r25, 0x20 ; 32 - 1a66: 8e d5 rcall .+2844 ; 0x2584 - 1a68: 19 c0 rjmp .+50 ; 0x1a9c + 1744: 64 e0 ldi r22, 0x04 ; 4 + 1746: 70 e0 ldi r23, 0x00 ; 0 + 1748: 8e ea ldi r24, 0xAE ; 174 + 174a: 90 e2 ldi r25, 0x20 ; 32 + 174c: 8e d5 rcall .+2844 ; 0x226a + 174e: 19 c0 rjmp .+50 ; 0x1782 break; #ifdef USB_DEVICE_MANUFACTURE_NAME case 1: str_length = USB_DEVICE_MANUFACTURE_NAME_SIZE; str = udc_string_manufacturer_name; - 1a6a: 83 ea ldi r24, 0xA3 ; 163 - 1a6c: 90 e2 ldi r25, 0x20 ; 32 + 1750: 83 ea ldi r24, 0xA3 ; 163 + 1752: 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; - 1a6e: 29 e0 ldi r18, 0x09 ; 9 - 1a70: 38 2f mov r19, r24 - 1a72: aa e5 ldi r26, 0x5A ; 90 - 1a74: b0 e2 ldi r27, 0x20 ; 32 + 1754: 29 e0 ldi r18, 0x09 ; 9 + 1756: 38 2f mov r19, r24 + 1758: aa e5 ldi r26, 0x5A ; 90 + 175a: 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; - 1a76: e8 2f mov r30, r24 - 1a78: f9 2f mov r31, r25 + 175c: e8 2f mov r30, r24 + 175e: 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]); - 1a7a: 81 91 ld r24, Z+ - 1a7c: 90 e0 ldi r25, 0x00 ; 0 - 1a7e: 8d 93 st X+, r24 - 1a80: 9d 93 st X+, r25 - 1a82: 8e 2f mov r24, r30 - 1a84: 83 1b sub r24, r19 + 1760: 81 91 ld r24, Z+ + 1762: 90 e0 ldi r25, 0x00 ; 0 + 1764: 8d 93 st X+, r24 + 1766: 9d 93 st X+, r25 + 1768: 8e 2f mov r24, r30 + 176a: 83 1b sub r24, r19 #endif return false; } if (str_length) { for(i = 0; i < str_length; i++) { - 1a86: 82 17 cp r24, r18 - 1a88: c0 f3 brcs .-16 ; 0x1a7a + 176c: 82 17 cp r24, r18 + 176e: c0 f3 brcs .-16 ; 0x1760 udc_string_desc.string[i] = cpu_to_le16((le16_t)str[i]); } udc_string_desc.header.bLength = 2 + (str_length) * 2; - 1a8a: 62 2f mov r22, r18 - 1a8c: 66 0f add r22, r22 - 1a8e: 6e 5f subi r22, 0xFE ; 254 - 1a90: 60 93 58 20 sts 0x2058, r22 ; 0x802058 + 1770: 62 2f mov r22, r18 + 1772: 66 0f add r22, r22 + 1774: 6e 5f subi r22, 0xFE ; 254 + 1776: 60 93 58 20 sts 0x2058, r22 ; 0x802058 udd_set_setup_payload( - 1a94: 70 e0 ldi r23, 0x00 ; 0 - 1a96: 88 e5 ldi r24, 0x58 ; 88 - 1a98: 90 e2 ldi r25, 0x20 ; 32 - 1a9a: 74 d5 rcall .+2792 ; 0x2584 + 177a: 70 e0 ldi r23, 0x00 ; 0 + 177c: 88 e5 ldi r24, 0x58 ; 88 + 177e: 90 e2 ldi r25, 0x20 ; 32 + 1780: 74 d5 rcall .+2792 ; 0x226a 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) { - 1a9c: ea e5 ldi r30, 0x5A ; 90 - 1a9e: f4 e2 ldi r31, 0x24 ; 36 - 1aa0: 86 81 ldd r24, Z+6 ; 0x06 - 1aa2: 97 81 ldd r25, Z+7 ; 0x07 - 1aa4: 22 85 ldd r18, Z+10 ; 0x0a - 1aa6: 33 85 ldd r19, Z+11 ; 0x0b - 1aa8: 82 17 cp r24, r18 - 1aaa: 93 07 cpc r25, r19 - 1aac: 08 f0 brcs .+2 ; 0x1ab0 - 1aae: bc c1 rjmp .+888 ; 0x1e28 + 1782: ef e5 ldi r30, 0x5F ; 95 + 1784: f4 e2 ldi r31, 0x24 ; 36 + 1786: 86 81 ldd r24, Z+6 ; 0x06 + 1788: 97 81 ldd r25, Z+7 ; 0x07 + 178a: 22 85 ldd r18, Z+10 ; 0x0a + 178c: 33 85 ldd r19, Z+11 ; 0x0b + 178e: 82 17 cp r24, r18 + 1790: 93 07 cpc r25, r19 + 1792: 08 f0 brcs .+2 ; 0x1796 + 1794: bc c1 rjmp .+888 ; 0x1b0e udd_g_ctrlreq.payload_size = udd_g_ctrlreq.req.wLength; - 1ab0: 80 93 64 24 sts 0x2464, r24 ; 0x802464 - 1ab4: 90 93 65 24 sts 0x2465, r25 ; 0x802465 - 1ab8: b7 c1 rjmp .+878 ; 0x1e28 + 1796: 80 93 69 24 sts 0x2469, r24 ; 0x802469 + 179a: 90 93 6a 24 sts 0x246A, r25 ; 0x80246a + 179e: b7 c1 rjmp .+878 ; 0x1b0e * * \return true if success */ static bool udc_req_std_dev_get_configuration(void) { if (udd_g_ctrlreq.req.wLength != 1) { - 1aba: 21 30 cpi r18, 0x01 ; 1 - 1abc: 31 05 cpc r19, r1 - 1abe: 09 f0 breq .+2 ; 0x1ac2 - 1ac0: 36 c1 rjmp .+620 ; 0x1d2e + 17a0: 21 30 cpi r18, 0x01 ; 1 + 17a2: 31 05 cpc r19, r1 + 17a4: 09 f0 breq .+2 ; 0x17a8 + 17a6: 36 c1 rjmp .+620 ; 0x1a14 return false; } udd_set_setup_payload(&udc_num_configuration,1); - 1ac2: 61 e0 ldi r22, 0x01 ; 1 - 1ac4: 70 e0 ldi r23, 0x00 ; 0 - 1ac6: 8e eb ldi r24, 0xBE ; 190 - 1ac8: 90 e2 ldi r25, 0x20 ; 32 - 1aca: 5c d5 rcall .+2744 ; 0x2584 - 1acc: ad c1 rjmp .+858 ; 0x1e28 + 17a8: 61 e0 ldi r22, 0x01 ; 1 + 17aa: 70 e0 ldi r23, 0x00 ; 0 + 17ac: 8e eb ldi r24, 0xBE ; 190 + 17ae: 90 e2 ldi r25, 0x20 ; 32 + 17b0: 5c d5 rcall .+2744 ; 0x226a + 17b2: ad c1 rjmp .+858 ; 0x1b0e default: break; } } if (USB_REQ_RECIP_INTERFACE == Udd_setup_recipient()) { - 1ace: 81 30 cpi r24, 0x01 ; 1 - 1ad0: e1 f5 brne .+120 ; 0x1b4a + 17b4: 81 30 cpi r24, 0x01 ; 1 + 17b6: e1 f5 brne .+120 ; 0x1830 // Standard Get Interface request switch (udd_g_ctrlreq.req.bRequest) { - 1ad2: 90 91 5b 24 lds r25, 0x245B ; 0x80245b - 1ad6: 9a 30 cpi r25, 0x0A ; 10 - 1ad8: c1 f5 brne .+112 ; 0x1b4a + 17b8: 90 91 60 24 lds r25, 0x2460 ; 0x802460 + 17bc: 9a 30 cpi r25, 0x0A ; 10 + 17be: c1 f5 brne .+112 ; 0x1830 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) { - 1ada: 21 30 cpi r18, 0x01 ; 1 - 1adc: 31 05 cpc r19, r1 - 1ade: 09 f0 breq .+2 ; 0x1ae2 - 1ae0: 26 c1 rjmp .+588 ; 0x1d2e + 17c0: 21 30 cpi r18, 0x01 ; 1 + 17c2: 31 05 cpc r19, r1 + 17c4: 09 f0 breq .+2 ; 0x17c8 + 17c6: 26 c1 rjmp .+588 ; 0x1a14 return false; // Error in request } if (!udc_num_configuration) { - 1ae2: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1ae6: 88 23 and r24, r24 - 1ae8: 09 f4 brne .+2 ; 0x1aec - 1aea: 21 c1 rjmp .+578 ; 0x1d2e + 17c8: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 17cc: 88 23 and r24, r24 + 17ce: 09 f4 brne .+2 ; 0x17d2 + 17d0: 21 c1 rjmp .+578 ; 0x1a14 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; - 1aec: c0 91 5e 24 lds r28, 0x245E ; 0x80245e - 1af0: d0 91 5f 24 lds r29, 0x245F ; 0x80245f + 17d2: c0 91 63 24 lds r28, 0x2463 ; 0x802463 + 17d6: d0 91 64 24 lds r29, 0x2464 ; 0x802464 if (iface_num >= udc_ptr_conf->desc->bNumInterfaces) { - 1af4: 00 91 bc 20 lds r16, 0x20BC ; 0x8020bc - 1af8: 10 91 bd 20 lds r17, 0x20BD ; 0x8020bd - 1afc: d8 01 movw r26, r16 - 1afe: ed 91 ld r30, X+ - 1b00: fc 91 ld r31, X - 1b02: 84 81 ldd r24, Z+4 ; 0x04 - 1b04: c8 17 cp r28, r24 - 1b06: 08 f0 brcs .+2 ; 0x1b0a - 1b08: 12 c1 rjmp .+548 ; 0x1d2e + 17da: 00 91 bc 20 lds r16, 0x20BC ; 0x8020bc + 17de: 10 91 bd 20 lds r17, 0x20BD ; 0x8020bd + 17e2: d8 01 movw r26, r16 + 17e4: ed 91 ld r30, X+ + 17e6: fc 91 ld r31, X + 17e8: 84 81 ldd r24, Z+4 ; 0x04 + 17ea: c8 17 cp r28, r24 + 17ec: 08 f0 brcs .+2 ; 0x17f0 + 17ee: 12 c1 rjmp .+548 ; 0x1a14 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)) { - 1b0a: 60 e0 ldi r22, 0x00 ; 0 - 1b0c: 8c 2f mov r24, r28 - 1b0e: fc dc rcall .-1544 ; 0x1508 - 1b10: 88 23 and r24, r24 - 1b12: 09 f4 brne .+2 ; 0x1b16 - 1b14: 0c c1 rjmp .+536 ; 0x1d2e + 17f0: 60 e0 ldi r22, 0x00 ; 0 + 17f2: 8c 2f mov r24, r28 + 17f4: 06 dd rcall .-1524 ; 0x1202 + 17f6: 88 23 and r24, r24 + 17f8: 09 f4 brne .+2 ; 0x17fc + 17fa: 0c c1 rjmp .+536 ; 0x1a14 return false; } // Get alternate setting from UDI udi_api = udc_ptr_conf->udi_apis[iface_num]; - 1b16: ce 01 movw r24, r28 - 1b18: 99 27 eor r25, r25 - 1b1a: 88 0f add r24, r24 - 1b1c: 99 1f adc r25, r25 - 1b1e: d8 01 movw r26, r16 - 1b20: 12 96 adiw r26, 0x02 ; 2 - 1b22: ed 91 ld r30, X+ - 1b24: fc 91 ld r31, X - 1b26: 13 97 sbiw r26, 0x03 ; 3 - 1b28: e8 0f add r30, r24 - 1b2a: f9 1f adc r31, r25 + 17fc: ce 01 movw r24, r28 + 17fe: 99 27 eor r25, r25 + 1800: 88 0f add r24, r24 + 1802: 99 1f adc r25, r25 + 1804: d8 01 movw r26, r16 + 1806: 12 96 adiw r26, 0x02 ; 2 + 1808: ed 91 ld r30, X+ + 180a: fc 91 ld r31, X + 180c: 13 97 sbiw r26, 0x03 ; 3 + 180e: e8 0f add r30, r24 + 1810: f9 1f adc r31, r25 udc_iface_setting = udi_api->getsetting(); - 1b2c: 01 90 ld r0, Z+ - 1b2e: f0 81 ld r31, Z - 1b30: e0 2d mov r30, r0 - 1b32: 86 81 ldd r24, Z+6 ; 0x06 - 1b34: 97 81 ldd r25, Z+7 ; 0x07 - 1b36: fc 01 movw r30, r24 - 1b38: 09 95 icall - 1b3a: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 + 1812: 01 90 ld r0, Z+ + 1814: f0 81 ld r31, Z + 1816: e0 2d mov r30, r0 + 1818: 86 81 ldd r24, Z+6 ; 0x06 + 181a: 97 81 ldd r25, Z+7 ; 0x07 + 181c: fc 01 movw r30, r24 + 181e: 09 95 icall + 1820: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 // Link value to payload pointer of request udd_set_setup_payload(&udc_iface_setting,1); - 1b3e: 61 e0 ldi r22, 0x01 ; 1 - 1b40: 70 e0 ldi r23, 0x00 ; 0 - 1b42: 80 ec ldi r24, 0xC0 ; 192 - 1b44: 90 e2 ldi r25, 0x20 ; 32 - 1b46: 1e d5 rcall .+2620 ; 0x2584 - 1b48: 6f c1 rjmp .+734 ; 0x1e28 + 1824: 61 e0 ldi r22, 0x01 ; 1 + 1826: 70 e0 ldi r23, 0x00 ; 0 + 1828: 80 ec ldi r24, 0xC0 ; 192 + 182a: 90 e2 ldi r25, 0x20 ; 32 + 182c: 1e d5 rcall .+2620 ; 0x226a + 182e: 6f c1 rjmp .+734 ; 0x1b0e default: break; } } #if (0!=USB_DEVICE_MAX_EP) if (USB_REQ_RECIP_ENDPOINT == Udd_setup_recipient()) { - 1b4a: 82 30 cpi r24, 0x02 ; 2 - 1b4c: 09 f0 breq .+2 ; 0x1b50 - 1b4e: ef c0 rjmp .+478 ; 0x1d2e + 1830: 82 30 cpi r24, 0x02 ; 2 + 1832: 09 f0 breq .+2 ; 0x1836 + 1834: ef c0 rjmp .+478 ; 0x1a14 // Standard Get Endpoint request switch (udd_g_ctrlreq.req.bRequest) { - 1b50: 80 91 5b 24 lds r24, 0x245B ; 0x80245b - 1b54: 81 11 cpse r24, r1 - 1b56: e4 c0 rjmp .+456 ; 0x1d20 + 1836: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 183a: 81 11 cpse r24, r1 + 183c: e4 c0 rjmp .+456 ; 0x1a06 */ 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)) { - 1b58: 22 30 cpi r18, 0x02 ; 2 - 1b5a: 31 05 cpc r19, r1 - 1b5c: 09 f0 breq .+2 ; 0x1b60 - 1b5e: e7 c0 rjmp .+462 ; 0x1d2e + 183e: 22 30 cpi r18, 0x02 ; 2 + 1840: 31 05 cpc r19, r1 + 1842: 09 f0 breq .+2 ; 0x1846 + 1844: e7 c0 rjmp .+462 ; 0x1a14 return false; } udc_ep_status = udd_ep_is_halted(udd_g_ctrlreq.req. - 1b60: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 1b64: 8b d5 rcall .+2838 ; 0x267c - 1b66: 90 e0 ldi r25, 0x00 ; 0 - 1b68: 80 93 b8 20 sts 0x20B8, r24 ; 0x8020b8 - 1b6c: 90 93 b9 20 sts 0x20B9, r25 ; 0x8020b9 + 1846: 80 91 63 24 lds r24, 0x2463 ; 0x802463 + 184a: 8b d5 rcall .+2838 ; 0x2362 + 184c: 90 e0 ldi r25, 0x00 ; 0 + 184e: 80 93 b8 20 sts 0x20B8, r24 ; 0x8020b8 + 1852: 90 93 b9 20 sts 0x20B9, r25 ; 0x8020b9 wIndex & 0xFF) ? CPU_TO_LE16(USB_EP_STATUS_HALTED) : 0; udd_set_setup_payload( (uint8_t *) & udc_ep_status, - 1b70: 62 e0 ldi r22, 0x02 ; 2 - 1b72: 70 e0 ldi r23, 0x00 ; 0 - 1b74: 88 eb ldi r24, 0xB8 ; 184 - 1b76: 90 e2 ldi r25, 0x20 ; 32 - 1b78: 05 d5 rcall .+2570 ; 0x2584 - 1b7a: 56 c1 rjmp .+684 ; 0x1e28 + 1856: 62 e0 ldi r22, 0x02 ; 2 + 1858: 70 e0 ldi r23, 0x00 ; 0 + 185a: 88 eb ldi r24, 0xB8 ; 184 + 185c: 90 e2 ldi r25, 0x20 ; 32 + 185e: 05 d5 rcall .+2570 ; 0x226a + 1860: 56 c1 rjmp .+684 ; 0x1b0e } } #endif } else { // SET Standard Requests if (USB_REQ_RECIP_DEVICE == Udd_setup_recipient()) { - 1b7c: 8f 71 andi r24, 0x1F ; 31 - 1b7e: 09 f0 breq .+2 ; 0x1b82 - 1b80: 83 c0 rjmp .+262 ; 0x1c88 + 1862: 8f 71 andi r24, 0x1F ; 31 + 1864: 09 f0 breq .+2 ; 0x1868 + 1866: 83 c0 rjmp .+262 ; 0x196e // Standard Set Device request switch (udd_g_ctrlreq.req.bRequest) { - 1b82: 90 91 5b 24 lds r25, 0x245B ; 0x80245b - 1b86: 93 30 cpi r25, 0x03 ; 3 - 1b88: 09 f4 brne .+2 ; 0x1b8c - 1b8a: cc c0 rjmp .+408 ; 0x1d24 - 1b8c: 18 f4 brcc .+6 ; 0x1b94 - 1b8e: 91 30 cpi r25, 0x01 ; 1 - 1b90: a1 f0 breq .+40 ; 0x1bba - 1b92: 7a c0 rjmp .+244 ; 0x1c88 - 1b94: 95 30 cpi r25, 0x05 ; 5 - 1b96: 19 f0 breq .+6 ; 0x1b9e - 1b98: 99 30 cpi r25, 0x09 ; 9 - 1b9a: 39 f1 breq .+78 ; 0x1bea - 1b9c: 75 c0 rjmp .+234 ; 0x1c88 + 1868: 90 91 60 24 lds r25, 0x2460 ; 0x802460 + 186c: 93 30 cpi r25, 0x03 ; 3 + 186e: 09 f4 brne .+2 ; 0x1872 + 1870: cc c0 rjmp .+408 ; 0x1a0a + 1872: 18 f4 brcc .+6 ; 0x187a + 1874: 91 30 cpi r25, 0x01 ; 1 + 1876: a1 f0 breq .+40 ; 0x18a0 + 1878: 7a c0 rjmp .+244 ; 0x196e + 187a: 95 30 cpi r25, 0x05 ; 5 + 187c: 19 f0 breq .+6 ; 0x1884 + 187e: 99 30 cpi r25, 0x09 ; 9 + 1880: 39 f1 breq .+78 ; 0x18d0 + 1882: 75 c0 rjmp .+234 ; 0x196e * * \return true if success */ static bool udc_req_std_dev_set_address(void) { if (udd_g_ctrlreq.req.wLength) { - 1b9e: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1ba2: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1ba6: 89 2b or r24, r25 - 1ba8: 09 f0 breq .+2 ; 0x1bac - 1baa: c1 c0 rjmp .+386 ; 0x1d2e + 1884: 80 91 65 24 lds r24, 0x2465 ; 0x802465 + 1888: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 188c: 89 2b or r24, r25 + 188e: 09 f0 breq .+2 ; 0x1892 + 1890: c1 c0 rjmp .+386 ; 0x1a14 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; - 1bac: 8e e7 ldi r24, 0x7E ; 126 - 1bae: 9a e0 ldi r25, 0x0A ; 10 - 1bb0: 80 93 66 24 sts 0x2466, r24 ; 0x802466 - 1bb4: 90 93 67 24 sts 0x2467, r25 ; 0x802467 - 1bb8: 37 c1 rjmp .+622 ; 0x1e28 + 1892: 8b ef ldi r24, 0xFB ; 251 + 1894: 98 e0 ldi r25, 0x08 ; 8 + 1896: 80 93 6b 24 sts 0x246B, r24 ; 0x80246b + 189a: 90 93 6c 24 sts 0x246C, r25 ; 0x80246c + 189e: 37 c1 rjmp .+622 ; 0x1b0e * * \return true if success */ static bool udc_req_std_dev_clear_feature(void) { if (udd_g_ctrlreq.req.wLength) { - 1bba: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1bbe: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1bc2: 89 2b or r24, r25 - 1bc4: 09 f0 breq .+2 ; 0x1bc8 - 1bc6: b3 c0 rjmp .+358 ; 0x1d2e + 18a0: 80 91 65 24 lds r24, 0x2465 ; 0x802465 + 18a4: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 18a8: 89 2b or r24, r25 + 18aa: 09 f0 breq .+2 ; 0x18ae + 18ac: b3 c0 rjmp .+358 ; 0x1a14 return false; } if (udd_g_ctrlreq.req.wValue == USB_DEV_FEATURE_REMOTE_WAKEUP) { - 1bc8: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1bcc: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1bd0: 01 97 sbiw r24, 0x01 ; 1 - 1bd2: 09 f0 breq .+2 ; 0x1bd6 - 1bd4: ac c0 rjmp .+344 ; 0x1d2e + 18ae: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 18b2: 90 91 62 24 lds r25, 0x2462 ; 0x802462 + 18b6: 01 97 sbiw r24, 0x01 ; 1 + 18b8: 09 f0 breq .+2 ; 0x18bc + 18ba: ac c0 rjmp .+344 ; 0x1a14 udc_device_status &= CPU_TO_LE16(~(uint32_t)USB_DEV_STATUS_REMOTEWAKEUP); - 1bd6: 80 91 c2 20 lds r24, 0x20C2 ; 0x8020c2 - 1bda: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 - 1bde: 8d 7f andi r24, 0xFD ; 253 - 1be0: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 - 1be4: 90 93 c3 20 sts 0x20C3, r25 ; 0x8020c3 - 1be8: 1f c1 rjmp .+574 ; 0x1e28 + 18bc: 80 91 c2 20 lds r24, 0x20C2 ; 0x8020c2 + 18c0: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 + 18c4: 8d 7f andi r24, 0xFD ; 253 + 18c6: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 + 18ca: 90 93 c3 20 sts 0x20C3, r25 ; 0x8020c3 + 18ce: 1f c1 rjmp .+574 ; 0x1b0e static bool udc_req_std_dev_set_configuration(void) { uint8_t iface_num; // Check request length if (udd_g_ctrlreq.req.wLength) { - 1bea: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1bee: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1bf2: 89 2b or r24, r25 - 1bf4: 09 f0 breq .+2 ; 0x1bf8 - 1bf6: 9b c0 rjmp .+310 ; 0x1d2e + 18d0: 80 91 65 24 lds r24, 0x2465 ; 0x802465 + 18d4: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 18d8: 89 2b or r24, r25 + 18da: 09 f0 breq .+2 ; 0x18de + 18dc: 9b c0 rjmp .+310 ; 0x1a14 return false; } // Authorize configuration only if the address is valid if (!udd_getaddress()) { - 1bf8: c2 d4 rcall .+2436 ; 0x257e - 1bfa: 88 23 and r24, r24 - 1bfc: 09 f4 brne .+2 ; 0x1c00 - 1bfe: 97 c0 rjmp .+302 ; 0x1d2e + 18de: c2 d4 rcall .+2436 ; 0x2264 + 18e0: 88 23 and r24, r24 + 18e2: 09 f4 brne .+2 ; 0x18e6 + 18e4: 97 c0 rjmp .+302 ; 0x1a14 } } else #endif { // FS descriptor if ((udd_g_ctrlreq.req.wValue & 0xFF) > - 1c00: 20 91 5c 24 lds r18, 0x245C ; 0x80245c - 1c04: 30 91 5d 24 lds r19, 0x245D ; 0x80245d - 1c08: 33 27 eor r19, r19 + 18e6: 20 91 61 24 lds r18, 0x2461 ; 0x802461 + 18ea: 30 91 62 24 lds r19, 0x2462 ; 0x802462 + 18ee: 33 27 eor r19, r19 udc_config.confdev_lsfs->bNumConfigurations) { - 1c0a: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 1c0e: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 18f0: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 18f4: f0 91 11 20 lds r31, 0x2011 ; 0x802011 } } else #endif { // FS descriptor if ((udd_g_ctrlreq.req.wValue & 0xFF) > - 1c12: 81 89 ldd r24, Z+17 ; 0x11 - 1c14: 90 e0 ldi r25, 0x00 ; 0 - 1c16: 82 17 cp r24, r18 - 1c18: 93 07 cpc r25, r19 - 1c1a: 08 f4 brcc .+2 ; 0x1c1e - 1c1c: 88 c0 rjmp .+272 ; 0x1d2e + 18f8: 81 89 ldd r24, Z+17 ; 0x11 + 18fa: 90 e0 ldi r25, 0x00 ; 0 + 18fc: 82 17 cp r24, r18 + 18fe: 93 07 cpc r25, r19 + 1900: 08 f4 brcc .+2 ; 0x1904 + 1902: 88 c0 rjmp .+272 ; 0x1a14 return false; } } // Reset current configuration udc_reset(); - 1c1e: 29 dd rcall .-1454 ; 0x1672 + 1904: 33 dd rcall .-1434 ; 0x136c // Enable new configuration udc_num_configuration = udd_g_ctrlreq.req.wValue & 0xFF; - 1c20: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1c24: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1c28: 80 93 be 20 sts 0x20BE, r24 ; 0x8020be + 1906: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 190a: 90 91 62 24 lds r25, 0x2462 ; 0x802462 + 190e: 80 93 be 20 sts 0x20BE, r24 ; 0x8020be if (udc_num_configuration == 0) { - 1c2c: 88 23 and r24, r24 - 1c2e: 09 f4 brne .+2 ; 0x1c32 - 1c30: fb c0 rjmp .+502 ; 0x1e28 + 1912: 88 23 and r24, r24 + 1914: 09 f4 brne .+2 ; 0x1918 + 1916: fb c0 rjmp .+502 ; 0x1b0e 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]; - 1c32: 99 27 eor r25, r25 - 1c34: 81 50 subi r24, 0x01 ; 1 - 1c36: 90 4c sbci r25, 0xC0 ; 192 - 1c38: 88 0f add r24, r24 - 1c3a: 99 1f adc r25, r25 - 1c3c: 88 0f add r24, r24 - 1c3e: 99 1f adc r25, r25 - 1c40: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 1c44: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 1c48: e8 0f add r30, r24 - 1c4a: f9 1f adc r31, r25 - 1c4c: e0 93 bc 20 sts 0x20BC, r30 ; 0x8020bc - 1c50: f0 93 bd 20 sts 0x20BD, r31 ; 0x8020bd + 1918: 99 27 eor r25, r25 + 191a: 81 50 subi r24, 0x01 ; 1 + 191c: 90 4c sbci r25, 0xC0 ; 192 + 191e: 88 0f add r24, r24 + 1920: 99 1f adc r25, r25 + 1922: 88 0f add r24, r24 + 1924: 99 1f adc r25, r25 + 1926: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 192a: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 192e: e8 0f add r30, r24 + 1930: f9 1f adc r31, r25 + 1932: e0 93 bc 20 sts 0x20BC, r30 ; 0x8020bc + 1936: f0 93 bd 20 sts 0x20BD, r31 ; 0x8020bd } // Enable all interfaces of the selected configuration for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1c54: 01 90 ld r0, Z+ - 1c56: f0 81 ld r31, Z - 1c58: e0 2d mov r30, r0 - 1c5a: 84 81 ldd r24, Z+4 ; 0x04 - 1c5c: 88 23 and r24, r24 - 1c5e: 09 f4 brne .+2 ; 0x1c62 - 1c60: e3 c0 rjmp .+454 ; 0x1e28 - 1c62: c0 e0 ldi r28, 0x00 ; 0 + 193a: 01 90 ld r0, Z+ + 193c: f0 81 ld r31, Z + 193e: e0 2d mov r30, r0 + 1940: 84 81 ldd r24, Z+4 ; 0x04 + 1942: 88 23 and r24, r24 + 1944: 09 f4 brne .+2 ; 0x1948 + 1946: e3 c0 rjmp .+454 ; 0x1b0e + 1948: c0 e0 ldi r28, 0x00 ; 0 iface_num++) { if (!udc_iface_enable(iface_num, 0)) { - 1c64: 60 e0 ldi r22, 0x00 ; 0 - 1c66: 8c 2f mov r24, r28 - 1c68: cb dc rcall .-1642 ; 0x1600 - 1c6a: 88 23 and r24, r24 - 1c6c: 09 f4 brne .+2 ; 0x1c70 - 1c6e: 5f c0 rjmp .+190 ; 0x1d2e + 194a: 60 e0 ldi r22, 0x00 ; 0 + 194c: 8c 2f mov r24, r28 + 194e: d5 dc rcall .-1622 ; 0x12fa + 1950: 88 23 and r24, r24 + 1952: 09 f4 brne .+2 ; 0x1956 + 1954: 5f c0 rjmp .+190 ; 0x1a14 // 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++) { - 1c70: cf 5f subi r28, 0xFF ; 255 + 1956: 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; - 1c72: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 1c76: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 1c7a: 01 90 ld r0, Z+ - 1c7c: f0 81 ld r31, Z - 1c7e: e0 2d mov r30, r0 - 1c80: 84 81 ldd r24, Z+4 ; 0x04 - 1c82: c8 17 cp r28, r24 - 1c84: 78 f3 brcs .-34 ; 0x1c64 - 1c86: d0 c0 rjmp .+416 ; 0x1e28 + 1958: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 195c: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 1960: 01 90 ld r0, Z+ + 1962: f0 81 ld r31, Z + 1964: e0 2d mov r30, r0 + 1966: 84 81 ldd r24, Z+4 ; 0x04 + 1968: c8 17 cp r28, r24 + 196a: 78 f3 brcs .-34 ; 0x194a + 196c: d0 c0 rjmp .+416 ; 0x1b0e default: break; } } if (USB_REQ_RECIP_INTERFACE == Udd_setup_recipient()) { - 1c88: 81 30 cpi r24, 0x01 ; 1 - 1c8a: e1 f4 brne .+56 ; 0x1cc4 + 196e: 81 30 cpi r24, 0x01 ; 1 + 1970: e1 f4 brne .+56 ; 0x19aa // Standard Set Interface request switch (udd_g_ctrlreq.req.bRequest) { - 1c8c: 90 91 5b 24 lds r25, 0x245B ; 0x80245b - 1c90: 9b 30 cpi r25, 0x0B ; 11 - 1c92: c1 f4 brne .+48 ; 0x1cc4 + 1972: 90 91 60 24 lds r25, 0x2460 ; 0x802460 + 1976: 9b 30 cpi r25, 0x0B ; 11 + 1978: c1 f4 brne .+48 ; 0x19aa */ static bool udc_req_std_iface_set_setting(void) { uint8_t iface_num, setting_num; if (udd_g_ctrlreq.req.wLength) { - 1c94: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1c98: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1c9c: 89 2b or r24, r25 - 1c9e: 09 f0 breq .+2 ; 0x1ca2 - 1ca0: 46 c0 rjmp .+140 ; 0x1d2e + 197a: 80 91 65 24 lds r24, 0x2465 ; 0x802465 + 197e: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 1982: 89 2b or r24, r25 + 1984: 09 f0 breq .+2 ; 0x1988 + 1986: 46 c0 rjmp .+140 ; 0x1a14 return false; // Error in request } if (!udc_num_configuration) { - 1ca2: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1ca6: 88 23 and r24, r24 - 1ca8: 09 f4 brne .+2 ; 0x1cac - 1caa: 41 c0 rjmp .+130 ; 0x1d2e + 1988: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 198c: 88 23 and r24, r24 + 198e: 09 f4 brne .+2 ; 0x1992 + 1990: 41 c0 rjmp .+130 ; 0x1a14 return false; // The device is not is configured state yet } iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; - 1cac: ea e5 ldi r30, 0x5A ; 90 - 1cae: f4 e2 ldi r31, 0x24 ; 36 - 1cb0: c4 81 ldd r28, Z+4 ; 0x04 + 1992: ef e5 ldi r30, 0x5F ; 95 + 1994: f4 e2 ldi r31, 0x24 ; 36 + 1996: c4 81 ldd r28, Z+4 ; 0x04 setting_num = udd_g_ctrlreq.req.wValue & 0xFF; - 1cb2: d2 81 ldd r29, Z+2 ; 0x02 + 1998: d2 81 ldd r29, Z+2 ; 0x02 // Disable current setting if (!udc_iface_disable(iface_num)) { - 1cb4: 8c 2f mov r24, r28 - 1cb6: 62 dc rcall .-1852 ; 0x157c - 1cb8: 88 23 and r24, r24 - 1cba: c9 f1 breq .+114 ; 0x1d2e + 199a: 8c 2f mov r24, r28 + 199c: 6c dc rcall .-1832 ; 0x1276 + 199e: 88 23 and r24, r24 + 19a0: c9 f1 breq .+114 ; 0x1a14 return false; } // Enable new setting return udc_iface_enable(iface_num, setting_num); - 1cbc: 6d 2f mov r22, r29 - 1cbe: 8c 2f mov r24, r28 - 1cc0: 9f dc rcall .-1730 ; 0x1600 - 1cc2: 33 c0 rjmp .+102 ; 0x1d2a + 19a2: 6d 2f mov r22, r29 + 19a4: 8c 2f mov r24, r28 + 19a6: a9 dc rcall .-1710 ; 0x12fa + 19a8: 33 c0 rjmp .+102 ; 0x1a10 default: break; } } #if (0!=USB_DEVICE_MAX_EP) if (USB_REQ_RECIP_ENDPOINT == Udd_setup_recipient()) { - 1cc4: 82 30 cpi r24, 0x02 ; 2 - 1cc6: 99 f5 brne .+102 ; 0x1d2e + 19aa: 82 30 cpi r24, 0x02 ; 2 + 19ac: 99 f5 brne .+102 ; 0x1a14 // Standard Set Endpoint request switch (udd_g_ctrlreq.req.bRequest) { - 1cc8: 80 91 5b 24 lds r24, 0x245B ; 0x80245b - 1ccc: 81 30 cpi r24, 0x01 ; 1 - 1cce: 19 f0 breq .+6 ; 0x1cd6 - 1cd0: 83 30 cpi r24, 0x03 ; 3 - 1cd2: 89 f0 breq .+34 ; 0x1cf6 - 1cd4: 29 c0 rjmp .+82 ; 0x1d28 + 19ae: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 19b2: 81 30 cpi r24, 0x01 ; 1 + 19b4: 19 f0 breq .+6 ; 0x19bc + 19b6: 83 30 cpi r24, 0x03 ; 3 + 19b8: 89 f0 breq .+34 ; 0x19dc + 19ba: 29 c0 rjmp .+82 ; 0x1a0e * * \return true if success */ static bool udc_req_std_ep_clear_feature(void) { if (udd_g_ctrlreq.req.wLength) { - 1cd6: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1cda: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1cde: 89 2b or r24, r25 - 1ce0: 31 f5 brne .+76 ; 0x1d2e + 19bc: 80 91 65 24 lds r24, 0x2465 ; 0x802465 + 19c0: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 19c4: 89 2b or r24, r25 + 19c6: 31 f5 brne .+76 ; 0x1a14 return false; } if (udd_g_ctrlreq.req.wValue == USB_EP_FEATURE_HALT) { - 1ce2: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1ce6: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1cea: 89 2b or r24, r25 - 1cec: 01 f5 brne .+64 ; 0x1d2e + 19c8: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 19cc: 90 91 62 24 lds r25, 0x2462 ; 0x802462 + 19d0: 89 2b or r24, r25 + 19d2: 01 f5 brne .+64 ; 0x1a14 return udd_ep_clear_halt(udd_g_ctrlreq.req.wIndex & 0xFF); - 1cee: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 1cf2: df d4 rcall .+2494 ; 0x26b2 - 1cf4: 1a c0 rjmp .+52 ; 0x1d2a + 19d4: 80 91 63 24 lds r24, 0x2463 ; 0x802463 + 19d8: df d4 rcall .+2494 ; 0x2398 + 19da: 1a c0 rjmp .+52 ; 0x1a10 * \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) { - 1cf6: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1cfa: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1cfe: 89 2b or r24, r25 - 1d00: b1 f4 brne .+44 ; 0x1d2e + 19dc: 80 91 65 24 lds r24, 0x2465 ; 0x802465 + 19e0: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 19e4: 89 2b or r24, r25 + 19e6: b1 f4 brne .+44 ; 0x1a14 return false; } if (udd_g_ctrlreq.req.wValue == USB_EP_FEATURE_HALT) { - 1d02: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1d06: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1d0a: 89 2b or r24, r25 - 1d0c: 81 f4 brne .+32 ; 0x1d2e + 19e8: 80 91 61 24 lds r24, 0x2461 ; 0x802461 + 19ec: 90 91 62 24 lds r25, 0x2462 ; 0x802462 + 19f0: 89 2b or r24, r25 + 19f2: 81 f4 brne .+32 ; 0x1a14 udd_ep_abort(udd_g_ctrlreq.req.wIndex & 0xFF); - 1d0e: ca e5 ldi r28, 0x5A ; 90 - 1d10: d4 e2 ldi r29, 0x24 ; 36 - 1d12: 8c 81 ldd r24, Y+4 ; 0x04 - 1d14: bd d5 rcall .+2938 ; 0x2890 + 19f4: cf e5 ldi r28, 0x5F ; 95 + 19f6: d4 e2 ldi r29, 0x24 ; 36 + 19f8: 8c 81 ldd r24, Y+4 ; 0x04 + 19fa: bd d5 rcall .+2938 ; 0x2576 return udd_ep_set_halt(udd_g_ctrlreq.req.wIndex & 0xFF); - 1d16: 8c 81 ldd r24, Y+4 ; 0x04 - 1d18: 20 d6 rcall .+3136 ; 0x295a - 1d1a: 07 c0 rjmp .+14 ; 0x1d2a + 19fc: 8c 81 ldd r24, Y+4 ; 0x04 + 19fe: 20 d6 rcall .+3136 ; 0x2640 + 1a00: 07 c0 rjmp .+14 ; 0x1a10 } break; default: // Unknown descriptor requested return false; - 1d1c: 80 e0 ldi r24, 0x00 ; 0 - 1d1e: 05 c0 rjmp .+10 ; 0x1d2a + 1a02: 80 e0 ldi r24, 0x00 ; 0 + 1a04: 05 c0 rjmp .+10 ; 0x1a10 break; } } #endif } return false; - 1d20: 80 e0 ldi r24, 0x00 ; 0 - 1d22: 03 c0 rjmp .+6 ; 0x1d2a + 1a06: 80 e0 ldi r24, 0x00 ; 0 + 1a08: 03 c0 rjmp .+6 ; 0x1a10 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(); - 1d24: 80 e0 ldi r24, 0x00 ; 0 - 1d26: 01 c0 rjmp .+2 ; 0x1d2a + 1a0a: 80 e0 ldi r24, 0x00 ; 0 + 1a0c: 01 c0 rjmp .+2 ; 0x1a10 break; } } #endif } return false; - 1d28: 80 e0 ldi r24, 0x00 ; 0 + 1a0e: 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()) { - 1d2a: 81 11 cpse r24, r1 - 1d2c: 7e c0 rjmp .+252 ; 0x1e2a + 1a10: 81 11 cpse r24, r1 + 1a12: 7e c0 rjmp .+252 ; 0x1b10 return true; } } // If interface request then try to decode it in UDI if (Udd_setup_recipient() == USB_REQ_RECIP_INTERFACE) { - 1d2e: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1d32: 8f 71 andi r24, 0x1F ; 31 - 1d34: 81 30 cpi r24, 0x01 ; 1 - 1d36: 71 f5 brne .+92 ; 0x1d94 + 1a14: 80 91 5f 24 lds r24, 0x245F ; 0x80245f + 1a18: 8f 71 andi r24, 0x1F ; 31 + 1a1a: 81 30 cpi r24, 0x01 ; 1 + 1a1c: 71 f5 brne .+92 ; 0x1a7a static bool udc_req_iface(void) { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { - 1d38: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1d3c: 88 23 and r24, r24 - 1d3e: 51 f1 breq .+84 ; 0x1d94 + 1a1e: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1a22: 88 23 and r24, r24 + 1a24: 51 f1 breq .+84 ; 0x1a7a return false; // The device is not is configured state yet } // Check interface number iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; - 1d40: 00 91 5e 24 lds r16, 0x245E ; 0x80245e - 1d44: 10 91 5f 24 lds r17, 0x245F ; 0x80245f + 1a26: 00 91 63 24 lds r16, 0x2463 ; 0x802463 + 1a2a: 10 91 64 24 lds r17, 0x2464 ; 0x802464 if (iface_num >= udc_ptr_conf->desc->bNumInterfaces) { - 1d48: c0 91 bc 20 lds r28, 0x20BC ; 0x8020bc - 1d4c: d0 91 bd 20 lds r29, 0x20BD ; 0x8020bd - 1d50: e8 81 ld r30, Y - 1d52: f9 81 ldd r31, Y+1 ; 0x01 - 1d54: 84 81 ldd r24, Z+4 ; 0x04 - 1d56: 08 17 cp r16, r24 - 1d58: e8 f4 brcc .+58 ; 0x1d94 + 1a2e: c0 91 bc 20 lds r28, 0x20BC ; 0x8020bc + 1a32: d0 91 bd 20 lds r29, 0x20BD ; 0x8020bd + 1a36: e8 81 ld r30, Y + 1a38: f9 81 ldd r31, Y+1 ; 0x01 + 1a3a: 84 81 ldd r24, Z+4 ; 0x04 + 1a3c: 08 17 cp r16, r24 + 1a3e: e8 f4 brcc .+58 ; 0x1a7a } //* 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)) { - 1d5a: 60 e0 ldi r22, 0x00 ; 0 - 1d5c: 80 2f mov r24, r16 - 1d5e: d4 db rcall .-2136 ; 0x1508 - 1d60: 88 23 and r24, r24 - 1d62: c1 f0 breq .+48 ; 0x1d94 + 1a40: 60 e0 ldi r22, 0x00 ; 0 + 1a42: 80 2f mov r24, r16 + 1a44: de db rcall .-2116 ; 0x1202 + 1a46: 88 23 and r24, r24 + 1a48: c1 f0 breq .+48 ; 0x1a7a return false; } // Select the interface with the current alternate setting udi_api = udc_ptr_conf->udi_apis[iface_num]; - 1d64: f8 01 movw r30, r16 - 1d66: ff 27 eor r31, r31 - 1d68: cf 01 movw r24, r30 - 1d6a: 88 0f add r24, r24 - 1d6c: 99 1f adc r25, r25 - 1d6e: ea 81 ldd r30, Y+2 ; 0x02 - 1d70: fb 81 ldd r31, Y+3 ; 0x03 - 1d72: e8 0f add r30, r24 - 1d74: f9 1f adc r31, r25 - 1d76: c0 81 ld r28, Z - 1d78: d1 81 ldd r29, Z+1 ; 0x01 + 1a4a: f8 01 movw r30, r16 + 1a4c: ff 27 eor r31, r31 + 1a4e: cf 01 movw r24, r30 + 1a50: 88 0f add r24, r24 + 1a52: 99 1f adc r25, r25 + 1a54: ea 81 ldd r30, Y+2 ; 0x02 + 1a56: fb 81 ldd r31, Y+3 ; 0x03 + 1a58: e8 0f add r30, r24 + 1a5a: f9 1f adc r31, r25 + 1a5c: c0 81 ld r28, Z + 1a5e: d1 81 ldd r29, Z+1 ; 0x01 if (!udc_update_iface_desc(iface_num, udi_api->getsetting())) { - 1d7a: ee 81 ldd r30, Y+6 ; 0x06 - 1d7c: ff 81 ldd r31, Y+7 ; 0x07 - 1d7e: 09 95 icall - 1d80: 68 2f mov r22, r24 - 1d82: 80 2f mov r24, r16 - 1d84: c1 db rcall .-2174 ; 0x1508 - 1d86: 88 23 and r24, r24 - 1d88: 29 f0 breq .+10 ; 0x1d94 + 1a60: ee 81 ldd r30, Y+6 ; 0x06 + 1a62: ff 81 ldd r31, Y+7 ; 0x07 + 1a64: 09 95 icall + 1a66: 68 2f mov r22, r24 + 1a68: 80 2f mov r24, r16 + 1a6a: cb db rcall .-2154 ; 0x1202 + 1a6c: 88 23 and r24, r24 + 1a6e: 29 f0 breq .+10 ; 0x1a7a return false; } // Send the SETUP request to the UDI corresponding to the interface number return udi_api->setup(); - 1d8a: ec 81 ldd r30, Y+4 ; 0x04 - 1d8c: fd 81 ldd r31, Y+5 ; 0x05 - 1d8e: 09 95 icall + 1a70: ec 81 ldd r30, Y+4 ; 0x04 + 1a72: fd 81 ldd r31, Y+5 ; 0x05 + 1a74: 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()) { - 1d90: 81 11 cpse r24, r1 - 1d92: 4b c0 rjmp .+150 ; 0x1e2a + 1a76: 81 11 cpse r24, r1 + 1a78: 4b c0 rjmp .+150 ; 0x1b10 return true; } } // If endpoint request then try to decode it in UDI if (Udd_setup_recipient() == USB_REQ_RECIP_ENDPOINT) { - 1d94: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1d98: 8f 71 andi r24, 0x1F ; 31 - 1d9a: 82 30 cpi r24, 0x02 ; 2 - 1d9c: 09 f0 breq .+2 ; 0x1da0 - 1d9e: 40 c0 rjmp .+128 ; 0x1e20 + 1a7a: 80 91 5f 24 lds r24, 0x245F ; 0x80245f + 1a7e: 8f 71 andi r24, 0x1F ; 31 + 1a80: 82 30 cpi r24, 0x02 ; 2 + 1a82: 09 f0 breq .+2 ; 0x1a86 + 1a84: 40 c0 rjmp .+128 ; 0x1b06 static bool udc_req_ep(void) { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { - 1da0: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1da4: 88 23 and r24, r24 - 1da6: b1 f1 breq .+108 ; 0x1e14 + 1a86: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1a8a: 88 23 and r24, r24 + 1a8c: b1 f1 breq .+108 ; 0x1afa 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; - 1da8: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 1dac: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 1db0: ed 91 ld r30, X+ - 1db2: fc 91 ld r31, X - 1db4: 11 97 sbiw r26, 0x01 ; 1 - 1db6: 84 81 ldd r24, Z+4 ; 0x04 - 1db8: 88 23 and r24, r24 - 1dba: 71 f1 breq .+92 ; 0x1e18 - 1dbc: c0 e0 ldi r28, 0x00 ; 0 + 1a8e: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1a92: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1a96: ed 91 ld r30, X+ + 1a98: fc 91 ld r31, X + 1a9a: 11 97 sbiw r26, 0x01 ; 1 + 1a9c: 84 81 ldd r24, Z+4 ; 0x04 + 1a9e: 88 23 and r24, r24 + 1aa0: 71 f1 breq .+92 ; 0x1afe + 1aa2: 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]; - 1dbe: ec 2f mov r30, r28 - 1dc0: f0 e0 ldi r31, 0x00 ; 0 - 1dc2: ee 0f add r30, r30 - 1dc4: ff 1f adc r31, r31 - 1dc6: 12 96 adiw r26, 0x02 ; 2 - 1dc8: 8d 91 ld r24, X+ - 1dca: 9c 91 ld r25, X - 1dcc: 13 97 sbiw r26, 0x03 ; 3 - 1dce: e8 0f add r30, r24 - 1dd0: f9 1f adc r31, r25 - 1dd2: 00 81 ld r16, Z - 1dd4: 11 81 ldd r17, Z+1 ; 0x01 + 1aa4: ec 2f mov r30, r28 + 1aa6: f0 e0 ldi r31, 0x00 ; 0 + 1aa8: ee 0f add r30, r30 + 1aaa: ff 1f adc r31, r31 + 1aac: 12 96 adiw r26, 0x02 ; 2 + 1aae: 8d 91 ld r24, X+ + 1ab0: 9c 91 ld r25, X + 1ab2: 13 97 sbiw r26, 0x03 ; 3 + 1ab4: e8 0f add r30, r24 + 1ab6: f9 1f adc r31, r25 + 1ab8: 00 81 ld r16, Z + 1aba: 11 81 ldd r17, Z+1 ; 0x01 if (!udc_update_iface_desc(iface_num, udi_api->getsetting())) { - 1dd6: d8 01 movw r26, r16 - 1dd8: 16 96 adiw r26, 0x06 ; 6 - 1dda: ed 91 ld r30, X+ - 1ddc: fc 91 ld r31, X - 1dde: 17 97 sbiw r26, 0x07 ; 7 - 1de0: 09 95 icall - 1de2: 68 2f mov r22, r24 - 1de4: 8c 2f mov r24, r28 - 1de6: 90 db rcall .-2272 ; 0x1508 - 1de8: 88 23 and r24, r24 - 1dea: f9 f0 breq .+62 ; 0x1e2a + 1abc: d8 01 movw r26, r16 + 1abe: 16 96 adiw r26, 0x06 ; 6 + 1ac0: ed 91 ld r30, X+ + 1ac2: fc 91 ld r31, X + 1ac4: 17 97 sbiw r26, 0x07 ; 7 + 1ac6: 09 95 icall + 1ac8: 68 2f mov r22, r24 + 1aca: 8c 2f mov r24, r28 + 1acc: 9a db rcall .-2252 ; 0x1202 + 1ace: 88 23 and r24, r24 + 1ad0: f9 f0 breq .+62 ; 0x1b10 return false; } // Send the SETUP request to the UDI if (udi_api->setup()) { - 1dec: d8 01 movw r26, r16 - 1dee: 14 96 adiw r26, 0x04 ; 4 - 1df0: ed 91 ld r30, X+ - 1df2: fc 91 ld r31, X - 1df4: 15 97 sbiw r26, 0x05 ; 5 - 1df6: 09 95 icall - 1df8: 81 11 cpse r24, r1 - 1dfa: 17 c0 rjmp .+46 ; 0x1e2a + 1ad2: d8 01 movw r26, r16 + 1ad4: 14 96 adiw r26, 0x04 ; 4 + 1ad6: ed 91 ld r30, X+ + 1ad8: fc 91 ld r31, X + 1ada: 15 97 sbiw r26, 0x05 ; 5 + 1adc: 09 95 icall + 1ade: 81 11 cpse r24, r1 + 1ae0: 17 c0 rjmp .+46 ; 0x1b10 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++) { - 1dfc: cf 5f subi r28, 0xFF ; 255 + 1ae2: 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; - 1dfe: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 1e02: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 1e06: ed 91 ld r30, X+ - 1e08: fc 91 ld r31, X - 1e0a: 11 97 sbiw r26, 0x01 ; 1 - 1e0c: 94 81 ldd r25, Z+4 ; 0x04 - 1e0e: c9 17 cp r28, r25 - 1e10: b0 f2 brcs .-84 ; 0x1dbe - 1e12: 0b c0 rjmp .+22 ; 0x1e2a + 1ae4: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1ae8: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1aec: ed 91 ld r30, X+ + 1aee: fc 91 ld r31, X + 1af0: 11 97 sbiw r26, 0x01 ; 1 + 1af2: 94 81 ldd r25, Z+4 ; 0x04 + 1af4: c9 17 cp r28, r25 + 1af6: b0 f2 brcs .-84 ; 0x1aa4 + 1af8: 0b c0 rjmp .+22 ; 0x1b10 { 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 - 1e14: 80 e0 ldi r24, 0x00 ; 0 - 1e16: 09 c0 rjmp .+18 ; 0x1e2a + 1afa: 80 e0 ldi r24, 0x00 ; 0 + 1afc: 09 c0 rjmp .+18 ; 0x1b10 // Send the SETUP request to the UDI if (udi_api->setup()) { return true; } } return false; - 1e18: 80 e0 ldi r24, 0x00 ; 0 - 1e1a: 07 c0 rjmp .+14 ; 0x1e2a + 1afe: 80 e0 ldi r24, 0x00 ; 0 + 1b00: 07 c0 rjmp .+14 ; 0x1b10 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 - 1e1c: 80 e0 ldi r24, 0x00 ; 0 - 1e1e: 05 c0 rjmp .+10 ; 0x1e2a + 1b02: 80 e0 ldi r24, 0x00 ; 0 + 1b04: 05 c0 rjmp .+10 ; 0x1b10 // 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; - 1e20: 80 e0 ldi r24, 0x00 ; 0 - 1e22: 03 c0 rjmp .+6 ; 0x1e2a + 1b06: 80 e0 ldi r24, 0x00 ; 0 + 1b08: 03 c0 rjmp .+6 ; 0x1b10 } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ if (udc_reqvend()) { return true; - 1e24: 81 e0 ldi r24, 0x01 ; 1 - 1e26: 01 c0 rjmp .+2 ; 0x1e2a + 1b0a: 81 e0 ldi r24, 0x01 ; 1 + 1b0c: 01 c0 rjmp .+2 ; 0x1b10 } // If standard request then try to decode it in UDC if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) { if (udc_reqstd()) { return true; - 1e28: 81 e0 ldi r24, 0x01 ; 1 + 1b0e: 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 } - 1e2a: df 91 pop r29 - 1e2c: cf 91 pop r28 - 1e2e: 1f 91 pop r17 - 1e30: 0f 91 pop r16 - 1e32: 08 95 ret + 1b10: df 91 pop r29 + 1b12: cf 91 pop r28 + 1b14: 1f 91 pop r17 + 1b16: 0f 91 pop r16 + 1b18: 08 95 ret -00001e34 : +00001b1a : PUBLIC_FUNCTION(ccp_write_io) #if defined(__GNUC__) out RAMPZ, r1 // Reset bits 23:16 of Z - 1e34: 1b be out 0x3b, r1 ; 59 + 1b1a: 1b be out 0x3b, r1 ; 59 movw r30, r24 // Load addr into Z - 1e36: fc 01 movw r30, r24 + 1b1c: fc 01 movw r30, r24 ldi r18, CCP_IOREG // Load magic CCP value - 1e38: 28 ed ldi r18, 0xD8 ; 216 + 1b1e: 28 ed ldi r18, 0xD8 ; 216 out CCP, r18 // Start CCP handshake - 1e3a: 24 bf out 0x34, r18 ; 52 + 1b20: 24 bf out 0x34, r18 ; 52 st Z, r22 // Write value to I/O register - 1e3c: 60 83 st Z, r22 + 1b22: 60 83 st Z, r22 ret // Return to caller - 1e3e: 08 95 ret + 1b24: 08 95 ret -00001e40 : +00001b26 : #endif #ifndef __DOXYGEN__ PUBLIC_FUNCTION(nvm_read_byte) #if defined(__GNUC__) lds r20, NVM_CMD ; Store NVM command register - 1e40: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1b26: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> mov ZL, r22 ; Load byte index into low byte of Z. - 1e44: e6 2f mov r30, r22 + 1b2a: e6 2f mov r30, r22 mov ZH, r23 ; Load high byte into Z. - 1e46: f7 2f mov r31, r23 + 1b2c: f7 2f mov r31, r23 sts NVM_CMD, r24 ; Load prepared command into NVM Command register. - 1e48: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1b2e: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> lpm r24, Z ; Perform an LPM to read out byte - 1e4c: 84 91 lpm r24, Z + 1b32: 84 91 lpm r24, Z sts NVM_CMD, r20 ; Restore NVM command register - 1e4e: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1b34: 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 - 1e52: 08 95 ret + 1b38: 08 95 ret -00001e54 : +00001b3a : } else { // endpoint not halted then call directly callback callback(); } return true; } - 1e54: 81 11 cpse r24, r1 - 1e56: 22 c0 rjmp .+68 ; 0x1e9c - 1e58: 90 91 54 22 lds r25, 0x2254 ; 0x802254 - 1e5c: 99 23 and r25, r25 - 1e5e: d9 f0 breq .+54 ; 0x1e96 - 1e60: 90 91 47 2c lds r25, 0x2C47 ; 0x802c47 - 1e64: 91 11 cpse r25, r1 - 1e66: 01 c0 rjmp .+2 ; 0x1e6a - 1e68: ff cf rjmp .-2 ; 0x1e68 - 1e6a: 2f b7 in r18, 0x3f ; 63 - 1e6c: f8 94 cli - 1e6e: e6 e4 ldi r30, 0x46 ; 70 - 1e70: fc e2 ldi r31, 0x2C ; 44 - 1e72: 91 81 ldd r25, Z+1 ; 0x01 - 1e74: 91 50 subi r25, 0x01 ; 1 - 1e76: 91 83 std Z+1, r25 ; 0x01 - 1e78: 2f bf out 0x3f, r18 ; 63 - 1e7a: 0d c0 rjmp .+26 ; 0x1e96 - 1e7c: 90 91 47 2c lds r25, 0x2C47 ; 0x802c47 - 1e80: 9f 3f cpi r25, 0xFF ; 255 - 1e82: 09 f4 brne .+2 ; 0x1e86 - 1e84: ff cf rjmp .-2 ; 0x1e84 - 1e86: 2f b7 in r18, 0x3f ; 63 - 1e88: f8 94 cli - 1e8a: e6 e4 ldi r30, 0x46 ; 70 - 1e8c: fc e2 ldi r31, 0x2C ; 44 - 1e8e: 91 81 ldd r25, Z+1 ; 0x01 - 1e90: 9f 5f subi r25, 0xFF ; 255 - 1e92: 91 83 std Z+1, r25 ; 0x01 - 1e94: 2f bf out 0x3f, r18 ; 63 - 1e96: 80 93 54 22 sts 0x2254, r24 ; 0x802254 - 1e9a: 08 95 ret - 1e9c: 90 91 54 22 lds r25, 0x2254 ; 0x802254 - 1ea0: 99 23 and r25, r25 - 1ea2: 61 f3 breq .-40 ; 0x1e7c - 1ea4: f8 cf rjmp .-16 ; 0x1e96 + 1b3a: 81 11 cpse r24, r1 + 1b3c: 22 c0 rjmp .+68 ; 0x1b82 + 1b3e: 90 91 54 22 lds r25, 0x2254 ; 0x802254 + 1b42: 99 23 and r25, r25 + 1b44: d9 f0 breq .+54 ; 0x1b7c + 1b46: 90 91 50 2c lds r25, 0x2C50 ; 0x802c50 + 1b4a: 91 11 cpse r25, r1 + 1b4c: 01 c0 rjmp .+2 ; 0x1b50 + 1b4e: ff cf rjmp .-2 ; 0x1b4e + 1b50: 2f b7 in r18, 0x3f ; 63 + 1b52: f8 94 cli + 1b54: ef e4 ldi r30, 0x4F ; 79 + 1b56: fc e2 ldi r31, 0x2C ; 44 + 1b58: 91 81 ldd r25, Z+1 ; 0x01 + 1b5a: 91 50 subi r25, 0x01 ; 1 + 1b5c: 91 83 std Z+1, r25 ; 0x01 + 1b5e: 2f bf out 0x3f, r18 ; 63 + 1b60: 0d c0 rjmp .+26 ; 0x1b7c + 1b62: 90 91 50 2c lds r25, 0x2C50 ; 0x802c50 + 1b66: 9f 3f cpi r25, 0xFF ; 255 + 1b68: 09 f4 brne .+2 ; 0x1b6c + 1b6a: ff cf rjmp .-2 ; 0x1b6a + 1b6c: 2f b7 in r18, 0x3f ; 63 + 1b6e: f8 94 cli + 1b70: ef e4 ldi r30, 0x4F ; 79 + 1b72: fc e2 ldi r31, 0x2C ; 44 + 1b74: 91 81 ldd r25, Z+1 ; 0x01 + 1b76: 9f 5f subi r25, 0xFF ; 255 + 1b78: 91 83 std Z+1, r25 ; 0x01 + 1b7a: 2f bf out 0x3f, r18 ; 63 + 1b7c: 80 93 54 22 sts 0x2254, r24 ; 0x802254 + 1b80: 08 95 ret + 1b82: 90 91 54 22 lds r25, 0x2254 ; 0x802254 + 1b86: 99 23 and r25, r25 + 1b88: 61 f3 breq .-40 ; 0x1b62 + 1b8a: f8 cf rjmp .-16 ; 0x1b7c -00001ea6 : - 1ea6: 0f 93 push r16 - 1ea8: e8 ec ldi r30, 0xC8 ; 200 - 1eaa: f4 e0 ldi r31, 0x04 ; 4 - 1eac: 80 81 ld r24, Z - 1eae: 8f 7d andi r24, 0xDF ; 223 - 1eb0: 80 83 st Z, r24 - 1eb2: 80 81 ld r24, Z - 1eb4: 8f 7d andi r24, 0xDF ; 223 - 1eb6: 80 83 st Z, r24 - 1eb8: e8 e1 ldi r30, 0x18 ; 24 - 1eba: f2 e2 ldi r31, 0x22 ; 34 - 1ebc: 02 e0 ldi r16, 0x02 ; 2 - 1ebe: 05 93 las Z, r16 - 1ec0: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a - 1ec4: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b - 1ec8: 00 e2 ldi r16, 0x20 ; 32 - 1eca: 06 93 lac Z, r16 - 1ecc: 00 e4 ldi r16, 0x40 ; 64 - 1ece: 06 93 lac Z, r16 - 1ed0: e0 e1 ldi r30, 0x10 ; 16 - 1ed2: f2 e2 ldi r31, 0x22 ; 34 - 1ed4: 00 e2 ldi r16, 0x20 ; 32 - 1ed6: 06 93 lac Z, r16 - 1ed8: 00 e4 ldi r16, 0x40 ; 64 - 1eda: 06 93 lac Z, r16 - 1edc: ea e5 ldi r30, 0x5A ; 90 - 1ede: f4 e2 ldi r31, 0x24 ; 36 - 1ee0: 14 86 std Z+12, r1 ; 0x0c - 1ee2: 15 86 std Z+13, r1 ; 0x0d - 1ee4: 16 86 std Z+14, r1 ; 0x0e - 1ee6: 17 86 std Z+15, r1 ; 0x0f - 1ee8: 12 86 std Z+10, r1 ; 0x0a - 1eea: 13 86 std Z+11, r1 ; 0x0b - 1eec: 10 92 ff 21 sts 0x21FF, r1 ; 0x8021ff - 1ef0: 0f 91 pop r16 - 1ef2: 08 95 ret +00001b8c : + 1b8c: 0f 93 push r16 + 1b8e: e8 ec ldi r30, 0xC8 ; 200 + 1b90: f4 e0 ldi r31, 0x04 ; 4 + 1b92: 80 81 ld r24, Z + 1b94: 8f 7d andi r24, 0xDF ; 223 + 1b96: 80 83 st Z, r24 + 1b98: 80 81 ld r24, Z + 1b9a: 8f 7d andi r24, 0xDF ; 223 + 1b9c: 80 83 st Z, r24 + 1b9e: e8 e1 ldi r30, 0x18 ; 24 + 1ba0: f2 e2 ldi r31, 0x22 ; 34 + 1ba2: 02 e0 ldi r16, 0x02 ; 2 + 1ba4: 05 93 las Z, r16 + 1ba6: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a + 1baa: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b + 1bae: 00 e2 ldi r16, 0x20 ; 32 + 1bb0: 06 93 lac Z, r16 + 1bb2: 00 e4 ldi r16, 0x40 ; 64 + 1bb4: 06 93 lac Z, r16 + 1bb6: e0 e1 ldi r30, 0x10 ; 16 + 1bb8: f2 e2 ldi r31, 0x22 ; 34 + 1bba: 00 e2 ldi r16, 0x20 ; 32 + 1bbc: 06 93 lac Z, r16 + 1bbe: 00 e4 ldi r16, 0x40 ; 64 + 1bc0: 06 93 lac Z, r16 + 1bc2: ef e5 ldi r30, 0x5F ; 95 + 1bc4: f4 e2 ldi r31, 0x24 ; 36 + 1bc6: 14 86 std Z+12, r1 ; 0x0c + 1bc8: 15 86 std Z+13, r1 ; 0x0d + 1bca: 16 86 std Z+14, r1 ; 0x0e + 1bcc: 17 86 std Z+15, r1 ; 0x0f + 1bce: 12 86 std Z+10, r1 ; 0x0a + 1bd0: 13 86 std Z+11, r1 ; 0x0b + 1bd2: 10 92 ff 21 sts 0x21FF, r1 ; 0x8021ff + 1bd6: 0f 91 pop r16 + 1bd8: 08 95 ret -00001ef4 : - 1ef4: 0f 93 push r16 - 1ef6: 85 e0 ldi r24, 0x05 ; 5 - 1ef8: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1efc: e9 e1 ldi r30, 0x19 ; 25 - 1efe: f2 e2 ldi r31, 0x22 ; 34 - 1f00: 04 e0 ldi r16, 0x04 ; 4 - 1f02: 05 93 las Z, r16 - 1f04: e1 e1 ldi r30, 0x11 ; 17 - 1f06: f2 e2 ldi r31, 0x22 ; 34 - 1f08: 04 e0 ldi r16, 0x04 ; 4 - 1f0a: 05 93 las Z, r16 - 1f0c: 0f 91 pop r16 - 1f0e: 08 95 ret +00001bda : + 1bda: 0f 93 push r16 + 1bdc: 85 e0 ldi r24, 0x05 ; 5 + 1bde: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1be2: e9 e1 ldi r30, 0x19 ; 25 + 1be4: f2 e2 ldi r31, 0x22 ; 34 + 1be6: 04 e0 ldi r16, 0x04 ; 4 + 1be8: 05 93 las Z, r16 + 1bea: e1 e1 ldi r30, 0x11 ; 17 + 1bec: f2 e2 ldi r31, 0x22 ; 34 + 1bee: 04 e0 ldi r16, 0x04 ; 4 + 1bf0: 05 93 las Z, r16 + 1bf2: 0f 91 pop r16 + 1bf4: 08 95 ret -00001f10 : - 1f10: 0f 93 push r16 - 1f12: 83 e0 ldi r24, 0x03 ; 3 - 1f14: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1f18: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a - 1f1c: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b - 1f20: e8 e1 ldi r30, 0x18 ; 24 - 1f22: f2 e2 ldi r31, 0x22 ; 34 - 1f24: 02 e0 ldi r16, 0x02 ; 2 - 1f26: 06 93 lac Z, r16 - 1f28: 0f 91 pop r16 - 1f2a: 08 95 ret +00001bf6 : + 1bf6: 0f 93 push r16 + 1bf8: 83 e0 ldi r24, 0x03 ; 3 + 1bfa: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1bfe: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a + 1c02: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b + 1c06: e8 e1 ldi r30, 0x18 ; 24 + 1c08: f2 e2 ldi r31, 0x22 ; 34 + 1c0a: 02 e0 ldi r16, 0x02 ; 2 + 1c0c: 06 93 lac Z, r16 + 1c0e: 0f 91 pop r16 + 1c10: 08 95 ret -00001f2c : - 1f2c: e0 91 66 24 lds r30, 0x2466 ; 0x802466 - 1f30: f0 91 67 24 lds r31, 0x2467 ; 0x802467 - 1f34: 30 97 sbiw r30, 0x00 ; 0 - 1f36: 09 f0 breq .+2 ; 0x1f3a - 1f38: 09 95 icall - 1f3a: 08 95 ret +00001c12 : + 1c12: e0 91 6b 24 lds r30, 0x246B ; 0x80246b + 1c16: f0 91 6c 24 lds r31, 0x246C ; 0x80246c + 1c1a: 30 97 sbiw r30, 0x00 ; 0 + 1c1c: 09 f0 breq .+2 ; 0x1c20 + 1c1e: 09 95 icall + 1c20: 08 95 ret -00001f3c : - 1f3c: 0f 93 push r16 - 1f3e: cf 93 push r28 - 1f40: df 93 push r29 - 1f42: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 1f46: 83 30 cpi r24, 0x03 ; 3 - 1f48: 19 f4 brne .+6 ; 0x1f50 - 1f4a: f0 df rcall .-32 ; 0x1f2c - 1f4c: ac df rcall .-168 ; 0x1ea6 - 1f4e: 5e c0 rjmp .+188 ; 0x200c - 1f50: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 1f54: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 1f58: c0 91 64 24 lds r28, 0x2464 ; 0x802464 - 1f5c: d0 91 65 24 lds r29, 0x2465 ; 0x802465 - 1f60: c8 1b sub r28, r24 - 1f62: d9 0b sbc r29, r25 - 1f64: 71 f5 brne .+92 ; 0x1fc2 - 1f66: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd - 1f6a: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe - 1f6e: 82 0f add r24, r18 - 1f70: 93 1f adc r25, r19 - 1f72: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd - 1f76: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe - 1f7a: 20 91 60 24 lds r18, 0x2460 ; 0x802460 - 1f7e: 30 91 61 24 lds r19, 0x2461 ; 0x802461 - 1f82: 82 17 cp r24, r18 - 1f84: 93 07 cpc r25, r19 - 1f86: 21 f0 breq .+8 ; 0x1f90 - 1f88: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 - 1f8c: 88 23 and r24, r24 - 1f8e: 41 f0 breq .+16 ; 0x1fa0 - 1f90: 84 e0 ldi r24, 0x04 ; 4 - 1f92: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1f96: e0 e1 ldi r30, 0x10 ; 16 - 1f98: f2 e2 ldi r31, 0x22 ; 34 - 1f9a: 02 e0 ldi r16, 0x02 ; 2 - 1f9c: 06 93 lac Z, r16 - 1f9e: 36 c0 rjmp .+108 ; 0x200c - 1fa0: e0 91 68 24 lds r30, 0x2468 ; 0x802468 - 1fa4: f0 91 69 24 lds r31, 0x2469 ; 0x802469 - 1fa8: 30 97 sbiw r30, 0x00 ; 0 - 1faa: 99 f0 breq .+38 ; 0x1fd2 - 1fac: 09 95 icall - 1fae: 88 23 and r24, r24 - 1fb0: 81 f0 breq .+32 ; 0x1fd2 - 1fb2: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 1fb6: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 1fba: c0 91 64 24 lds r28, 0x2464 ; 0x802464 - 1fbe: d0 91 65 24 lds r29, 0x2465 ; 0x802465 - 1fc2: c0 34 cpi r28, 0x40 ; 64 - 1fc4: d1 05 cpc r29, r1 - 1fc6: 28 f0 brcs .+10 ; 0x1fd2 - 1fc8: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 - 1fcc: c0 e4 ldi r28, 0x40 ; 64 - 1fce: d0 e0 ldi r29, 0x00 ; 0 - 1fd0: 03 c0 rjmp .+6 ; 0x1fd8 - 1fd2: 81 e0 ldi r24, 0x01 ; 1 - 1fd4: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 - 1fd8: e0 e0 ldi r30, 0x00 ; 0 - 1fda: f2 e2 ldi r31, 0x22 ; 34 - 1fdc: c2 8f std Z+26, r28 ; 0x1a - 1fde: d3 8f std Z+27, r29 ; 0x1b - 1fe0: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 1fe4: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 1fe8: 20 91 62 24 lds r18, 0x2462 ; 0x802462 - 1fec: 30 91 63 24 lds r19, 0x2463 ; 0x802463 - 1ff0: 28 0f add r18, r24 - 1ff2: 39 1f adc r19, r25 - 1ff4: 24 8f std Z+28, r18 ; 0x1c - 1ff6: 35 8f std Z+29, r19 ; 0x1d - 1ff8: c8 0f add r28, r24 - 1ffa: d9 1f adc r29, r25 - 1ffc: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb - 2000: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc - 2004: e8 e1 ldi r30, 0x18 ; 24 - 2006: f2 e2 ldi r31, 0x22 ; 34 - 2008: 02 e0 ldi r16, 0x02 ; 2 - 200a: 06 93 lac Z, r16 - 200c: df 91 pop r29 - 200e: cf 91 pop r28 - 2010: 0f 91 pop r16 - 2012: 08 95 ret +00001c22 : + 1c22: 0f 93 push r16 + 1c24: cf 93 push r28 + 1c26: df 93 push r29 + 1c28: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 1c2c: 83 30 cpi r24, 0x03 ; 3 + 1c2e: 19 f4 brne .+6 ; 0x1c36 + 1c30: f0 df rcall .-32 ; 0x1c12 + 1c32: ac df rcall .-168 ; 0x1b8c + 1c34: 5e c0 rjmp .+188 ; 0x1cf2 + 1c36: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 1c3a: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 1c3e: c0 91 69 24 lds r28, 0x2469 ; 0x802469 + 1c42: d0 91 6a 24 lds r29, 0x246A ; 0x80246a + 1c46: c8 1b sub r28, r24 + 1c48: d9 0b sbc r29, r25 + 1c4a: 71 f5 brne .+92 ; 0x1ca8 + 1c4c: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd + 1c50: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe + 1c54: 82 0f add r24, r18 + 1c56: 93 1f adc r25, r19 + 1c58: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd + 1c5c: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe + 1c60: 20 91 65 24 lds r18, 0x2465 ; 0x802465 + 1c64: 30 91 66 24 lds r19, 0x2466 ; 0x802466 + 1c68: 82 17 cp r24, r18 + 1c6a: 93 07 cpc r25, r19 + 1c6c: 21 f0 breq .+8 ; 0x1c76 + 1c6e: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 + 1c72: 88 23 and r24, r24 + 1c74: 41 f0 breq .+16 ; 0x1c86 + 1c76: 84 e0 ldi r24, 0x04 ; 4 + 1c78: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1c7c: e0 e1 ldi r30, 0x10 ; 16 + 1c7e: f2 e2 ldi r31, 0x22 ; 34 + 1c80: 02 e0 ldi r16, 0x02 ; 2 + 1c82: 06 93 lac Z, r16 + 1c84: 36 c0 rjmp .+108 ; 0x1cf2 + 1c86: e0 91 6d 24 lds r30, 0x246D ; 0x80246d + 1c8a: f0 91 6e 24 lds r31, 0x246E ; 0x80246e + 1c8e: 30 97 sbiw r30, 0x00 ; 0 + 1c90: 99 f0 breq .+38 ; 0x1cb8 + 1c92: 09 95 icall + 1c94: 88 23 and r24, r24 + 1c96: 81 f0 breq .+32 ; 0x1cb8 + 1c98: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 1c9c: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 1ca0: c0 91 69 24 lds r28, 0x2469 ; 0x802469 + 1ca4: d0 91 6a 24 lds r29, 0x246A ; 0x80246a + 1ca8: c0 34 cpi r28, 0x40 ; 64 + 1caa: d1 05 cpc r29, r1 + 1cac: 28 f0 brcs .+10 ; 0x1cb8 + 1cae: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 + 1cb2: c0 e4 ldi r28, 0x40 ; 64 + 1cb4: d0 e0 ldi r29, 0x00 ; 0 + 1cb6: 03 c0 rjmp .+6 ; 0x1cbe + 1cb8: 81 e0 ldi r24, 0x01 ; 1 + 1cba: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 + 1cbe: e0 e0 ldi r30, 0x00 ; 0 + 1cc0: f2 e2 ldi r31, 0x22 ; 34 + 1cc2: c2 8f std Z+26, r28 ; 0x1a + 1cc4: d3 8f std Z+27, r29 ; 0x1b + 1cc6: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 1cca: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 1cce: 20 91 67 24 lds r18, 0x2467 ; 0x802467 + 1cd2: 30 91 68 24 lds r19, 0x2468 ; 0x802468 + 1cd6: 28 0f add r18, r24 + 1cd8: 39 1f adc r19, r25 + 1cda: 24 8f std Z+28, r18 ; 0x1c + 1cdc: 35 8f std Z+29, r19 ; 0x1d + 1cde: c8 0f add r28, r24 + 1ce0: d9 1f adc r29, r25 + 1ce2: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb + 1ce6: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc + 1cea: e8 e1 ldi r30, 0x18 ; 24 + 1cec: f2 e2 ldi r31, 0x22 ; 34 + 1cee: 02 e0 ldi r16, 0x02 ; 2 + 1cf0: 06 93 lac Z, r16 + 1cf2: df 91 pop r29 + 1cf4: cf 91 pop r28 + 1cf6: 0f 91 pop r16 + 1cf8: 08 95 ret -00002014 : - 2014: fc 01 movw r30, r24 - 2016: 81 81 ldd r24, Z+1 ; 0x01 - 2018: e8 2f mov r30, r24 - 201a: e7 70 andi r30, 0x07 ; 7 - 201c: 8e 2f mov r24, r30 - 201e: 90 e0 ldi r25, 0x00 ; 0 - 2020: fc 01 movw r30, r24 - 2022: 31 97 sbiw r30, 0x01 ; 1 - 2024: e7 30 cpi r30, 0x07 ; 7 - 2026: f1 05 cpc r31, r1 - 2028: c0 f4 brcc .+48 ; 0x205a - 202a: e2 5d subi r30, 0xD2 ; 210 - 202c: fe 4f sbci r31, 0xFE ; 254 - 202e: 7a c6 rjmp .+3316 ; 0x2d24 <__tablejump2__> - 2030: 80 e1 ldi r24, 0x10 ; 16 - 2032: 90 e0 ldi r25, 0x00 ; 0 - 2034: 08 95 ret - 2036: 80 e2 ldi r24, 0x20 ; 32 - 2038: 90 e0 ldi r25, 0x00 ; 0 - 203a: 08 95 ret - 203c: 80 e4 ldi r24, 0x40 ; 64 - 203e: 90 e0 ldi r25, 0x00 ; 0 - 2040: 08 95 ret - 2042: 80 e8 ldi r24, 0x80 ; 128 - 2044: 90 e0 ldi r25, 0x00 ; 0 - 2046: 08 95 ret - 2048: 80 e0 ldi r24, 0x00 ; 0 - 204a: 91 e0 ldi r25, 0x01 ; 1 - 204c: 08 95 ret - 204e: 80 e0 ldi r24, 0x00 ; 0 - 2050: 92 e0 ldi r25, 0x02 ; 2 - 2052: 08 95 ret - 2054: 8f ef ldi r24, 0xFF ; 255 - 2056: 93 e0 ldi r25, 0x03 ; 3 - 2058: 08 95 ret - 205a: 88 e0 ldi r24, 0x08 ; 8 - 205c: 90 e0 ldi r25, 0x00 ; 0 - 205e: 08 95 ret +00001cfa : + 1cfa: fc 01 movw r30, r24 + 1cfc: 81 81 ldd r24, Z+1 ; 0x01 + 1cfe: e8 2f mov r30, r24 + 1d00: e7 70 andi r30, 0x07 ; 7 + 1d02: 8e 2f mov r24, r30 + 1d04: 90 e0 ldi r25, 0x00 ; 0 + 1d06: fc 01 movw r30, r24 + 1d08: 31 97 sbiw r30, 0x01 ; 1 + 1d0a: e7 30 cpi r30, 0x07 ; 7 + 1d0c: f1 05 cpc r31, r1 + 1d0e: c0 f4 brcc .+48 ; 0x1d40 + 1d10: ea 5d subi r30, 0xDA ; 218 + 1d12: fe 4f sbci r31, 0xFE ; 254 + 1d14: 7a c6 rjmp .+3316 ; 0x2a0a <__tablejump2__> + 1d16: 80 e1 ldi r24, 0x10 ; 16 + 1d18: 90 e0 ldi r25, 0x00 ; 0 + 1d1a: 08 95 ret + 1d1c: 80 e2 ldi r24, 0x20 ; 32 + 1d1e: 90 e0 ldi r25, 0x00 ; 0 + 1d20: 08 95 ret + 1d22: 80 e4 ldi r24, 0x40 ; 64 + 1d24: 90 e0 ldi r25, 0x00 ; 0 + 1d26: 08 95 ret + 1d28: 80 e8 ldi r24, 0x80 ; 128 + 1d2a: 90 e0 ldi r25, 0x00 ; 0 + 1d2c: 08 95 ret + 1d2e: 80 e0 ldi r24, 0x00 ; 0 + 1d30: 91 e0 ldi r25, 0x01 ; 1 + 1d32: 08 95 ret + 1d34: 80 e0 ldi r24, 0x00 ; 0 + 1d36: 92 e0 ldi r25, 0x02 ; 2 + 1d38: 08 95 ret + 1d3a: 8f ef ldi r24, 0xFF ; 255 + 1d3c: 93 e0 ldi r25, 0x03 ; 3 + 1d3e: 08 95 ret + 1d40: 88 e0 ldi r24, 0x08 ; 8 + 1d42: 90 e0 ldi r25, 0x00 ; 0 + 1d44: 08 95 ret -00002060 : - 2060: 28 2f mov r18, r24 - 2062: 2f 70 andi r18, 0x0F ; 15 - 2064: 30 e0 ldi r19, 0x00 ; 0 - 2066: 22 0f add r18, r18 - 2068: 33 1f adc r19, r19 - 206a: 08 2e mov r0, r24 - 206c: 00 0c add r0, r0 - 206e: 99 0b sbc r25, r25 - 2070: 88 27 eor r24, r24 - 2072: 99 0f add r25, r25 - 2074: 88 1f adc r24, r24 - 2076: 99 27 eor r25, r25 - 2078: 82 0f add r24, r18 - 207a: 93 1f adc r25, r19 - 207c: 02 97 sbiw r24, 0x02 ; 2 - 207e: 9c 01 movw r18, r24 - 2080: 22 0f add r18, r18 - 2082: 33 1f adc r19, r19 - 2084: 22 0f add r18, r18 - 2086: 33 1f adc r19, r19 - 2088: 22 0f add r18, r18 - 208a: 33 1f adc r19, r19 - 208c: 82 0f add r24, r18 - 208e: 93 1f adc r25, r19 - 2090: 8b 57 subi r24, 0x7B ; 123 - 2092: 9e 4d sbci r25, 0xDE ; 222 - 2094: 08 95 ret +00001d46 : + 1d46: 28 2f mov r18, r24 + 1d48: 2f 70 andi r18, 0x0F ; 15 + 1d4a: 30 e0 ldi r19, 0x00 ; 0 + 1d4c: 22 0f add r18, r18 + 1d4e: 33 1f adc r19, r19 + 1d50: 08 2e mov r0, r24 + 1d52: 00 0c add r0, r0 + 1d54: 99 0b sbc r25, r25 + 1d56: 88 27 eor r24, r24 + 1d58: 99 0f add r25, r25 + 1d5a: 88 1f adc r24, r24 + 1d5c: 99 27 eor r25, r25 + 1d5e: 82 0f add r24, r18 + 1d60: 93 1f adc r25, r19 + 1d62: 02 97 sbiw r24, 0x02 ; 2 + 1d64: 9c 01 movw r18, r24 + 1d66: 22 0f add r18, r18 + 1d68: 33 1f adc r19, r19 + 1d6a: 22 0f add r18, r18 + 1d6c: 33 1f adc r19, r19 + 1d6e: 22 0f add r18, r18 + 1d70: 33 1f adc r19, r19 + 1d72: 82 0f add r24, r18 + 1d74: 93 1f adc r25, r19 + 1d76: 8b 57 subi r24, 0x7B ; 123 + 1d78: 9e 4d sbci r25, 0xDE ; 222 + 1d7a: 08 95 ret -00002096 : - 2096: 0f 93 push r16 - 2098: cf 93 push r28 - 209a: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 209e: 80 ff sbrs r24, 0 - 20a0: 62 c0 rjmp .+196 ; 0x2166 - 20a2: 81 e0 ldi r24, 0x01 ; 1 - 20a4: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 20a8: e0 e1 ldi r30, 0x10 ; 16 - 20aa: f2 e2 ldi r31, 0x22 ; 34 - 20ac: 00 e8 ldi r16, 0x80 ; 128 - 20ae: 06 93 lac Z, r16 - 20b0: e8 e1 ldi r30, 0x18 ; 24 - 20b2: f2 e2 ldi r31, 0x22 ; 34 - 20b4: 00 e8 ldi r16, 0x80 ; 128 - 20b6: 06 93 lac Z, r16 - 20b8: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 20bc: e0 e1 ldi r30, 0x10 ; 16 - 20be: f2 e2 ldi r31, 0x22 ; 34 - 20c0: 00 e1 ldi r16, 0x10 ; 16 - 20c2: 06 93 lac Z, r16 - 20c4: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 20c8: 88 23 and r24, r24 - 20ca: 29 f0 breq .+10 ; 0x20d6 - 20cc: 83 50 subi r24, 0x03 ; 3 - 20ce: 82 30 cpi r24, 0x02 ; 2 - 20d0: 08 f4 brcc .+2 ; 0x20d4 - 20d2: 2c df rcall .-424 ; 0x1f2c - 20d4: e8 de rcall .-560 ; 0x1ea6 - 20d6: 80 91 12 22 lds r24, 0x2212 ; 0x802212 - 20da: 90 91 13 22 lds r25, 0x2213 ; 0x802213 - 20de: 08 97 sbiw r24, 0x08 ; 8 - 20e0: 09 f0 breq .+2 ; 0x20e4 - 20e2: 43 c0 rjmp .+134 ; 0x216a - 20e4: 88 e0 ldi r24, 0x08 ; 8 - 20e6: eb eb ldi r30, 0xBB ; 187 - 20e8: f1 e2 ldi r31, 0x21 ; 33 - 20ea: aa e5 ldi r26, 0x5A ; 90 - 20ec: b4 e2 ldi r27, 0x24 ; 36 - 20ee: 01 90 ld r0, Z+ - 20f0: 0d 92 st X+, r0 - 20f2: 8a 95 dec r24 - 20f4: e1 f7 brne .-8 ; 0x20ee - 20f6: e8 ec ldi r30, 0xC8 ; 200 - 20f8: f4 e0 ldi r31, 0x04 ; 4 - 20fa: 80 81 ld r24, Z - 20fc: 80 62 ori r24, 0x20 ; 32 - 20fe: 80 83 st Z, r24 - 2100: 80 81 ld r24, Z - 2102: 80 62 ori r24, 0x20 ; 32 - 2104: 80 83 st Z, r24 - 2106: 0a db rcall .-2540 ; 0x171c - 2108: c8 2f mov r28, r24 - 210a: 81 11 cpse r24, r1 - 210c: 03 c0 rjmp .+6 ; 0x2114 - 210e: f2 de rcall .-540 ; 0x1ef4 - 2110: c1 e0 ldi r28, 0x01 ; 1 - 2112: 2c c0 rjmp .+88 ; 0x216c - 2114: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 2118: 88 23 and r24, r24 - 211a: 6c f4 brge .+26 ; 0x2136 - 211c: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd - 2120: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe - 2124: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 2128: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 212c: 82 e0 ldi r24, 0x02 ; 2 - 212e: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 2132: 04 df rcall .-504 ; 0x1f3c - 2134: 1b c0 rjmp .+54 ; 0x216c - 2136: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 213a: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 213e: 89 2b or r24, r25 - 2140: 11 f4 brne .+4 ; 0x2146 - 2142: e6 de rcall .-564 ; 0x1f10 - 2144: 13 c0 rjmp .+38 ; 0x216c - 2146: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd - 214a: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe - 214e: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 2152: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 2156: 81 e0 ldi r24, 0x01 ; 1 - 2158: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 215c: e0 e1 ldi r30, 0x10 ; 16 - 215e: f2 e2 ldi r31, 0x22 ; 34 - 2160: 02 e0 ldi r16, 0x02 ; 2 - 2162: 06 93 lac Z, r16 - 2164: 03 c0 rjmp .+6 ; 0x216c - 2166: c0 e0 ldi r28, 0x00 ; 0 - 2168: 01 c0 rjmp .+2 ; 0x216c - 216a: c1 e0 ldi r28, 0x01 ; 1 - 216c: 8c 2f mov r24, r28 - 216e: cf 91 pop r28 - 2170: 0f 91 pop r16 - 2172: 08 95 ret +00001d7c : + 1d7c: 0f 93 push r16 + 1d7e: cf 93 push r28 + 1d80: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1d84: 80 ff sbrs r24, 0 + 1d86: 62 c0 rjmp .+196 ; 0x1e4c + 1d88: 81 e0 ldi r24, 0x01 ; 1 + 1d8a: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1d8e: e0 e1 ldi r30, 0x10 ; 16 + 1d90: f2 e2 ldi r31, 0x22 ; 34 + 1d92: 00 e8 ldi r16, 0x80 ; 128 + 1d94: 06 93 lac Z, r16 + 1d96: e8 e1 ldi r30, 0x18 ; 24 + 1d98: f2 e2 ldi r31, 0x22 ; 34 + 1d9a: 00 e8 ldi r16, 0x80 ; 128 + 1d9c: 06 93 lac Z, r16 + 1d9e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 1da2: e0 e1 ldi r30, 0x10 ; 16 + 1da4: f2 e2 ldi r31, 0x22 ; 34 + 1da6: 00 e1 ldi r16, 0x10 ; 16 + 1da8: 06 93 lac Z, r16 + 1daa: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 1dae: 88 23 and r24, r24 + 1db0: 29 f0 breq .+10 ; 0x1dbc + 1db2: 83 50 subi r24, 0x03 ; 3 + 1db4: 82 30 cpi r24, 0x02 ; 2 + 1db6: 08 f4 brcc .+2 ; 0x1dba + 1db8: 2c df rcall .-424 ; 0x1c12 + 1dba: e8 de rcall .-560 ; 0x1b8c + 1dbc: 80 91 12 22 lds r24, 0x2212 ; 0x802212 + 1dc0: 90 91 13 22 lds r25, 0x2213 ; 0x802213 + 1dc4: 08 97 sbiw r24, 0x08 ; 8 + 1dc6: 09 f0 breq .+2 ; 0x1dca + 1dc8: 43 c0 rjmp .+134 ; 0x1e50 + 1dca: 88 e0 ldi r24, 0x08 ; 8 + 1dcc: eb eb ldi r30, 0xBB ; 187 + 1dce: f1 e2 ldi r31, 0x21 ; 33 + 1dd0: af e5 ldi r26, 0x5F ; 95 + 1dd2: b4 e2 ldi r27, 0x24 ; 36 + 1dd4: 01 90 ld r0, Z+ + 1dd6: 0d 92 st X+, r0 + 1dd8: 8a 95 dec r24 + 1dda: e1 f7 brne .-8 ; 0x1dd4 + 1ddc: e8 ec ldi r30, 0xC8 ; 200 + 1dde: f4 e0 ldi r31, 0x04 ; 4 + 1de0: 80 81 ld r24, Z + 1de2: 80 62 ori r24, 0x20 ; 32 + 1de4: 80 83 st Z, r24 + 1de6: 80 81 ld r24, Z + 1de8: 80 62 ori r24, 0x20 ; 32 + 1dea: 80 83 st Z, r24 + 1dec: 14 db rcall .-2520 ; 0x1416 + 1dee: c8 2f mov r28, r24 + 1df0: 81 11 cpse r24, r1 + 1df2: 03 c0 rjmp .+6 ; 0x1dfa + 1df4: f2 de rcall .-540 ; 0x1bda + 1df6: c1 e0 ldi r28, 0x01 ; 1 + 1df8: 2c c0 rjmp .+88 ; 0x1e52 + 1dfa: 80 91 5f 24 lds r24, 0x245F ; 0x80245f + 1dfe: 88 23 and r24, r24 + 1e00: 6c f4 brge .+26 ; 0x1e1c + 1e02: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd + 1e06: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe + 1e0a: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 1e0e: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 1e12: 82 e0 ldi r24, 0x02 ; 2 + 1e14: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1e18: 04 df rcall .-504 ; 0x1c22 + 1e1a: 1b c0 rjmp .+54 ; 0x1e52 + 1e1c: 80 91 65 24 lds r24, 0x2465 ; 0x802465 + 1e20: 90 91 66 24 lds r25, 0x2466 ; 0x802466 + 1e24: 89 2b or r24, r25 + 1e26: 11 f4 brne .+4 ; 0x1e2c + 1e28: e6 de rcall .-564 ; 0x1bf6 + 1e2a: 13 c0 rjmp .+38 ; 0x1e52 + 1e2c: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd + 1e30: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe + 1e34: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 1e38: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 1e3c: 81 e0 ldi r24, 0x01 ; 1 + 1e3e: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1e42: e0 e1 ldi r30, 0x10 ; 16 + 1e44: f2 e2 ldi r31, 0x22 ; 34 + 1e46: 02 e0 ldi r16, 0x02 ; 2 + 1e48: 06 93 lac Z, r16 + 1e4a: 03 c0 rjmp .+6 ; 0x1e52 + 1e4c: c0 e0 ldi r28, 0x00 ; 0 + 1e4e: 01 c0 rjmp .+2 ; 0x1e52 + 1e50: c1 e0 ldi r28, 0x01 ; 1 + 1e52: 8c 2f mov r24, r28 + 1e54: cf 91 pop r28 + 1e56: 0f 91 pop r16 + 1e58: 08 95 ret -00002174 : - 2174: 8f 92 push r8 - 2176: 9f 92 push r9 - 2178: af 92 push r10 - 217a: bf 92 push r11 - 217c: df 92 push r13 - 217e: ef 92 push r14 - 2180: ff 92 push r15 - 2182: 0f 93 push r16 - 2184: 1f 93 push r17 - 2186: cf 93 push r28 - 2188: df 93 push r29 - 218a: d8 2e mov r13, r24 - 218c: 69 df rcall .-302 ; 0x2060 - 218e: 8c 01 movw r16, r24 - 2190: bd 2c mov r11, r13 - 2192: bb 1c adc r11, r11 - 2194: bb 24 eor r11, r11 - 2196: bb 1c adc r11, r11 - 2198: cd 2d mov r28, r13 - 219a: cf 70 andi r28, 0x0F ; 15 - 219c: d0 e0 ldi r29, 0x00 ; 0 - 219e: cc 0f add r28, r28 - 21a0: dd 1f adc r29, r29 - 21a2: cb 0d add r28, r11 - 21a4: d1 1d adc r29, r1 - 21a6: ce 01 movw r24, r28 - 21a8: 88 0f add r24, r24 - 21aa: 99 1f adc r25, r25 - 21ac: 88 0f add r24, r24 - 21ae: 99 1f adc r25, r25 - 21b0: 88 0f add r24, r24 - 21b2: 99 1f adc r25, r25 - 21b4: 9c 01 movw r18, r24 - 21b6: 20 5f subi r18, 0xF0 ; 240 - 21b8: 3d 4d sbci r19, 0xDD ; 221 - 21ba: 79 01 movw r14, r18 - 21bc: c9 01 movw r24, r18 - 21be: 2a df rcall .-428 ; 0x2014 - 21c0: 4c 01 movw r8, r24 - 21c2: bb 20 and r11, r11 - 21c4: 09 f4 brne .+2 ; 0x21c8 - 21c6: 70 c0 rjmp .+224 ; 0x22a8 - 21c8: fe 01 movw r30, r28 - 21ca: ee 0f add r30, r30 - 21cc: ff 1f adc r31, r31 - 21ce: ee 0f add r30, r30 - 21d0: ff 1f adc r31, r31 - 21d2: ee 0f add r30, r30 - 21d4: ff 1f adc r31, r31 - 21d6: e0 50 subi r30, 0x00 ; 0 - 21d8: fe 4d sbci r31, 0xDE ; 222 - 21da: 26 89 ldd r18, Z+22 ; 0x16 - 21dc: 37 89 ldd r19, Z+23 ; 0x17 - 21de: d8 01 movw r26, r16 - 21e0: 15 96 adiw r26, 0x05 ; 5 - 21e2: 8d 91 ld r24, X+ - 21e4: 9c 91 ld r25, X - 21e6: 16 97 sbiw r26, 0x06 ; 6 - 21e8: 82 0f add r24, r18 - 21ea: 93 1f adc r25, r19 - 21ec: 15 96 adiw r26, 0x05 ; 5 - 21ee: 8d 93 st X+, r24 - 21f0: 9c 93 st X, r25 - 21f2: 16 97 sbiw r26, 0x06 ; 6 - 21f4: 13 96 adiw r26, 0x03 ; 3 - 21f6: 2d 91 ld r18, X+ - 21f8: 3c 91 ld r19, X - 21fa: 14 97 sbiw r26, 0x04 ; 4 - 21fc: 82 17 cp r24, r18 - 21fe: 93 07 cpc r25, r19 - 2200: 09 f4 brne .+2 ; 0x2204 - 2202: 3c c0 rjmp .+120 ; 0x227c - 2204: 28 1b sub r18, r24 - 2206: 39 0b sbc r19, r25 - 2208: 21 15 cp r18, r1 - 220a: b4 e0 ldi r27, 0x04 ; 4 - 220c: 3b 07 cpc r19, r27 - 220e: 38 f0 brcs .+14 ; 0x221e - 2210: 2f ef ldi r18, 0xFF ; 255 - 2212: 33 e0 ldi r19, 0x03 ; 3 - 2214: c9 01 movw r24, r18 - 2216: b4 01 movw r22, r8 - 2218: 71 d5 rcall .+2786 ; 0x2cfc <__udivmodhi4> - 221a: 28 1b sub r18, r24 - 221c: 39 0b sbc r19, r25 - 221e: f8 01 movw r30, r16 +00001e5a : + 1e5a: 8f 92 push r8 + 1e5c: 9f 92 push r9 + 1e5e: af 92 push r10 + 1e60: bf 92 push r11 + 1e62: df 92 push r13 + 1e64: ef 92 push r14 + 1e66: ff 92 push r15 + 1e68: 0f 93 push r16 + 1e6a: 1f 93 push r17 + 1e6c: cf 93 push r28 + 1e6e: df 93 push r29 + 1e70: d8 2e mov r13, r24 + 1e72: 69 df rcall .-302 ; 0x1d46 + 1e74: 8c 01 movw r16, r24 + 1e76: bd 2c mov r11, r13 + 1e78: bb 1c adc r11, r11 + 1e7a: bb 24 eor r11, r11 + 1e7c: bb 1c adc r11, r11 + 1e7e: cd 2d mov r28, r13 + 1e80: cf 70 andi r28, 0x0F ; 15 + 1e82: d0 e0 ldi r29, 0x00 ; 0 + 1e84: cc 0f add r28, r28 + 1e86: dd 1f adc r29, r29 + 1e88: cb 0d add r28, r11 + 1e8a: d1 1d adc r29, r1 + 1e8c: ce 01 movw r24, r28 + 1e8e: 88 0f add r24, r24 + 1e90: 99 1f adc r25, r25 + 1e92: 88 0f add r24, r24 + 1e94: 99 1f adc r25, r25 + 1e96: 88 0f add r24, r24 + 1e98: 99 1f adc r25, r25 + 1e9a: 9c 01 movw r18, r24 + 1e9c: 20 5f subi r18, 0xF0 ; 240 + 1e9e: 3d 4d sbci r19, 0xDD ; 221 + 1ea0: 79 01 movw r14, r18 + 1ea2: c9 01 movw r24, r18 + 1ea4: 2a df rcall .-428 ; 0x1cfa + 1ea6: 4c 01 movw r8, r24 + 1ea8: bb 20 and r11, r11 + 1eaa: 09 f4 brne .+2 ; 0x1eae + 1eac: 70 c0 rjmp .+224 ; 0x1f8e + 1eae: fe 01 movw r30, r28 + 1eb0: ee 0f add r30, r30 + 1eb2: ff 1f adc r31, r31 + 1eb4: ee 0f add r30, r30 + 1eb6: ff 1f adc r31, r31 + 1eb8: ee 0f add r30, r30 + 1eba: ff 1f adc r31, r31 + 1ebc: e0 50 subi r30, 0x00 ; 0 + 1ebe: fe 4d sbci r31, 0xDE ; 222 + 1ec0: 26 89 ldd r18, Z+22 ; 0x16 + 1ec2: 37 89 ldd r19, Z+23 ; 0x17 + 1ec4: d8 01 movw r26, r16 + 1ec6: 15 96 adiw r26, 0x05 ; 5 + 1ec8: 8d 91 ld r24, X+ + 1eca: 9c 91 ld r25, X + 1ecc: 16 97 sbiw r26, 0x06 ; 6 + 1ece: 82 0f add r24, r18 + 1ed0: 93 1f adc r25, r19 + 1ed2: 15 96 adiw r26, 0x05 ; 5 + 1ed4: 8d 93 st X+, r24 + 1ed6: 9c 93 st X, r25 + 1ed8: 16 97 sbiw r26, 0x06 ; 6 + 1eda: 13 96 adiw r26, 0x03 ; 3 + 1edc: 2d 91 ld r18, X+ + 1ede: 3c 91 ld r19, X + 1ee0: 14 97 sbiw r26, 0x04 ; 4 + 1ee2: 82 17 cp r24, r18 + 1ee4: 93 07 cpc r25, r19 + 1ee6: 09 f4 brne .+2 ; 0x1eea + 1ee8: 3c c0 rjmp .+120 ; 0x1f62 + 1eea: 28 1b sub r18, r24 + 1eec: 39 0b sbc r19, r25 + 1eee: 21 15 cp r18, r1 + 1ef0: b4 e0 ldi r27, 0x04 ; 4 + 1ef2: 3b 07 cpc r19, r27 + 1ef4: 38 f0 brcs .+14 ; 0x1f04 + 1ef6: 2f ef ldi r18, 0xFF ; 255 + 1ef8: 33 e0 ldi r19, 0x03 ; 3 + 1efa: c9 01 movw r24, r18 + 1efc: b4 01 movw r22, r8 + 1efe: 71 d5 rcall .+2786 ; 0x29e2 <__udivmodhi4> + 1f00: 28 1b sub r18, r24 + 1f02: 39 0b sbc r19, r25 + 1f04: f8 01 movw r30, r16 + 1f06: 80 81 ld r24, Z + 1f08: 81 ff sbrs r24, 1 + 1f0a: 09 c0 rjmp .+18 ; 0x1f1e + 1f0c: c9 01 movw r24, r18 + 1f0e: b4 01 movw r22, r8 + 1f10: 68 d5 rcall .+2768 ; 0x29e2 <__udivmodhi4> + 1f12: 41 e0 ldi r20, 0x01 ; 1 + 1f14: 89 2b or r24, r25 + 1f16: 09 f0 breq .+2 ; 0x1f1a + 1f18: 40 e0 ldi r20, 0x00 ; 0 + 1f1a: 84 2f mov r24, r20 + 1f1c: 01 c0 rjmp .+2 ; 0x1f20 + 1f1e: 80 e0 ldi r24, 0x00 ; 0 + 1f20: d8 01 movw r26, r16 + 1f22: 9c 91 ld r25, X + 1f24: 80 fb bst r24, 0 + 1f26: 91 f9 bld r25, 1 + 1f28: 9c 93 st X, r25 + 1f2a: cc 0f add r28, r28 + 1f2c: dd 1f adc r29, r29 + 1f2e: cc 0f add r28, r28 + 1f30: dd 1f adc r29, r29 + 1f32: cc 0f add r28, r28 + 1f34: dd 1f adc r29, r29 + 1f36: c0 50 subi r28, 0x00 ; 0 + 1f38: de 4d sbci r29, 0xDE ; 222 + 1f3a: 1e 8a std Y+22, r1 ; 0x16 + 1f3c: 1f 8a std Y+23, r1 ; 0x17 + 1f3e: 2a 8b std Y+18, r18 ; 0x12 + 1f40: 3b 8b std Y+19, r19 ; 0x13 + 1f42: 11 96 adiw r26, 0x01 ; 1 + 1f44: 2d 91 ld r18, X+ + 1f46: 3c 91 ld r19, X + 1f48: 12 97 sbiw r26, 0x02 ; 2 + 1f4a: 15 96 adiw r26, 0x05 ; 5 + 1f4c: 8d 91 ld r24, X+ + 1f4e: 9c 91 ld r25, X + 1f50: 16 97 sbiw r26, 0x06 ; 6 + 1f52: 82 0f add r24, r18 + 1f54: 93 1f adc r25, r19 + 1f56: 8c 8b std Y+20, r24 ; 0x14 + 1f58: 9d 8b std Y+21, r25 ; 0x15 + 1f5a: f7 01 movw r30, r14 + 1f5c: 02 e0 ldi r16, 0x02 ; 2 + 1f5e: 06 93 lac Z, r16 + 1f60: ca c0 rjmp .+404 ; 0x20f6 + 1f62: d8 01 movw r26, r16 + 1f64: 8c 91 ld r24, X + 1f66: 81 ff sbrs r24, 1 + 1f68: b3 c0 rjmp .+358 ; 0x20d0 + 1f6a: 8d 7f andi r24, 0xFD ; 253 + 1f6c: 8c 93 st X, r24 + 1f6e: cc 0f add r28, r28 + 1f70: dd 1f adc r29, r29 + 1f72: cc 0f add r28, r28 + 1f74: dd 1f adc r29, r29 + 1f76: cc 0f add r28, r28 + 1f78: dd 1f adc r29, r29 + 1f7a: c0 50 subi r28, 0x00 ; 0 + 1f7c: de 4d sbci r29, 0xDE ; 222 + 1f7e: 1e 8a std Y+22, r1 ; 0x16 + 1f80: 1f 8a std Y+23, r1 ; 0x17 + 1f82: 1a 8a std Y+18, r1 ; 0x12 + 1f84: 1b 8a std Y+19, r1 ; 0x13 + 1f86: f7 01 movw r30, r14 + 1f88: 02 e0 ldi r16, 0x02 ; 2 + 1f8a: 06 93 lac Z, r16 + 1f8c: b4 c0 rjmp .+360 ; 0x20f6 + 1f8e: fe 01 movw r30, r28 + 1f90: ee 0f add r30, r30 + 1f92: ff 1f adc r31, r31 + 1f94: ee 0f add r30, r30 + 1f96: ff 1f adc r31, r31 + 1f98: ee 0f add r30, r30 + 1f9a: ff 1f adc r31, r31 + 1f9c: e0 50 subi r30, 0x00 ; 0 + 1f9e: fe 4d sbci r31, 0xDE ; 222 + 1fa0: a2 88 ldd r10, Z+18 ; 0x12 + 1fa2: b3 88 ldd r11, Z+19 ; 0x13 + 1fa4: d8 01 movw r26, r16 + 1fa6: 8c 91 ld r24, X + 1fa8: 82 ff sbrs r24, 2 + 1faa: 19 c0 rjmp .+50 ; 0x1fde + 1fac: 11 96 adiw r26, 0x01 ; 1 + 1fae: ed 91 ld r30, X+ + 1fb0: fc 91 ld r31, X + 1fb2: 12 97 sbiw r26, 0x02 ; 2 + 1fb4: 15 96 adiw r26, 0x05 ; 5 + 1fb6: 2d 91 ld r18, X+ + 1fb8: 3c 91 ld r19, X + 1fba: 16 97 sbiw r26, 0x06 ; 6 + 1fbc: 13 96 adiw r26, 0x03 ; 3 + 1fbe: 8d 91 ld r24, X+ + 1fc0: 9c 91 ld r25, X + 1fc2: 14 97 sbiw r26, 0x04 ; 4 + 1fc4: b4 01 movw r22, r8 + 1fc6: 0d d5 rcall .+2586 ; 0x29e2 <__udivmodhi4> + 1fc8: b0 e4 ldi r27, 0x40 ; 64 + 1fca: db 9e mul r13, r27 + 1fcc: b0 01 movw r22, r0 + 1fce: 11 24 eor r1, r1 + 1fd0: 6b 57 subi r22, 0x7B ; 123 + 1fd2: 7f 4d sbci r23, 0xDF ; 223 + 1fd4: ac 01 movw r20, r24 + 1fd6: cf 01 movw r24, r30 + 1fd8: 82 0f add r24, r18 + 1fda: 93 1f adc r25, r19 + 1fdc: 1c d5 rcall .+2616 ; 0x2a16 + 1fde: f8 01 movw r30, r16 + 1fe0: 25 81 ldd r18, Z+5 ; 0x05 + 1fe2: 36 81 ldd r19, Z+6 ; 0x06 + 1fe4: 2a 0d add r18, r10 + 1fe6: 3b 1d adc r19, r11 + 1fe8: 25 83 std Z+5, r18 ; 0x05 + 1fea: 36 83 std Z+6, r19 ; 0x06 + 1fec: 83 81 ldd r24, Z+3 ; 0x03 + 1fee: 94 81 ldd r25, Z+4 ; 0x04 + 1ff0: 82 17 cp r24, r18 + 1ff2: 93 07 cpc r25, r19 + 1ff4: 68 f4 brcc .+26 ; 0x2010 + 1ff6: 85 83 std Z+5, r24 ; 0x05 + 1ff8: 96 83 std Z+6, r25 ; 0x06 + 1ffa: cc 0f add r28, r28 + 1ffc: dd 1f adc r29, r29 + 1ffe: cc 0f add r28, r28 + 2000: dd 1f adc r29, r29 + 2002: cc 0f add r28, r28 + 2004: dd 1f adc r29, r29 + 2006: c0 50 subi r28, 0x00 ; 0 + 2008: de 4d sbci r29, 0xDE ; 222 + 200a: 8e 89 ldd r24, Y+22 ; 0x16 + 200c: 9f 89 ldd r25, Y+23 ; 0x17 + 200e: 60 c0 rjmp .+192 ; 0x20d0 + 2010: fe 01 movw r30, r28 + 2012: ee 0f add r30, r30 + 2014: ff 1f adc r31, r31 + 2016: ee 0f add r30, r30 + 2018: ff 1f adc r31, r31 + 201a: ee 0f add r30, r30 + 201c: ff 1f adc r31, r31 + 201e: e0 50 subi r30, 0x00 ; 0 + 2020: fe 4d sbci r31, 0xDE ; 222 + 2022: 46 89 ldd r20, Z+22 ; 0x16 + 2024: 57 89 ldd r21, Z+23 ; 0x17 + 2026: 4a 15 cp r20, r10 + 2028: 5b 05 cpc r21, r11 + 202a: 09 f0 breq .+2 ; 0x202e + 202c: 51 c0 rjmp .+162 ; 0x20d0 + 202e: 28 17 cp r18, r24 + 2030: 39 07 cpc r19, r25 + 2032: 09 f4 brne .+2 ; 0x2036 + 2034: 4d c0 rjmp .+154 ; 0x20d0 + 2036: ac 01 movw r20, r24 + 2038: 42 1b sub r20, r18 + 203a: 53 0b sbc r21, r19 + 203c: 9a 01 movw r18, r20 + 203e: 21 15 cp r18, r1 + 2040: 54 e0 ldi r21, 0x04 ; 4 + 2042: 35 07 cpc r19, r21 + 2044: 50 f0 brcs .+20 ; 0x205a + 2046: 2f ef ldi r18, 0xFF ; 255 + 2048: 33 e0 ldi r19, 0x03 ; 3 + 204a: c9 01 movw r24, r18 + 204c: b4 01 movw r22, r8 + 204e: c9 d4 rcall .+2450 ; 0x29e2 <__udivmodhi4> + 2050: d9 01 movw r26, r18 + 2052: a8 1b sub r26, r24 + 2054: b9 0b sbc r27, r25 + 2056: cd 01 movw r24, r26 + 2058: 07 c0 rjmp .+14 ; 0x2068 + 205a: c9 01 movw r24, r18 + 205c: b4 01 movw r22, r8 + 205e: c1 d4 rcall .+2434 ; 0x29e2 <__udivmodhi4> + 2060: f9 01 movw r30, r18 + 2062: e8 1b sub r30, r24 + 2064: f9 0b sbc r31, r25 + 2066: cf 01 movw r24, r30 + 2068: fe 01 movw r30, r28 + 206a: ee 0f add r30, r30 + 206c: ff 1f adc r31, r31 + 206e: ee 0f add r30, r30 + 2070: ff 1f adc r31, r31 + 2072: ee 0f add r30, r30 + 2074: ff 1f adc r31, r31 + 2076: e0 50 subi r30, 0x00 ; 0 + 2078: fe 4d sbci r31, 0xDE ; 222 + 207a: 12 8a std Z+18, r1 ; 0x12 + 207c: 13 8a std Z+19, r1 ; 0x13 + 207e: 88 15 cp r24, r8 + 2080: 99 05 cpc r25, r9 + 2082: 78 f4 brcc .+30 ; 0x20a2 + 2084: d8 01 movw r26, r16 + 2086: 8c 91 ld r24, X + 2088: 84 60 ori r24, 0x04 ; 4 + 208a: 8c 93 st X, r24 + 208c: b0 e4 ldi r27, 0x40 ; 64 + 208e: db 9e mul r13, r27 + 2090: c0 01 movw r24, r0 + 2092: 11 24 eor r1, r1 + 2094: 8b 57 subi r24, 0x7B ; 123 + 2096: 9f 4d sbci r25, 0xDF ; 223 + 2098: 84 8b std Z+20, r24 ; 0x14 + 209a: 95 8b std Z+21, r25 ; 0x15 + 209c: 86 8a std Z+22, r8 ; 0x16 + 209e: 97 8a std Z+23, r9 ; 0x17 + 20a0: 13 c0 rjmp .+38 ; 0x20c8 + 20a2: f8 01 movw r30, r16 + 20a4: 41 81 ldd r20, Z+1 ; 0x01 + 20a6: 52 81 ldd r21, Z+2 ; 0x02 + 20a8: 25 81 ldd r18, Z+5 ; 0x05 + 20aa: 36 81 ldd r19, Z+6 ; 0x06 + 20ac: 24 0f add r18, r20 + 20ae: 35 1f adc r19, r21 + 20b0: cc 0f add r28, r28 + 20b2: dd 1f adc r29, r29 + 20b4: cc 0f add r28, r28 + 20b6: dd 1f adc r29, r29 + 20b8: cc 0f add r28, r28 + 20ba: dd 1f adc r29, r29 + 20bc: c0 50 subi r28, 0x00 ; 0 + 20be: de 4d sbci r29, 0xDE ; 222 + 20c0: 2c 8b std Y+20, r18 ; 0x14 + 20c2: 3d 8b std Y+21, r19 ; 0x15 + 20c4: 8e 8b std Y+22, r24 ; 0x16 + 20c6: 9f 8b std Y+23, r25 ; 0x17 + 20c8: f7 01 movw r30, r14 + 20ca: 02 e0 ldi r16, 0x02 ; 2 + 20cc: 06 93 lac Z, r16 + 20ce: 13 c0 rjmp .+38 ; 0x20f6 + 20d0: d8 01 movw r26, r16 + 20d2: 8c 91 ld r24, X + 20d4: 80 ff sbrs r24, 0 + 20d6: 0f c0 rjmp .+30 ; 0x20f6 + 20d8: 8e 7f andi r24, 0xFE ; 254 + 20da: 8c 93 st X, r24 + 20dc: 17 96 adiw r26, 0x07 ; 7 + 20de: ed 91 ld r30, X+ + 20e0: fc 91 ld r31, X + 20e2: 18 97 sbiw r26, 0x08 ; 8 + 20e4: 30 97 sbiw r30, 0x00 ; 0 + 20e6: 39 f0 breq .+14 ; 0x20f6 + 20e8: 15 96 adiw r26, 0x05 ; 5 + 20ea: 6d 91 ld r22, X+ + 20ec: 7c 91 ld r23, X + 20ee: 16 97 sbiw r26, 0x06 ; 6 + 20f0: 4d 2d mov r20, r13 + 20f2: 80 e0 ldi r24, 0x00 ; 0 + 20f4: 09 95 icall + 20f6: df 91 pop r29 + 20f8: cf 91 pop r28 + 20fa: 1f 91 pop r17 + 20fc: 0f 91 pop r16 + 20fe: ff 90 pop r15 + 2100: ef 90 pop r14 + 2102: df 90 pop r13 + 2104: bf 90 pop r11 + 2106: af 90 pop r10 + 2108: 9f 90 pop r9 + 210a: 8f 90 pop r8 + 210c: 08 95 ret + +0000210e : + 210e: cf 93 push r28 + 2110: cf b7 in r28, 0x3f ; 63 + 2112: f8 94 cli + 2114: 81 e0 ldi r24, 0x01 ; 1 + 2116: 11 dd rcall .-1502 ; 0x1b3a + 2118: ea ec ldi r30, 0xCA ; 202 + 211a: f4 e0 ldi r31, 0x04 ; 4 + 211c: 80 e4 ldi r24, 0x40 ; 64 + 211e: 80 83 st Z, r24 + 2120: 80 e2 ldi r24, 0x20 ; 32 + 2122: 80 83 st Z, r24 + 2124: e1 ec ldi r30, 0xC1 ; 193 + 2126: f4 e0 ldi r31, 0x04 ; 4 + 2128: 80 81 ld r24, Z + 212a: 81 60 ori r24, 0x01 ; 1 + 212c: 80 83 st Z, r24 + 212e: a9 ec ldi r26, 0xC9 ; 201 + 2130: b4 e0 ldi r27, 0x04 ; 4 + 2132: 8c 91 ld r24, X + 2134: 82 60 ori r24, 0x02 ; 2 + 2136: 8c 93 st X, r24 + 2138: e8 ec ldi r30, 0xC8 ; 200 + 213a: f4 e0 ldi r31, 0x04 ; 4 + 213c: 80 81 ld r24, Z + 213e: 80 64 ori r24, 0x40 ; 64 + 2140: 80 83 st Z, r24 + 2142: 8c 91 ld r24, X + 2144: 81 60 ori r24, 0x01 ; 1 + 2146: 8c 93 st X, r24 + 2148: 80 81 ld r24, Z + 214a: 80 68 ori r24, 0x80 ; 128 + 214c: 80 83 st Z, r24 + 214e: cf bf out 0x3f, r28 ; 63 + 2150: cf 91 pop r28 + 2152: 08 95 ret + +00002154 : + 2154: cf 93 push r28 + 2156: df 93 push r29 + 2158: c0 e6 ldi r28, 0x60 ; 96 + 215a: d0 e0 ldi r29, 0x00 ; 0 + 215c: 18 82 st Y, r1 + 215e: 80 e3 ldi r24, 0x30 ; 48 + 2160: 0e 94 34 08 call 0x1068 ; 0x1068 + 2164: e0 ec ldi r30, 0xC0 ; 192 + 2166: f4 e0 ldi r31, 0x04 ; 4 + 2168: 80 81 ld r24, Z + 216a: 80 64 ori r24, 0x40 ; 64 + 216c: 80 83 st Z, r24 + 216e: 81 e0 ldi r24, 0x01 ; 1 + 2170: 88 83 st Y, r24 + 2172: cf b7 in r28, 0x3f ; 63 + 2174: f8 94 cli + 2176: 80 e0 ldi r24, 0x00 ; 0 + 2178: 90 e0 ldi r25, 0x00 ; 0 + 217a: fc 01 movw r30, r24 + 217c: ee 0f add r30, r30 + 217e: ff 1f adc r31, r31 + 2180: ee 0f add r30, r30 + 2182: ff 1f adc r31, r31 + 2184: ee 0f add r30, r30 + 2186: ff 1f adc r31, r31 + 2188: e0 50 subi r30, 0x00 ; 0 + 218a: fe 4d sbci r31, 0xDE ; 222 + 218c: 11 8a std Z+17, r1 ; 0x11 + 218e: 01 96 adiw r24, 0x01 ; 1 + 2190: 88 30 cpi r24, 0x08 ; 8 + 2192: 91 05 cpc r25, r1 + 2194: 91 f7 brne .-28 ; 0x217a + 2196: e5 e8 ldi r30, 0x85 ; 133 + 2198: f1 e2 ldi r31, 0x21 ; 33 + 219a: 80 81 ld r24, Z + 219c: 8e 7f andi r24, 0xFE ; 254 + 219e: 80 83 st Z, r24 + 21a0: ee e8 ldi r30, 0x8E ; 142 + 21a2: f1 e2 ldi r31, 0x21 ; 33 + 21a4: 80 81 ld r24, Z + 21a6: 8e 7f andi r24, 0xFE ; 254 + 21a8: 80 83 st Z, r24 + 21aa: e7 e9 ldi r30, 0x97 ; 151 + 21ac: f1 e2 ldi r31, 0x21 ; 33 + 21ae: 80 81 ld r24, Z + 21b0: 8e 7f andi r24, 0xFE ; 254 + 21b2: 80 83 st Z, r24 + 21b4: e0 ea ldi r30, 0xA0 ; 160 + 21b6: f1 e2 ldi r31, 0x21 ; 33 + 21b8: 80 81 ld r24, Z + 21ba: 8e 7f andi r24, 0xFE ; 254 + 21bc: 80 83 st Z, r24 + 21be: e9 ea ldi r30, 0xA9 ; 169 + 21c0: f1 e2 ldi r31, 0x21 ; 33 + 21c2: 80 81 ld r24, Z + 21c4: 8e 7f andi r24, 0xFE ; 254 + 21c6: 80 83 st Z, r24 + 21c8: e2 eb ldi r30, 0xB2 ; 178 + 21ca: f1 e2 ldi r31, 0x21 ; 33 + 21cc: 80 81 ld r24, Z + 21ce: 8e 7f andi r24, 0xFE ; 254 + 21d0: 80 83 st Z, r24 + 21d2: 6a e1 ldi r22, 0x1A ; 26 + 21d4: 70 e0 ldi r23, 0x00 ; 0 + 21d6: 82 e0 ldi r24, 0x02 ; 2 + 21d8: a6 dc rcall .-1716 ; 0x1b26 + 21da: 8f 3f cpi r24, 0xFF ; 255 + 21dc: 19 f0 breq .+6 ; 0x21e4 + 21de: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 21e2: 03 c0 rjmp .+6 ; 0x21ea + 21e4: 8f e1 ldi r24, 0x1F ; 31 + 21e6: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 21ea: 6b e1 ldi r22, 0x1B ; 27 + 21ec: 70 e0 ldi r23, 0x00 ; 0 + 21ee: 82 e0 ldi r24, 0x02 ; 2 + 21f0: 9a dc rcall .-1740 ; 0x1b26 + 21f2: 8f 3f cpi r24, 0xFF ; 255 + 21f4: 19 f0 breq .+6 ; 0x21fc + 21f6: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 21fa: 03 c0 rjmp .+6 ; 0x2202 + 21fc: 8f e1 ldi r24, 0x1F ; 31 + 21fe: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 2202: e0 ec ldi r30, 0xC0 ; 192 + 2204: f4 e0 ldi r31, 0x04 ; 4 + 2206: 80 81 ld r24, Z + 2208: 83 60 ori r24, 0x03 ; 3 + 220a: 80 83 st Z, r24 + 220c: 80 81 ld r24, Z + 220e: 80 68 ori r24, 0x80 ; 128 + 2210: 80 83 st Z, r24 + 2212: 80 81 ld r24, Z + 2214: 80 61 ori r24, 0x10 ; 16 + 2216: 80 83 st Z, r24 + 2218: 80 e1 ldi r24, 0x10 ; 16 + 221a: 92 e2 ldi r25, 0x22 ; 34 + 221c: 86 83 std Z+6, r24 ; 0x06 + 221e: 97 83 std Z+7, r25 ; 0x07 2220: 80 81 ld r24, Z - 2222: 81 ff sbrs r24, 1 - 2224: 09 c0 rjmp .+18 ; 0x2238 - 2226: c9 01 movw r24, r18 - 2228: b4 01 movw r22, r8 - 222a: 68 d5 rcall .+2768 ; 0x2cfc <__udivmodhi4> - 222c: 41 e0 ldi r20, 0x01 ; 1 - 222e: 89 2b or r24, r25 - 2230: 09 f0 breq .+2 ; 0x2234 - 2232: 40 e0 ldi r20, 0x00 ; 0 - 2234: 84 2f mov r24, r20 - 2236: 01 c0 rjmp .+2 ; 0x223a - 2238: 80 e0 ldi r24, 0x00 ; 0 - 223a: d8 01 movw r26, r16 - 223c: 9c 91 ld r25, X - 223e: 80 fb bst r24, 0 - 2240: 91 f9 bld r25, 1 - 2242: 9c 93 st X, r25 - 2244: cc 0f add r28, r28 - 2246: dd 1f adc r29, r29 - 2248: cc 0f add r28, r28 - 224a: dd 1f adc r29, r29 - 224c: cc 0f add r28, r28 - 224e: dd 1f adc r29, r29 - 2250: c0 50 subi r28, 0x00 ; 0 - 2252: de 4d sbci r29, 0xDE ; 222 - 2254: 1e 8a std Y+22, r1 ; 0x16 - 2256: 1f 8a std Y+23, r1 ; 0x17 - 2258: 2a 8b std Y+18, r18 ; 0x12 - 225a: 3b 8b std Y+19, r19 ; 0x13 - 225c: 11 96 adiw r26, 0x01 ; 1 - 225e: 2d 91 ld r18, X+ - 2260: 3c 91 ld r19, X - 2262: 12 97 sbiw r26, 0x02 ; 2 - 2264: 15 96 adiw r26, 0x05 ; 5 - 2266: 8d 91 ld r24, X+ - 2268: 9c 91 ld r25, X - 226a: 16 97 sbiw r26, 0x06 ; 6 - 226c: 82 0f add r24, r18 - 226e: 93 1f adc r25, r19 - 2270: 8c 8b std Y+20, r24 ; 0x14 - 2272: 9d 8b std Y+21, r25 ; 0x15 - 2274: f7 01 movw r30, r14 - 2276: 02 e0 ldi r16, 0x02 ; 2 - 2278: 06 93 lac Z, r16 - 227a: ca c0 rjmp .+404 ; 0x2410 - 227c: d8 01 movw r26, r16 - 227e: 8c 91 ld r24, X - 2280: 81 ff sbrs r24, 1 - 2282: b3 c0 rjmp .+358 ; 0x23ea - 2284: 8d 7f andi r24, 0xFD ; 253 - 2286: 8c 93 st X, r24 - 2288: cc 0f add r28, r28 - 228a: dd 1f adc r29, r29 - 228c: cc 0f add r28, r28 - 228e: dd 1f adc r29, r29 - 2290: cc 0f add r28, r28 - 2292: dd 1f adc r29, r29 - 2294: c0 50 subi r28, 0x00 ; 0 - 2296: de 4d sbci r29, 0xDE ; 222 - 2298: 1e 8a std Y+22, r1 ; 0x16 - 229a: 1f 8a std Y+23, r1 ; 0x17 - 229c: 1a 8a std Y+18, r1 ; 0x12 - 229e: 1b 8a std Y+19, r1 ; 0x13 - 22a0: f7 01 movw r30, r14 - 22a2: 02 e0 ldi r16, 0x02 ; 2 - 22a4: 06 93 lac Z, r16 - 22a6: b4 c0 rjmp .+360 ; 0x2410 - 22a8: fe 01 movw r30, r28 - 22aa: ee 0f add r30, r30 - 22ac: ff 1f adc r31, r31 - 22ae: ee 0f add r30, r30 - 22b0: ff 1f adc r31, r31 - 22b2: ee 0f add r30, r30 - 22b4: ff 1f adc r31, r31 - 22b6: e0 50 subi r30, 0x00 ; 0 - 22b8: fe 4d sbci r31, 0xDE ; 222 - 22ba: a2 88 ldd r10, Z+18 ; 0x12 - 22bc: b3 88 ldd r11, Z+19 ; 0x13 - 22be: d8 01 movw r26, r16 - 22c0: 8c 91 ld r24, X - 22c2: 82 ff sbrs r24, 2 - 22c4: 19 c0 rjmp .+50 ; 0x22f8 - 22c6: 11 96 adiw r26, 0x01 ; 1 - 22c8: ed 91 ld r30, X+ - 22ca: fc 91 ld r31, X - 22cc: 12 97 sbiw r26, 0x02 ; 2 - 22ce: 15 96 adiw r26, 0x05 ; 5 - 22d0: 2d 91 ld r18, X+ - 22d2: 3c 91 ld r19, X - 22d4: 16 97 sbiw r26, 0x06 ; 6 - 22d6: 13 96 adiw r26, 0x03 ; 3 - 22d8: 8d 91 ld r24, X+ - 22da: 9c 91 ld r25, X - 22dc: 14 97 sbiw r26, 0x04 ; 4 - 22de: b4 01 movw r22, r8 - 22e0: 0d d5 rcall .+2586 ; 0x2cfc <__udivmodhi4> - 22e2: b0 e4 ldi r27, 0x40 ; 64 - 22e4: db 9e mul r13, r27 - 22e6: b0 01 movw r22, r0 - 22e8: 11 24 eor r1, r1 - 22ea: 6b 57 subi r22, 0x7B ; 123 - 22ec: 7f 4d sbci r23, 0xDF ; 223 - 22ee: ac 01 movw r20, r24 - 22f0: cf 01 movw r24, r30 - 22f2: 82 0f add r24, r18 - 22f4: 93 1f adc r25, r19 - 22f6: 1c d5 rcall .+2616 ; 0x2d30 - 22f8: f8 01 movw r30, r16 - 22fa: 25 81 ldd r18, Z+5 ; 0x05 - 22fc: 36 81 ldd r19, Z+6 ; 0x06 - 22fe: 2a 0d add r18, r10 - 2300: 3b 1d adc r19, r11 - 2302: 25 83 std Z+5, r18 ; 0x05 - 2304: 36 83 std Z+6, r19 ; 0x06 - 2306: 83 81 ldd r24, Z+3 ; 0x03 - 2308: 94 81 ldd r25, Z+4 ; 0x04 - 230a: 82 17 cp r24, r18 - 230c: 93 07 cpc r25, r19 - 230e: 68 f4 brcc .+26 ; 0x232a - 2310: 85 83 std Z+5, r24 ; 0x05 - 2312: 96 83 std Z+6, r25 ; 0x06 - 2314: cc 0f add r28, r28 - 2316: dd 1f adc r29, r29 - 2318: cc 0f add r28, r28 - 231a: dd 1f adc r29, r29 - 231c: cc 0f add r28, r28 - 231e: dd 1f adc r29, r29 - 2320: c0 50 subi r28, 0x00 ; 0 - 2322: de 4d sbci r29, 0xDE ; 222 - 2324: 8e 89 ldd r24, Y+22 ; 0x16 - 2326: 9f 89 ldd r25, Y+23 ; 0x17 - 2328: 60 c0 rjmp .+192 ; 0x23ea - 232a: fe 01 movw r30, r28 - 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: ee 0f add r30, r30 - 2336: ff 1f adc r31, r31 - 2338: e0 50 subi r30, 0x00 ; 0 - 233a: fe 4d sbci r31, 0xDE ; 222 - 233c: 46 89 ldd r20, Z+22 ; 0x16 - 233e: 57 89 ldd r21, Z+23 ; 0x17 - 2340: 4a 15 cp r20, r10 - 2342: 5b 05 cpc r21, r11 - 2344: 09 f0 breq .+2 ; 0x2348 - 2346: 51 c0 rjmp .+162 ; 0x23ea - 2348: 28 17 cp r18, r24 - 234a: 39 07 cpc r19, r25 - 234c: 09 f4 brne .+2 ; 0x2350 - 234e: 4d c0 rjmp .+154 ; 0x23ea - 2350: ac 01 movw r20, r24 - 2352: 42 1b sub r20, r18 - 2354: 53 0b sbc r21, r19 - 2356: 9a 01 movw r18, r20 - 2358: 21 15 cp r18, r1 - 235a: 54 e0 ldi r21, 0x04 ; 4 - 235c: 35 07 cpc r19, r21 - 235e: 50 f0 brcs .+20 ; 0x2374 - 2360: 2f ef ldi r18, 0xFF ; 255 - 2362: 33 e0 ldi r19, 0x03 ; 3 - 2364: c9 01 movw r24, r18 - 2366: b4 01 movw r22, r8 - 2368: c9 d4 rcall .+2450 ; 0x2cfc <__udivmodhi4> - 236a: d9 01 movw r26, r18 - 236c: a8 1b sub r26, r24 - 236e: b9 0b sbc r27, r25 - 2370: cd 01 movw r24, r26 - 2372: 07 c0 rjmp .+14 ; 0x2382 - 2374: c9 01 movw r24, r18 - 2376: b4 01 movw r22, r8 - 2378: c1 d4 rcall .+2434 ; 0x2cfc <__udivmodhi4> - 237a: f9 01 movw r30, r18 - 237c: e8 1b sub r30, r24 - 237e: f9 0b sbc r31, r25 - 2380: cf 01 movw r24, r30 - 2382: fe 01 movw r30, r28 - 2384: ee 0f add r30, r30 - 2386: ff 1f adc r31, r31 - 2388: ee 0f add r30, r30 - 238a: ff 1f adc r31, r31 - 238c: ee 0f add r30, r30 - 238e: ff 1f adc r31, r31 - 2390: e0 50 subi r30, 0x00 ; 0 - 2392: fe 4d sbci r31, 0xDE ; 222 - 2394: 12 8a std Z+18, r1 ; 0x12 - 2396: 13 8a std Z+19, r1 ; 0x13 - 2398: 88 15 cp r24, r8 - 239a: 99 05 cpc r25, r9 - 239c: 78 f4 brcc .+30 ; 0x23bc - 239e: d8 01 movw r26, r16 - 23a0: 8c 91 ld r24, X - 23a2: 84 60 ori r24, 0x04 ; 4 - 23a4: 8c 93 st X, r24 - 23a6: b0 e4 ldi r27, 0x40 ; 64 - 23a8: db 9e mul r13, r27 - 23aa: c0 01 movw r24, r0 - 23ac: 11 24 eor r1, r1 - 23ae: 8b 57 subi r24, 0x7B ; 123 - 23b0: 9f 4d sbci r25, 0xDF ; 223 - 23b2: 84 8b std Z+20, r24 ; 0x14 - 23b4: 95 8b std Z+21, r25 ; 0x15 - 23b6: 86 8a std Z+22, r8 ; 0x16 - 23b8: 97 8a std Z+23, r9 ; 0x17 - 23ba: 13 c0 rjmp .+38 ; 0x23e2 - 23bc: f8 01 movw r30, r16 - 23be: 41 81 ldd r20, Z+1 ; 0x01 - 23c0: 52 81 ldd r21, Z+2 ; 0x02 - 23c2: 25 81 ldd r18, Z+5 ; 0x05 - 23c4: 36 81 ldd r19, Z+6 ; 0x06 - 23c6: 24 0f add r18, r20 - 23c8: 35 1f adc r19, r21 - 23ca: cc 0f add r28, r28 - 23cc: dd 1f adc r29, r29 - 23ce: cc 0f add r28, r28 - 23d0: dd 1f adc r29, r29 - 23d2: cc 0f add r28, r28 - 23d4: dd 1f adc r29, r29 - 23d6: c0 50 subi r28, 0x00 ; 0 - 23d8: de 4d sbci r29, 0xDE ; 222 - 23da: 2c 8b std Y+20, r18 ; 0x14 - 23dc: 3d 8b std Y+21, r19 ; 0x15 - 23de: 8e 8b std Y+22, r24 ; 0x16 - 23e0: 9f 8b std Y+23, r25 ; 0x17 - 23e2: f7 01 movw r30, r14 - 23e4: 02 e0 ldi r16, 0x02 ; 2 - 23e6: 06 93 lac Z, r16 - 23e8: 13 c0 rjmp .+38 ; 0x2410 - 23ea: d8 01 movw r26, r16 - 23ec: 8c 91 ld r24, X + 2222: 80 62 ori r24, 0x20 ; 32 + 2224: 80 83 st Z, r24 + 2226: 8f ef ldi r24, 0xFF ; 255 + 2228: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 222c: e8 ec ldi r30, 0xC8 ; 200 + 222e: f4 e0 ldi r31, 0x04 ; 4 + 2230: 80 81 ld r24, Z + 2232: 82 60 ori r24, 0x02 ; 2 + 2234: 80 83 st Z, r24 + 2236: 10 92 54 22 sts 0x2254, r1 ; 0x802254 + 223a: 80 91 54 2c lds r24, 0x2C54 ; 0x802c54 + 223e: 8f 3f cpi r24, 0xFF ; 255 + 2240: 09 f4 brne .+2 ; 0x2244 + 2242: ff cf rjmp .-2 ; 0x2242 + 2244: 9f b7 in r25, 0x3f ; 63 + 2246: f8 94 cli + 2248: ef e4 ldi r30, 0x4F ; 79 + 224a: fc e2 ldi r31, 0x2C ; 44 + 224c: 85 81 ldd r24, Z+5 ; 0x05 + 224e: 8f 5f subi r24, 0xFF ; 255 + 2250: 85 83 std Z+5, r24 ; 0x05 + 2252: 9f bf out 0x3f, r25 ; 63 + 2254: 5c df rcall .-328 ; 0x210e + 2256: cf bf out 0x3f, r28 ; 63 + 2258: df 91 pop r29 + 225a: cf 91 pop r28 + 225c: 08 95 ret + +0000225e : + 225e: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 2262: 08 95 ret + +00002264 : + 2264: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 2268: 08 95 ret + +0000226a : + 226a: ef e5 ldi r30, 0x5F ; 95 + 226c: f4 e2 ldi r31, 0x24 ; 36 + 226e: 80 87 std Z+8, r24 ; 0x08 + 2270: 91 87 std Z+9, r25 ; 0x09 + 2272: 62 87 std Z+10, r22 ; 0x0a + 2274: 73 87 std Z+11, r23 ; 0x0b + 2276: 08 95 ret + +00002278 : + 2278: 28 2f mov r18, r24 + 227a: 2f 70 andi r18, 0x0F ; 15 + 227c: 30 e0 ldi r19, 0x00 ; 0 + 227e: 22 0f add r18, r18 + 2280: 33 1f adc r19, r19 + 2282: 08 2e mov r0, r24 + 2284: 00 0c add r0, r0 + 2286: 99 0b sbc r25, r25 + 2288: 88 27 eor r24, r24 + 228a: 99 0f add r25, r25 + 228c: 88 1f adc r24, r24 + 228e: 99 27 eor r25, r25 + 2290: 82 0f add r24, r18 + 2292: 93 1f adc r25, r19 + 2294: fc 01 movw r30, r24 + 2296: ee 0f add r30, r30 + 2298: ff 1f adc r31, r31 + 229a: ee 0f add r30, r30 + 229c: ff 1f adc r31, r31 + 229e: ee 0f add r30, r30 + 22a0: ff 1f adc r31, r31 + 22a2: e0 50 subi r30, 0x00 ; 0 + 22a4: fe 4d sbci r31, 0xDE ; 222 + 22a6: 21 89 ldd r18, Z+17 ; 0x11 + 22a8: 20 7c andi r18, 0xC0 ; 192 + 22aa: 09 f0 breq .+2 ; 0x22ae + 22ac: 58 c0 rjmp .+176 ; 0x235e + 22ae: 63 70 andi r22, 0x03 ; 3 + 22b0: 61 30 cpi r22, 0x01 ; 1 + 22b2: 11 f0 breq .+4 ; 0x22b8 + 22b4: 18 f4 brcc .+6 ; 0x22bc + 22b6: 04 c0 rjmp .+8 ; 0x22c0 + 22b8: 20 ec ldi r18, 0xC0 ; 192 + 22ba: 03 c0 rjmp .+6 ; 0x22c2 + 22bc: 20 e8 ldi r18, 0x80 ; 128 + 22be: 01 c0 rjmp .+2 ; 0x22c2 + 22c0: 20 e4 ldi r18, 0x40 ; 64 + 22c2: 40 38 cpi r20, 0x80 ; 128 + 22c4: 51 05 cpc r21, r1 + 22c6: e9 f0 breq .+58 ; 0x2302 + 22c8: 50 f4 brcc .+20 ; 0x22de + 22ca: 40 32 cpi r20, 0x20 ; 32 + 22cc: 51 05 cpc r21, r1 + 22ce: a9 f0 breq .+42 ; 0x22fa + 22d0: 40 34 cpi r20, 0x40 ; 64 + 22d2: 51 05 cpc r21, r1 + 22d4: a1 f0 breq .+40 ; 0x22fe + 22d6: 40 31 cpi r20, 0x10 ; 16 + 22d8: 51 05 cpc r21, r1 + 22da: d9 f4 brne .+54 ; 0x2312 + 22dc: 0c c0 rjmp .+24 ; 0x22f6 + 22de: 41 15 cp r20, r1 + 22e0: 32 e0 ldi r19, 0x02 ; 2 + 22e2: 53 07 cpc r21, r19 + 22e4: 91 f0 breq .+36 ; 0x230a + 22e6: 4f 3f cpi r20, 0xFF ; 255 + 22e8: 33 e0 ldi r19, 0x03 ; 3 + 22ea: 53 07 cpc r21, r19 + 22ec: 81 f0 breq .+32 ; 0x230e + 22ee: 41 15 cp r20, r1 + 22f0: 51 40 sbci r21, 0x01 ; 1 + 22f2: 79 f4 brne .+30 ; 0x2312 + 22f4: 08 c0 rjmp .+16 ; 0x2306 + 22f6: 41 e0 ldi r20, 0x01 ; 1 + 22f8: 0d c0 rjmp .+26 ; 0x2314 + 22fa: 42 e0 ldi r20, 0x02 ; 2 + 22fc: 0b c0 rjmp .+22 ; 0x2314 + 22fe: 43 e0 ldi r20, 0x03 ; 3 + 2300: 09 c0 rjmp .+18 ; 0x2314 + 2302: 44 e0 ldi r20, 0x04 ; 4 + 2304: 07 c0 rjmp .+14 ; 0x2314 + 2306: 45 e0 ldi r20, 0x05 ; 5 + 2308: 05 c0 rjmp .+10 ; 0x2314 + 230a: 46 e0 ldi r20, 0x06 ; 6 + 230c: 03 c0 rjmp .+6 ; 0x2314 + 230e: 47 e0 ldi r20, 0x07 ; 7 + 2310: 01 c0 rjmp .+2 ; 0x2314 + 2312: 40 e0 ldi r20, 0x00 ; 0 + 2314: fc 01 movw r30, r24 + 2316: ee 0f add r30, r30 + 2318: ff 1f adc r31, r31 + 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: e0 50 subi r30, 0x00 ; 0 + 2324: fe 4d sbci r31, 0xDE ; 222 + 2326: 11 8a std Z+17, r1 ; 0x11 + 2328: dc 01 movw r26, r24 + 232a: aa 0f add r26, r26 + 232c: bb 1f adc r27, r27 + 232e: aa 0f add r26, r26 + 2330: bb 1f adc r27, r27 + 2332: aa 0f add r26, r26 + 2334: bb 1f adc r27, r27 + 2336: a0 5f subi r26, 0xF0 ; 240 + 2338: bd 4d sbci r27, 0xDD ; 221 + 233a: 36 e0 ldi r19, 0x06 ; 6 + 233c: 3c 93 st X, r19 + 233e: 24 2b or r18, r20 + 2340: 21 8b std Z+17, r18 ; 0x11 + 2342: 88 0f add r24, r24 + 2344: 99 1f adc r25, r25 + 2346: 88 0f add r24, r24 + 2348: 99 1f adc r25, r25 + 234a: 88 0f add r24, r24 + 234c: 99 1f adc r25, r25 + 234e: fc 01 movw r30, r24 + 2350: e0 50 subi r30, 0x00 ; 0 + 2352: fe 4d sbci r31, 0xDE ; 222 + 2354: 81 89 ldd r24, Z+17 ; 0x11 + 2356: 80 62 ori r24, 0x20 ; 32 + 2358: 81 8b std Z+17, r24 ; 0x11 + 235a: 81 e0 ldi r24, 0x01 ; 1 + 235c: 08 95 ret + 235e: 80 e0 ldi r24, 0x00 ; 0 + 2360: 08 95 ret + +00002362 : + 2362: e8 2f mov r30, r24 + 2364: ef 70 andi r30, 0x0F ; 15 + 2366: f0 e0 ldi r31, 0x00 ; 0 + 2368: ee 0f add r30, r30 + 236a: ff 1f adc r31, r31 + 236c: 08 2e mov r0, r24 + 236e: 00 0c add r0, r0 + 2370: 99 0b sbc r25, r25 + 2372: 88 27 eor r24, r24 + 2374: 99 0f add r25, r25 + 2376: 88 1f adc r24, r24 + 2378: 99 27 eor r25, r25 + 237a: e8 0f add r30, r24 + 237c: f9 1f adc r31, r25 + 237e: ee 0f add r30, r30 + 2380: ff 1f adc r31, r31 + 2382: ee 0f add r30, r30 + 2384: ff 1f adc r31, r31 + 2386: ee 0f add r30, r30 + 2388: ff 1f adc r31, r31 + 238a: e0 50 subi r30, 0x00 ; 0 + 238c: fe 4d sbci r31, 0xDE ; 222 + 238e: 81 89 ldd r24, Z+17 ; 0x11 + 2390: 82 fb bst r24, 2 + 2392: 88 27 eor r24, r24 + 2394: 80 f9 bld r24, 0 + 2396: 08 95 ret + +00002398 : + 2398: 28 2f mov r18, r24 + 239a: 2f 70 andi r18, 0x0F ; 15 + 239c: 30 e0 ldi r19, 0x00 ; 0 + 239e: a9 01 movw r20, r18 + 23a0: 44 0f add r20, r20 + 23a2: 55 1f adc r21, r21 + 23a4: 28 2f mov r18, r24 + 23a6: 08 2e mov r0, r24 + 23a8: 00 0c add r0, r0 + 23aa: 33 0b sbc r19, r19 + 23ac: 22 27 eor r18, r18 + 23ae: 33 0f add r19, r19 + 23b0: 22 1f adc r18, r18 + 23b2: 33 27 eor r19, r19 + 23b4: 24 0f add r18, r20 + 23b6: 35 1f adc r19, r21 + 23b8: f9 01 movw r30, r18 + 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: 91 89 ldd r25, Z+17 ; 0x11 + 23cc: 92 ff sbrs r25, 2 + 23ce: 17 c0 rjmp .+46 ; 0x23fe + 23d0: 22 0f add r18, r18 + 23d2: 33 1f adc r19, r19 + 23d4: 22 0f add r18, r18 + 23d6: 33 1f adc r19, r19 + 23d8: 22 0f add r18, r18 + 23da: 33 1f adc r19, r19 + 23dc: f9 01 movw r30, r18 + 23de: e0 50 subi r30, 0x00 ; 0 + 23e0: fe 4d sbci r31, 0xDE ; 222 + 23e2: 91 89 ldd r25, Z+17 ; 0x11 + 23e4: 9b 7f andi r25, 0xFB ; 251 + 23e6: 91 8b std Z+17, r25 ; 0x11 + 23e8: ae dc rcall .-1700 ; 0x1d46 + 23ea: fc 01 movw r30, r24 + 23ec: 80 81 ld r24, Z 23ee: 80 ff sbrs r24, 0 - 23f0: 0f c0 rjmp .+30 ; 0x2410 + 23f0: 06 c0 rjmp .+12 ; 0x23fe 23f2: 8e 7f andi r24, 0xFE ; 254 - 23f4: 8c 93 st X, r24 - 23f6: 17 96 adiw r26, 0x07 ; 7 - 23f8: ed 91 ld r30, X+ - 23fa: fc 91 ld r31, X - 23fc: 18 97 sbiw r26, 0x08 ; 8 - 23fe: 30 97 sbiw r30, 0x00 ; 0 - 2400: 39 f0 breq .+14 ; 0x2410 - 2402: 15 96 adiw r26, 0x05 ; 5 - 2404: 6d 91 ld r22, X+ - 2406: 7c 91 ld r23, X - 2408: 16 97 sbiw r26, 0x06 ; 6 - 240a: 4d 2d mov r20, r13 - 240c: 80 e0 ldi r24, 0x00 ; 0 - 240e: 09 95 icall - 2410: df 91 pop r29 - 2412: cf 91 pop r28 - 2414: 1f 91 pop r17 - 2416: 0f 91 pop r16 - 2418: ff 90 pop r15 - 241a: ef 90 pop r14 - 241c: df 90 pop r13 - 241e: bf 90 pop r11 - 2420: af 90 pop r10 - 2422: 9f 90 pop r9 - 2424: 8f 90 pop r8 - 2426: 08 95 ret + 23f4: 80 83 st Z, r24 + 23f6: 07 80 ldd r0, Z+7 ; 0x07 + 23f8: f0 85 ldd r31, Z+8 ; 0x08 + 23fa: e0 2d mov r30, r0 + 23fc: 09 95 icall + 23fe: 81 e0 ldi r24, 0x01 ; 1 + 2400: 08 95 ret -00002428 : - 2428: cf 93 push r28 - 242a: cf b7 in r28, 0x3f ; 63 - 242c: f8 94 cli - 242e: 81 e0 ldi r24, 0x01 ; 1 - 2430: 11 dd rcall .-1502 ; 0x1e54 - 2432: ea ec ldi r30, 0xCA ; 202 - 2434: f4 e0 ldi r31, 0x04 ; 4 - 2436: 80 e4 ldi r24, 0x40 ; 64 - 2438: 80 83 st Z, r24 - 243a: 80 e2 ldi r24, 0x20 ; 32 - 243c: 80 83 st Z, r24 - 243e: e1 ec ldi r30, 0xC1 ; 193 - 2440: f4 e0 ldi r31, 0x04 ; 4 - 2442: 80 81 ld r24, Z - 2444: 81 60 ori r24, 0x01 ; 1 - 2446: 80 83 st Z, r24 - 2448: a9 ec ldi r26, 0xC9 ; 201 - 244a: b4 e0 ldi r27, 0x04 ; 4 - 244c: 8c 91 ld r24, X - 244e: 82 60 ori r24, 0x02 ; 2 - 2450: 8c 93 st X, r24 - 2452: e8 ec ldi r30, 0xC8 ; 200 - 2454: f4 e0 ldi r31, 0x04 ; 4 - 2456: 80 81 ld r24, Z - 2458: 80 64 ori r24, 0x40 ; 64 - 245a: 80 83 st Z, r24 - 245c: 8c 91 ld r24, X - 245e: 81 60 ori r24, 0x01 ; 1 - 2460: 8c 93 st X, r24 - 2462: 80 81 ld r24, Z - 2464: 80 68 ori r24, 0x80 ; 128 - 2466: 80 83 st Z, r24 - 2468: cf bf out 0x3f, r28 ; 63 - 246a: cf 91 pop r28 - 246c: 08 95 ret +00002402 : + 2402: 7f 92 push r7 + 2404: 8f 92 push r8 + 2406: 9f 92 push r9 + 2408: af 92 push r10 + 240a: bf 92 push r11 + 240c: cf 92 push r12 + 240e: df 92 push r13 + 2410: ef 92 push r14 + 2412: ff 92 push r15 + 2414: 0f 93 push r16 + 2416: 1f 93 push r17 + 2418: cf 93 push r28 + 241a: df 93 push r29 + 241c: 98 2e mov r9, r24 + 241e: 86 2e mov r8, r22 + 2420: 6a 01 movw r12, r20 + 2422: 79 01 movw r14, r18 + 2424: 90 dc rcall .-1760 ; 0x1d46 + 2426: 5c 01 movw r10, r24 + 2428: 79 2c mov r7, r9 + 242a: 77 1c adc r7, r7 + 242c: 77 24 eor r7, r7 + 242e: 77 1c adc r7, r7 + 2430: c9 2d mov r28, r9 + 2432: cf 70 andi r28, 0x0F ; 15 + 2434: d0 e0 ldi r29, 0x00 ; 0 + 2436: cc 0f add r28, r28 + 2438: dd 1f adc r29, r29 + 243a: c7 0d add r28, r7 + 243c: d1 1d adc r29, r1 + 243e: fe 01 movw r30, r28 + 2440: ee 0f add r30, r30 + 2442: ff 1f adc r31, r31 + 2444: ee 0f add r30, r30 + 2446: ff 1f adc r31, r31 + 2448: ee 0f add r30, r30 + 244a: ff 1f adc r31, r31 + 244c: e0 50 subi r30, 0x00 ; 0 + 244e: fe 4d sbci r31, 0xDE ; 222 + 2450: 81 89 ldd r24, Z+17 ; 0x11 + 2452: 80 7c andi r24, 0xC0 ; 192 + 2454: 09 f4 brne .+2 ; 0x2458 + 2456: 7d c0 rjmp .+250 ; 0x2552 + 2458: fe 01 movw r30, r28 + 245a: ee 0f add r30, r30 + 245c: ff 1f adc r31, r31 + 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: e0 50 subi r30, 0x00 ; 0 + 2468: fe 4d sbci r31, 0xDE ; 222 + 246a: 81 89 ldd r24, Z+17 ; 0x11 + 246c: 80 7c andi r24, 0xC0 ; 192 + 246e: 80 3c cpi r24, 0xC0 ; 192 + 2470: 61 f0 breq .+24 ; 0x248a + 2472: fe 01 movw r30, r28 + 2474: ee 0f add r30, r30 + 2476: ff 1f adc r31, r31 + 2478: ee 0f add r30, r30 + 247a: ff 1f adc r31, r31 + 247c: ee 0f add r30, r30 + 247e: ff 1f adc r31, r31 + 2480: e0 50 subi r30, 0x00 ; 0 + 2482: fe 4d sbci r31, 0xDE ; 222 + 2484: 81 89 ldd r24, Z+17 ; 0x11 + 2486: 82 fd sbrc r24, 2 + 2488: 66 c0 rjmp .+204 ; 0x2556 + 248a: 8f b7 in r24, 0x3f ; 63 + 248c: f8 94 cli + 248e: f5 01 movw r30, r10 + 2490: 90 81 ld r25, Z + 2492: 90 ff sbrs r25, 0 + 2494: 03 c0 rjmp .+6 ; 0x249c + 2496: 8f bf out 0x3f, r24 ; 63 + 2498: 71 2c mov r7, r1 + 249a: 5e c0 rjmp .+188 ; 0x2558 + 249c: f5 01 movw r30, r10 + 249e: 90 81 ld r25, Z + 24a0: 91 60 ori r25, 0x01 ; 1 + 24a2: 90 83 st Z, r25 + 24a4: 8f bf out 0x3f, r24 ; 63 + 24a6: c1 82 std Z+1, r12 ; 0x01 + 24a8: d2 82 std Z+2, r13 ; 0x02 + 24aa: e3 82 std Z+3, r14 ; 0x03 + 24ac: f4 82 std Z+4, r15 ; 0x04 + 24ae: 15 82 std Z+5, r1 ; 0x05 + 24b0: 16 82 std Z+6, r1 ; 0x06 + 24b2: 07 83 std Z+7, r16 ; 0x07 + 24b4: 10 87 std Z+8, r17 ; 0x08 + 24b6: 81 10 cpse r8, r1 + 24b8: 06 c0 rjmp .+12 ; 0x24c6 + 24ba: 91 e0 ldi r25, 0x01 ; 1 + 24bc: e1 14 cp r14, r1 + 24be: f1 04 cpc r15, r1 + 24c0: 19 f0 breq .+6 ; 0x24c8 + 24c2: 90 e0 ldi r25, 0x00 ; 0 + 24c4: 01 c0 rjmp .+2 ; 0x24c8 + 24c6: 91 e0 ldi r25, 0x01 ; 1 + 24c8: f5 01 movw r30, r10 + 24ca: 80 81 ld r24, Z + 24cc: 90 fb bst r25, 0 + 24ce: 81 f9 bld r24, 1 + 24d0: 8b 7f andi r24, 0xFB ; 251 + 24d2: 80 83 st Z, r24 + 24d4: 77 20 and r7, r7 + 24d6: 59 f0 breq .+22 ; 0x24ee + 24d8: cc 0f add r28, r28 + 24da: dd 1f adc r29, r29 + 24dc: cc 0f add r28, r28 + 24de: dd 1f adc r29, r29 + 24e0: cc 0f add r28, r28 + 24e2: dd 1f adc r29, r29 + 24e4: c0 50 subi r28, 0x00 ; 0 + 24e6: de 4d sbci r29, 0xDE ; 222 + 24e8: 1e 8a std Y+22, r1 ; 0x16 + 24ea: 1f 8a std Y+23, r1 ; 0x17 + 24ec: 2d c0 rjmp .+90 ; 0x2548 + 24ee: fe 01 movw r30, r28 + 24f0: ee 0f add r30, r30 + 24f2: ff 1f adc r31, r31 + 24f4: ee 0f add r30, r30 + 24f6: ff 1f adc r31, r31 + 24f8: ee 0f add r30, r30 + 24fa: ff 1f adc r31, r31 + 24fc: e0 50 subi r30, 0x00 ; 0 + 24fe: fe 4d sbci r31, 0xDE ; 222 + 2500: 81 89 ldd r24, Z+17 ; 0x11 + 2502: 80 7c andi r24, 0xC0 ; 192 + 2504: 80 3c cpi r24, 0xC0 ; 192 + 2506: a1 f4 brne .+40 ; 0x2530 + 2508: ce 01 movw r24, r28 + 250a: 88 0f add r24, r24 + 250c: 99 1f adc r25, r25 + 250e: 88 0f add r24, r24 + 2510: 99 1f adc r25, r25 + 2512: 88 0f add r24, r24 + 2514: 99 1f adc r25, r25 + 2516: 80 5f subi r24, 0xF0 ; 240 + 2518: 9d 4d sbci r25, 0xDD ; 221 + 251a: ef db rcall .-2082 ; 0x1cfa + 251c: bc 01 movw r22, r24 + 251e: c7 01 movw r24, r14 + 2520: 60 d2 rcall .+1216 ; 0x29e2 <__udivmodhi4> + 2522: 89 2b or r24, r25 + 2524: 29 f0 breq .+10 ; 0x2530 + 2526: f5 01 movw r30, r10 + 2528: 80 81 ld r24, Z + 252a: 8e 7f andi r24, 0xFE ; 254 + 252c: 80 83 st Z, r24 + 252e: 14 c0 rjmp .+40 ; 0x2558 + 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: cc 0f add r28, r28 + 253a: dd 1f adc r29, r29 + 253c: c0 50 subi r28, 0x00 ; 0 + 253e: de 4d sbci r29, 0xDE ; 222 + 2540: 1a 8a std Y+18, r1 ; 0x12 + 2542: 1b 8a std Y+19, r1 ; 0x13 + 2544: 1e 8a std Y+22, r1 ; 0x16 + 2546: 1f 8a std Y+23, r1 ; 0x17 + 2548: 89 2d mov r24, r9 + 254a: 87 dc rcall .-1778 ; 0x1e5a + 254c: 77 24 eor r7, r7 + 254e: 73 94 inc r7 + 2550: 03 c0 rjmp .+6 ; 0x2558 + 2552: 71 2c mov r7, r1 + 2554: 01 c0 rjmp .+2 ; 0x2558 + 2556: 71 2c mov r7, r1 + 2558: 87 2d mov r24, r7 + 255a: df 91 pop r29 + 255c: cf 91 pop r28 + 255e: 1f 91 pop r17 + 2560: 0f 91 pop r16 + 2562: ff 90 pop r15 + 2564: ef 90 pop r14 + 2566: df 90 pop r13 + 2568: cf 90 pop r12 + 256a: bf 90 pop r11 + 256c: af 90 pop r10 + 256e: 9f 90 pop r9 + 2570: 8f 90 pop r8 + 2572: 7f 90 pop r7 + 2574: 08 95 ret -0000246e : - 246e: cf 93 push r28 - 2470: df 93 push r29 - 2472: c0 e6 ldi r28, 0x60 ; 96 - 2474: d0 e0 ldi r29, 0x00 ; 0 - 2476: 18 82 st Y, r1 - 2478: 80 e3 ldi r24, 0x30 ; 48 - 247a: 0e 94 b5 09 call 0x136a ; 0x136a - 247e: e0 ec ldi r30, 0xC0 ; 192 - 2480: f4 e0 ldi r31, 0x04 ; 4 - 2482: 80 81 ld r24, Z - 2484: 80 64 ori r24, 0x40 ; 64 - 2486: 80 83 st Z, r24 - 2488: 81 e0 ldi r24, 0x01 ; 1 - 248a: 88 83 st Y, r24 - 248c: cf b7 in r28, 0x3f ; 63 - 248e: f8 94 cli - 2490: 80 e0 ldi r24, 0x00 ; 0 - 2492: 90 e0 ldi r25, 0x00 ; 0 - 2494: fc 01 movw r30, r24 - 2496: ee 0f add r30, r30 - 2498: ff 1f adc r31, r31 - 249a: ee 0f add r30, r30 - 249c: ff 1f adc r31, r31 - 249e: ee 0f add r30, r30 - 24a0: ff 1f adc r31, r31 - 24a2: e0 50 subi r30, 0x00 ; 0 - 24a4: fe 4d sbci r31, 0xDE ; 222 - 24a6: 11 8a std Z+17, r1 ; 0x11 - 24a8: 01 96 adiw r24, 0x01 ; 1 - 24aa: 88 30 cpi r24, 0x08 ; 8 - 24ac: 91 05 cpc r25, r1 - 24ae: 91 f7 brne .-28 ; 0x2494 - 24b0: e5 e8 ldi r30, 0x85 ; 133 - 24b2: f1 e2 ldi r31, 0x21 ; 33 - 24b4: 80 81 ld r24, Z - 24b6: 8e 7f andi r24, 0xFE ; 254 - 24b8: 80 83 st Z, r24 - 24ba: ee e8 ldi r30, 0x8E ; 142 - 24bc: f1 e2 ldi r31, 0x21 ; 33 - 24be: 80 81 ld r24, Z - 24c0: 8e 7f andi r24, 0xFE ; 254 - 24c2: 80 83 st Z, r24 - 24c4: e7 e9 ldi r30, 0x97 ; 151 - 24c6: f1 e2 ldi r31, 0x21 ; 33 - 24c8: 80 81 ld r24, Z - 24ca: 8e 7f andi r24, 0xFE ; 254 - 24cc: 80 83 st Z, r24 - 24ce: e0 ea ldi r30, 0xA0 ; 160 - 24d0: f1 e2 ldi r31, 0x21 ; 33 - 24d2: 80 81 ld r24, Z - 24d4: 8e 7f andi r24, 0xFE ; 254 - 24d6: 80 83 st Z, r24 - 24d8: e9 ea ldi r30, 0xA9 ; 169 - 24da: f1 e2 ldi r31, 0x21 ; 33 - 24dc: 80 81 ld r24, Z - 24de: 8e 7f andi r24, 0xFE ; 254 - 24e0: 80 83 st Z, r24 - 24e2: e2 eb ldi r30, 0xB2 ; 178 - 24e4: f1 e2 ldi r31, 0x21 ; 33 - 24e6: 80 81 ld r24, Z - 24e8: 8e 7f andi r24, 0xFE ; 254 - 24ea: 80 83 st Z, r24 - 24ec: 6a e1 ldi r22, 0x1A ; 26 - 24ee: 70 e0 ldi r23, 0x00 ; 0 - 24f0: 82 e0 ldi r24, 0x02 ; 2 - 24f2: a6 dc rcall .-1716 ; 0x1e40 - 24f4: 8f 3f cpi r24, 0xFF ; 255 - 24f6: 19 f0 breq .+6 ; 0x24fe - 24f8: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 24fc: 03 c0 rjmp .+6 ; 0x2504 - 24fe: 8f e1 ldi r24, 0x1F ; 31 - 2500: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 2504: 6b e1 ldi r22, 0x1B ; 27 - 2506: 70 e0 ldi r23, 0x00 ; 0 - 2508: 82 e0 ldi r24, 0x02 ; 2 - 250a: 9a dc rcall .-1740 ; 0x1e40 - 250c: 8f 3f cpi r24, 0xFF ; 255 - 250e: 19 f0 breq .+6 ; 0x2516 - 2510: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 2514: 03 c0 rjmp .+6 ; 0x251c - 2516: 8f e1 ldi r24, 0x1F ; 31 - 2518: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 251c: e0 ec ldi r30, 0xC0 ; 192 - 251e: f4 e0 ldi r31, 0x04 ; 4 - 2520: 80 81 ld r24, Z - 2522: 83 60 ori r24, 0x03 ; 3 - 2524: 80 83 st Z, r24 - 2526: 80 81 ld r24, Z - 2528: 80 68 ori r24, 0x80 ; 128 - 252a: 80 83 st Z, r24 - 252c: 80 81 ld r24, Z - 252e: 80 61 ori r24, 0x10 ; 16 - 2530: 80 83 st Z, r24 - 2532: 80 e1 ldi r24, 0x10 ; 16 - 2534: 92 e2 ldi r25, 0x22 ; 34 - 2536: 86 83 std Z+6, r24 ; 0x06 - 2538: 97 83 std Z+7, r25 ; 0x07 - 253a: 80 81 ld r24, Z - 253c: 80 62 ori r24, 0x20 ; 32 - 253e: 80 83 st Z, r24 - 2540: 8f ef ldi r24, 0xFF ; 255 - 2542: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 2546: e8 ec ldi r30, 0xC8 ; 200 - 2548: f4 e0 ldi r31, 0x04 ; 4 - 254a: 80 81 ld r24, Z - 254c: 82 60 ori r24, 0x02 ; 2 - 254e: 80 83 st Z, r24 - 2550: 10 92 54 22 sts 0x2254, r1 ; 0x802254 - 2554: 80 91 4b 2c lds r24, 0x2C4B ; 0x802c4b - 2558: 8f 3f cpi r24, 0xFF ; 255 - 255a: 09 f4 brne .+2 ; 0x255e - 255c: ff cf rjmp .-2 ; 0x255c - 255e: 9f b7 in r25, 0x3f ; 63 - 2560: f8 94 cli - 2562: e6 e4 ldi r30, 0x46 ; 70 - 2564: fc e2 ldi r31, 0x2C ; 44 - 2566: 85 81 ldd r24, Z+5 ; 0x05 - 2568: 8f 5f subi r24, 0xFF ; 255 - 256a: 85 83 std Z+5, r24 ; 0x05 - 256c: 9f bf out 0x3f, r25 ; 63 - 256e: 5c df rcall .-328 ; 0x2428 - 2570: cf bf out 0x3f, r28 ; 63 - 2572: df 91 pop r29 - 2574: cf 91 pop r28 - 2576: 08 95 ret +00002576 : + 2576: ff 92 push r15 + 2578: 0f 93 push r16 + 257a: 1f 93 push r17 + 257c: cf 93 push r28 + 257e: df 93 push r29 + 2580: 18 2f mov r17, r24 + 2582: f8 2e mov r15, r24 + 2584: ff 1c adc r15, r15 + 2586: ff 24 eor r15, r15 + 2588: ff 1c adc r15, r15 + 258a: c8 2f mov r28, r24 + 258c: cf 70 andi r28, 0x0F ; 15 + 258e: d0 e0 ldi r29, 0x00 ; 0 + 2590: cc 0f add r28, r28 + 2592: dd 1f adc r29, r29 + 2594: cf 0d add r28, r15 + 2596: d1 1d adc r29, r1 + 2598: d6 db rcall .-2132 ; 0x1d46 + 259a: dc 01 movw r26, r24 + 259c: fe 01 movw r30, r28 + 259e: ee 0f add r30, r30 + 25a0: ff 1f adc r31, r31 + 25a2: ee 0f add r30, r30 + 25a4: ff 1f adc r31, r31 + 25a6: ee 0f add r30, r30 + 25a8: ff 1f adc r31, r31 + 25aa: e0 5f subi r30, 0xF0 ; 240 + 25ac: fd 4d sbci r31, 0xDD ; 221 + 25ae: 02 e0 ldi r16, 0x02 ; 2 + 25b0: 05 93 las Z, r16 + 25b2: 8c 91 ld r24, X + 25b4: 80 ff sbrs r24, 0 + 25b6: 22 c0 rjmp .+68 ; 0x25fc + 25b8: 8e 7f andi r24, 0xFE ; 254 + 25ba: 8c 93 st X, r24 + 25bc: 17 96 adiw r26, 0x07 ; 7 + 25be: ed 91 ld r30, X+ + 25c0: fc 91 ld r31, X + 25c2: 18 97 sbiw r26, 0x08 ; 8 + 25c4: 30 97 sbiw r30, 0x00 ; 0 + 25c6: d1 f0 breq .+52 ; 0x25fc + 25c8: ff 20 and r15, r15 + 25ca: 59 f0 breq .+22 ; 0x25e2 + 25cc: cc 0f add r28, r28 + 25ce: dd 1f adc r29, r29 + 25d0: cc 0f add r28, r28 + 25d2: dd 1f adc r29, r29 + 25d4: cc 0f add r28, r28 + 25d6: dd 1f adc r29, r29 + 25d8: c0 50 subi r28, 0x00 ; 0 + 25da: de 4d sbci r29, 0xDE ; 222 + 25dc: 6e 89 ldd r22, Y+22 ; 0x16 + 25de: 7f 89 ldd r23, Y+23 ; 0x17 + 25e0: 0a c0 rjmp .+20 ; 0x25f6 + 25e2: cc 0f add r28, r28 + 25e4: dd 1f adc r29, r29 + 25e6: cc 0f add r28, r28 + 25e8: dd 1f adc r29, r29 + 25ea: cc 0f add r28, r28 + 25ec: dd 1f adc r29, r29 + 25ee: c0 50 subi r28, 0x00 ; 0 + 25f0: de 4d sbci r29, 0xDE ; 222 + 25f2: 6a 89 ldd r22, Y+18 ; 0x12 + 25f4: 7b 89 ldd r23, Y+19 ; 0x13 + 25f6: 41 2f mov r20, r17 + 25f8: 81 e0 ldi r24, 0x01 ; 1 + 25fa: 09 95 icall + 25fc: df 91 pop r29 + 25fe: cf 91 pop r28 + 2600: 1f 91 pop r17 + 2602: 0f 91 pop r16 + 2604: ff 90 pop r15 + 2606: 08 95 ret -00002578 : - 2578: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 257c: 08 95 ret +00002608 : + 2608: cf 93 push r28 + 260a: c8 2f mov r28, r24 + 260c: b4 df rcall .-152 ; 0x2576 + 260e: ec 2f mov r30, r28 + 2610: ef 70 andi r30, 0x0F ; 15 + 2612: f0 e0 ldi r31, 0x00 ; 0 + 2614: ee 0f add r30, r30 + 2616: ff 1f adc r31, r31 + 2618: 8c 2f mov r24, r28 + 261a: cc 0f add r28, r28 + 261c: 99 0b sbc r25, r25 + 261e: 88 27 eor r24, r24 + 2620: 99 0f add r25, r25 + 2622: 88 1f adc r24, r24 + 2624: 99 27 eor r25, r25 + 2626: e8 0f add r30, r24 + 2628: f9 1f adc r31, r25 + 262a: ee 0f add r30, r30 + 262c: ff 1f adc r31, r31 + 262e: ee 0f add r30, r30 + 2630: ff 1f adc r31, r31 + 2632: ee 0f add r30, r30 + 2634: ff 1f adc r31, r31 + 2636: e0 50 subi r30, 0x00 ; 0 + 2638: fe 4d sbci r31, 0xDE ; 222 + 263a: 11 8a std Z+17, r1 ; 0x11 + 263c: cf 91 pop r28 + 263e: 08 95 ret -0000257e : - 257e: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 2582: 08 95 ret - -00002584 : - 2584: ea e5 ldi r30, 0x5A ; 90 - 2586: f4 e2 ldi r31, 0x24 ; 36 - 2588: 80 87 std Z+8, r24 ; 0x08 - 258a: 91 87 std Z+9, r25 ; 0x09 - 258c: 62 87 std Z+10, r22 ; 0x0a - 258e: 73 87 std Z+11, r23 ; 0x0b - 2590: 08 95 ret - -00002592 : - 2592: 28 2f mov r18, r24 - 2594: 2f 70 andi r18, 0x0F ; 15 - 2596: 30 e0 ldi r19, 0x00 ; 0 - 2598: 22 0f add r18, r18 - 259a: 33 1f adc r19, r19 - 259c: 08 2e mov r0, r24 - 259e: 00 0c add r0, r0 - 25a0: 99 0b sbc r25, r25 - 25a2: 88 27 eor r24, r24 - 25a4: 99 0f add r25, r25 - 25a6: 88 1f adc r24, r24 - 25a8: 99 27 eor r25, r25 - 25aa: 82 0f add r24, r18 - 25ac: 93 1f adc r25, r19 - 25ae: fc 01 movw r30, r24 - 25b0: ee 0f add r30, r30 - 25b2: ff 1f adc r31, r31 - 25b4: ee 0f add r30, r30 - 25b6: ff 1f adc r31, r31 - 25b8: ee 0f add r30, r30 - 25ba: ff 1f adc r31, r31 - 25bc: e0 50 subi r30, 0x00 ; 0 - 25be: fe 4d sbci r31, 0xDE ; 222 - 25c0: 21 89 ldd r18, Z+17 ; 0x11 - 25c2: 20 7c andi r18, 0xC0 ; 192 - 25c4: 09 f0 breq .+2 ; 0x25c8 - 25c6: 58 c0 rjmp .+176 ; 0x2678 - 25c8: 63 70 andi r22, 0x03 ; 3 - 25ca: 61 30 cpi r22, 0x01 ; 1 - 25cc: 11 f0 breq .+4 ; 0x25d2 - 25ce: 18 f4 brcc .+6 ; 0x25d6 - 25d0: 04 c0 rjmp .+8 ; 0x25da - 25d2: 20 ec ldi r18, 0xC0 ; 192 - 25d4: 03 c0 rjmp .+6 ; 0x25dc - 25d6: 20 e8 ldi r18, 0x80 ; 128 - 25d8: 01 c0 rjmp .+2 ; 0x25dc - 25da: 20 e4 ldi r18, 0x40 ; 64 - 25dc: 40 38 cpi r20, 0x80 ; 128 - 25de: 51 05 cpc r21, r1 - 25e0: e9 f0 breq .+58 ; 0x261c - 25e2: 50 f4 brcc .+20 ; 0x25f8 - 25e4: 40 32 cpi r20, 0x20 ; 32 - 25e6: 51 05 cpc r21, r1 - 25e8: a9 f0 breq .+42 ; 0x2614 - 25ea: 40 34 cpi r20, 0x40 ; 64 - 25ec: 51 05 cpc r21, r1 - 25ee: a1 f0 breq .+40 ; 0x2618 - 25f0: 40 31 cpi r20, 0x10 ; 16 - 25f2: 51 05 cpc r21, r1 - 25f4: d9 f4 brne .+54 ; 0x262c - 25f6: 0c c0 rjmp .+24 ; 0x2610 - 25f8: 41 15 cp r20, r1 - 25fa: 32 e0 ldi r19, 0x02 ; 2 - 25fc: 53 07 cpc r21, r19 - 25fe: 91 f0 breq .+36 ; 0x2624 - 2600: 4f 3f cpi r20, 0xFF ; 255 - 2602: 33 e0 ldi r19, 0x03 ; 3 - 2604: 53 07 cpc r21, r19 - 2606: 81 f0 breq .+32 ; 0x2628 - 2608: 41 15 cp r20, r1 - 260a: 51 40 sbci r21, 0x01 ; 1 - 260c: 79 f4 brne .+30 ; 0x262c - 260e: 08 c0 rjmp .+16 ; 0x2620 - 2610: 41 e0 ldi r20, 0x01 ; 1 - 2612: 0d c0 rjmp .+26 ; 0x262e - 2614: 42 e0 ldi r20, 0x02 ; 2 - 2616: 0b c0 rjmp .+22 ; 0x262e - 2618: 43 e0 ldi r20, 0x03 ; 3 - 261a: 09 c0 rjmp .+18 ; 0x262e - 261c: 44 e0 ldi r20, 0x04 ; 4 - 261e: 07 c0 rjmp .+14 ; 0x262e - 2620: 45 e0 ldi r20, 0x05 ; 5 - 2622: 05 c0 rjmp .+10 ; 0x262e - 2624: 46 e0 ldi r20, 0x06 ; 6 - 2626: 03 c0 rjmp .+6 ; 0x262e - 2628: 47 e0 ldi r20, 0x07 ; 7 - 262a: 01 c0 rjmp .+2 ; 0x262e - 262c: 40 e0 ldi r20, 0x00 ; 0 - 262e: fc 01 movw r30, r24 - 2630: ee 0f add r30, r30 - 2632: ff 1f adc r31, r31 - 2634: ee 0f add r30, r30 - 2636: ff 1f adc r31, r31 - 2638: ee 0f add r30, r30 - 263a: ff 1f adc r31, r31 - 263c: e0 50 subi r30, 0x00 ; 0 - 263e: fe 4d sbci r31, 0xDE ; 222 - 2640: 11 8a std Z+17, r1 ; 0x11 - 2642: dc 01 movw r26, r24 - 2644: aa 0f add r26, r26 - 2646: bb 1f adc r27, r27 - 2648: aa 0f add r26, r26 - 264a: bb 1f adc r27, r27 - 264c: aa 0f add r26, r26 - 264e: bb 1f adc r27, r27 - 2650: a0 5f subi r26, 0xF0 ; 240 - 2652: bd 4d sbci r27, 0xDD ; 221 - 2654: 36 e0 ldi r19, 0x06 ; 6 - 2656: 3c 93 st X, r19 - 2658: 24 2b or r18, r20 - 265a: 21 8b std Z+17, r18 ; 0x11 - 265c: 88 0f add r24, r24 - 265e: 99 1f adc r25, r25 - 2660: 88 0f add r24, r24 - 2662: 99 1f adc r25, r25 - 2664: 88 0f add r24, r24 - 2666: 99 1f adc r25, r25 - 2668: fc 01 movw r30, r24 - 266a: e0 50 subi r30, 0x00 ; 0 - 266c: fe 4d sbci r31, 0xDE ; 222 - 266e: 81 89 ldd r24, Z+17 ; 0x11 - 2670: 80 62 ori r24, 0x20 ; 32 - 2672: 81 8b std Z+17, r24 ; 0x11 - 2674: 81 e0 ldi r24, 0x01 ; 1 - 2676: 08 95 ret - 2678: 80 e0 ldi r24, 0x00 ; 0 - 267a: 08 95 ret - -0000267c : - 267c: e8 2f mov r30, r24 - 267e: ef 70 andi r30, 0x0F ; 15 - 2680: f0 e0 ldi r31, 0x00 ; 0 +00002640 : + 2640: 0f 93 push r16 + 2642: e8 2f mov r30, r24 + 2644: ef 70 andi r30, 0x0F ; 15 + 2646: f0 e0 ldi r31, 0x00 ; 0 + 2648: ee 0f add r30, r30 + 264a: ff 1f adc r31, r31 + 264c: 28 2f mov r18, r24 + 264e: 08 2e mov r0, r24 + 2650: 00 0c add r0, r0 + 2652: 33 0b sbc r19, r19 + 2654: 22 27 eor r18, r18 + 2656: 33 0f add r19, r19 + 2658: 22 1f adc r18, r18 + 265a: 33 27 eor r19, r19 + 265c: e2 0f add r30, r18 + 265e: f3 1f adc r31, r19 + 2660: df 01 movw r26, r30 + 2662: aa 0f add r26, r26 + 2664: bb 1f adc r27, r27 + 2666: aa 0f add r26, r26 + 2668: bb 1f adc r27, r27 + 266a: aa 0f add r26, r26 + 266c: bb 1f adc r27, r27 + 266e: a0 50 subi r26, 0x00 ; 0 + 2670: be 4d sbci r27, 0xDE ; 222 + 2672: 51 96 adiw r26, 0x11 ; 17 + 2674: 9c 91 ld r25, X + 2676: 51 97 sbiw r26, 0x11 ; 17 + 2678: 94 60 ori r25, 0x04 ; 4 + 267a: 51 96 adiw r26, 0x11 ; 17 + 267c: 9c 93 st X, r25 + 267e: ee 0f add r30, r30 + 2680: ff 1f adc r31, r31 2682: ee 0f add r30, r30 2684: ff 1f adc r31, r31 - 2686: 08 2e mov r0, r24 - 2688: 00 0c add r0, r0 - 268a: 99 0b sbc r25, r25 - 268c: 88 27 eor r24, r24 - 268e: 99 0f add r25, r25 - 2690: 88 1f adc r24, r24 - 2692: 99 27 eor r25, r25 - 2694: e8 0f add r30, r24 - 2696: f9 1f adc r31, r25 - 2698: ee 0f add r30, r30 - 269a: ff 1f adc r31, r31 - 269c: ee 0f add r30, r30 - 269e: ff 1f adc r31, r31 - 26a0: ee 0f add r30, r30 - 26a2: ff 1f adc r31, r31 - 26a4: e0 50 subi r30, 0x00 ; 0 - 26a6: fe 4d sbci r31, 0xDE ; 222 - 26a8: 81 89 ldd r24, Z+17 ; 0x11 - 26aa: 82 fb bst r24, 2 - 26ac: 88 27 eor r24, r24 - 26ae: 80 f9 bld r24, 0 - 26b0: 08 95 ret + 2686: ee 0f add r30, r30 + 2688: ff 1f adc r31, r31 + 268a: e0 5f subi r30, 0xF0 ; 240 + 268c: fd 4d sbci r31, 0xDD ; 221 + 268e: 01 e0 ldi r16, 0x01 ; 1 + 2690: 06 93 lac Z, r16 + 2692: 71 df rcall .-286 ; 0x2576 + 2694: 81 e0 ldi r24, 0x01 ; 1 + 2696: 0f 91 pop r16 + 2698: 08 95 ret -000026b2 : - 26b2: 28 2f mov r18, r24 - 26b4: 2f 70 andi r18, 0x0F ; 15 - 26b6: 30 e0 ldi r19, 0x00 ; 0 - 26b8: a9 01 movw r20, r18 - 26ba: 44 0f add r20, r20 - 26bc: 55 1f adc r21, r21 - 26be: 28 2f mov r18, r24 - 26c0: 08 2e mov r0, r24 - 26c2: 00 0c add r0, r0 - 26c4: 33 0b sbc r19, r19 - 26c6: 22 27 eor r18, r18 - 26c8: 33 0f add r19, r19 - 26ca: 22 1f adc r18, r18 - 26cc: 33 27 eor r19, r19 - 26ce: 24 0f add r18, r20 - 26d0: 35 1f adc r19, r21 - 26d2: f9 01 movw r30, r18 - 26d4: ee 0f add r30, r30 - 26d6: ff 1f adc r31, r31 - 26d8: ee 0f add r30, r30 - 26da: ff 1f adc r31, r31 - 26dc: ee 0f add r30, r30 - 26de: ff 1f adc r31, r31 - 26e0: e0 50 subi r30, 0x00 ; 0 - 26e2: fe 4d sbci r31, 0xDE ; 222 - 26e4: 91 89 ldd r25, Z+17 ; 0x11 - 26e6: 92 ff sbrs r25, 2 - 26e8: 17 c0 rjmp .+46 ; 0x2718 - 26ea: 22 0f add r18, r18 - 26ec: 33 1f adc r19, r19 - 26ee: 22 0f add r18, r18 - 26f0: 33 1f adc r19, r19 - 26f2: 22 0f add r18, r18 - 26f4: 33 1f adc r19, r19 - 26f6: f9 01 movw r30, r18 - 26f8: e0 50 subi r30, 0x00 ; 0 - 26fa: fe 4d sbci r31, 0xDE ; 222 - 26fc: 91 89 ldd r25, Z+17 ; 0x11 - 26fe: 9b 7f andi r25, 0xFB ; 251 - 2700: 91 8b std Z+17, r25 ; 0x11 - 2702: ae dc rcall .-1700 ; 0x2060 - 2704: fc 01 movw r30, r24 - 2706: 80 81 ld r24, Z - 2708: 80 ff sbrs r24, 0 - 270a: 06 c0 rjmp .+12 ; 0x2718 - 270c: 8e 7f andi r24, 0xFE ; 254 - 270e: 80 83 st Z, r24 - 2710: 07 80 ldd r0, Z+7 ; 0x07 - 2712: f0 85 ldd r31, Z+8 ; 0x08 - 2714: e0 2d mov r30, r0 - 2716: 09 95 icall - 2718: 81 e0 ldi r24, 0x01 ; 1 - 271a: 08 95 ret - -0000271c : - 271c: 7f 92 push r7 - 271e: 8f 92 push r8 - 2720: 9f 92 push r9 - 2722: af 92 push r10 - 2724: bf 92 push r11 - 2726: cf 92 push r12 - 2728: df 92 push r13 - 272a: ef 92 push r14 - 272c: ff 92 push r15 - 272e: 0f 93 push r16 - 2730: 1f 93 push r17 - 2732: cf 93 push r28 - 2734: df 93 push r29 - 2736: 98 2e mov r9, r24 - 2738: 86 2e mov r8, r22 - 273a: 6a 01 movw r12, r20 - 273c: 79 01 movw r14, r18 - 273e: 90 dc rcall .-1760 ; 0x2060 - 2740: 5c 01 movw r10, r24 - 2742: 79 2c mov r7, r9 - 2744: 77 1c adc r7, r7 - 2746: 77 24 eor r7, r7 - 2748: 77 1c adc r7, r7 - 274a: c9 2d mov r28, r9 - 274c: cf 70 andi r28, 0x0F ; 15 - 274e: d0 e0 ldi r29, 0x00 ; 0 - 2750: cc 0f add r28, r28 - 2752: dd 1f adc r29, r29 - 2754: c7 0d add r28, r7 - 2756: d1 1d adc r29, r1 - 2758: fe 01 movw r30, r28 - 275a: ee 0f add r30, r30 - 275c: ff 1f adc r31, r31 - 275e: ee 0f add r30, r30 - 2760: ff 1f adc r31, r31 - 2762: ee 0f add r30, r30 - 2764: ff 1f adc r31, r31 - 2766: e0 50 subi r30, 0x00 ; 0 - 2768: fe 4d sbci r31, 0xDE ; 222 - 276a: 81 89 ldd r24, Z+17 ; 0x11 - 276c: 80 7c andi r24, 0xC0 ; 192 - 276e: 09 f4 brne .+2 ; 0x2772 - 2770: 7d c0 rjmp .+250 ; 0x286c - 2772: fe 01 movw r30, r28 - 2774: ee 0f add r30, r30 - 2776: ff 1f adc r31, r31 - 2778: ee 0f add r30, r30 - 277a: ff 1f adc r31, r31 - 277c: ee 0f add r30, r30 - 277e: ff 1f adc r31, r31 - 2780: e0 50 subi r30, 0x00 ; 0 - 2782: fe 4d sbci r31, 0xDE ; 222 - 2784: 81 89 ldd r24, Z+17 ; 0x11 - 2786: 80 7c andi r24, 0xC0 ; 192 - 2788: 80 3c cpi r24, 0xC0 ; 192 - 278a: 61 f0 breq .+24 ; 0x27a4 - 278c: fe 01 movw r30, r28 - 278e: ee 0f add r30, r30 - 2790: ff 1f adc r31, r31 - 2792: ee 0f add r30, r30 - 2794: ff 1f adc r31, r31 - 2796: ee 0f add r30, r30 - 2798: ff 1f adc r31, r31 - 279a: e0 50 subi r30, 0x00 ; 0 - 279c: fe 4d sbci r31, 0xDE ; 222 - 279e: 81 89 ldd r24, Z+17 ; 0x11 - 27a0: 82 fd sbrc r24, 2 - 27a2: 66 c0 rjmp .+204 ; 0x2870 - 27a4: 8f b7 in r24, 0x3f ; 63 - 27a6: f8 94 cli - 27a8: f5 01 movw r30, r10 - 27aa: 90 81 ld r25, Z - 27ac: 90 ff sbrs r25, 0 - 27ae: 03 c0 rjmp .+6 ; 0x27b6 - 27b0: 8f bf out 0x3f, r24 ; 63 - 27b2: 71 2c mov r7, r1 - 27b4: 5e c0 rjmp .+188 ; 0x2872 - 27b6: f5 01 movw r30, r10 - 27b8: 90 81 ld r25, Z - 27ba: 91 60 ori r25, 0x01 ; 1 - 27bc: 90 83 st Z, r25 - 27be: 8f bf out 0x3f, r24 ; 63 - 27c0: c1 82 std Z+1, r12 ; 0x01 - 27c2: d2 82 std Z+2, r13 ; 0x02 - 27c4: e3 82 std Z+3, r14 ; 0x03 - 27c6: f4 82 std Z+4, r15 ; 0x04 - 27c8: 15 82 std Z+5, r1 ; 0x05 - 27ca: 16 82 std Z+6, r1 ; 0x06 - 27cc: 07 83 std Z+7, r16 ; 0x07 - 27ce: 10 87 std Z+8, r17 ; 0x08 - 27d0: 81 10 cpse r8, r1 - 27d2: 06 c0 rjmp .+12 ; 0x27e0 - 27d4: 91 e0 ldi r25, 0x01 ; 1 - 27d6: e1 14 cp r14, r1 - 27d8: f1 04 cpc r15, r1 - 27da: 19 f0 breq .+6 ; 0x27e2 - 27dc: 90 e0 ldi r25, 0x00 ; 0 - 27de: 01 c0 rjmp .+2 ; 0x27e2 - 27e0: 91 e0 ldi r25, 0x01 ; 1 - 27e2: f5 01 movw r30, r10 - 27e4: 80 81 ld r24, Z - 27e6: 90 fb bst r25, 0 - 27e8: 81 f9 bld r24, 1 - 27ea: 8b 7f andi r24, 0xFB ; 251 - 27ec: 80 83 st Z, r24 - 27ee: 77 20 and r7, r7 - 27f0: 59 f0 breq .+22 ; 0x2808 - 27f2: cc 0f add r28, r28 - 27f4: dd 1f adc r29, r29 - 27f6: cc 0f add r28, r28 - 27f8: dd 1f adc r29, r29 - 27fa: cc 0f add r28, r28 - 27fc: dd 1f adc r29, r29 - 27fe: c0 50 subi r28, 0x00 ; 0 - 2800: de 4d sbci r29, 0xDE ; 222 - 2802: 1e 8a std Y+22, r1 ; 0x16 - 2804: 1f 8a std Y+23, r1 ; 0x17 - 2806: 2d c0 rjmp .+90 ; 0x2862 - 2808: fe 01 movw r30, r28 - 280a: ee 0f add r30, r30 - 280c: ff 1f adc r31, r31 - 280e: ee 0f add r30, r30 - 2810: ff 1f adc r31, r31 - 2812: ee 0f add r30, r30 - 2814: ff 1f adc r31, r31 - 2816: e0 50 subi r30, 0x00 ; 0 - 2818: fe 4d sbci r31, 0xDE ; 222 - 281a: 81 89 ldd r24, Z+17 ; 0x11 - 281c: 80 7c andi r24, 0xC0 ; 192 - 281e: 80 3c cpi r24, 0xC0 ; 192 - 2820: a1 f4 brne .+40 ; 0x284a - 2822: ce 01 movw r24, r28 - 2824: 88 0f add r24, r24 - 2826: 99 1f adc r25, r25 - 2828: 88 0f add r24, r24 - 282a: 99 1f adc r25, r25 - 282c: 88 0f add r24, r24 - 282e: 99 1f adc r25, r25 - 2830: 80 5f subi r24, 0xF0 ; 240 - 2832: 9d 4d sbci r25, 0xDD ; 221 - 2834: ef db rcall .-2082 ; 0x2014 - 2836: bc 01 movw r22, r24 - 2838: c7 01 movw r24, r14 - 283a: 60 d2 rcall .+1216 ; 0x2cfc <__udivmodhi4> - 283c: 89 2b or r24, r25 - 283e: 29 f0 breq .+10 ; 0x284a - 2840: f5 01 movw r30, r10 - 2842: 80 81 ld r24, Z - 2844: 8e 7f andi r24, 0xFE ; 254 - 2846: 80 83 st Z, r24 - 2848: 14 c0 rjmp .+40 ; 0x2872 - 284a: cc 0f add r28, r28 - 284c: dd 1f adc r29, r29 - 284e: cc 0f add r28, r28 - 2850: dd 1f adc r29, r29 - 2852: cc 0f add r28, r28 - 2854: dd 1f adc r29, r29 - 2856: c0 50 subi r28, 0x00 ; 0 - 2858: de 4d sbci r29, 0xDE ; 222 - 285a: 1a 8a std Y+18, r1 ; 0x12 - 285c: 1b 8a std Y+19, r1 ; 0x13 - 285e: 1e 8a std Y+22, r1 ; 0x16 - 2860: 1f 8a std Y+23, r1 ; 0x17 - 2862: 89 2d mov r24, r9 - 2864: 87 dc rcall .-1778 ; 0x2174 - 2866: 77 24 eor r7, r7 - 2868: 73 94 inc r7 - 286a: 03 c0 rjmp .+6 ; 0x2872 - 286c: 71 2c mov r7, r1 - 286e: 01 c0 rjmp .+2 ; 0x2872 - 2870: 71 2c mov r7, r1 - 2872: 87 2d mov r24, r7 - 2874: df 91 pop r29 - 2876: cf 91 pop r28 - 2878: 1f 91 pop r17 - 287a: 0f 91 pop r16 - 287c: ff 90 pop r15 - 287e: ef 90 pop r14 - 2880: df 90 pop r13 - 2882: cf 90 pop r12 - 2884: bf 90 pop r11 - 2886: af 90 pop r10 - 2888: 9f 90 pop r9 - 288a: 8f 90 pop r8 - 288c: 7f 90 pop r7 - 288e: 08 95 ret - -00002890 : - 2890: ff 92 push r15 - 2892: 0f 93 push r16 - 2894: 1f 93 push r17 - 2896: cf 93 push r28 - 2898: df 93 push r29 - 289a: 18 2f mov r17, r24 - 289c: f8 2e mov r15, r24 - 289e: ff 1c adc r15, r15 - 28a0: ff 24 eor r15, r15 - 28a2: ff 1c adc r15, r15 - 28a4: c8 2f mov r28, r24 - 28a6: cf 70 andi r28, 0x0F ; 15 - 28a8: d0 e0 ldi r29, 0x00 ; 0 - 28aa: cc 0f add r28, r28 - 28ac: dd 1f adc r29, r29 - 28ae: cf 0d add r28, r15 - 28b0: d1 1d adc r29, r1 - 28b2: d6 db rcall .-2132 ; 0x2060 - 28b4: dc 01 movw r26, r24 - 28b6: fe 01 movw r30, r28 - 28b8: ee 0f add r30, r30 - 28ba: ff 1f adc r31, r31 - 28bc: ee 0f add r30, r30 - 28be: ff 1f adc r31, r31 - 28c0: ee 0f add r30, r30 - 28c2: ff 1f adc r31, r31 - 28c4: e0 5f subi r30, 0xF0 ; 240 - 28c6: fd 4d sbci r31, 0xDD ; 221 - 28c8: 02 e0 ldi r16, 0x02 ; 2 - 28ca: 05 93 las Z, r16 - 28cc: 8c 91 ld r24, X - 28ce: 80 ff sbrs r24, 0 - 28d0: 22 c0 rjmp .+68 ; 0x2916 - 28d2: 8e 7f andi r24, 0xFE ; 254 - 28d4: 8c 93 st X, r24 - 28d6: 17 96 adiw r26, 0x07 ; 7 - 28d8: ed 91 ld r30, X+ - 28da: fc 91 ld r31, X - 28dc: 18 97 sbiw r26, 0x08 ; 8 - 28de: 30 97 sbiw r30, 0x00 ; 0 - 28e0: d1 f0 breq .+52 ; 0x2916 - 28e2: ff 20 and r15, r15 - 28e4: 59 f0 breq .+22 ; 0x28fc - 28e6: cc 0f add r28, r28 - 28e8: dd 1f adc r29, r29 - 28ea: cc 0f add r28, r28 - 28ec: dd 1f adc r29, r29 - 28ee: cc 0f add r28, r28 - 28f0: dd 1f adc r29, r29 - 28f2: c0 50 subi r28, 0x00 ; 0 - 28f4: de 4d sbci r29, 0xDE ; 222 - 28f6: 6e 89 ldd r22, Y+22 ; 0x16 - 28f8: 7f 89 ldd r23, Y+23 ; 0x17 - 28fa: 0a c0 rjmp .+20 ; 0x2910 - 28fc: cc 0f add r28, r28 - 28fe: dd 1f adc r29, r29 - 2900: cc 0f add r28, r28 - 2902: dd 1f adc r29, r29 - 2904: cc 0f add r28, r28 - 2906: dd 1f adc r29, r29 - 2908: c0 50 subi r28, 0x00 ; 0 - 290a: de 4d sbci r29, 0xDE ; 222 - 290c: 6a 89 ldd r22, Y+18 ; 0x12 - 290e: 7b 89 ldd r23, Y+19 ; 0x13 - 2910: 41 2f mov r20, r17 - 2912: 81 e0 ldi r24, 0x01 ; 1 - 2914: 09 95 icall - 2916: df 91 pop r29 - 2918: cf 91 pop r28 - 291a: 1f 91 pop r17 - 291c: 0f 91 pop r16 - 291e: ff 90 pop r15 - 2920: 08 95 ret - -00002922 : - 2922: cf 93 push r28 - 2924: c8 2f mov r28, r24 - 2926: b4 df rcall .-152 ; 0x2890 - 2928: ec 2f mov r30, r28 - 292a: ef 70 andi r30, 0x0F ; 15 - 292c: f0 e0 ldi r31, 0x00 ; 0 - 292e: ee 0f add r30, r30 - 2930: ff 1f adc r31, r31 - 2932: 8c 2f mov r24, r28 - 2934: cc 0f add r28, r28 - 2936: 99 0b sbc r25, r25 - 2938: 88 27 eor r24, r24 - 293a: 99 0f add r25, r25 - 293c: 88 1f adc r24, r24 - 293e: 99 27 eor r25, r25 - 2940: e8 0f add r30, r24 - 2942: f9 1f adc r31, r25 - 2944: ee 0f add r30, r30 - 2946: ff 1f adc r31, r31 - 2948: ee 0f add r30, r30 - 294a: ff 1f adc r31, r31 - 294c: ee 0f add r30, r30 - 294e: ff 1f adc r31, r31 - 2950: e0 50 subi r30, 0x00 ; 0 - 2952: fe 4d sbci r31, 0xDE ; 222 - 2954: 11 8a std Z+17, r1 ; 0x11 - 2956: cf 91 pop r28 - 2958: 08 95 ret - -0000295a : - 295a: 0f 93 push r16 - 295c: e8 2f mov r30, r24 - 295e: ef 70 andi r30, 0x0F ; 15 - 2960: f0 e0 ldi r31, 0x00 ; 0 - 2962: ee 0f add r30, r30 - 2964: ff 1f adc r31, r31 - 2966: 28 2f mov r18, r24 - 2968: 08 2e mov r0, r24 - 296a: 00 0c add r0, r0 - 296c: 33 0b sbc r19, r19 - 296e: 22 27 eor r18, r18 - 2970: 33 0f add r19, r19 - 2972: 22 1f adc r18, r18 - 2974: 33 27 eor r19, r19 - 2976: e2 0f add r30, r18 - 2978: f3 1f adc r31, r19 - 297a: df 01 movw r26, r30 - 297c: aa 0f add r26, r26 - 297e: bb 1f adc r27, r27 - 2980: aa 0f add r26, r26 - 2982: bb 1f adc r27, r27 - 2984: aa 0f add r26, r26 - 2986: bb 1f adc r27, r27 - 2988: a0 50 subi r26, 0x00 ; 0 - 298a: be 4d sbci r27, 0xDE ; 222 - 298c: 51 96 adiw r26, 0x11 ; 17 - 298e: 9c 91 ld r25, X - 2990: 51 97 sbiw r26, 0x11 ; 17 - 2992: 94 60 ori r25, 0x04 ; 4 - 2994: 51 96 adiw r26, 0x11 ; 17 - 2996: 9c 93 st X, r25 - 2998: ee 0f add r30, r30 - 299a: ff 1f adc r31, r31 - 299c: ee 0f add r30, r30 - 299e: ff 1f adc r31, r31 - 29a0: ee 0f add r30, r30 - 29a2: ff 1f adc r31, r31 - 29a4: e0 5f subi r30, 0xF0 ; 240 - 29a6: fd 4d sbci r31, 0xDD ; 221 - 29a8: 01 e0 ldi r16, 0x01 ; 1 - 29aa: 06 93 lac Z, r16 - 29ac: 71 df rcall .-286 ; 0x2890 - 29ae: 81 e0 ldi r24, 0x01 ; 1 - 29b0: 0f 91 pop r16 - 29b2: 08 95 ret - -000029b4 <__vector_125>: +0000269a <__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) { - 29b4: 1f 92 push r1 - 29b6: 0f 92 push r0 - 29b8: 0f b6 in r0, 0x3f ; 63 - 29ba: 0f 92 push r0 - 29bc: 11 24 eor r1, r1 - 29be: 0f 93 push r16 - 29c0: 2f 93 push r18 - 29c2: 3f 93 push r19 - 29c4: 4f 93 push r20 - 29c6: 5f 93 push r21 - 29c8: 6f 93 push r22 - 29ca: 7f 93 push r23 - 29cc: 8f 93 push r24 - 29ce: 9f 93 push r25 - 29d0: af 93 push r26 - 29d2: bf 93 push r27 - 29d4: ef 93 push r30 - 29d6: ff 93 push r31 + 269a: 1f 92 push r1 + 269c: 0f 92 push r0 + 269e: 0f b6 in r0, 0x3f ; 63 + 26a0: 0f 92 push r0 + 26a2: 11 24 eor r1, r1 + 26a4: 0f 93 push r16 + 26a6: 2f 93 push r18 + 26a8: 3f 93 push r19 + 26aa: 4f 93 push r20 + 26ac: 5f 93 push r21 + 26ae: 6f 93 push r22 + 26b0: 7f 93 push r23 + 26b2: 8f 93 push r24 + 26b4: 9f 93 push r25 + 26b6: af 93 push r26 + 26b8: bf 93 push r27 + 26ba: ef 93 push r30 + 26bc: ff 93 push r31 if (udd_is_start_of_frame_event()) { - 29d8: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 29dc: 88 23 and r24, r24 - 29de: 44 f4 brge .+16 ; 0x29f0 <__vector_125+0x3c> + 26be: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 26c2: 88 23 and r24, r24 + 26c4: 44 f4 brge .+16 ; 0x26d6 <__vector_125+0x3c> udd_ack_start_of_frame_event(); - 29e0: 80 e8 ldi r24, 0x80 ; 128 - 29e2: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 26c6: 80 e8 ldi r24, 0x80 ; 128 + 26c8: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udc_sof_notify(); - 29e6: 0e 94 5e 0b call 0x16bc ; 0x16bc + 26cc: 0e 94 db 09 call 0x13b6 ; 0x13b6 #ifdef UDC_SOF_EVENT UDC_SOF_EVENT(); - 29ea: 0e 94 cb 01 call 0x396 ; 0x396 + 26d0: 0e 94 d8 01 call 0x3b0 ; 0x3b0 #endif goto udd_interrupt_bus_event_end; - 29ee: 8a c0 rjmp .+276 ; 0x2b04 <__vector_125+0x150> + 26d4: 8a c0 rjmp .+276 ; 0x27ea <__vector_125+0x150> } static bool udd_ctrl_interrupt_error(void) { // Underflow only managed for control endpoint if (udd_is_underflow_event()) { - 29f0: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 29f4: 82 ff sbrs r24, 2 - 29f6: 20 c0 rjmp .+64 ; 0x2a38 <__vector_125+0x84> + 26d6: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 26da: 82 ff sbrs r24, 2 + 26dc: 20 c0 rjmp .+64 ; 0x271e <__vector_125+0x84> udd_ack_underflow_event(); - 29f8: 84 e0 ldi r24, 0x04 ; 4 - 29fa: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 26de: 84 e0 ldi r24, 0x04 ; 4 + 26e0: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> if (udd_control_in_underflow()) { - 29fe: 80 91 18 22 lds r24, 0x2218 ; 0x802218 - 2a02: 86 ff sbrs r24, 6 - 2a04: 7f c0 rjmp .+254 ; 0x2b04 <__vector_125+0x150> + 26e4: 80 91 18 22 lds r24, 0x2218 ; 0x802218 + 26e8: 86 ff sbrs r24, 6 + 26ea: 7f c0 rjmp .+254 ; 0x27ea <__vector_125+0x150> udd_control_out_clear_NACK0(); } static void udd_ctrl_underflow(void) { if (udd_is_tc_event() || udd_ctrl_interrupt_tc_setup()) { - 2a06: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2a0a: 81 fd sbrc r24, 1 - 2a0c: 7b c0 rjmp .+246 ; 0x2b04 <__vector_125+0x150> - 2a0e: 43 db rcall .-2426 ; 0x2096 - 2a10: 81 11 cpse r24, r1 - 2a12: 78 c0 rjmp .+240 ; 0x2b04 <__vector_125+0x150> + 26ec: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 26f0: 81 fd sbrc r24, 1 + 26f2: 7b c0 rjmp .+246 ; 0x27ea <__vector_125+0x150> + 26f4: 43 db rcall .-2426 ; 0x1d7c + 26f6: 81 11 cpse r24, r1 + 26f8: 78 c0 rjmp .+240 ; 0x27ea <__vector_125+0x150> return; // underflow ignored if a transfer complete has been no processed } if (UDD_EPCTRL_DATA_OUT == udd_ep_control_state) { - 2a14: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 2a18: 81 30 cpi r24, 0x01 ; 1 - 2a1a: 11 f4 brne .+4 ; 0x2a20 <__vector_125+0x6c> + 26fa: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 26fe: 81 30 cpi r24, 0x01 ; 1 + 2700: 11 f4 brne .+4 ; 0x2706 <__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(); - 2a1c: 79 da rcall .-2830 ; 0x1f10 - 2a1e: 72 c0 rjmp .+228 ; 0x2b04 <__vector_125+0x150> + 2702: 79 da rcall .-2830 ; 0x1bf6 + 2704: 72 c0 rjmp .+228 ; 0x27ea <__vector_125+0x150> } else if (UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP == udd_ep_control_state) { - 2a20: 84 30 cpi r24, 0x04 ; 4 - 2a22: 09 f0 breq .+2 ; 0x2a26 <__vector_125+0x72> - 2a24: 6f c0 rjmp .+222 ; 0x2b04 <__vector_125+0x150> + 2706: 84 30 cpi r24, 0x04 ; 4 + 2708: 09 f0 breq .+2 ; 0x270c <__vector_125+0x72> + 270a: 6f c0 rjmp .+222 ; 0x27ea <__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(); - 2a26: e9 e1 ldi r30, 0x19 ; 25 - 2a28: f2 e2 ldi r31, 0x22 ; 34 - 2a2a: 04 e0 ldi r16, 0x04 ; 4 - 2a2c: 05 93 las Z, r16 + 270c: e9 e1 ldi r30, 0x19 ; 25 + 270e: f2 e2 ldi r31, 0x22 ; 34 + 2710: 04 e0 ldi r16, 0x04 ; 4 + 2712: 05 93 las Z, r16 udd_control_out_enable_stall(); - 2a2e: e1 e1 ldi r30, 0x11 ; 17 - 2a30: f2 e2 ldi r31, 0x22 ; 34 - 2a32: 04 e0 ldi r16, 0x04 ; 4 - 2a34: 05 93 las Z, r16 - 2a36: 66 c0 rjmp .+204 ; 0x2b04 <__vector_125+0x150> + 2714: e1 e1 ldi r30, 0x11 ; 17 + 2716: f2 e2 ldi r31, 0x22 ; 34 + 2718: 04 e0 ldi r16, 0x04 ; 4 + 271a: 05 93 las Z, r16 + 271c: 66 c0 rjmp .+204 ; 0x27ea <__vector_125+0x150> udd_ctrl_underflow(); } return true; } // Overflow only managed for control endpoint if (udd_is_overflow_event()) { - 2a38: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2a3c: 81 ff sbrs r24, 1 - 2a3e: 5d c0 rjmp .+186 ; 0x2afa <__vector_125+0x146> + 271e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2722: 81 ff sbrs r24, 1 + 2724: 5d c0 rjmp .+186 ; 0x27e0 <__vector_125+0x146> udd_ack_overflow_event(); - 2a40: 82 e0 ldi r24, 0x02 ; 2 - 2a42: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2726: 82 e0 ldi r24, 0x02 ; 2 + 2728: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> if (udd_control_out_overflow()) { - 2a46: 80 91 10 22 lds r24, 0x2210 ; 0x802210 - 2a4a: 86 ff sbrs r24, 6 - 2a4c: 5b c0 rjmp .+182 ; 0x2b04 <__vector_125+0x150> + 272c: 80 91 10 22 lds r24, 0x2210 ; 0x802210 + 2730: 86 ff sbrs r24, 6 + 2732: 5b c0 rjmp .+182 ; 0x27ea <__vector_125+0x150> } } static void udd_ctrl_overflow(void) { if (udd_is_tc_event() || udd_ctrl_interrupt_tc_setup()) { - 2a4e: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2a52: 81 fd sbrc r24, 1 - 2a54: 57 c0 rjmp .+174 ; 0x2b04 <__vector_125+0x150> - 2a56: 1f db rcall .-2498 ; 0x2096 - 2a58: 81 11 cpse r24, r1 - 2a5a: 54 c0 rjmp .+168 ; 0x2b04 <__vector_125+0x150> + 2734: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2738: 81 fd sbrc r24, 1 + 273a: 57 c0 rjmp .+174 ; 0x27ea <__vector_125+0x150> + 273c: 1f db rcall .-2498 ; 0x1d7c + 273e: 81 11 cpse r24, r1 + 2740: 54 c0 rjmp .+168 ; 0x27ea <__vector_125+0x150> return; // overflow ignored if a transfer complete has been no processed } if (UDD_EPCTRL_DATA_IN == udd_ep_control_state) { - 2a5c: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 2a60: 82 30 cpi r24, 0x02 ; 2 - 2a62: 41 f4 brne .+16 ; 0x2a74 <__vector_125+0xc0> + 2742: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 2746: 82 30 cpi r24, 0x02 ; 2 + 2748: 41 f4 brne .+16 ; 0x275a <__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; - 2a64: 84 e0 ldi r24, 0x04 ; 4 - 2a66: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 274a: 84 e0 ldi r24, 0x04 ; 4 + 274c: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff // Valid reception of OUT packet on control endpoint udd_control_out_clear_NACK0(); - 2a6a: e0 e1 ldi r30, 0x10 ; 16 - 2a6c: f2 e2 ldi r31, 0x22 ; 34 - 2a6e: 02 e0 ldi r16, 0x02 ; 2 - 2a70: 06 93 lac Z, r16 - 2a72: 48 c0 rjmp .+144 ; 0x2b04 <__vector_125+0x150> + 2750: e0 e1 ldi r30, 0x10 ; 16 + 2752: f2 e2 ldi r31, 0x22 ; 34 + 2754: 02 e0 ldi r16, 0x02 ; 2 + 2756: 06 93 lac Z, r16 + 2758: 48 c0 rjmp .+144 ; 0x27ea <__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) { - 2a74: 83 30 cpi r24, 0x03 ; 3 - 2a76: 09 f0 breq .+2 ; 0x2a7a <__vector_125+0xc6> - 2a78: 45 c0 rjmp .+138 ; 0x2b04 <__vector_125+0x150> + 275a: 83 30 cpi r24, 0x03 ; 3 + 275c: 09 f0 breq .+2 ; 0x2760 <__vector_125+0xc6> + 275e: 45 c0 rjmp .+138 ; 0x27ea <__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(); - 2a7a: e9 e1 ldi r30, 0x19 ; 25 - 2a7c: f2 e2 ldi r31, 0x22 ; 34 - 2a7e: 04 e0 ldi r16, 0x04 ; 4 - 2a80: 05 93 las Z, r16 + 2760: e9 e1 ldi r30, 0x19 ; 25 + 2762: f2 e2 ldi r31, 0x22 ; 34 + 2764: 04 e0 ldi r16, 0x04 ; 4 + 2766: 05 93 las Z, r16 udd_control_out_enable_stall(); - 2a82: e1 e1 ldi r30, 0x11 ; 17 - 2a84: f2 e2 ldi r31, 0x22 ; 34 - 2a86: 04 e0 ldi r16, 0x04 ; 4 - 2a88: 05 93 las Z, r16 - 2a8a: 3c c0 rjmp .+120 ; 0x2b04 <__vector_125+0x150> + 2768: e1 e1 ldi r30, 0x11 ; 17 + 276a: f2 e2 ldi r31, 0x22 ; 34 + 276c: 04 e0 ldi r16, 0x04 ; 4 + 276e: 05 93 las Z, r16 + 2770: 3c c0 rjmp .+120 ; 0x27ea <__vector_125+0x150> if (udd_ctrl_interrupt_error()) { goto udd_interrupt_bus_event_end; } if (udd_is_reset_event()) { udd_ack_reset_event(); - 2a8c: 80 e1 ldi r24, 0x10 ; 16 - 2a8e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2772: 80 e1 ldi r24, 0x10 ; 16 + 2774: 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); - 2a92: 81 e0 ldi r24, 0x01 ; 1 - 2a94: fd de rcall .-518 ; 0x2890 + 2778: 81 e0 ldi r24, 0x01 ; 1 + 277a: fd de rcall .-518 ; 0x2576 udd_ep_abort(i | USB_EP_DIR_IN); - 2a96: 81 e8 ldi r24, 0x81 ; 129 - 2a98: fb de rcall .-522 ; 0x2890 + 277c: 81 e8 ldi r24, 0x81 ; 129 + 277e: fb de rcall .-522 ; 0x2576 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); - 2a9a: 82 e0 ldi r24, 0x02 ; 2 - 2a9c: f9 de rcall .-526 ; 0x2890 + 2780: 82 e0 ldi r24, 0x02 ; 2 + 2782: f9 de rcall .-526 ; 0x2576 udd_ep_abort(i | USB_EP_DIR_IN); - 2a9e: 82 e8 ldi r24, 0x82 ; 130 - 2aa0: f7 de rcall .-530 ; 0x2890 + 2784: 82 e8 ldi r24, 0x82 ; 130 + 2786: f7 de rcall .-530 ; 0x2576 } #endif udc_reset(); - 2aa2: 0e 94 39 0b call 0x1672 ; 0x1672 + 2788: 0e 94 b6 09 call 0x136c ; 0x136c // Reset USB address to 0 udd_set_device_address(0); - 2aa6: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 278c: 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); - 2aaa: e0 e0 ldi r30, 0x00 ; 0 - 2aac: f2 e2 ldi r31, 0x22 ; 34 - 2aae: 11 8a std Z+17, r1 ; 0x11 + 2790: e0 e0 ldi r30, 0x00 ; 0 + 2792: f2 e2 ldi r31, 0x22 ; 34 + 2794: 11 8a std Z+17, r1 ; 0x11 udd_endpoint_clear_status(ep_ctrl); - 2ab0: 96 e0 ldi r25, 0x06 ; 6 - 2ab2: 90 8b std Z+16, r25 ; 0x10 + 2796: 96 e0 ldi r25, 0x06 ; 6 + 2798: 90 8b std Z+16, r25 ; 0x10 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); - 2ab4: 83 e4 ldi r24, 0x43 ; 67 - 2ab6: 81 8b std Z+17, r24 ; 0x11 + 279a: 83 e4 ldi r24, 0x43 ; 67 + 279c: 81 8b std Z+17, r24 ; 0x11 #endif } // Enable endpoint ep_ctrl = udd_ep_get_ctrl(ep); udd_endpoint_disable(ep_ctrl); - 2ab8: 11 8e std Z+25, r1 ; 0x19 + 279e: 11 8e std Z+25, r1 ; 0x19 udd_endpoint_clear_status(ep_ctrl); - 2aba: 90 8f std Z+24, r25 ; 0x18 + 27a0: 90 8f std Z+24, r25 ; 0x18 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); - 2abc: 81 8f std Z+25, r24 ; 0x19 + 27a2: 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); - 2abe: 8b eb ldi r24, 0xBB ; 187 - 2ac0: 91 e2 ldi r25, 0x21 ; 33 - 2ac2: 84 8b std Z+20, r24 ; 0x14 - 2ac4: 95 8b std Z+21, r25 ; 0x15 + 27a4: 8b eb ldi r24, 0xBB ; 187 + 27a6: 91 e2 ldi r25, 0x21 ; 33 + 27a8: 84 8b std Z+20, r24 ; 0x14 + 27aa: 95 8b std Z+21, r25 ; 0x15 // Reset endpoint control management udd_ctrl_init(); - 2ac6: ef d9 rcall .-3106 ; 0x1ea6 + 27ac: ef d9 rcall .-3106 ; 0x1b8c goto udd_interrupt_bus_event_end; - 2ac8: 1d c0 rjmp .+58 ; 0x2b04 <__vector_125+0x150> + 27ae: 1d c0 rjmp .+58 ; 0x27ea <__vector_125+0x150> } if (udd_is_suspend_event()) { - 2aca: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2ace: 86 ff sbrs r24, 6 - 2ad0: 08 c0 rjmp .+16 ; 0x2ae2 <__vector_125+0x12e> + 27b0: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 27b4: 86 ff sbrs r24, 6 + 27b6: 08 c0 rjmp .+16 ; 0x27c8 <__vector_125+0x12e> udd_ack_suspend_event(); - 2ad2: 80 e4 ldi r24, 0x40 ; 64 - 2ad4: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 27b8: 80 e4 ldi r24, 0x40 ; 64 + 27ba: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udd_sleep_mode(false); // Enter in SUSPEND mode - 2ad8: 80 e0 ldi r24, 0x00 ; 0 - 2ada: bc d9 rcall .-3208 ; 0x1e54 + 27be: 80 e0 ldi r24, 0x00 ; 0 + 27c0: bc d9 rcall .-3208 ; 0x1b3a #ifdef UDC_SUSPEND_EVENT UDC_SUSPEND_EVENT(); - 2adc: 0e 94 c9 01 call 0x392 ; 0x392 + 27c2: 0e 94 d6 01 call 0x3ac ; 0x3ac #endif goto udd_interrupt_bus_event_end; - 2ae0: 11 c0 rjmp .+34 ; 0x2b04 <__vector_125+0x150> + 27c6: 11 c0 rjmp .+34 ; 0x27ea <__vector_125+0x150> } if (udd_is_resume_event()) { - 2ae2: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2ae6: 85 ff sbrs r24, 5 - 2ae8: 0d c0 rjmp .+26 ; 0x2b04 <__vector_125+0x150> + 27c8: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 27cc: 85 ff sbrs r24, 5 + 27ce: 0d c0 rjmp .+26 ; 0x27ea <__vector_125+0x150> udd_ack_resume_event(); - 2aea: 80 e2 ldi r24, 0x20 ; 32 - 2aec: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 27d0: 80 e2 ldi r24, 0x20 ; 32 + 27d2: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udd_sleep_mode(true); // Enter in power reduction mode - 2af0: 81 e0 ldi r24, 0x01 ; 1 - 2af2: b0 d9 rcall .-3232 ; 0x1e54 + 27d6: 81 e0 ldi r24, 0x01 ; 1 + 27d8: b0 d9 rcall .-3232 ; 0x1b3a #ifdef UDC_RESUME_EVENT UDC_RESUME_EVENT(); - 2af4: 0e 94 ca 01 call 0x394 ; 0x394 + 27da: 0e 94 d7 01 call 0x3ae ; 0x3ae #endif goto udd_interrupt_bus_event_end; - 2af8: 05 c0 rjmp .+10 ; 0x2b04 <__vector_125+0x150> + 27de: 05 c0 rjmp .+10 ; 0x27ea <__vector_125+0x150> } if (udd_ctrl_interrupt_error()) { goto udd_interrupt_bus_event_end; } if (udd_is_reset_event()) { - 2afa: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2afe: 84 fd sbrc r24, 4 - 2b00: c5 cf rjmp .-118 ; 0x2a8c <__vector_125+0xd8> - 2b02: e3 cf rjmp .-58 ; 0x2aca <__vector_125+0x116> + 27e0: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 27e4: 84 fd sbrc r24, 4 + 27e6: c5 cf rjmp .-118 ; 0x2772 <__vector_125+0xd8> + 27e8: e3 cf rjmp .-58 ; 0x27b0 <__vector_125+0x116> goto udd_interrupt_bus_event_end; } udd_interrupt_bus_event_end: return; } - 2b04: ff 91 pop r31 - 2b06: ef 91 pop r30 - 2b08: bf 91 pop r27 - 2b0a: af 91 pop r26 - 2b0c: 9f 91 pop r25 - 2b0e: 8f 91 pop r24 - 2b10: 7f 91 pop r23 - 2b12: 6f 91 pop r22 - 2b14: 5f 91 pop r21 - 2b16: 4f 91 pop r20 - 2b18: 3f 91 pop r19 - 2b1a: 2f 91 pop r18 - 2b1c: 0f 91 pop r16 - 2b1e: 0f 90 pop r0 - 2b20: 0f be out 0x3f, r0 ; 63 - 2b22: 0f 90 pop r0 - 2b24: 1f 90 pop r1 - 2b26: 18 95 reti + 27ea: ff 91 pop r31 + 27ec: ef 91 pop r30 + 27ee: bf 91 pop r27 + 27f0: af 91 pop r26 + 27f2: 9f 91 pop r25 + 27f4: 8f 91 pop r24 + 27f6: 7f 91 pop r23 + 27f8: 6f 91 pop r22 + 27fa: 5f 91 pop r21 + 27fc: 4f 91 pop r20 + 27fe: 3f 91 pop r19 + 2800: 2f 91 pop r18 + 2802: 0f 91 pop r16 + 2804: 0f 90 pop r0 + 2806: 0f be out 0x3f, r0 ; 63 + 2808: 0f 90 pop r0 + 280a: 1f 90 pop r1 + 280c: 18 95 reti -00002b28 <__vector_126>: +0000280e <__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) { - 2b28: 1f 92 push r1 - 2b2a: 0f 92 push r0 - 2b2c: 0f b6 in r0, 0x3f ; 63 - 2b2e: 0f 92 push r0 - 2b30: 11 24 eor r1, r1 - 2b32: 0f 93 push r16 - 2b34: 1f 93 push r17 - 2b36: 2f 93 push r18 - 2b38: 3f 93 push r19 - 2b3a: 4f 93 push r20 - 2b3c: 5f 93 push r21 - 2b3e: 6f 93 push r22 - 2b40: 7f 93 push r23 - 2b42: 8f 93 push r24 - 2b44: 9f 93 push r25 - 2b46: af 93 push r26 - 2b48: bf 93 push r27 - 2b4a: cf 93 push r28 - 2b4c: df 93 push r29 - 2b4e: ef 93 push r30 - 2b50: ff 93 push r31 + 280e: 1f 92 push r1 + 2810: 0f 92 push r0 + 2812: 0f b6 in r0, 0x3f ; 63 + 2814: 0f 92 push r0 + 2816: 11 24 eor r1, r1 + 2818: 0f 93 push r16 + 281a: 1f 93 push r17 + 281c: 2f 93 push r18 + 281e: 3f 93 push r19 + 2820: 4f 93 push r20 + 2822: 5f 93 push r21 + 2824: 6f 93 push r22 + 2826: 7f 93 push r23 + 2828: 8f 93 push r24 + 282a: 9f 93 push r25 + 282c: af 93 push r26 + 282e: bf 93 push r27 + 2830: cf 93 push r28 + 2832: df 93 push r29 + 2834: ef 93 push r30 + 2836: ff 93 push r31 int8_t rp; UDD_EP_t *ep_ctrl; udd_ep_id_t ep; #endif if (!udd_is_tc_event()) { - 2b52: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2b56: 81 fd sbrc r24, 1 - 2b58: 03 c0 rjmp .+6 ; 0x2b60 <__vector_126+0x38> + 2838: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 283c: 81 fd sbrc r24, 1 + 283e: 03 c0 rjmp .+6 ; 0x2846 <__vector_126+0x38> // If no other transfer complete // then check reception of SETUP packet on control endpoint if (udd_ctrl_interrupt_tc_setup()) { - 2b5a: 9d da rcall .-2758 ; 0x2096 - 2b5c: 81 11 cpse r24, r1 - 2b5e: b9 c0 rjmp .+370 ; 0x2cd2 <__vector_126+0x1aa> + 2840: 9d da rcall .-2758 ; 0x1d7c + 2842: 81 11 cpse r24, r1 + 2844: b9 c0 rjmp .+370 ; 0x29b8 <__vector_126+0x1aa> goto udd_interrupt_tc_end; } Assert(false); } // Check IN/OUT transfer complete on all endpoints udd_ack_tc_event(); - 2b60: 82 e0 ldi r24, 0x02 ; 2 - 2b62: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2846: 82 e0 ldi r24, 0x02 ; 2 + 2848: 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(); - 2b66: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 284c: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> i_fifo = 2 * (1 + ~rp); - 2b6a: 81 95 neg r24 - 2b6c: 88 0f add r24, r24 + 2850: 81 95 neg r24 + 2852: 88 0f add r24, r24 ad = ((uint16_t) udd_sram.ep_ctrl) - i_fifo; - 2b6e: e0 e1 ldi r30, 0x10 ; 16 - 2b70: f2 e2 ldi r31, 0x22 ; 34 - 2b72: e8 1b sub r30, r24 - 2b74: f1 09 sbc r31, r1 + 2854: e0 e1 ldi r30, 0x10 ; 16 + 2856: f2 e2 ldi r31, 0x22 ; 34 + 2858: e8 1b sub r30, r24 + 285a: 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); - 2b76: 20 81 ld r18, Z - 2b78: 31 81 ldd r19, Z+1 ; 0x01 - 2b7a: 20 51 subi r18, 0x10 ; 16 - 2b7c: 32 42 sbci r19, 0x22 ; 34 - 2b7e: 36 95 lsr r19 - 2b80: 27 95 ror r18 - 2b82: 36 95 lsr r19 - 2b84: 27 95 ror r18 - 2b86: 36 95 lsr r19 - 2b88: 27 95 ror r18 + 285c: 20 81 ld r18, Z + 285e: 31 81 ldd r19, Z+1 ; 0x01 + 2860: 20 51 subi r18, 0x10 ; 16 + 2862: 32 42 sbci r19, 0x22 ; 34 + 2864: 36 95 lsr r19 + 2866: 27 95 ror r18 + 2868: 36 95 lsr r19 + 286a: 27 95 ror r18 + 286c: 36 95 lsr r19 + 286e: 27 95 ror r18 ep = (ep_index / 2) + ((ep_index & 1) ? USB_EP_DIR_IN : 0); - 2b8a: 82 2f mov r24, r18 - 2b8c: 86 95 lsr r24 - 2b8e: 20 fd sbrc r18, 0 - 2b90: 02 c0 rjmp .+4 ; 0x2b96 <__vector_126+0x6e> - 2b92: 90 e0 ldi r25, 0x00 ; 0 - 2b94: 01 c0 rjmp .+2 ; 0x2b98 <__vector_126+0x70> - 2b96: 90 e8 ldi r25, 0x80 ; 128 - 2b98: 89 0f add r24, r25 + 2870: 82 2f mov r24, r18 + 2872: 86 95 lsr r24 + 2874: 20 fd sbrc r18, 0 + 2876: 02 c0 rjmp .+4 ; 0x287c <__vector_126+0x6e> + 2878: 90 e0 ldi r25, 0x00 ; 0 + 287a: 01 c0 rjmp .+2 ; 0x287e <__vector_126+0x70> + 287c: 90 e8 ldi r25, 0x80 ; 128 + 287e: 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) + - 2b9a: e8 2f mov r30, r24 - 2b9c: ef 70 andi r30, 0x0F ; 15 - 2b9e: f0 e0 ldi r31, 0x00 ; 0 - 2ba0: ee 0f add r30, r30 - 2ba2: ff 1f adc r31, r31 + 2880: e8 2f mov r30, r24 + 2882: ef 70 andi r30, 0x0F ; 15 + 2884: f0 e0 ldi r31, 0x00 ; 0 + 2886: ee 0f add r30, r30 + 2888: ff 1f adc r31, r31 ((ep & USB_EP_DIR_IN) ? 1 : 0))]; - 2ba4: 28 2f mov r18, r24 - 2ba6: 08 2e mov r0, r24 - 2ba8: 00 0c add r0, r0 - 2baa: 33 0b sbc r19, r19 - 2bac: 22 27 eor r18, r18 - 2bae: 33 0f add r19, r19 - 2bb0: 22 1f adc r18, r18 - 2bb2: 33 27 eor r19, r19 + 288a: 28 2f mov r18, r24 + 288c: 08 2e mov r0, r24 + 288e: 00 0c add r0, r0 + 2890: 33 0b sbc r19, r19 + 2892: 22 27 eor r18, r18 + 2894: 33 0f add r19, r19 + 2896: 22 1f adc r18, r18 + 2898: 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) + - 2bb4: e2 0f add r30, r18 - 2bb6: f3 1f adc r31, r19 + 289a: e2 0f add r30, r18 + 289c: 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)) { - 2bb8: df 01 movw r26, r30 - 2bba: aa 0f add r26, r26 - 2bbc: bb 1f adc r27, r27 - 2bbe: aa 0f add r26, r26 - 2bc0: bb 1f adc r27, r27 - 2bc2: aa 0f add r26, r26 - 2bc4: bb 1f adc r27, r27 - 2bc6: a0 5f subi r26, 0xF0 ; 240 - 2bc8: bd 4d sbci r27, 0xDD ; 221 - 2bca: 9c 91 ld r25, X - 2bcc: 95 ff sbrs r25, 5 - 2bce: 81 c0 rjmp .+258 ; 0x2cd2 <__vector_126+0x1aa> + 289e: df 01 movw r26, r30 + 28a0: aa 0f add r26, r26 + 28a2: bb 1f adc r27, r27 + 28a4: aa 0f add r26, r26 + 28a6: bb 1f adc r27, r27 + 28a8: aa 0f add r26, r26 + 28aa: bb 1f adc r27, r27 + 28ac: a0 5f subi r26, 0xF0 ; 240 + 28ae: bd 4d sbci r27, 0xDD ; 221 + 28b0: 9c 91 ld r25, X + 28b2: 95 ff sbrs r25, 5 + 28b4: 81 c0 rjmp .+258 ; 0x29b8 <__vector_126+0x1aa> return; // Error, TC is generated by Multipacket transfer } udd_endpoint_ack_transfer_complete(ep_ctrl); - 2bd0: fd 01 movw r30, r26 - 2bd2: 00 e2 ldi r16, 0x20 ; 32 - 2bd4: 06 93 lac Z, r16 + 28b6: fd 01 movw r30, r26 + 28b8: 00 e2 ldi r16, 0x20 ; 32 + 28ba: 06 93 lac Z, r16 // Check status on control endpoint if (ep == 0) { - 2bd6: 81 11 cpse r24, r1 - 2bd8: 77 c0 rjmp .+238 ; 0x2cc8 <__vector_126+0x1a0> + 28bc: 81 11 cpse r24, r1 + 28be: 77 c0 rjmp .+238 ; 0x29ae <__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) { - 2bda: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 2bde: 84 30 cpi r24, 0x04 ; 4 - 2be0: 19 f4 brne .+6 ; 0x2be8 <__vector_126+0xc0> + 28c0: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 28c4: 84 30 cpi r24, 0x04 ; 4 + 28c6: 19 f4 brne .+6 ; 0x28ce <__vector_126+0xc0> // Valid end of setup request udd_ctrl_endofrequest(); - 2be2: a4 d9 rcall .-3256 ; 0x1f2c + 28c8: a4 d9 rcall .-3256 ; 0x1c12 // Reinitializes control endpoint management udd_ctrl_init(); - 2be4: 60 d9 rcall .-3392 ; 0x1ea6 - 2be6: 75 c0 rjmp .+234 ; 0x2cd2 <__vector_126+0x1aa> + 28ca: 60 d9 rcall .-3392 ; 0x1b8c + 28cc: 75 c0 rjmp .+234 ; 0x29b8 <__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(); - 2be8: 00 91 12 22 lds r16, 0x2212 ; 0x802212 - 2bec: 10 91 13 22 lds r17, 0x2213 ; 0x802213 + 28ce: 00 91 12 22 lds r16, 0x2212 ; 0x802212 + 28d2: 10 91 13 22 lds r17, 0x2213 ; 0x802213 if (udd_g_ctrlreq.payload_size < (udd_ctrl_payload_nb_trans + nb_data)) { - 2bf0: 80 91 64 24 lds r24, 0x2464 ; 0x802464 - 2bf4: 90 91 65 24 lds r25, 0x2465 ; 0x802465 - 2bf8: c0 91 fb 21 lds r28, 0x21FB ; 0x8021fb - 2bfc: d0 91 fc 21 lds r29, 0x21FC ; 0x8021fc - 2c00: 9e 01 movw r18, r28 - 2c02: 20 0f add r18, r16 - 2c04: 31 1f adc r19, r17 - 2c06: 82 17 cp r24, r18 - 2c08: 93 07 cpc r25, r19 - 2c0a: 18 f4 brcc .+6 ; 0x2c12 <__vector_126+0xea> + 28d6: 80 91 69 24 lds r24, 0x2469 ; 0x802469 + 28da: 90 91 6a 24 lds r25, 0x246A ; 0x80246a + 28de: c0 91 fb 21 lds r28, 0x21FB ; 0x8021fb + 28e2: d0 91 fc 21 lds r29, 0x21FC ; 0x8021fc + 28e6: 9e 01 movw r18, r28 + 28e8: 20 0f add r18, r16 + 28ea: 31 1f adc r19, r17 + 28ec: 82 17 cp r24, r18 + 28ee: 93 07 cpc r25, r19 + 28f0: 18 f4 brcc .+6 ; 0x28f8 <__vector_126+0xea> // Payload buffer too small, ignore data remaining nb_data = udd_g_ctrlreq.payload_size - udd_ctrl_payload_nb_trans; - 2c0c: 8c 01 movw r16, r24 - 2c0e: 0c 1b sub r16, r28 - 2c10: 1d 0b sbc r17, r29 + 28f2: 8c 01 movw r16, r24 + 28f4: 0c 1b sub r16, r28 + 28f6: 1d 0b sbc r17, r29 } memcpy((uint8_t *) (udd_g_ctrlreq.payload + udd_ctrl_payload_nb_trans), - 2c12: 80 91 62 24 lds r24, 0x2462 ; 0x802462 - 2c16: 90 91 63 24 lds r25, 0x2463 ; 0x802463 - 2c1a: a8 01 movw r20, r16 - 2c1c: 6b eb ldi r22, 0xBB ; 187 - 2c1e: 71 e2 ldi r23, 0x21 ; 33 - 2c20: 8c 0f add r24, r28 - 2c22: 9d 1f adc r25, r29 - 2c24: 85 d0 rcall .+266 ; 0x2d30 + 28f8: 80 91 67 24 lds r24, 0x2467 ; 0x802467 + 28fc: 90 91 68 24 lds r25, 0x2468 ; 0x802468 + 2900: a8 01 movw r20, r16 + 2902: 6b eb ldi r22, 0xBB ; 187 + 2904: 71 e2 ldi r23, 0x21 ; 33 + 2906: 8c 0f add r24, r28 + 2908: 9d 1f adc r25, r29 + 290a: 85 d0 rcall .+266 ; 0x2a16 udd_ctrl_buffer, nb_data); udd_ctrl_payload_nb_trans += nb_data; - 2c26: c0 0f add r28, r16 - 2c28: d1 1f adc r29, r17 - 2c2a: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb - 2c2e: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc + 290c: c0 0f add r28, r16 + 290e: d1 1f adc r29, r17 + 2910: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb + 2914: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc if ((USB_DEVICE_EP_CTRL_SIZE != nb_data) || (udd_g_ctrlreq.req.wLength - 2c32: 00 34 cpi r16, 0x40 ; 64 - 2c34: 11 05 cpc r17, r1 - 2c36: 69 f4 brne .+26 ; 0x2c52 <__vector_126+0x12a> + 2918: 00 34 cpi r16, 0x40 ; 64 + 291a: 11 05 cpc r17, r1 + 291c: 69 f4 brne .+26 ; 0x2938 <__vector_126+0x12a> <= (udd_ctrl_prev_payload_nb_trans + udd_ctrl_payload_nb_trans))) { - 2c38: 80 91 fd 21 lds r24, 0x21FD ; 0x8021fd - 2c3c: 90 91 fe 21 lds r25, 0x21FE ; 0x8021fe - 2c40: 8c 0f add r24, r28 - 2c42: 9d 1f adc r25, r29 + 291e: 80 91 fd 21 lds r24, 0x21FD ; 0x8021fd + 2922: 90 91 fe 21 lds r25, 0x21FE ; 0x8021fe + 2926: 8c 0f add r24, r28 + 2928: 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 - 2c44: 20 91 60 24 lds r18, 0x2460 ; 0x802460 - 2c48: 30 91 61 24 lds r19, 0x2461 ; 0x802461 - 2c4c: 82 17 cp r24, r18 - 2c4e: 93 07 cpc r25, r19 - 2c50: 80 f0 brcs .+32 ; 0x2c72 <__vector_126+0x14a> + 292a: 20 91 65 24 lds r18, 0x2465 ; 0x802465 + 292e: 30 91 66 24 lds r19, 0x2466 ; 0x802466 + 2932: 82 17 cp r24, r18 + 2934: 93 07 cpc r25, r19 + 2936: 80 f0 brcs .+32 ; 0x2958 <__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; - 2c52: ea e5 ldi r30, 0x5A ; 90 - 2c54: f4 e2 ldi r31, 0x24 ; 36 - 2c56: c2 87 std Z+10, r28 ; 0x0a - 2c58: d3 87 std Z+11, r29 ; 0x0b + 2938: ef e5 ldi r30, 0x5F ; 95 + 293a: f4 e2 ldi r31, 0x24 ; 36 + 293c: c2 87 std Z+10, r28 ; 0x0a + 293e: d3 87 std Z+11, r29 ; 0x0b if (NULL != udd_g_ctrlreq.over_under_run) { - 2c5a: 06 84 ldd r0, Z+14 ; 0x0e - 2c5c: f7 85 ldd r31, Z+15 ; 0x0f - 2c5e: e0 2d mov r30, r0 - 2c60: 30 97 sbiw r30, 0x00 ; 0 - 2c62: 29 f0 breq .+10 ; 0x2c6e <__vector_126+0x146> + 2940: 06 84 ldd r0, Z+14 ; 0x0e + 2942: f7 85 ldd r31, Z+15 ; 0x0f + 2944: e0 2d mov r30, r0 + 2946: 30 97 sbiw r30, 0x00 ; 0 + 2948: 29 f0 breq .+10 ; 0x2954 <__vector_126+0x146> if (!udd_g_ctrlreq.over_under_run()) { - 2c64: 09 95 icall - 2c66: 81 11 cpse r24, r1 - 2c68: 02 c0 rjmp .+4 ; 0x2c6e <__vector_126+0x146> + 294a: 09 95 icall + 294c: 81 11 cpse r24, r1 + 294e: 02 c0 rjmp .+4 ; 0x2954 <__vector_126+0x146> // Stall ZLP udd_ctrl_stall_data(); - 2c6a: 44 d9 rcall .-3448 ; 0x1ef4 - 2c6c: 32 c0 rjmp .+100 ; 0x2cd2 <__vector_126+0x1aa> + 2950: 44 d9 rcall .-3448 ; 0x1bda + 2952: 32 c0 rjmp .+100 ; 0x29b8 <__vector_126+0x1aa> return; } } // Send IN ZLP to ACK setup request udd_ctrl_send_zlp_in(); - 2c6e: 50 d9 rcall .-3424 ; 0x1f10 - 2c70: 30 c0 rjmp .+96 ; 0x2cd2 <__vector_126+0x1aa> + 2954: 50 d9 rcall .-3424 ; 0x1bf6 + 2956: 30 c0 rjmp .+96 ; 0x29b8 <__vector_126+0x1aa> return; } if (udd_g_ctrlreq.payload_size == udd_ctrl_payload_nb_trans) { - 2c72: 80 91 64 24 lds r24, 0x2464 ; 0x802464 - 2c76: 90 91 65 24 lds r25, 0x2465 ; 0x802465 - 2c7a: c8 17 cp r28, r24 - 2c7c: d9 07 cpc r29, r25 - 2c7e: f9 f4 brne .+62 ; 0x2cbe <__vector_126+0x196> + 2958: 80 91 69 24 lds r24, 0x2469 ; 0x802469 + 295c: 90 91 6a 24 lds r25, 0x246A ; 0x80246a + 2960: c8 17 cp r28, r24 + 2962: d9 07 cpc r29, r25 + 2964: f9 f4 brne .+62 ; 0x29a4 <__vector_126+0x196> // Overrun then request a new payload buffer if (!udd_g_ctrlreq.over_under_run) { - 2c80: e0 91 68 24 lds r30, 0x2468 ; 0x802468 - 2c84: f0 91 69 24 lds r31, 0x2469 ; 0x802469 - 2c88: 30 97 sbiw r30, 0x00 ; 0 - 2c8a: 11 f4 brne .+4 ; 0x2c90 <__vector_126+0x168> + 2966: e0 91 6d 24 lds r30, 0x246D ; 0x80246d + 296a: f0 91 6e 24 lds r31, 0x246E ; 0x80246e + 296e: 30 97 sbiw r30, 0x00 ; 0 + 2970: 11 f4 brne .+4 ; 0x2976 <__vector_126+0x168> // No callback available to request a new payload buffer udd_ctrl_stall_data(); - 2c8c: 33 d9 rcall .-3482 ; 0x1ef4 - 2c8e: 21 c0 rjmp .+66 ; 0x2cd2 <__vector_126+0x1aa> + 2972: 33 d9 rcall .-3482 ; 0x1bda + 2974: 21 c0 rjmp .+66 ; 0x29b8 <__vector_126+0x1aa> return; } if (!udd_g_ctrlreq.over_under_run()) { - 2c90: 09 95 icall - 2c92: 81 11 cpse r24, r1 - 2c94: 02 c0 rjmp .+4 ; 0x2c9a <__vector_126+0x172> + 2976: 09 95 icall + 2978: 81 11 cpse r24, r1 + 297a: 02 c0 rjmp .+4 ; 0x2980 <__vector_126+0x172> // No new payload buffer delivered udd_ctrl_stall_data(); - 2c96: 2e d9 rcall .-3492 ; 0x1ef4 - 2c98: 1c c0 rjmp .+56 ; 0x2cd2 <__vector_126+0x1aa> + 297c: 2e d9 rcall .-3492 ; 0x1bda + 297e: 1c c0 rjmp .+56 ; 0x29b8 <__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; - 2c9a: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd - 2c9e: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe - 2ca2: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 2ca6: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 2caa: 82 0f add r24, r18 - 2cac: 93 1f adc r25, r19 - 2cae: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd - 2cb2: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe + 2980: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd + 2984: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe + 2988: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 298c: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 2990: 82 0f add r24, r18 + 2992: 93 1f adc r25, r19 + 2994: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd + 2998: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe // Reinit reception on payload buffer udd_ctrl_payload_nb_trans = 0; - 2cb6: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 2cba: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 299c: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 29a0: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc } // Free buffer of OUT control endpoint to authorize next reception udd_control_out_clear_NACK0(); - 2cbe: e0 e1 ldi r30, 0x10 ; 16 - 2cc0: f2 e2 ldi r31, 0x22 ; 34 - 2cc2: 02 e0 ldi r16, 0x02 ; 2 - 2cc4: 06 93 lac Z, r16 - 2cc6: 05 c0 rjmp .+10 ; 0x2cd2 <__vector_126+0x1aa> + 29a4: e0 e1 ldi r30, 0x10 ; 16 + 29a6: f2 e2 ldi r31, 0x22 ; 34 + 29a8: 02 e0 ldi r16, 0x02 ; 2 + 29aa: 06 93 lac Z, r16 + 29ac: 05 c0 rjmp .+10 ; 0x29b8 <__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)) { - 2cc8: 80 38 cpi r24, 0x80 ; 128 - 2cca: 11 f4 brne .+4 ; 0x2cd0 <__vector_126+0x1a8> + 29ae: 80 38 cpi r24, 0x80 ; 128 + 29b0: 11 f4 brne .+4 ; 0x29b6 <__vector_126+0x1a8> udd_ctrl_in_sent(); - 2ccc: 37 d9 rcall .-3474 ; 0x1f3c + 29b2: 37 d9 rcall .-3474 ; 0x1c22 goto udd_interrupt_tc_end; // Interrupt acked by control endpoint managed - 2cce: 01 c0 rjmp .+2 ; 0x2cd2 <__vector_126+0x1aa> + 29b4: 01 c0 rjmp .+2 ; 0x29b8 <__vector_126+0x1aa> } Assert(udd_ep_is_valid(ep)); // Manage end of transfer on endpoint bulk/interrupt/isochronous udd_ep_trans_complet(ep); - 2cd0: 51 da rcall .-2910 ; 0x2174 + 29b6: 51 da rcall .-2910 ; 0x1e5a } #endif udd_interrupt_tc_end: return; } - 2cd2: ff 91 pop r31 - 2cd4: ef 91 pop r30 - 2cd6: df 91 pop r29 - 2cd8: cf 91 pop r28 - 2cda: bf 91 pop r27 - 2cdc: af 91 pop r26 - 2cde: 9f 91 pop r25 - 2ce0: 8f 91 pop r24 - 2ce2: 7f 91 pop r23 - 2ce4: 6f 91 pop r22 - 2ce6: 5f 91 pop r21 - 2ce8: 4f 91 pop r20 - 2cea: 3f 91 pop r19 - 2cec: 2f 91 pop r18 - 2cee: 1f 91 pop r17 - 2cf0: 0f 91 pop r16 - 2cf2: 0f 90 pop r0 - 2cf4: 0f be out 0x3f, r0 ; 63 - 2cf6: 0f 90 pop r0 - 2cf8: 1f 90 pop r1 - 2cfa: 18 95 reti + 29b8: ff 91 pop r31 + 29ba: ef 91 pop r30 + 29bc: df 91 pop r29 + 29be: cf 91 pop r28 + 29c0: bf 91 pop r27 + 29c2: af 91 pop r26 + 29c4: 9f 91 pop r25 + 29c6: 8f 91 pop r24 + 29c8: 7f 91 pop r23 + 29ca: 6f 91 pop r22 + 29cc: 5f 91 pop r21 + 29ce: 4f 91 pop r20 + 29d0: 3f 91 pop r19 + 29d2: 2f 91 pop r18 + 29d4: 1f 91 pop r17 + 29d6: 0f 91 pop r16 + 29d8: 0f 90 pop r0 + 29da: 0f be out 0x3f, r0 ; 63 + 29dc: 0f 90 pop r0 + 29de: 1f 90 pop r1 + 29e0: 18 95 reti -00002cfc <__udivmodhi4>: - 2cfc: aa 1b sub r26, r26 - 2cfe: bb 1b sub r27, r27 - 2d00: 51 e1 ldi r21, 0x11 ; 17 - 2d02: 07 c0 rjmp .+14 ; 0x2d12 <__udivmodhi4_ep> +000029e2 <__udivmodhi4>: + 29e2: aa 1b sub r26, r26 + 29e4: bb 1b sub r27, r27 + 29e6: 51 e1 ldi r21, 0x11 ; 17 + 29e8: 07 c0 rjmp .+14 ; 0x29f8 <__udivmodhi4_ep> -00002d04 <__udivmodhi4_loop>: - 2d04: aa 1f adc r26, r26 - 2d06: bb 1f adc r27, r27 - 2d08: a6 17 cp r26, r22 - 2d0a: b7 07 cpc r27, r23 - 2d0c: 10 f0 brcs .+4 ; 0x2d12 <__udivmodhi4_ep> - 2d0e: a6 1b sub r26, r22 - 2d10: b7 0b sbc r27, r23 +000029ea <__udivmodhi4_loop>: + 29ea: aa 1f adc r26, r26 + 29ec: bb 1f adc r27, r27 + 29ee: a6 17 cp r26, r22 + 29f0: b7 07 cpc r27, r23 + 29f2: 10 f0 brcs .+4 ; 0x29f8 <__udivmodhi4_ep> + 29f4: a6 1b sub r26, r22 + 29f6: b7 0b sbc r27, r23 -00002d12 <__udivmodhi4_ep>: - 2d12: 88 1f adc r24, r24 - 2d14: 99 1f adc r25, r25 - 2d16: 5a 95 dec r21 - 2d18: a9 f7 brne .-22 ; 0x2d04 <__udivmodhi4_loop> - 2d1a: 80 95 com r24 - 2d1c: 90 95 com r25 - 2d1e: bc 01 movw r22, r24 - 2d20: cd 01 movw r24, r26 - 2d22: 08 95 ret +000029f8 <__udivmodhi4_ep>: + 29f8: 88 1f adc r24, r24 + 29fa: 99 1f adc r25, r25 + 29fc: 5a 95 dec r21 + 29fe: a9 f7 brne .-22 ; 0x29ea <__udivmodhi4_loop> + 2a00: 80 95 com r24 + 2a02: 90 95 com r25 + 2a04: bc 01 movw r22, r24 + 2a06: cd 01 movw r24, r26 + 2a08: 08 95 ret -00002d24 <__tablejump2__>: - 2d24: ee 0f add r30, r30 - 2d26: ff 1f adc r31, r31 - 2d28: 05 90 lpm r0, Z+ - 2d2a: f4 91 lpm r31, Z - 2d2c: e0 2d mov r30, r0 - 2d2e: 09 94 ijmp +00002a0a <__tablejump2__>: + 2a0a: ee 0f add r30, r30 + 2a0c: ff 1f adc r31, r31 + 2a0e: 05 90 lpm r0, Z+ + 2a10: f4 91 lpm r31, Z + 2a12: e0 2d mov r30, r0 + 2a14: 09 94 ijmp -00002d30 : - 2d30: fb 01 movw r30, r22 - 2d32: dc 01 movw r26, r24 - 2d34: 02 c0 rjmp .+4 ; 0x2d3a - 2d36: 01 90 ld r0, Z+ - 2d38: 0d 92 st X+, r0 - 2d3a: 41 50 subi r20, 0x01 ; 1 - 2d3c: 50 40 sbci r21, 0x00 ; 0 - 2d3e: d8 f7 brcc .-10 ; 0x2d36 - 2d40: 08 95 ret +00002a16 : + 2a16: fb 01 movw r30, r22 + 2a18: dc 01 movw r26, r24 + 2a1a: 02 c0 rjmp .+4 ; 0x2a20 + 2a1c: 01 90 ld r0, Z+ + 2a1e: 0d 92 st X+, r0 + 2a20: 41 50 subi r20, 0x01 ; 1 + 2a22: 50 40 sbci r21, 0x00 ; 0 + 2a24: d8 f7 brcc .-10 ; 0x2a1c + 2a26: 08 95 ret -00002d42 <_exit>: - 2d42: f8 94 cli +00002a28 <_exit>: + 2a28: f8 94 cli -00002d44 <__stop_program>: - 2d44: ff cf rjmp .-2 ; 0x2d44 <__stop_program> +00002a2a <__stop_program>: + 2a2a: ff cf rjmp .-2 ; 0x2a2a <__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 7e46466d..cd7b1935 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map @@ -16,12 +16,28 @@ c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/.. Allocating common symbols Common symbol size file +precalc_DMA_CH1_DESTADDR1_b2_state_equals_1 + 0x1 src/main.o +precalc_DMA_CH1_DESTADDR0_b2_state_equals_0 + 0x1 src/main.o debug_counter 0x4 src/main.o +precalc_DMA_CH0_DESTADDR1_b1_state_equals_1 + 0x1 src/main.o +precalc_DMA_CH0_DESTADDR1_b1_state_equals_0 + 0x1 src/main.o dacBuf_CH1 0x200 src/main.o +precalc_DMA_CH1_DESTADDR1_b2_state_equals_0 + 0x1 src/main.o udd_g_ctrlreq 0x10 src/main.o sleepmgr_locks 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o +precalc_DMA_CH0_DESTADDR0_b1_state_equals_0 + 0x1 src/main.o +precalc_DMA_CH0_DESTADDR0_b1_state_equals_1 + 0x1 src/main.o dacBuf_CH2 0x200 src/main.o isoBuf 0x5dc src/main.o +precalc_DMA_CH1_DESTADDR0_b2_state_equals_1 + 0x1 src/main.o Discarded input sections @@ -635,6 +651,7 @@ Discarded input sections .group 0x00000000 0x8 src/tiny_dma.o .group 0x00000000 0x8 src/tiny_dma.o .group 0x00000000 0x8 src/tiny_dma.o + .group 0x00000000 0x8 src/tiny_dma.o .text 0x00000000 0x0 src/tiny_dma.o .data 0x00000000 0x0 src/tiny_dma.o .bss 0x00000000 0x0 src/tiny_dma.o @@ -1926,7 +1943,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0x2d46 +.text 0x00000000 0x2a2c *(.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 @@ -1935,50 +1952,48 @@ END GROUP *(.progmem.gcc*) .progmem.gcc_sw_table.main_sof_action 0x000001fc 0x10 src/main.o - .progmem.gcc_sw_table.__vector_6 - 0x0000020c 0x10 src/tiny_dma.o .progmem.gcc_sw_table.udc_process_setup - 0x0000021c 0x40 src/ASF/common/services/usb/udc/udc.o + 0x0000020c 0x40 src/ASF/common/services/usb/udc/udc.o .progmem.gcc_sw_table.udd_ep_get_size - 0x0000025c 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x0000026a . = ALIGN (0x2) - 0x0000026a __trampolines_start = . + 0x0000024c 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x0000025a . = ALIGN (0x2) + 0x0000025a __trampolines_start = . *(.trampolines) - .trampolines 0x0000026a 0x0 linker stubs + .trampolines 0x0000025a 0x0 linker stubs *(.trampolines*) - 0x0000026a __trampolines_end = . + 0x0000025a __trampolines_end = . *libprintf_flt.a:*(.progmem.data) *libc.a:*(.progmem.data) *(.progmem*) - 0x0000026a . = ALIGN (0x2) + 0x0000025a . = ALIGN (0x2) *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) - 0x0000026a __ctors_start = . + 0x0000025a __ctors_start = . *(.ctors) - 0x0000026a __ctors_end = . - 0x0000026a __dtors_start = . + 0x0000025a __ctors_end = . + 0x0000025a __dtors_start = . *(.dtors) - 0x0000026a __dtors_end = . + 0x0000025a __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) - .init0 0x0000026a 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o - 0x0000026a __init + .init0 0x0000025a 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + 0x0000025a __init *(.init0) *(.init1) *(.init1) *(.init2) - .init2 0x0000026a 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + .init2 0x0000025a 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o *(.init2) *(.init3) *(.init3) *(.init4) - .init4 0x00000276 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_copy_data.o) - 0x00000276 __do_copy_data - .init4 0x0000028c 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_clear_bss.o) - 0x0000028c __do_clear_bss + .init4 0x00000266 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_copy_data.o) + 0x00000266 __do_copy_data + .init4 0x0000027c 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_clear_bss.o) + 0x0000027c __do_clear_bss *(.init4) *(.init5) *(.init5) @@ -1989,401 +2004,401 @@ END GROUP *(.init8) *(.init8) *(.init9) - .init9 0x0000029c 0x6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + .init9 0x0000028c 0x6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o *(.init9) *(.text) - .text 0x000002a2 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o - 0x000002a2 __vector_38 - 0x000002a2 __vector_104 - 0x000002a2 __vector_22 - 0x000002a2 __vector_63 - 0x000002a2 __vector_28 - 0x000002a2 __vector_67 - 0x000002a2 __vector_1 - 0x000002a2 __vector_119 - 0x000002a2 __vector_32 - 0x000002a2 __vector_75 - 0x000002a2 __vector_71 - 0x000002a2 __vector_91 - 0x000002a2 __vector_34 - 0x000002a2 __vector_62 - 0x000002a2 __vector_77 - 0x000002a2 __vector_102 - 0x000002a2 __vector_12 - 0x000002a2 __vector_55 - 0x000002a2 __vector_69 - 0x000002a2 __vector_81 - 0x000002a2 __vector_90 - 0x000002a2 __vector_46 - 0x000002a2 __bad_interrupt - 0x000002a2 __vector_122 - 0x000002a2 __vector_72 - 0x000002a2 __vector_114 - 0x000002a2 __vector_110 - 0x000002a2 __vector_31 - 0x000002a2 __vector_92 - 0x000002a2 __vector_35 - 0x000002a2 __vector_78 - 0x000002a2 __vector_74 - 0x000002a2 __vector_117 - 0x000002a2 __vector_39 - 0x000002a2 __vector_107 - 0x000002a2 __vector_3 - 0x000002a2 __vector_105 - 0x000002a2 __vector_98 - 0x000002a2 __vector_23 - 0x000002a2 __vector_68 - 0x000002a2 __vector_30 - 0x000002a2 __vector_73 - 0x000002a2 __vector_45 - 0x000002a2 __vector_25 - 0x000002a2 __vector_93 - 0x000002a2 __vector_61 - 0x000002a2 __vector_11 - 0x000002a2 __vector_54 - 0x000002a2 __vector_99 - 0x000002a2 __vector_13 - 0x000002a2 __vector_17 - 0x000002a2 __vector_19 - 0x000002a2 __vector_56 - 0x000002a2 __vector_49 - 0x000002a2 __vector_123 - 0x000002a2 __vector_41 - 0x000002a2 __vector_86 - 0x000002a2 __vector_100 - 0x000002a2 __vector_101 - 0x000002a2 __vector_64 - 0x000002a2 __vector_88 - 0x000002a2 __vector_109 - 0x000002a2 __vector_43 - 0x000002a2 __vector_27 - 0x000002a2 __vector_5 - 0x000002a2 __vector_113 - 0x000002a2 __vector_33 - 0x000002a2 __vector_76 - 0x000002a2 __vector_115 - 0x000002a2 __vector_47 - 0x000002a2 __vector_52 - 0x000002a2 __vector_37 - 0x000002a2 __vector_95 - 0x000002a2 __vector_103 - 0x000002a2 __vector_96 - 0x000002a2 __vector_89 - 0x000002a2 __vector_108 - 0x000002a2 __vector_4 - 0x000002a2 __vector_44 - 0x000002a2 __vector_82 - 0x000002a2 __vector_106 - 0x000002a2 __vector_118 - 0x000002a2 __vector_51 - 0x000002a2 __vector_2 - 0x000002a2 __vector_21 - 0x000002a2 __vector_15 - 0x000002a2 __vector_66 - 0x000002a2 __vector_36 - 0x000002a2 __vector_79 - 0x000002a2 __vector_58 - 0x000002a2 __vector_70 - 0x000002a2 __vector_29 - 0x000002a2 __vector_60 - 0x000002a2 __vector_121 - 0x000002a2 __vector_40 - 0x000002a2 __vector_85 - 0x000002a2 __vector_94 - 0x000002a2 __vector_26 - 0x000002a2 __vector_48 - 0x000002a2 __vector_124 - 0x000002a2 __vector_116 - 0x000002a2 __vector_112 - 0x000002a2 __vector_111 - 0x000002a2 __vector_80 - 0x000002a2 __vector_14 - 0x000002a2 __vector_84 - 0x000002a2 __vector_57 - 0x000002a2 __vector_53 - 0x000002a2 __vector_10 - 0x000002a2 __vector_50 - 0x000002a2 __vector_16 - 0x000002a2 __vector_59 - 0x000002a2 __vector_18 - 0x000002a2 __vector_97 - 0x000002a2 __vector_20 - 0x000002a2 __vector_42 - 0x000002a2 __vector_87 - 0x000002a2 __vector_65 - 0x000002a2 __vector_120 - 0x000002a4 . = ALIGN (0x2) + .text 0x00000292 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + 0x00000292 __vector_38 + 0x00000292 __vector_104 + 0x00000292 __vector_22 + 0x00000292 __vector_63 + 0x00000292 __vector_28 + 0x00000292 __vector_67 + 0x00000292 __vector_1 + 0x00000292 __vector_119 + 0x00000292 __vector_32 + 0x00000292 __vector_75 + 0x00000292 __vector_71 + 0x00000292 __vector_91 + 0x00000292 __vector_34 + 0x00000292 __vector_62 + 0x00000292 __vector_77 + 0x00000292 __vector_102 + 0x00000292 __vector_12 + 0x00000292 __vector_55 + 0x00000292 __vector_69 + 0x00000292 __vector_81 + 0x00000292 __vector_90 + 0x00000292 __vector_46 + 0x00000292 __bad_interrupt + 0x00000292 __vector_122 + 0x00000292 __vector_72 + 0x00000292 __vector_114 + 0x00000292 __vector_110 + 0x00000292 __vector_31 + 0x00000292 __vector_92 + 0x00000292 __vector_35 + 0x00000292 __vector_78 + 0x00000292 __vector_74 + 0x00000292 __vector_117 + 0x00000292 __vector_39 + 0x00000292 __vector_107 + 0x00000292 __vector_3 + 0x00000292 __vector_105 + 0x00000292 __vector_98 + 0x00000292 __vector_23 + 0x00000292 __vector_68 + 0x00000292 __vector_30 + 0x00000292 __vector_73 + 0x00000292 __vector_45 + 0x00000292 __vector_25 + 0x00000292 __vector_93 + 0x00000292 __vector_61 + 0x00000292 __vector_11 + 0x00000292 __vector_54 + 0x00000292 __vector_99 + 0x00000292 __vector_13 + 0x00000292 __vector_17 + 0x00000292 __vector_19 + 0x00000292 __vector_56 + 0x00000292 __vector_49 + 0x00000292 __vector_123 + 0x00000292 __vector_41 + 0x00000292 __vector_86 + 0x00000292 __vector_100 + 0x00000292 __vector_101 + 0x00000292 __vector_64 + 0x00000292 __vector_88 + 0x00000292 __vector_109 + 0x00000292 __vector_43 + 0x00000292 __vector_27 + 0x00000292 __vector_5 + 0x00000292 __vector_113 + 0x00000292 __vector_33 + 0x00000292 __vector_76 + 0x00000292 __vector_115 + 0x00000292 __vector_47 + 0x00000292 __vector_52 + 0x00000292 __vector_37 + 0x00000292 __vector_95 + 0x00000292 __vector_103 + 0x00000292 __vector_96 + 0x00000292 __vector_89 + 0x00000292 __vector_108 + 0x00000292 __vector_4 + 0x00000292 __vector_44 + 0x00000292 __vector_82 + 0x00000292 __vector_106 + 0x00000292 __vector_118 + 0x00000292 __vector_51 + 0x00000292 __vector_2 + 0x00000292 __vector_21 + 0x00000292 __vector_15 + 0x00000292 __vector_66 + 0x00000292 __vector_36 + 0x00000292 __vector_79 + 0x00000292 __vector_58 + 0x00000292 __vector_70 + 0x00000292 __vector_29 + 0x00000292 __vector_60 + 0x00000292 __vector_121 + 0x00000292 __vector_40 + 0x00000292 __vector_85 + 0x00000292 __vector_94 + 0x00000292 __vector_26 + 0x00000292 __vector_48 + 0x00000292 __vector_124 + 0x00000292 __vector_116 + 0x00000292 __vector_112 + 0x00000292 __vector_111 + 0x00000292 __vector_80 + 0x00000292 __vector_14 + 0x00000292 __vector_84 + 0x00000292 __vector_57 + 0x00000292 __vector_53 + 0x00000292 __vector_10 + 0x00000292 __vector_50 + 0x00000292 __vector_16 + 0x00000292 __vector_59 + 0x00000292 __vector_18 + 0x00000292 __vector_97 + 0x00000292 __vector_20 + 0x00000292 __vector_42 + 0x00000292 __vector_87 + 0x00000292 __vector_65 + 0x00000292 __vector_120 + 0x00000294 . = ALIGN (0x2) *(.text.*) .text.tiny_dig_setup - 0x000002a4 0xe src/tiny_dig.o - 0x000002a4 tiny_dig_setup + 0x00000294 0xe src/tiny_dig.o + 0x00000294 tiny_dig_setup .text.board_init - 0x000002b2 0x2 src/ASF/common/boards/user_board/init.o - 0x000002b2 board_init + 0x000002a2 0x2 src/ASF/common/boards/user_board/init.o + 0x000002a2 board_init .text.iso_callback - 0x000002b4 0x24 src/main.o - 0x000002b4 iso_callback + 0x000002a4 0x22 src/main.o + 0x000002a4 iso_callback .text.iso_callback2 - 0x000002d8 0x24 src/main.o - 0x000002d8 iso_callback2 + 0x000002c6 0x22 src/main.o + 0x000002c6 iso_callback2 .text.iso_callback3 - 0x000002fc 0x24 src/main.o - 0x000002fc iso_callback3 - .text.main 0x00000320 0x72 src/main.o - 0x00000320 main + 0x000002e8 0x22 src/main.o + 0x000002e8 iso_callback3 + .text.main 0x0000030a 0xa2 src/main.o + 0x0000030a main .text.main_suspend_action - 0x00000392 0x2 src/main.o - 0x00000392 main_suspend_action + 0x000003ac 0x2 src/main.o + 0x000003ac main_suspend_action .text.main_resume_action - 0x00000394 0x2 src/main.o - 0x00000394 main_resume_action + 0x000003ae 0x2 src/main.o + 0x000003ae main_resume_action .text.main_sof_action - 0x00000396 0x42 src/main.o - 0x00000396 main_sof_action + 0x000003b0 0x46 src/main.o + 0x000003b0 main_sof_action .text.main_vendor_enable - 0x000003d8 0x3a src/main.o - 0x000003d8 main_vendor_enable + 0x000003f6 0x34 src/main.o + 0x000003f6 main_vendor_enable .text.main_vendor_disable - 0x00000412 0x6 src/main.o - 0x00000412 main_vendor_disable + 0x0000042a 0x6 src/main.o + 0x0000042a main_vendor_disable .text.main_setup_out_received - 0x00000418 0x4 src/main.o - 0x00000418 main_setup_out_received + 0x00000430 0x4 src/main.o + 0x00000430 main_setup_out_received .text.main_setup_in_received - 0x0000041c 0x4 src/main.o - 0x0000041c main_setup_in_received + 0x00000434 0x4 src/main.o + 0x00000434 main_setup_in_received .text.tiny_adc_ch0setup - 0x00000420 0x2a src/tiny_adc.o - 0x00000420 tiny_adc_ch0setup + 0x00000438 0x2a src/tiny_adc.o + 0x00000438 tiny_adc_ch0setup .text.tiny_adc_ch1setup - 0x0000044a 0x14 src/tiny_adc.o - 0x0000044a tiny_adc_ch1setup + 0x00000462 0x14 src/tiny_adc.o + 0x00000462 tiny_adc_ch1setup .text.tiny_adc_pid_setup - 0x0000045e 0x14 src/tiny_adc.o - 0x0000045e tiny_adc_pid_setup + 0x00000476 0x14 src/tiny_adc.o + 0x00000476 tiny_adc_pid_setup .text.ReadCalibrationByte - 0x00000472 0x12 src/tiny_adc.o - 0x00000472 ReadCalibrationByte + 0x0000048a 0x12 src/tiny_adc.o + 0x0000048a ReadCalibrationByte .text.tiny_adc_setup - 0x00000484 0x7a src/tiny_adc.o - 0x00000484 tiny_adc_setup + 0x0000049c 0x7a src/tiny_adc.o + 0x0000049c tiny_adc_setup .text.tiny_dac_setup - 0x000004fe 0x48 src/tiny_dac.o - 0x000004fe tiny_dac_setup + 0x00000516 0x48 src/tiny_dac.o + 0x00000516 tiny_dac_setup .text.tiny_dma_setup - 0x00000546 0x12 src/tiny_dma.o - 0x00000546 tiny_dma_setup + 0x0000055e 0x12 src/tiny_dma.o + 0x0000055e tiny_dma_setup .text.tiny_dma_flush - 0x00000558 0x24 src/tiny_dma.o - 0x00000558 tiny_dma_flush + 0x00000570 0x28 src/tiny_dma.o + 0x00000570 tiny_dma_flush .text.tiny_dma_set_mode_0 - 0x0000057c 0xe6 src/tiny_dma.o - 0x0000057c tiny_dma_set_mode_0 + 0x00000598 0xe6 src/tiny_dma.o + 0x00000598 tiny_dma_set_mode_0 .text.tiny_dma_loop_mode_0 - 0x00000662 0x2 src/tiny_dma.o - 0x00000662 tiny_dma_loop_mode_0 + 0x0000067e 0x2 src/tiny_dma.o + 0x0000067e tiny_dma_loop_mode_0 .text.tiny_dma_set_mode_1 - 0x00000664 0xf0 src/tiny_dma.o - 0x00000664 tiny_dma_set_mode_1 + 0x00000680 0xf0 src/tiny_dma.o + 0x00000680 tiny_dma_set_mode_1 .text.tiny_dma_loop_mode_1 - 0x00000754 0x2 src/tiny_dma.o - 0x00000754 tiny_dma_loop_mode_1 + 0x00000770 0x2 src/tiny_dma.o + 0x00000770 tiny_dma_loop_mode_1 .text.tiny_dma_set_mode_2 - 0x00000756 0xea src/tiny_dma.o - 0x00000756 tiny_dma_set_mode_2 + 0x00000772 0xee src/tiny_dma.o + 0x00000772 tiny_dma_set_mode_2 .text.tiny_dma_loop_mode_2 - 0x00000840 0x2 src/tiny_dma.o - 0x00000840 tiny_dma_loop_mode_2 + 0x00000860 0x2 src/tiny_dma.o + 0x00000860 tiny_dma_loop_mode_2 .text.tiny_dma_set_mode_3 - 0x00000842 0xf8 src/tiny_dma.o - 0x00000842 tiny_dma_set_mode_3 + 0x00000862 0xf8 src/tiny_dma.o + 0x00000862 tiny_dma_set_mode_3 .text.tiny_dma_loop_mode_3 - 0x0000093a 0x2 src/tiny_dma.o - 0x0000093a tiny_dma_loop_mode_3 + 0x0000095a 0x2 src/tiny_dma.o + 0x0000095a tiny_dma_loop_mode_3 .text.tiny_dma_set_mode_4 - 0x0000093c 0xec src/tiny_dma.o - 0x0000093c tiny_dma_set_mode_4 + 0x0000095c 0xec src/tiny_dma.o + 0x0000095c tiny_dma_set_mode_4 .text.tiny_dma_loop_mode_4 - 0x00000a28 0x2 src/tiny_dma.o - 0x00000a28 tiny_dma_loop_mode_4 + 0x00000a48 0x2 src/tiny_dma.o + 0x00000a48 tiny_dma_loop_mode_4 .text.tiny_dma_set_mode_5 - 0x00000a2a 0x90 src/tiny_dma.o - 0x00000a2a tiny_dma_set_mode_5 + 0x00000a4a 0x90 src/tiny_dma.o + 0x00000a4a tiny_dma_set_mode_5 .text.tiny_dma_set_mode_6 - 0x00000aba 0xc4 src/tiny_dma.o - 0x00000aba tiny_dma_set_mode_6 + 0x00000ada 0xc4 src/tiny_dma.o + 0x00000ada tiny_dma_set_mode_6 .text.tiny_dma_loop_mode_6 - 0x00000b7e 0x2 src/tiny_dma.o - 0x00000b7e tiny_dma_loop_mode_6 + 0x00000b9e 0x2 src/tiny_dma.o + 0x00000b9e tiny_dma_loop_mode_6 .text.tiny_dma_set_mode_7 - 0x00000b80 0xc4 src/tiny_dma.o - 0x00000b80 tiny_dma_set_mode_7 + 0x00000ba0 0xc4 src/tiny_dma.o + 0x00000ba0 tiny_dma_set_mode_7 .text.tiny_dma_loop_mode_7 - 0x00000c44 0x2 src/tiny_dma.o - 0x00000c44 tiny_dma_loop_mode_7 + 0x00000c64 0x2 src/tiny_dma.o + 0x00000c64 tiny_dma_loop_mode_7 .text.__vector_6 - 0x00000c46 0x270 src/tiny_dma.o - 0x00000c46 __vector_6 + 0x00000c66 0x82 src/tiny_dma.o + 0x00000c66 __vector_6 .text.__vector_7 - 0x00000eb6 0xde src/tiny_dma.o - 0x00000eb6 __vector_7 + 0x00000ce8 0x80 src/tiny_dma.o + 0x00000ce8 __vector_7 .text.__vector_8 - 0x00000f94 0x82 src/tiny_dma.o - 0x00000f94 __vector_8 + 0x00000d68 0x14 src/tiny_dma.o + 0x00000d68 __vector_8 .text.__vector_9 - 0x00001016 0x8a src/tiny_dma.o - 0x00001016 __vector_9 + 0x00000d7c 0x14 src/tiny_dma.o + 0x00000d7c __vector_9 .text.tiny_timer_setup - 0x000010a0 0x76 src/tiny_timer.o - 0x000010a0 tiny_timer_setup + 0x00000d90 0x8a src/tiny_timer.o + 0x00000d90 tiny_timer_setup .text.__vector_83 - 0x00001116 0xf4 src/tiny_timer.o - 0x00001116 __vector_83 + 0x00000e1a 0xf4 src/tiny_timer.o + 0x00000e1a __vector_83 .text.tiny_uart_setup - 0x0000120a 0x34 src/tiny_uart.o - 0x0000120a tiny_uart_setup + 0x00000f0e 0x30 src/tiny_uart.o + 0x00000f0e tiny_uart_setup .text.tiny_spi_setup - 0x0000123e 0x1e src/tiny_uart.o - 0x0000123e tiny_spi_setup + 0x00000f3e 0x1c src/tiny_uart.o + 0x00000f3e tiny_spi_setup .text.__vector_24 - 0x0000125c 0x16 src/tiny_uart.o - 0x0000125c __vector_24 + 0x00000f5a 0x16 src/tiny_uart.o + 0x00000f5a __vector_24 .text.sysclk_init - 0x00001272 0xe0 src/ASF/common/services/clock/xmega/sysclk.o - 0x00001272 sysclk_init + 0x00000f70 0xe0 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000f70 sysclk_init .text.sysclk_enable_module - 0x00001352 0x18 src/ASF/common/services/clock/xmega/sysclk.o - 0x00001352 sysclk_enable_module + 0x00001050 0x18 src/ASF/common/services/clock/xmega/sysclk.o + 0x00001050 sysclk_enable_module .text.sysclk_enable_usb - 0x0000136a 0x6e src/ASF/common/services/clock/xmega/sysclk.o - 0x0000136a sysclk_enable_usb + 0x00001068 0x6e src/ASF/common/services/clock/xmega/sysclk.o + 0x00001068 sysclk_enable_usb .text.udi_vendor_getsetting - 0x000013d8 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000013d8 udi_vendor_getsetting + 0x000010d6 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000010d6 udi_vendor_getsetting .text.udi_vendor_enable - 0x000013de 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000013de udi_vendor_enable + 0x000010dc 0x16 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000010dc udi_vendor_enable .text.udi_vendor_disable - 0x000013f6 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000013f6 udi_vendor_disable + 0x000010f2 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000010f2 udi_vendor_disable .text.udi_vendor_setup - 0x00001402 0x4e src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001402 udi_vendor_setup + 0x000010fe 0x4c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000010fe udi_vendor_setup .text.udi_vendor_iso_in_run - 0x00001450 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001450 udi_vendor_iso_in_run + 0x0000114a 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000114a udi_vendor_iso_in_run .text.udi_vendor_iso_in_run2 - 0x00001468 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001468 udi_vendor_iso_in_run2 + 0x00001162 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001162 udi_vendor_iso_in_run2 .text.udi_vendor_iso_in_run3 - 0x00001480 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001480 udi_vendor_iso_in_run3 + 0x0000117a 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000117a udi_vendor_iso_in_run3 .text.udc_next_desc_in_iface - 0x00001498 0x64 src/ASF/common/services/usb/udc/udc.o + 0x00001192 0x64 src/ASF/common/services/usb/udc/udc.o .text.udc_valid_address - 0x000014fc 0xc src/ASF/common/services/usb/udc/udc.o + 0x000011f6 0xc src/ASF/common/services/usb/udc/udc.o .text.udc_update_iface_desc - 0x00001508 0x74 src/ASF/common/services/usb/udc/udc.o + 0x00001202 0x74 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_disable - 0x0000157c 0x84 src/ASF/common/services/usb/udc/udc.o + 0x00001276 0x84 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_enable - 0x00001600 0x64 src/ASF/common/services/usb/udc/udc.o + 0x000012fa 0x64 src/ASF/common/services/usb/udc/udc.o .text.udc_get_interface_desc - 0x00001664 0xa src/ASF/common/services/usb/udc/udc.o - 0x00001664 udc_get_interface_desc + 0x0000135e 0xa src/ASF/common/services/usb/udc/udc.o + 0x0000135e udc_get_interface_desc .text.udc_start - 0x0000166e 0x4 src/ASF/common/services/usb/udc/udc.o - 0x0000166e udc_start + 0x00001368 0x4 src/ASF/common/services/usb/udc/udc.o + 0x00001368 udc_start .text.udc_reset - 0x00001672 0x4a src/ASF/common/services/usb/udc/udc.o - 0x00001672 udc_reset + 0x0000136c 0x4a src/ASF/common/services/usb/udc/udc.o + 0x0000136c udc_reset .text.udc_sof_notify - 0x000016bc 0x60 src/ASF/common/services/usb/udc/udc.o - 0x000016bc udc_sof_notify + 0x000013b6 0x60 src/ASF/common/services/usb/udc/udc.o + 0x000013b6 udc_sof_notify .text.udc_process_setup - 0x0000171c 0x718 src/ASF/common/services/usb/udc/udc.o - 0x0000171c udc_process_setup + 0x00001416 0x704 src/ASF/common/services/usb/udc/udc.o + 0x00001416 udc_process_setup .text.ccp_write_io - 0x00001e34 0xc src/ASF/xmega/drivers/cpu/ccp.o - 0x00001e34 ccp_write_io + 0x00001b1a 0xc src/ASF/xmega/drivers/cpu/ccp.o + 0x00001b1a ccp_write_io .text.nvm_read_byte - 0x00001e40 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o - 0x00001e40 nvm_read_byte + 0x00001b26 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o + 0x00001b26 nvm_read_byte .text.udd_sleep_mode - 0x00001e54 0x52 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b3a 0x52 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_init - 0x00001ea6 0x4e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b8c 0x4e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_stall_data - 0x00001ef4 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001bda 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_send_zlp_in - 0x00001f10 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001bf6 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_endofrequest - 0x00001f2c 0x10 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001c12 0x10 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_in_sent - 0x00001f3c 0xd8 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001c22 0xd8 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_size - 0x00002014 0x4c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001cfa 0x4c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_job - 0x00002060 0x36 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001d46 0x36 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_interrupt_tc_setup - 0x00002096 0xde src/ASF/xmega/drivers/usb/usb_device.o + 0x00001d7c 0xde src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_trans_complet - 0x00002174 0x2b4 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001e5a 0x2b4 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_attach - 0x00002428 0x46 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002428 udd_attach + 0x0000210e 0x46 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000210e udd_attach .text.udd_enable - 0x0000246e 0x10a src/ASF/xmega/drivers/usb/usb_device.o - 0x0000246e udd_enable + 0x00002154 0x10a src/ASF/xmega/drivers/usb/usb_device.o + 0x00002154 udd_enable .text.udd_set_address - 0x00002578 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002578 udd_set_address + 0x0000225e 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000225e udd_set_address .text.udd_getaddress - 0x0000257e 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000257e udd_getaddress + 0x00002264 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002264 udd_getaddress .text.udd_set_setup_payload - 0x00002584 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x00002584 udd_set_setup_payload + 0x0000226a 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x0000226a udd_set_setup_payload .text.udd_ep_alloc - 0x00002592 0xea src/ASF/xmega/drivers/usb/usb_device.o - 0x00002592 udd_ep_alloc + 0x00002278 0xea src/ASF/xmega/drivers/usb/usb_device.o + 0x00002278 udd_ep_alloc .text.udd_ep_is_halted - 0x0000267c 0x36 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000267c udd_ep_is_halted + 0x00002362 0x36 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002362 udd_ep_is_halted .text.udd_ep_clear_halt - 0x000026b2 0x6a src/ASF/xmega/drivers/usb/usb_device.o - 0x000026b2 udd_ep_clear_halt + 0x00002398 0x6a src/ASF/xmega/drivers/usb/usb_device.o + 0x00002398 udd_ep_clear_halt .text.udd_ep_run - 0x0000271c 0x174 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000271c udd_ep_run + 0x00002402 0x174 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002402 udd_ep_run .text.udd_ep_abort - 0x00002890 0x92 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002890 udd_ep_abort + 0x00002576 0x92 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002576 udd_ep_abort .text.udd_ep_free - 0x00002922 0x38 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002922 udd_ep_free + 0x00002608 0x38 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002608 udd_ep_free .text.udd_ep_set_halt - 0x0000295a 0x5a src/ASF/xmega/drivers/usb/usb_device.o - 0x0000295a udd_ep_set_halt + 0x00002640 0x5a src/ASF/xmega/drivers/usb/usb_device.o + 0x00002640 udd_ep_set_halt .text.__vector_125 - 0x000029b4 0x174 src/ASF/xmega/drivers/usb/usb_device.o - 0x000029b4 __vector_125 + 0x0000269a 0x174 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000269a __vector_125 .text.__vector_126 - 0x00002b28 0x1d4 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002b28 __vector_126 + 0x0000280e 0x1d4 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000280e __vector_126 .text.libgcc.div - 0x00002cfc 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) - 0x00002cfc __udivmodhi4 - .text.libgcc 0x00002d24 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) - 0x00002d24 __tablejump2__ + 0x000029e2 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) + 0x000029e2 __udivmodhi4 + .text.libgcc 0x00002a0a 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) + 0x00002a0a __tablejump2__ .text.avr-libc - 0x00002d30 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) - 0x00002d30 memcpy - 0x00002d42 . = ALIGN (0x2) + 0x00002a16 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) + 0x00002a16 memcpy + 0x00002a28 . = ALIGN (0x2) *(.fini9) - .fini9 0x00002d42 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) - 0x00002d42 _exit - 0x00002d42 exit + .fini9 0x00002a28 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) + 0x00002a28 _exit + 0x00002a28 exit *(.fini9) *(.fini8) *(.fini8) @@ -2402,11 +2417,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00002d42 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 0x00002a28 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) - 0x00002d46 _etext = . + 0x00002a2c _etext = . -.data 0x00802000 0xb2 load address 0x00002d46 +.data 0x00802000 0xb2 load address 0x00002a2c 0x00802000 PROVIDE (__data_start, .) *(.data) *(.data*) @@ -2455,7 +2470,7 @@ END GROUP 0x008020b2 _edata = . 0x008020b2 PROVIDE (__data_end, .) -.bss 0x008020b2 0xb9a +.bss 0x008020b2 0xba3 0x008020b2 PROVIDE (__bss_start, .) *(.bss) *(.bss*) @@ -2474,7 +2489,7 @@ END GROUP 0x008020b6 main_b_vendor_enable .bss.udi_vendor_alternate_setting 0x008020b7 0x1 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .bss.udc_ep_status.5522 + .bss.udc_ep_status.5530 0x008020b8 0x2 src/ASF/common/services/usb/udc/udc.o .bss.udc_ptr_iface 0x008020ba 0x2 src/ASF/common/services/usb/udc/udc.o @@ -2505,23 +2520,31 @@ END GROUP 0x00802254 0x1 src/ASF/xmega/drivers/usb/usb_device.o *(COMMON) *fill* 0x00802255 0x1 - COMMON 0x00802256 0x9f0 src/main.o - 0x00802256 debug_counter - 0x0080225a dacBuf_CH1 - 0x0080245a udd_g_ctrlreq - 0x0080246a dacBuf_CH2 - 0x0080266a isoBuf - COMMON 0x00802c46 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - 0x00802c46 sleepmgr_locks - 0x00802c4c PROVIDE (__bss_end, .) - 0x00002d46 __data_load_start = LOADADDR (.data) - 0x00002df8 __data_load_end = (__data_load_start + SIZEOF (.data)) + COMMON 0x00802256 0x9f9 src/main.o + 0x00802256 precalc_DMA_CH1_DESTADDR1_b2_state_equals_1 + 0x00802257 precalc_DMA_CH1_DESTADDR0_b2_state_equals_0 + 0x00802258 debug_counter + 0x0080225c precalc_DMA_CH0_DESTADDR1_b1_state_equals_1 + 0x0080225d precalc_DMA_CH0_DESTADDR1_b1_state_equals_0 + 0x0080225e dacBuf_CH1 + 0x0080245e precalc_DMA_CH1_DESTADDR1_b2_state_equals_0 + 0x0080245f udd_g_ctrlreq + 0x0080246f precalc_DMA_CH0_DESTADDR0_b1_state_equals_0 + 0x00802470 precalc_DMA_CH0_DESTADDR0_b1_state_equals_1 + 0x00802471 dacBuf_CH2 + 0x00802672 isoBuf + 0x00802c4e precalc_DMA_CH1_DESTADDR0_b2_state_equals_1 + COMMON 0x00802c4f 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + 0x00802c4f sleepmgr_locks + 0x00802c55 PROVIDE (__bss_end, .) + 0x00002a2c __data_load_start = LOADADDR (.data) + 0x00002ade __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00802c4c 0x0 +.noinit 0x00802c55 0x0 [!provide] PROVIDE (__noinit_start, .) *(.noinit*) [!provide] PROVIDE (__noinit_end, .) - 0x00802c4c _end = . + 0x00802c55 _end = . [!provide] PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 @@ -2637,121 +2660,121 @@ END GROUP .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0xa4a3 +.debug_info 0x00000000 0xa750 *(.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 - .debug_info 0x0000038f 0x995 src/main.o - .debug_info 0x00000d24 0x9b6 src/tiny_adc.o - .debug_info 0x000016da 0x5f0 src/tiny_dac.o - .debug_info 0x00001cca 0x1132 src/tiny_dma.o - .debug_info 0x00002dfc 0x17b4 src/tiny_timer.o - .debug_info 0x000045b0 0x4b2 src/tiny_uart.o - .debug_info 0x00004a62 0xc3d src/ASF/common/services/clock/xmega/sysclk.o - .debug_info 0x0000569f 0x121 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - .debug_info 0x000057c0 0x638 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_info 0x00005df8 0x5fc src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_info 0x000063f4 0x214e src/ASF/common/services/usb/udc/udc.o - .debug_info 0x00008542 0x91 src/ASF/xmega/drivers/cpu/ccp.o - .debug_info 0x000085d3 0x91 src/ASF/xmega/drivers/nvm/nvm_asm.o - .debug_info 0x00008664 0x1e3f src/ASF/xmega/drivers/usb/usb_device.o + .debug_info 0x0000038f 0xa25 src/main.o + .debug_info 0x00000db4 0x9b6 src/tiny_adc.o + .debug_info 0x0000176a 0x5f0 src/tiny_dac.o + .debug_info 0x00001d5a 0x134f src/tiny_dma.o + .debug_info 0x000030a9 0x17b4 src/tiny_timer.o + .debug_info 0x0000485d 0x4b2 src/tiny_uart.o + .debug_info 0x00004d0f 0xc3d src/ASF/common/services/clock/xmega/sysclk.o + .debug_info 0x0000594c 0x121 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_info 0x00005a6d 0x638 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_info 0x000060a5 0x5fc src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_info 0x000066a1 0x214e src/ASF/common/services/usb/udc/udc.o + .debug_info 0x000087ef 0x91 src/ASF/xmega/drivers/cpu/ccp.o + .debug_info 0x00008880 0x91 src/ASF/xmega/drivers/nvm/nvm_asm.o + .debug_info 0x00008911 0x1e3f src/ASF/xmega/drivers/usb/usb_device.o -.debug_abbrev 0x00000000 0x1b50 +.debug_abbrev 0x00000000 0x1bc1 *(.debug_abbrev) .debug_abbrev 0x00000000 0xcc src/tiny_dig.o .debug_abbrev 0x000000cc 0x8b src/ASF/common/boards/user_board/init.o .debug_abbrev 0x00000157 0x22c src/main.o .debug_abbrev 0x00000383 0x1d8 src/tiny_adc.o .debug_abbrev 0x0000055b 0x161 src/tiny_dac.o - .debug_abbrev 0x000006bc 0x1da src/tiny_dma.o - .debug_abbrev 0x00000896 0x175 src/tiny_timer.o - .debug_abbrev 0x00000a0b 0x102 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 0x1e3 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_abbrev 0x0000103d 0xef src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_abbrev 0x0000112c 0x42a src/ASF/common/services/usb/udc/udc.o - .debug_abbrev 0x00001556 0x14 src/ASF/xmega/drivers/cpu/ccp.o - .debug_abbrev 0x0000156a 0x12 src/ASF/xmega/drivers/nvm/nvm_asm.o - .debug_abbrev 0x0000157c 0x5d4 src/ASF/xmega/drivers/usb/usb_device.o + .debug_abbrev 0x000006bc 0x24b src/tiny_dma.o + .debug_abbrev 0x00000907 0x175 src/tiny_timer.o + .debug_abbrev 0x00000a7c 0x102 src/tiny_uart.o + .debug_abbrev 0x00000b7e 0x2cd src/ASF/common/services/clock/xmega/sysclk.o + .debug_abbrev 0x00000e4b 0x80 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_abbrev 0x00000ecb 0x1e3 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_abbrev 0x000010ae 0xef src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_abbrev 0x0000119d 0x42a src/ASF/common/services/usb/udc/udc.o + .debug_abbrev 0x000015c7 0x14 src/ASF/xmega/drivers/cpu/ccp.o + .debug_abbrev 0x000015db 0x12 src/ASF/xmega/drivers/nvm/nvm_asm.o + .debug_abbrev 0x000015ed 0x5d4 src/ASF/xmega/drivers/usb/usb_device.o -.debug_line 0x00000000 0x8bad +.debug_line 0x00000000 0x8b79 *(.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 0xa0e src/main.o - .debug_line 0x00001953 0x956 src/tiny_adc.o - .debug_line 0x000022a9 0x806 src/tiny_dac.o - .debug_line 0x00002aaf 0x1430 src/tiny_dma.o - .debug_line 0x00003edf 0x8c1 src/tiny_timer.o - .debug_line 0x000047a0 0x83f src/tiny_uart.o - .debug_line 0x00004fdf 0x738 src/ASF/common/services/clock/xmega/sysclk.o - .debug_line 0x00005717 0x455 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - .debug_line 0x00005b6c 0x625 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_line 0x00006191 0x4f1 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_line 0x00006682 0xea8 src/ASF/common/services/usb/udc/udc.o - .debug_line 0x0000752a 0x6e src/ASF/xmega/drivers/cpu/ccp.o - .debug_line 0x00007598 0x11f src/ASF/xmega/drivers/nvm/nvm_asm.o - .debug_line 0x000076b7 0x14f6 src/ASF/xmega/drivers/usb/usb_device.o + .debug_line 0x00000f45 0xa4a src/main.o + .debug_line 0x0000198f 0x956 src/tiny_adc.o + .debug_line 0x000022e5 0x806 src/tiny_dac.o + .debug_line 0x00002aeb 0x13ba src/tiny_dma.o + .debug_line 0x00003ea5 0x8cd src/tiny_timer.o + .debug_line 0x00004772 0x839 src/tiny_uart.o + .debug_line 0x00004fab 0x738 src/ASF/common/services/clock/xmega/sysclk.o + .debug_line 0x000056e3 0x455 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_line 0x00005b38 0x625 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_line 0x0000615d 0x4f1 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_line 0x0000664e 0xea8 src/ASF/common/services/usb/udc/udc.o + .debug_line 0x000074f6 0x6e src/ASF/xmega/drivers/cpu/ccp.o + .debug_line 0x00007564 0x11f src/ASF/xmega/drivers/nvm/nvm_asm.o + .debug_line 0x00007683 0x14f6 src/ASF/xmega/drivers/usb/usb_device.o -.debug_frame 0x00000000 0xaf4 +.debug_frame 0x00000000 0xa84 *(.debug_frame) .debug_frame 0x00000000 0x24 src/tiny_dig.o .debug_frame 0x00000024 0x24 src/ASF/common/boards/user_board/init.o .debug_frame 0x00000048 0xc4 src/main.o .debug_frame 0x0000010c 0x70 src/tiny_adc.o .debug_frame 0x0000017c 0x30 src/tiny_dac.o - .debug_frame 0x000001ac 0x250 src/tiny_dma.o - .debug_frame 0x000003fc 0x78 src/tiny_timer.o - .debug_frame 0x00000474 0x50 src/tiny_uart.o - .debug_frame 0x000004c4 0x80 src/ASF/common/services/clock/xmega/sysclk.o - .debug_frame 0x00000544 0xc4 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_frame 0x00000608 0x114 src/ASF/common/services/usb/udc/udc.o - .debug_frame 0x0000071c 0x3d8 src/ASF/xmega/drivers/usb/usb_device.o + .debug_frame 0x000001ac 0x1e0 src/tiny_dma.o + .debug_frame 0x0000038c 0x78 src/tiny_timer.o + .debug_frame 0x00000404 0x50 src/tiny_uart.o + .debug_frame 0x00000454 0x80 src/ASF/common/services/clock/xmega/sysclk.o + .debug_frame 0x000004d4 0xc4 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_frame 0x00000598 0x114 src/ASF/common/services/usb/udc/udc.o + .debug_frame 0x000006ac 0x3d8 src/ASF/xmega/drivers/usb/usb_device.o -.debug_str 0x00000000 0x2f65f +.debug_str 0x00000000 0x2fba6 *(.debug_str) .debug_str 0x00000000 0x2763b src/tiny_dig.o 0x27cae (size before relaxing) .debug_str 0x0002763b 0x36 src/ASF/common/boards/user_board/init.o 0x27adb (size before relaxing) - .debug_str 0x00027671 0x9c6 src/main.o - 0x2861b (size before relaxing) - .debug_str 0x00028037 0xd0f src/tiny_adc.o + .debug_str 0x00027671 0xb26 src/main.o + 0x2877b (size before relaxing) + .debug_str 0x00028197 0xd0f src/tiny_adc.o 0x28e85 (size before relaxing) - .debug_str 0x00028d46 0x1a6 src/tiny_dac.o + .debug_str 0x00028ea6 0x1a6 src/tiny_dac.o 0x282d8 (size before relaxing) - .debug_str 0x00028eec 0xce8 src/tiny_dma.o - 0x291b9 (size before relaxing) - .debug_str 0x00029bd4 0x1166 src/tiny_timer.o + .debug_str 0x0002904c 0x1163 src/tiny_dma.o + 0x297a7 (size before relaxing) + .debug_str 0x0002a1af 0x10d2 src/tiny_timer.o 0x2957c (size before relaxing) - .debug_str 0x0002ad3a 0x19d src/tiny_uart.o + .debug_str 0x0002b281 0x19d src/tiny_uart.o 0x283b5 (size before relaxing) - .debug_str 0x0002aed7 0x41c src/ASF/common/services/clock/xmega/sysclk.o + .debug_str 0x0002b41e 0x41c src/ASF/common/services/clock/xmega/sysclk.o 0x2598f (size before relaxing) - .debug_str 0x0002b2f3 0x96 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_str 0x0002b83a 0x96 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o 0x24246 (size before relaxing) - .debug_str 0x0002b389 0x19f src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_str 0x0002b8d0 0x19f src/ASF/common/services/usb/class/vendor/device/udi_vendor.o 0x26737 (size before relaxing) - .debug_str 0x0002b528 0x3f6 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_str 0x0002ba6f 0x3f6 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o 0x2673a (size before relaxing) - .debug_str 0x0002b91e 0x7e5 src/ASF/common/services/usb/udc/udc.o + .debug_str 0x0002be65 0x7e5 src/ASF/common/services/usb/udc/udc.o 0x29203 (size before relaxing) - .debug_str 0x0002c103 0x355c src/ASF/xmega/drivers/usb/usb_device.o + .debug_str 0x0002c64a 0x355c src/ASF/xmega/drivers/usb/usb_device.o 0x2b819 (size before relaxing) -.debug_loc 0x00000000 0x2402 +.debug_loc 0x00000000 0x22e4 *(.debug_loc) .debug_loc 0x00000000 0x138 src/main.o .debug_loc 0x00000138 0x176 src/tiny_adc.o .debug_loc 0x000002ae 0x2f src/tiny_dac.o - .debug_loc 0x000002dd 0x2d7 src/tiny_dma.o - .debug_loc 0x000005b4 0x11c src/tiny_timer.o - .debug_loc 0x000006d0 0x2f src/tiny_uart.o - .debug_loc 0x000006ff 0x320 src/ASF/common/services/clock/xmega/sysclk.o - .debug_loc 0x00000a1f 0x344 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_loc 0x00000d63 0x4d3 src/ASF/common/services/usb/udc/udc.o - .debug_loc 0x00001236 0x11cc src/ASF/xmega/drivers/usb/usb_device.o + .debug_loc 0x000002dd 0x1b9 src/tiny_dma.o + .debug_loc 0x00000496 0x11c src/tiny_timer.o + .debug_loc 0x000005b2 0x2f src/tiny_uart.o + .debug_loc 0x000005e1 0x320 src/ASF/common/services/clock/xmega/sysclk.o + .debug_loc 0x00000901 0x344 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_loc 0x00000c45 0x4d3 src/ASF/common/services/usb/udc/udc.o + .debug_loc 0x00001118 0x11cc src/ASF/xmega/drivers/usb/usb_device.o .debug_macinfo *(.debug_macinfo) @@ -2787,7 +2810,7 @@ END GROUP .debug_ranges 0x00000298 0x20 src/ASF/xmega/drivers/nvm/nvm_asm.o .debug_ranges 0x000002b8 0x140 src/ASF/xmega/drivers/usb/usb_device.o -.debug_macro 0x00000000 0xb8d9 +.debug_macro 0x00000000 0xba5c *(.debug_macro) .debug_macro 0x00000000 0x311 src/tiny_dig.o .debug_macro 0x00000311 0xa5a src/tiny_dig.o @@ -2851,16 +2874,17 @@ END GROUP .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 + .debug_macro 0x00009c01 0x369 src/tiny_dma.o + .debug_macro 0x00009f6a 0x160 src/tiny_dma.o + .debug_macro 0x0000a0ca 0x343 src/tiny_timer.o + .debug_macro 0x0000a40d 0x337 src/tiny_uart.o + .debug_macro 0x0000a744 0x1e6 src/ASF/common/services/clock/xmega/sysclk.o + .debug_macro 0x0000a92a 0x1a3 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_macro 0x0000aacd 0x22c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_macro 0x0000acf9 0x94 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_macro 0x0000ad8d 0x20c src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_macro 0x0000af99 0x362 src/ASF/common/services/usb/udc/udc.o + .debug_macro 0x0000b2fb 0x2f7 src/ASF/xmega/drivers/usb/usb_device.o + .debug_macro 0x0000b5f2 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 0324fa6c..96e6cc1d 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec @@ -1,739 +1,689 @@ S01500005553425F42554C4B5F544553542E73726563F9 -S113000034C100004EC100004CC100004AC10000D0 -S113001048C1000046C1000016C600004CC70000DD -S1130020B9C70000F8C700003CC100003AC1000095 -S113003038C1000036C1000034C1000032C10000E4 -S113004030C100002EC100002CC100002AC10000F4 -S113005028C1000026C1000024C1000022C1000004 -S11300600C942E091EC100001CC100001AC100001E -S113007018C1000016C1000014C1000012C1000024 -S113008010C100000EC100000CC100000AC1000034 -S113009008C1000006C1000004C1000002C1000044 -S11300A000C10000FEC00000FCC00000FAC0000057 -S11300B0F8C00000F6C00000F4C00000F2C0000068 -S11300C0F0C00000EEC00000ECC00000EAC0000078 -S11300D0E8C00000E6C00000E4C00000E2C0000088 -S11300E0E0C00000DEC00000DCC00000DAC0000098 -S11300F0D8C00000D6C00000D4C00000D2C00000A8 -S1130100D0C00000CEC00000CCC00000CAC00000B7 -S1130110C8C00000C6C00000C4C00000C2C00000C7 -S1130120C0C00000BEC00000BCC00000BAC00000D7 -S1130130B8C00000B6C00000B4C00000B2C00000E7 -S1130140B0C00000AEC00000ACC00000E4C70000B6 -S1130150A8C00000A6C00000A4C00000A2C0000007 -S1130160A0C000009EC000009CC000009AC0000017 -S113017098C0000096C0000094C0000092C0000027 -S113018090C000008EC000008CC000008AC0000037 -S113019088C0000086C0000084C0000082C0000047 -S11301A080C000007EC000007CC000007AC0000057 -S11301B078C0000076C0000074C0000072C0000067 -S11301C070C000006EC000006CC000006AC0000077 -S11301D068C0000066C0000064C0000062C0000087 -S11301E060C000005EC000005CC000005AC0000097 -S11301F058C000000C94DA140C949415D701D9015A -S1130200DB01DD01DF01E401E101E30141066806F0 -S11302108F06B606DD064D0704072907B70BB90B91 -S1130220F80B380C410C460C9B0CA00CE50BE80BAE -S1130230EB0BEE0BF00BF20BF40BF60B240C270C70 -S11302402A0C2D0C300C320C340C360C520C5D0C78 -S1130250680C770C7A0C7C0C860C900C18101B1014 -S11302601E102110241027102A1011241FBECFEFB6 -S1130270CDBFDFE2DEBF10E2A0E0B0E2E6E4FDE2E3 -S113028002C005900D92A23BB107D9F72CE2A2EB74 -S1130290B0E201C01D92AC34B207E1F741D00C9436 -S11302A0A116AECEE0E8F6E08FE0808385E084839B -S11302B0089508954091B3202EEE32E0429FC0018C -S11302C0439F900D11244AE551E06AEF70E086598E -S11302D0994D0C94280A08954091B3202EEE32E0F3 -S11302E0429FC001439F900D11244CE651E06AEFF8 -S11302F070E08C59984D0C94340A08954091B320C1 -S11303002EEE32E0429FC001439F900D11244EE730 -S113031051E06AEF70E0825A974D0C94400A0895B8 -S113032087E08093A2007894A4D7C3DF0E94370BA0 -S1130330E6D009D160E080E0A5D091D08CE085D0F2 -S1130340AFD663D77CD7AEDF8091562290915722E7 -S1130350A0915822B09159220196A11DB11D81305E -S113036021EE920725EFA20725E0B20718F080E0FE -S113037090E0DC010000000000000000000000002C -S11303800000000000000000000000000000000069 -S1130390E3CF08950895E09100208E2F90E08830F7 -S11303A0910590F4FC01E250FF4F0C94921659D140 -S11303B00BC0D0D109C044D207C0BFD205C034D3CA -S11303C003C0DDD301C03ED49091B52081E09111EA -S11303D080E08093B320089581E08093B6204AE5BD -S11303E051E06EEE72E08AE696E20E94280A4CE63C -S11303F051E06EEE72E084E697E20E94340A4EE722 -S113040051E06EEE72E08EE598E20E94400A81E0CF -S113041008951092B620089581E0089581E008952A -S1130420E0E0F2E010A2982F9C71936890A38823D7 -S11304301CF490E182E002C090E080E0892BE0E0CF -S1130440F2E081A312A216A20895E0E0F2E010AA5D -S1130450836880AB80E181AB12AA16AA0895E0E01C -S1130460F2E010A683E880A78FE281A712A616A661 -S11304700895AAECB1E092E09C93E82FF0E0849117 -S11304801C920895CF93DF93E0E7F0E091819D7F84 -S1130490918310920002623031F1E0E0F2E09CE1DD -S11304A0918390E49283811102C080E401C080ECC6 -S11304B080930302613011F083E001C082E0C0E068 -S11304C0D2E08C8380E2D5DF8C8781E2D2DF8D8716 -S11304D0188E198E81E08883C2DF0EC080EC809371 -S11304E0030283E0ECCFE0E0F2E09EE1918390E44C -S11304F092838111F3CFD9CFDF91CF910895CF9318 -S1130500DF93E0E7F0E082818B7F8283C0E2D3E077 -S11305108DE0888380E4898389E08A8383E3A9DF8B -S1130520888782E3A6DF898787E3A3DF8A8786E358 -S1130530A0DF8B87E0E2F6E0808183608083148211 -S1130540DF91CF910895E0E7F0E080818E7F808392 -S113055083E8809300010895E0E0F1E0108A80E4EC -S1130560808B10A280A310AA80ABE0E4F1E010829B -S113057080831092B5201092B42008951092002028 -S1130580EBDFE0E0F1E016AA94E290AB11AA49E5B2 -S113059042AB32E033AB609102207091032064AB34 -S11305A075AB6AE674E260AF71AF12AE8BE384AFF1 -S11305B083E080933D0110923E0120A9206820AB86 -S11305C010924601A0E4B1E09C9310924101409343 -S11305D042018093430140910420509105204093AF -S11305E04401509345014AE552E240934801509337 -S11305F0490110924A0129E320934C0180934D0153 -S113060010924E012C9120682C93108A20E4208BA8 -S113061024E0208B818B81E9828B80E1838B47E707 -S113062051E0448B558B908F318F128E4091B520C1 -S11306302EEE32E0429FC001439F900D1124865953 -S1130640994D848F4091B520429FC001439F900DE6 -S113065011248659994D958F168E80898068808BD8 -S113066008950895CF93DF9381E08093002074DF91 -S1130670E0E0F1E010AA80E480AB94E090AB11AA32 -S113068012AA5BE453AB14AA15AA16AA21E030E21D -S113069020AF31AF12AE40EA44AF38E030933D01B1 -S11306A010923E0180A9806A80AB85E58093A00802 -S11306B010924601A0E4B1E0D4E2DC93109241012F -S11306C089E580934201C2E0C09343016091022016 -S11306D07091032060934401709345016AE674E2CB -S11306E0609348017093490110924A018BE380930F -S11306F04C0183E080934D0110924E012C912068AF -S11307002C93908B818BA1E9A28B20E1238B67E74B -S113071071E0648B758BD08FC18F128ECAE6D6E2DE -S1130720C48FD58F168E20892068208B90A381A337 -S1130730A2A353A364A375A340A731A712A681EE75 -S113074097E284A795A716A680A1806880A3DF916D -S1130750CF9108950895CF93F894C2E0C0930020F8 -S1130760FBDEE0E0F1E016AA94E290AB11AA39E5D1 -S113077032AB83E083AB409104205091052044AB1D -S113078055AB4AE552E240AF51AF12AE29E324AF74 -S113079080933D0110923E0120A9206820AB109265 -S11307A04601A0E4B1E09C931092410130934201D0 -S11307B0C0934301209102203091032020934401EF -S11307C0309345012AE634E22093480130934901ED -S11307D010924A012BE320934C0180934D01109217 -S11307E04E012C9120682C9354E0508B818B41E96D -S11307F0428B20E1238B27E731E0248B358B908FCC -S1130800C18F128E6AE676E2648F758F168E908998 -S11308109068908B50A381A342A382E183A324A375 -S113082035A384E380A7C1A712A681EE97E284A72B -S113083095A716A680A1806880A37894CF91089587 -S11308400895CF93C3E0C093002086DEE0E0F1E09A -S113085010A250E450A344E040A311A212A23BE42E -S113086033A314A215A216A281E090E280A791A757 -S113087012A620EA24A798E095A716A680A1806A6C -S113088080A385E58093A00816AA74E270AB11AA30 -S113089069E562ABC3ABA0910420B0910520A4AB81 -S11308A0B5ABAAE5B2E2A0AFB1AF12AE89E384AFB3 -S11308B0C0933D0110923E0180A9806880AB1092E4 -S11308C04601A0E4B1E07C9310924101609342019F -S11308D082E0809343016091022070910320609331 -S11308E04401709345016AE674E260934801709391 -S11308F0490110924A018BE380934C01C0934D014E -S113090010924E018C9180688C93108A508B408B8E -S1130910C18B81E9828B338B47E751E0448B558B44 -S1130920208F918F128E8AE696E2848F958F168E91 -S113093080898068808BCF9108950895CF93C4E017 -S1130940C093002009DEE0E0F1E010A280E480A37F -S1130950C0A311A212A24BE443A314A215A216A28F -S113096081E090E280A791A712A660EA64A788E0DC -S113097085A716A690A1906A90A395E59093A008E8 -S113098010924601A0E4B1E094E29C9310924101DC -S113099099E59093420192E09093430120910220C3 -S11309A03091032020934401309345012AE634E238 -S11309B0209348013093490110924A019BE390939C -S11309C04C0193E090934D0110924E012C912068BC -S11309D02C93C08B918B31E9328B438B47E751E0E9 -S11309E0448B558B608F818F128E6AE676E2648F1A -S11309F0758F168E20892068208BC0AB91AB32ABEB -S1130A009AE493AB44AB55AB93EC90AF81AF12AE89 -S1130A1081EE97E284AF90933D0110923E0180A94C -S1130A20806880ABCF910895089585E0809300207D -S1130A3093DDE0E0F1E016AA34E230AB11AA29E537 -S1130A4022AB83E083AB409104205091052044AB5A -S1130A5055AB4AE552E240AF51AF12AE99E394AFC1 -S1130A6080933D0110923E0190A9906890AB109242 -S1130A704601E0E4F1E03083109241012093420109 -S1130A808093430120910420309105202093440158 -S1130A90309345012AE634E220934801309349011A -S1130AA010924A019BE390934C0180934D01109264 -S1130AB04E01808180688083089586E080930020C1 -S1130AC04BDDE0E0F1E016AA94E290AB11AA39E51F -S1130AD032AB83E083AB409104205091052044ABBA -S1130AE055AB4AE552E240AF51AF12AE29E324AF11 -S1130AF080933D0110923E0120A9206820AB109202 -S1130B004601A0E4B1E09C9310924101309342016C -S1130B1032E03093430140910220509103204093EE -S1130B204401509345014AE654E2409348015093EE -S1130B30490110924A012BE320934C0180934D010B -S1130B4010924E012C9120682C93108A20E4208B63 -S1130B5024E0208B818B81E9828B80E1838B4EEEB4 -S1130B6052E0448B558B908F318F128E8AE696E239 -S1130B70848F958F168E80898068808B0895089560 -S1130B8087E080930020E8DCE0E0F1E016AA94E23C -S1130B9090AB11AA39E532AB83E083AB40910420DA -S1130BA05091052044AB55AB4AE552E240AF51AFFA -S1130BB012AE29E324AF80933D0110923E0120A997 -S1130BC0206820AB10924601A0E4B1E09C931092FF -S1130BD041013093420132E03093430140910220BD -S1130BE05091032040934401509345014AE654E256 -S1130BF0409348015093490110924A012BE32093FA -S1130C004C0180934D0110924E012C9120682C933D -S1130C10108A20E4208B25E0208B818B81E9828B54 -S1130C2080E1838B4EEE52E0448B558B908F318F55 -S1130C30128E8AE696E2848F958F168E808980685C -S1130C40808B089508951F920F920FB60F9211246E -S1130C502F933F934F938F939F93AF93BF93EF93B0 -S1130C60FF9381E080930301E09100208E2F90E0B8 -S1130C708830910508F011C1FC01EA5FFE4F0C9425 -S1130C809216E0E0F1E087E791E0848B958B409148 -S1130C90B5202EEE32E0429FC001439F900D1124F7 -S1130CA08659994D848F4091B520429FC001439F3E -S1130CB0900D11248659994D958F80898068808B79 -S1130CC09091B52081E0911180E08093B520E5C03A -S1130CD0E0E0F1E087E791E0848B958B4091B520CB -S1130CE02EEE32E0429FC001439F900D112486599D -S1130CF0994D848F4091B520429FC001439F900D30 -S1130D0011248659994D958F80898068808B9091A4 -S1130D10B52081E0911180E08093B520BEC0E0E071 -S1130D20F1E087E791E0848B958B4091B5202EEE1E -S1130D3032E0429FC001439F900D11248659994D82 -S1130D40848F4091B520429FC001439F900D112490 -S1130D508659994D958F80898068808B9091B520B4 -S1130D6081E0911180E08093B52097C0E0E0F1E04C -S1130D7087E791E0848B958B4091B5202EEE32E08D -S1130D80429FC001439F900D11248659994D848F31 -S1130D904091B520429FC001439F900D1124865974 -S1130DA0994D958F80898068808B9091B52081E0E2 -S1130DB0911180E08093B52070C0E0E0F1E087E716 -S1130DC091E0848B958B4091B5202EEE32E0429FCA -S1130DD0C001439F900D11248659994D848F4091F1 -S1130DE0B520429FC001439F900D11248659994D0F -S1130DF0958F80898068808B9091B52081E09111D6 -S1130E0080E08093B52049C0E0E0F1E02EEE32E0CE -S1130E10248B358B4091B520429FC001439F900D98 -S1130E2011248659994D848F4091B520429FC00169 -S1130E30439F900D11248659994D958F8089806820 -S1130E40808B9091B52081E0911180E08093B52052 -S1130E5024C0E0E0F1E02EEE32E0248B358B4091AB -S1130E60B520429FC001439F900D11248659994D8E -S1130E70848F4091B520429FC001439F900D11245F -S1130E808659994D958F80898068808B9091B52083 -S1130E9081E0911180E08093B520FF91EF91BF91A3 -S1130EA0AF919F918F914F913F912F910F900FBED2 -S1130EB00F901F9018951F920F920FB60F92112446 -S1130EC02F933F934F938F939F93EF93FF9382E0DE -S1130ED08093030180910020813019F0823041F128 -S1130EE04DC0E0E0F1E087E791E084A395A3409151 -S1130EF0B4202EEE32E0429FC001439F900D112496 -S1130F008F51984D84A74091B420429FC001439FC4 -S1130F10900D11248F51984D95A780A1806880A3CE -S1130F209091B42081E0911180E08093B42026C098 -S1130F30E0E0F1E087E791E084A395A34091B42039 -S1130F402EEE32E0429FC001439F900D11248F5139 -S1130F50984D84A74091B420429FC001439F900DB7 -S1130F6011248F51984D95A780A1806880A39091FA -S1130F70B42081E0911180E08093B420FF91EF913F -S1130F809F918F914F913F912F910F900FBE0F9092 -S1130F901F9018951F920F920FB60F9211242F9342 -S1130FA03F934F938F939F93EF93FF93E0E0F1E090 -S1130FB084E0838387E791E084AB95AB4091B420D0 -S1130FC02EEE32E0429FC001439F900D11248F51B9 -S1130FD0984D84AF4091B420429FC001439F900D2F -S1130FE011248F51984D90933D0180A9806880AB66 -S1130FF09091B42081E0911180E08093B420FF911E -S1131000EF919F918F914F913F912F910F900FBE30 -S11310100F901F9018951F920F920FB60F921124E4 -S11310202F933F934F938F939F93EF93FF9388E076 -S11310308093030187E791E08093440190934501F5 -S11310404091B4202EEE32E0429FC001439F900DA8 -S113105011248F51984D80934C014091B420429FAC -S1131060C001439F900D11248F51984D90934D01D1 -S1131070E0E4F1E08081806880839091B42081E095 -S1131080911180E08093B420FF91EF919F918F9113 -S11310904F913F912F910F900FBE0F901F90189575 -S11310A0E0E7F0E083818C7F838384818C7F848379 -S11310B080818D7F8083E0E8F1E080EC828312867A -S11310C088EC81831186E0E0F8E034E0308323E0AB -S11310D02183148285ED91E086A397A31682E0E430 -S11310E0F8E030832183148286A397A31682E0E676 -S11310F0F6E0808180618083E0E4F9E083E181832C -S1131100148281E0868328EB3BE026A337A310A654 -S113111011A6808308951F920F920FB60F92112487 -S11311202F933F934F935F938F939F93EF93FF93EB -S1131130CF93DF931F92CDB7DEB78FEF80934C0927 -S113114080910020873031F4E0E0F2E084A58983C7 -S113115095A502C090912C028091B220891B209108 -S113116068093091690991E082300CF490E0992388 -S1131170C9F091E0223B3B4008F090E0992391F0C4 -S1131180209168093091690989301CF481E090E06C -S113119002C086E090E0820F931F809378099093B9 -S11311A0790923C0209168093091690991E08F3F42 -S11311B00CF090E09923C9F091E02730310508F450 -S11311C090E0992391F02091680930916909883F52 -S11311D01CF081E090E002C086E090E0A901481B89 -S11311E0590B40937809509379090F90DF91CF916F -S11311F0FF91EF919F918F915F914F913F912F912B -S11312000F900FBE0F901F901895E0E7F0E08381D8 -S11312108F7E8383E0E4F6E080818A6480838FEFAD -S1131220848388E5828B80E28687E0EAF8E084ECB8 -S1131230858383E08683178288E184830895E0E7C9 -S1131240F0E08381877F8383E0ECF8E080E48083AF -S113125083E0818388E58093570608951F920F9257 -S11312600FB60F92112400000F900FBE0F901F9025 -S113127018950F931F93CF93DF9300D000D0CDB771 -S1131280DEB78FEF809370008093710080937200BB -S1131290809373008093740080937500809376002C -S11312A064E081E490E0C6D56CE170E082E0C8D5EA -S11312B08A836DE170E082E0C3D5898389819A8154 -S11312C0019621F480E493E289839A8389819A8147 -S11312D08B839C83E0E6F0E082838C8183839FB7D9 -S11312E0F894E0E5F0E08081826080839FBF818193 -S11312F081FFFDCF9FB7F89400E510E0D801169662 -S11313008C911697897F16968C931697E0E6F0E0F9 -S113131080E885838BEB868316968C911697846080 -S113132016968C938081816080839FBF61E080E406 -S113133090E080D59FB7F894F80180818E7F8083F8 -S11313409FBF2496CDBFDEBFDF91CF911F910F9138 -S113135008959FB7F894E82FF0E0E059FF4F6095A7 -S11313608081682360839FBF0895863011F060E018 -S113137001C068E18091510081FD26C09FB7F894B7 -S1131380E0E5F0E08081826080839FBF818181FFFE -S1131390FDCF9FB7F894A0E5B0E016968C91169710 -S11313A0897F16968C931697E0E6F0E080E88583B3 -S11313B08BEB868316968C911697846016968C9385 -S11313C08081816080839FBF636084E490E032D534 -S11313D060E480E0BECF08958091B720089542D1A3 -S11313E0FC0183818093B720811103C00C94EC012C -S11313F0089581E008958091B720813009F409C8E7 -S1131400089580915A2488234CF480768034B1F472 -S113141080915B24811114C001C8089580768034C2 -S113142089F480915B2481110FC080916024909194 -S11314306124892B59F00C940C02089580E00895DE -S113144080E0089580E0089580E0089580E00895A4 -S11314500F931F939B018A01AC0160E081E80E9415 -S11314608E131F910F9108950F931F939B018A016F -S1131470AC0160E082E80E948E131F910F910895E1 -S11314800F931F939B018A01AC0160E083E80E94E3 -S11314908E131F910F910895E091BC20F091BD200F -S11314A00190F081E02D228133812E0F3F1FFC013A -S11314B04081E40FF11DE217F307B8F48181843011 -S11314C0B9F0861309C005C081818430A1F0861368 -S11314D003C08E2F9F2F08958081E80FF11DE2171E -S11314E0F30790F380E090E0089580E090E00895A1 -S11314F080E090E0089580E090E0089580915C247D -S11315008F770C94BC1208959091BE20992381F199 -S1131510E091BC20F091BD200190F081E02D9481F8 -S1131520891740F5E093BA20F093BB2022813381E0 -S11315302E0F3F1FE217F307F8F49181943061F402 -S11315409281981309C09381961306C0E093BA2040 -S1131550F093BB2081E008959081E90FF11DE2171B -S1131560F30758F3E093BA20F093BB2080E008958A -S113157080E0089580E0089580E00895EF92FF925E -S11315801F93CF93DF93C82F60E0BEDF182F88230B -S113159081F1A091BC20B091BD20EC2FF0E0EE0FC2 -S11315A0FF1F12968D919C911397E80FF91FE0800D -S11315B0F180D7011696ED91FC9117970995682F44 -S11315C08C2FA2DF182F8823A1F0C091BA20D091CC -S11315D0BB2065E0CE0160DFEC01892B21F08A811C -S11315E00E949114F6CFD7011296ED91FC911397B6 -S11315F00995812FDF91CF911F91FF90EF9008956E -S11316001F93CF93DF93182F7FDF882339F1C09185 -S1131610BA20D091BB2065E0CE013EDFEC01892BDE -S113162041F04C815D816B818A81B3D78111F3CF05 -S113163015C0A091BC20B091BD20E12FF0E0EE0FC9 -S1131640FF1F12968D919C911397E80FF91F01903B -S1131650F081E02D0190F081E02D0995DF91CF918B -S11316601F9108958091BA209091BB200895FFC6E0 -S11316700895CF938091BE208823C1F0E091BC20CF -S1131680F091BD200190F081E02D8481882371F0D8 -S1131690C0E08C2F73DFCF5FE091BC20F091BD20C0 -S11316A00190F081E02D8481C81798F31092BE2038 -S11316B01092C2201092C320CF910895CF938091AD -S11316C0BE20882349F1A091BC20B091BD20ED91AA -S11316D0FC91119784818823F9F0C0E0EC2FF0E0AD -S11316E0EE0FFF1F12968D919C911397E80FF91F2F -S11316F00190F081E02D0084F185E02D309709F010 -S11317000995CF5FA091BC20B091BD20ED91FC91D3 -S113171011978481C81710F3CF9108950F931F93E5 -S1131720CF93DF93EAE5F4E21286138614861586D6 -S113173016861786808188233CF42091602430919A -S11317406124232B09F46AC38076803409F008C12C -S1131750E0915B248E2F90E0FC01E05AF109E8301F -S1131760F10508F0F4C0E25FFE4F0C9492160000FD -S113177059C3E0E0F8E01082CAE5D4E28A819B8193 -S113178086AB97AB8C818F7080836E817F818AE575 -S113179092E2F8D68E819F81209104203091052019 -S11317A08217930709F43EC3809304209093052085 -S11317B0E09100208E2F90E08830910508F0C9C098 -S11317C0FC01EA5EFE4F0C9492160E94BE022AC3EC -S11317D00E94320327C30E94AB0324C332D822C31E -S11317E0ADD820C322D91EC368D91CC3C9D91AC312 -S11317F0E0E4F8E01082CAE5D4E28A819B8186ABFA -S113180097AB8C818F7080836E817F818AE694E2AE -S1131810B9D68E819F8120910220309103208217B6 -S1131820930709F4FFC28093022090930320E09170 -S113183000208E2F90E08830910508F08CC0FC01C8 -S1131840E25EFE4F0C9492160E94BE02EBC20E940E -S11318503203E8C20E94AB03E5C20E942104E2C243 -S11318606DD8E0C2E2D8DEC228D9DCC289D9DAC296 -S1131870109268091092690980915C248093B220C7 -S1131880D1C280915C2480932406CCC2E0915C2474 -S1131890F0915D24E830F10508F05FC0EA5DFE4F89 -S11318A00C94921660E080E00E94420280915E24D3 -S11318B00E9410020E94BE02B5C260E080E00E9455 -S11318C0420280915E240E9410020E943203AAC246 -S11318D061E081E00E944202CAE5D4E28C810E9468 -S11318E010028D810E9425020E94AB039BC20E94BC -S11318F0210498C223D896C260E080E00E9442028C -S113190080915E240E94100290D88CC261E080E035 -S11319100E94420280915E240E941002CED882C2AC -S113192062E080E00E94420280915E2480680E940E -S1131930100226D977C280915C248093840672C2F7 -S1131940E9E7F0E091E088EDF89484BF908380E0CB -S113195005C081E003C081E001C080E0811165C25F -S113196080915A24982F907609F0E1C188230CF0D5 -S113197005C120916024309161242115310509F4B9 -S1131980D6C18F7109F0A3C090915B24963079F091 -S1131990983009F492C091119AC02230310509F0AF -S11319A0C6C162E070E082EC90E2ECD53DC2809169 -S11319B05C2490915D24292F332722303105A9F02E -S11319C024F42130310541F0A9C123303105D9F186 -S11319D02F30310551F1A2C1809110209091112036 -S11319E0DC016C9170E0CED559C0E0911020F091EB -S11319F011202189821708F09AC19927880F991F0D -S1131A00880F991FE0911220F0911320E80FF91F1D -S1131A1080819181FC0162817381B4D5E09162245B -S1131A20F091632482E0818339C0809114209091E5 -S1131A301520009709F47BC1DC0112966D917C910D -S1131A401397A0D52BC099278130910571F038F0F8 -S1131A50029709F06CC18AE890E228E109C064E0C9 -S1131A6070E08EEA90E28ED519C083EA90E229E014 -S1131A70382FAAE5B0E2E82FF92F819190E08D93F9 -S1131A809D938E2F831B8217C0F3622F660F6E5FA8 -S1131A906093582070E088E590E274D5EAE5F4E2BA -S1131AA086819781228533858217930708F0BCC10C -S1131AB08093642490936524B7C12130310509F0E3 -S1131AC036C161E070E08EEB90E25CD5ADC181304F -S1131AD0E1F590915B249A30C1F52130310509F08C -S1131AE026C18091BE20882309F421C1C0915E24BF -S1131AF0D0915F240091BC201091BD20D801ED91BC -S1131B00FC918481C81708F012C160E08C2FFCDCC2 -S1131B10882309F40CC1CE019927880F991FD80195 -S1131B201296ED91FC911397E80FF91F0190F08143 -S1131B30E02D86819781FC0109958093C02061E0A6 -S1131B4070E080EC90E21ED56FC1823009F0EFC0E6 -S1131B5080915B248111E4C02230310509F0E7C093 -S1131B6080915E248BD590E08093B8209093B92027 -S1131B7062E070E088EB90E205D556C18F7109F000 -S1131B8083C090915B24933009F4CCC018F4913055 -S1131B90A1F07AC0953019F0993039F175C080916F -S1131BA0602490916124892B09F0C1C08EE79AE0EA -S1131BB0809366249093672437C180916024909128 -S1131BC06124892B09F0B3C080915C2490915D2439 -S1131BD0019709F0ACC08091C2209091C3208D7F01 -S1131BE08093C2209093C3201FC180916024909160 -S1131BF06124892B09F09BC0C2D4882309F497C0BF -S1131C0020915C2430915D243327E0911020F091E1 -S1131C101120818990E08217930708F488C029DD98 -S1131C2080915C2490915D248093BE20882309F4E4 -S1131C30FBC099278150904C880F991F880F991FDA -S1131C40E0911220F0911320E80FF91FE093BC20DB -S1131C50F093BD200190F081E02D8481882309F464 -S1131C60E3C0C0E060E08C2FCBDC882309F45FC0C4 -S1131C70CF5FE091BC20F091BD200190F081E02D78 -S1131C808481C81778F3D0C08130E1F490915B244B -S1131C909B30C1F48091602490916124892B09F0D8 -S1131CA046C08091BE20882309F441C0EAE5F4E2ED -S1131CB0C481D2818C2F62DC8823C9F16D2F8C2FD3 -S1131CC09FDC33C0823099F580915B24813019F018 -S1131CD0833089F029C08091602490916124892BFC -S1131CE031F580915C2490915D24892B01F58091DC -S1131CF05E24DFD41AC08091602490916124892BE2 -S1131D00B1F480915C2490915D24892B81F4CAE51F -S1131D10D4E28C81BDD58C8120D607C080E005C07B -S1131D2080E003C080E001C080E081117EC080912A -S1131D305A248F71813071F58091BE20882351F12E -S1131D4000915E2410915F24C091BC20D091BD20ED -S1131D50E881F98184810817E8F460E0802FD4DBFE -S1131D608823C1F0F801FF27CF01880F991FEA816A -S1131D70FB81E80FF91FC081D181EE81FF810995B4 -S1131D80682F802FC1DB882329F0EC81FD81099520 -S1131D9081114BC080915A248F71823009F040C068 -S1131DA08091BE208823B1F1A091BC20B091BD20C8 -S1131DB0ED91FC9111978481882371F1C0E0EC2F9F -S1131DC0F0E0EE0FFF1F12968D919C911397E80F90 -S1131DD0F91F00811181D8011696ED91FC91179796 -S1131DE00995682F8C2F90DB8823F9F0D80114967D -S1131DF0ED91FC9115970995811117C0CF5FA091C2 -S1131E00BC20B091BD20ED91FC9111979481C9172C -S1131E10B0F20BC080E009C080E007C080E005C0DC -S1131E2080E003C081E001C081E0DF91CF911F9188 -S1131E300F9108951BBEFC0128ED24BF6083089513 -S1131E404091CA01E62FF72F8093CA0184914093F1 -S1131E50CA010895811122C0909154229923D9F086 -S1131E609091472C911101C0FFCF2FB7F894E6E46D -S1131E70FCE29181915091832FBF0DC09091472C2A -S1131E809F3F09F4FFCF2FB7F894E6E4FCE2918179 -S1131E909F5F91832FBF8093542208959091542281 -S1131EA0992361F3F8CF0F93E8ECF4E080818F7D00 -S1131EB0808380818F7D8083E8E1F2E202E00593F4 -S1131EC010921A2210921B2200E2069300E4069359 -S1131ED0E0E1F2E200E2069300E40693EAE5F4E2CC -S1131EE01486158616861786128613861092FF218D -S1131EF00F9108950F9385E08093FF21E9E1F2E2C9 -S1131F0004E00593E1E1F2E204E005930F91089502 -S1131F100F9383E08093FF2110921A2210921B22C8 -S1131F20E8E1F2E202E006930F910895E09166245D -S1131F30F0916724309709F0099508950F93CF9392 -S1131F40DF938091FF21833019F4F0DFACDF5EC0B2 -S1131F508091FB219091FC21C0916424D09165244F -S1131F60C81BD90B71F52091FD213091FE21820F00 -S1131F70931F8093FD219093FE2120916024309142 -S1131F8061248217930721F08091C420882341F0B3 -S1131F9084E08093FF21E0E1F2E202E0069336C0A0 -S1131FA0E0916824F0916924309799F00995882389 -S1131FB081F01092FB211092FC21C0916424D091F5 -S1131FC06524C034D10528F01092C420C0E4D0E0C8 -S1131FD003C081E08093C420E0E0F2E2C28FD38F9B -S1131FE08091FB219091FC21209162243091632403 -S1131FF0280F391F248F358FC80FD91FC093FB2199 -S1132000D093FC21E8E1F2E202E00693DF91CF9164 -S11320100F910895FC018181E82FE7708E2F90E0E5 -S1132020FC013197E730F105C0F4E25DFE4F7AC65A -S113203080E190E0089580E290E0089580E490E0EB -S1132040089580E890E0089580E091E0089580E0AC -S113205092E008958FEF93E0089588E090E008956A -S1132060282F2F7030E0220F331F082E000C990BFD -S11320708827990F881F9927820F931F02979C0125 -S1132080220F331F220F331F220F331F820F931F80 -S11320908B579E4D08950F93CF938091CC0480FF6E -S11320A062C081E08093CC04E0E1F2E200E80693B0 -S11320B0E8E1F2E200E806938093CA04E0E1F2E288 -S11320C000E106938091FF21882329F08350823018 -S11320D008F42CDFE8DE80911222909113220897F5 -S11320E009F043C088E0EBEBF1E2AAE5B4E2019029 -S11320F00D928A95E1F7E8ECF4E0808180628083B8 -S11321008081806280830ADBC82F811103C0F2DEE4 -S1132110C1E02CC080915A2488236CF41092FD21D4 -S11321201092FE211092FB211092FC2182E08093F8 -S1132130FF2104DF1BC08091602490916124892BCE -S113214011F4E6DE13C01092FD211092FE211092CC -S1132150FB211092FC2181E08093FF21E0E1F2E277 -S113216002E0069303C0C0E001C0C1E08C2FCF9110 -S11321700F9108958F929F92AF92BF92DF92EF9248 -S1132180FF920F931F93CF93DF93D82E69DF8C01B7 -S1132190BD2CBB1CBB24BB1CCD2DCF70D0E0CC0F01 -S11321A0DD1FCB0DD11DCE01880F991F880F991FFC -S11321B0880F991F9C01205F3D4D7901C9012ADFD9 -S11321C04C01BB2009F470C0FE01EE0FFF1FEE0F9F -S11321D0FF1FEE0FFF1FE050FE4D26893789D801FF -S11321E015968D919C911697820F931F15968D933A -S11321F09C93169713962D913C91149782179307ED -S113220009F43CC0281B390B2115B4E03B0738F016 -S11322102FEF33E0C901B40171D5281B390BF80144 -S1132220808181FF09C0C901B40168D541E0892BCF -S113223009F040E0842F01C080E0D8019C9180FB2C -S113224091F99C93CC0FDD1FCC0FDD1FCC0FDD1F4C -S1132250C050DE4D1E8A1F8A2A8B3B8B11962D910E -S11322603C91129715968D919C911697820F931F0E -S11322708C8B9D8BF70102E00693CAC0D8018C9128 -S113228081FFB3C08D7F8C93CC0FDD1FCC0FDD1F7E -S1132290CC0FDD1FC050DE4D1E8A1F8A1A8A1B8A8E -S11322A0F70102E00693B4C0FE01EE0FFF1FEE0F2C -S11322B0FF1FEE0FFF1FE050FE4DA288B388D80128 -S11322C08C9182FF19C01196ED91FC91129715968D -S11322D02D913C91169713968D919C911497B4016E -S11322E00DD5B0E4DB9EB00111246B577F4DAC01DA -S11322F0CF01820F931F1CD5F801258136812A0D49 -S11323003B1D25833683838194818217930768F468 -S113231085839683CC0FDD1FCC0FDD1FCC0FDD1F13 -S1132320C050DE4D8E899F8960C0FE01EE0FFF1FF5 -S1132330EE0FFF1FEE0FFF1FE050FE4D4689578939 -S11323404A155B0509F051C02817390709F44DC037 -S1132350AC01421B530B9A01211554E0350750F090 -S11323602FEF33E0C901B401C9D4D901A81BB90BBB -S1132370CD0107C0C901B401C1D4F901E81BF90BAF -S1132380CF01FE01EE0FFF1FEE0FFF1FEE0FFF1F29 -S1132390E050FE4D128A138A8815990578F4D80105 -S11323A08C9184608C93B0E4DB9EC00111248B5724 -S11323B09F4D848B958B868A978A13C0F80141813F -S11323C0528125813681240F351FCC0FDD1FCC0FA0 -S11323D0DD1FCC0FDD1FC050DE4D2C8B3D8B8E8B53 -S11323E09F8BF70102E0069313C0D8018C9180FF04 -S11323F00FC08E7F8C931796ED91FC9118973097B0 -S113240039F015966D917C9116974D2D80E00995C4 -S1132410DF91CF911F910F91FF90EF90DF90BF90CC -S1132420AF909F908F900895CF93CFB7F89481E0A9 -S113243011DDEAECF4E080E4808380E28083E1EC67 -S1132440F4E0808181608083A9ECB4E08C918260A7 -S11324508C93E8ECF4E08081806480838C918160CB -S11324608C93808180688083CFBFCF910895CF9370 -S1132470DF93C0E6D0E0188280E30E94B509E0EC67 -S1132480F4E080818064808381E08883CFB7F8940E -S113249080E090E0FC01EE0FFF1FEE0FFF1FEE0F38 -S11324A0FF1FE050FE4D118A01968830910591F787 -S11324B0E5E8F1E280818E7F8083EEE8F1E28081BD -S11324C08E7F8083E7E9F1E280818E7F8083E0EA7A -S11324D0F1E280818E7F8083E9EAF1E280818E7F60 -S11324E08083E2EBF1E280818E7F80836AE170E099 -S11324F082E0A6DC8F3F19F08093FA0403C08FE1D9 -S11325008093FA046BE170E082E09ADC8F3F19F06B -S11325108093FB0403C08FE18093FB04E0ECF4E0C0 -S113252080818360808380818068808380818061F2 -S1132530808380E192E286839783808180628083B6 -S11325408FEF8093C504E8ECF4E08081826080839F -S11325501092542280914B2C8F3F09F4FFCF9FB7E8 -S1132560F894E6E4FCE285818F5F85839FBF5CDF9E -S1132570CFBFDF91CF9108958093C30408958091D4 -S1132580C3040895EAE5F4E280879187628773873C -S11325900895282F2F7030E0220F331F082E000CCF -S11325A0990B8827990F881F9927820F931FFC0185 -S11325B0EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D4B -S11325C02189207C09F058C06370613011F018F43F -S11325D004C020EC03C020E801C020E440385105C9 -S11325E0E9F050F440325105A9F040345105A1F00E -S11325F040315105D9F40CC0411532E0530791F034 -S11326004F3F33E0530781F04115514079F408C03E -S113261041E00DC042E00BC043E009C044E007C004 -S113262045E005C046E003C047E001C040E0FC01CE -S1132630EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DCA -S1132640118ADC01AA0FBB1FAA0FBB1FAA0FBB1F55 -S1132650A05FBD4D36E03C93242B218B880F991F3E -S1132660880F991F880F991FFC01E050FE4D818946 -S11326708062818B81E0089580E00895E82FEF70F7 -S1132680F0E0EE0FFF1F082E000C990B8827990F1E -S1132690881F9927E80FF91FEE0FFF1FEE0FFF1F8A -S11326A0EE0FFF1FE050FE4D818982FB882780F9E1 -S11326B00895282F2F7030E0A901440F551F282FAB -S11326C0082E000C330B2227330F221F3327240F2D -S11326D0351FF901EE0FFF1FEE0FFF1FEE0FFF1F57 -S11326E0E050FE4D918992FF17C0220F331F220F35 -S11326F0331F220F331FF901E050FE4D91899B7F58 -S1132700918BAEDCFC01808180FF06C08E7F8083CC -S11327100780F085E02D099581E008957F928F92DE -S11327209F92AF92BF92CF92DF92EF92FF920F935C -S11327301F93CF93DF93982E862E6A01790190DC44 -S11327405C01792C771C7724771CC92DCF70D0E0DD -S1132750CC0FDD1FC70DD11DFE01EE0FFF1FEE0FC5 -S1132760FF1FEE0FFF1FE050FE4D8189807C09F4AE -S11327707DC0FE01EE0FFF1FEE0FFF1FEE0FFF1FC8 -S1132780E050FE4D8189807C803C61F0FE01EE0FBB -S1132790FF1FEE0FFF1FEE0FFF1FE050FE4D81895C -S11327A082FD66C08FB7F894F501908190FF03C055 -S11327B08FBF712C5EC0F5019081916090838FBFB3 -S11327C0C182D282E382F482158216820783108743 -S11327D0811006C091E0E114F10419F090E001C009 -S11327E091E0F501808190FB81F98B7F80837720D4 -S11327F059F0CC0FDD1FCC0FDD1FCC0FDD1FC050F7 -S1132800DE4D1E8A1F8A2DC0FE01EE0FFF1FEE0F44 -S1132810FF1FEE0FFF1FE050FE4D8189807C803C3E -S1132820A1F4CE01880F991F880F991F880F991F53 -S1132830805F9D4DEFDBBC01C70160D2892B29F07D -S1132840F50180818E7F808314C0CC0FDD1FCC0FF7 -S1132850DD1FCC0FDD1FC050DE4D1A8A1B8A1E8A75 -S11328601F8A892D87DC7724739403C0712C01C0DF -S1132870712C872DDF91CF911F910F91FF90EF90D5 -S1132880DF90CF90BF90AF909F908F907F900895EE -S1132890FF920F931F93CF93DF93182FF82EFF1CF3 -S11328A0FF24FF1CC82FCF70D0E0CC0FDD1FCF0D4D -S11328B0D11DD6DBDC01FE01EE0FFF1FEE0FFF1F63 -S11328C0EE0FFF1FE05FFD4D02E005938C9180FF4A -S11328D022C08E7F8C931796ED91FC9118973097B8 -S11328E0D1F0FF2059F0CC0FDD1FCC0FDD1FCC0F32 -S11328F0DD1FC050DE4D6E897F890AC0CC0FDD1FFD -S1132900CC0FDD1FCC0FDD1FC050DE4D6A897B89E3 -S1132910412F81E00995DF91CF911F910F91FF9095 -S11329200895CF93C82FB4DFEC2FEF70F0E0EE0FD3 -S1132930FF1F8C2FCC0F990B8827990F881F99277D -S1132940E80FF91FEE0FFF1FEE0FFF1FEE0FFF1F23 -S1132950E050FE4D118ACF9108950F93E82FEF7048 -S1132960F0E0EE0FFF1F282F082E000C330B222758 -S1132970330F221F3327E20FF31FDF01AA0FBB1F00 -S1132980AA0FBB1FAA0FBB1FA050BE4D51969C910E -S11329905197946051969C93EE0FFF1FEE0FFF1F0B -S11329A0EE0FFF1FE05FFD4D01E0069371DF81E054 -S11329B00F9108951F920F920FB60F9211240F9347 -S11329C02F933F934F935F936F937F938F939F9333 -S11329D0AF93BF93EF93FF938091CB04882344F488 -S11329E080E88093CA040E945E0B0E94CB018AC0D7 -S11329F08091CB0482FF20C084E08093CA0480913C -S1132A00182286FF7FC08091CC0481FD7BC043DB0C -S1132A10811178C08091FF21813011F479DA72C07C -S1132A20843009F06FC0E9E1F2E204E00593E1E1EA -S1132A30F2E204E0059366C08091CB0481FF5DC09F -S1132A4082E08093CA048091102286FF5BC080914B -S1132A50CC0481FD57C01FDB811154C08091FF213C -S1132A60823041F484E08093FF21E0E1F2E202E06D -S1132A70069348C0833009F045C0E9E1F2E204E07E -S1132A800593E1E1F2E204E005933CC080E1809328 -S1132A90CA0481E0FDDE81E8FBDE82E0F9DE82E843 -S1132AA0F7DE0E94390B1092C304E0E0F2E2118ACF -S1132AB096E0908B83E4818B118E908F818F8BEBCA -S1132AC091E2848B958BEFD91DC08091CB0486FF56 -S1132AD008C080E48093CA0480E0BCD90E94C90184 -S1132AE011C08091CB0485FF0DC080E28093CA049D -S1132AF081E0B0D90E94CA0105C08091CB0484FD55 -S1132B00C5CFE3CFFF91EF91BF91AF919F918F918B -S1132B107F916F915F914F913F912F910F910F9002 -S1132B200FBE0F901F9018951F920F920FB60F9221 -S1132B3011240F931F932F933F934F935F936F939E -S1132B407F938F939F93AF93BF93CF93DF93EF9331 -S1132B50FF938091CC0481FD03C09DDA8111B9C03B -S1132B6082E08093CC048091C5048195880FE0E1D4 -S1132B70F2E2E81BF109208131812051324236957D -S1132B8027953695279536952795822F869520FD8E -S1132B9002C090E001C090E8890FE82FEF70F0E0E8 -S1132BA0EE0FFF1F282F082E000C330B2227330FA4 -S1132BB0221F3327E20FF31FDF01AA0FBB1FAA0F47 -S1132BC0BB1FAA0FBB1FA05FBD4D9C9195FF81C089 -S1132BD0FD0100E20693811177C08091FF218430CA -S1132BE019F4A4D960D975C000911222109113224E -S1132BF08091642490916524C091FB21D091FC21A3 -S1132C009E01200F311F8217930718F48C010C1BAF -S1132C101D0B8091622490916324A8016BEB71E2F7 -S1132C208C0F9D1F85D0C00FD11FC093FB21D09363 -S1132C30FC210034110569F48091FD219091FE215D -S1132C408C0F9D1F2091602430916124821793077B -S1132C5080F0EAE5F4E2C287D3870684F785E02DA5 -S1132C60309729F00995811102C044D932C050D956 -S1132C7030C08091642490916524C817D907F9F471 -S1132C80E0916824F0916924309711F433D921C07C -S1132C900995811102C02ED91CC02091FD213091CB -S1132CA0FE218091FB219091FC21820F931F809340 -S1132CB0FD219093FE211092FB211092FC21E0E172 -S1132CC0F2E202E0069305C0803811F437D901C05E -S1132CD051DAFF91EF91DF91CF91BF91AF919F9125 -S1132CE08F917F916F915F914F913F912F911F91A0 -S1132CF00F910F900FBE0F901F901895AA1BBB1B2E -S1132D0051E107C0AA1FBB1FA617B70710F0A61BE7 -S1132D10B70B881F991F5A95A9F780959095BC0108 -S1132D20CD010895EE0FFF1F0590F491E02D099455 -S1132D30FB01DC0102C001900D9241505040D8F7D4 -S1092D400895F894FFCF92 -S1132D46FF5580008000EF09FB09010AEC09000029 -S1132D564420162000001C201A2006200902270001 -S1132D6601010080FA0904000003FFFFFF000705C4 -S1132D7681010001010705820100010107058301A4 -S1132D86000101001201000200000040EB0300A054 -S1132D960002010200010000000300000000000020 -S1132DA60000000000000000000000000000000019 -S1132DB60000000000000000000000000000000009 -S1132DC600000000000000000000555342476F62F7 -S1132DD6696E6461722044756D6D79204465766907 -S1132DE66365005461706972546563680000040386 -S1052DF60904CA +S11300002CC1000046C1000044C1000042C10000F0 +S113001040C100003EC1000026C6000065C60000C5 +S1130020A3C60000ABC6000034C1000032C100000A +S113003030C100002EC100002CC100002AC1000004 +S113004028C1000026C1000024C1000022C1000014 +S113005020C100001EC100001CC100001AC1000024 +S11300607CC7000016C1000014C1000012C10000CA +S113007010C100000EC100000CC100000AC1000044 +S113008008C1000006C1000004C1000002C1000054 +S113009000C10000FEC00000FCC00000FAC0000067 +S11300A0F8C00000F6C00000F4C00000F2C0000078 +S11300B0F0C00000EEC00000ECC00000EAC0000088 +S11300C0E8C00000E6C00000E4C00000E2C0000098 +S11300D0E0C00000DEC00000DCC00000DAC00000A8 +S11300E0D8C00000D6C00000D4C00000D2C00000B8 +S11300F0D0C00000CEC00000CCC00000CAC00000C8 +S1130100C8C00000C6C00000C4C00000C2C00000D7 +S1130110C0C00000BEC00000BCC00000BAC00000E7 +S1130120B8C00000B6C00000B4C00000B2C00000F7 +S1130130B0C00000AEC00000ACC00000AAC0000007 +S1130140A8C00000A6C00000A4C0000066C600004D +S1130150A0C000009EC000009CC000009AC0000027 +S113016098C0000096C0000094C0000092C0000037 +S113017090C000008EC000008CC000008AC0000047 +S113018088C0000086C0000084C0000082C0000057 +S113019080C000007EC000007CC000007AC0000067 +S11301A078C0000076C0000074C0000072C0000077 +S11301B070C000006EC000006CC000006AC0000087 +S11301C068C0000066C0000064C0000062C0000097 +S11301D060C000005EC000005CC000005AC00000A7 +S11301E058C0000056C0000054C0000052C00000B7 +S11301F050C000000C944D130C940714E401E60164 +S1130200E801EA01EC01F101EE01F001340A360AD9 +S1130210720AAE0AB70ABC0A0E0B130B620A640A0E +S1130220660A680A6A0A6C0A6E0A700A9E0AA00ABA +S1130230A20AA40AA60AA80AAA0AAC0AC80AD30AE5 +S1130240DD0AEB0AED0AEF0AF90A030B8B0E8E0E98 +S1130250910E940E970E9A0E9D0E11241FBECFEF91 +S1130260CDBFDFE2DEBF10E2A0E0B0E2ECE2FAE2F2 +S113027002C005900D92A23BB107D9F72CE2A2EB84 +S1130280B0E201C01D92A535B207E1F73ED00C944F +S11302901415B6CEE0E8F6E08FE0808385E0848331 +S11302A0089508954091B3202EEE32E0429FC0019C +S11302B0439F900D112442E551E06AEF70E08E589F +S11302C0994D43C708954091B3202EEE32E0429FEA +S11302D0C001439F900D112443E651E06AEF70E0A2 +S11302E08459984D3EC708954091B3202EEE32E0D4 +S11302F0429FC001439F900D112444E751E06AEFEF +S113030070E08A59974D39C7089587E08093A20019 +S113031078942ED6C6DF0E94B409FDD020D160E0C7 +S113032080E0BCD0A8D08CE09CD032D5F0D507D6E4 +S1130330B1DF22E736E220936F2480E699E28093CE +S1130340702430935D2290935C2229EE37E220934F +S1130350572287ED9AE280934E2C30935E2490933B +S113036056228091582290915922A0915A22B091FC +S11303705B220196A11DB11D813021EE920725EF6C +S1130380A20725E0B20718F080E090E0DC0100004D +S11303900000000000000000000000000000000059 +S11303A000000000000000000000E3CF089508955D +S11303B0E09100208E2F90E08830910590F4FC01AC +S11303C0E250FF4F0C9405155AD10BC0D1D109C08E +S11303D047D207C0C2D205C037D303C0E0D301C09F +S11303E041D4F8949091B32081E0911180E08093FE +S11303F0B3207894089581E08093B62042E551E0DB +S11304006EEE72E082E796E2A0D643E651E06EEE2D +S113041072E08CE697E2A5D644E751E06EEE72E016 +S113042086E698E2AAD681E008951092B62008954F +S113043081E0089581E00895E0E0F2E010A2982FB1 +S11304409C71936890A388231CF490E182E002C01D +S113045090E080E0892BE0E0F2E081A312A216A2F2 +S11304600895E0E0F2E010AA836880AB80E181ABFC +S113047012AA16AA0895E0E0F2E010A683E880A785 +S11304808FE281A712A616A60895AAECB1E092E025 +S11304909C93E82FF0E084911C920895CF93DF930E +S11304A0E0E7F0E091819D7F918310920002623039 +S11304B031F1E0E0F2E09CE1918390E492838111D8 +S11304C002C080E401C080EC80930302613011F02B +S11304D083E001C082E0C0E0D2E08C8380E2D5DF1B +S11304E08C8781E2D2DF8D87188E198E81E0888314 +S11304F0C2DF0EC080EC8093030283E0ECCFE0E027 +S1130500F2E09EE1918390E492838111F3CFD9CFFD +S1130510DF91CF910895CF93DF93E0E7F0E08281FC +S11305208B7F8283C0E2D3E08DE0888380E489837B +S113053089E08A8383E3A9DF888782E3A6DF89874A +S113054087E3A3DF8A8786E3A0DF8B87E0E2F6E018 +S11305508081836080831482DF91CF910895E0E7E6 +S1130560F0E080818E7F808382E88093000108958B +S1130570E0E0F1E0108A80E4808B10A280A310AA4E +S113058080ABE0E4F1E0108280831092B5201092F9 +S1130590B4201092B320089510920020E9DFE0E027 +S11305A0F1E016AA94E290AB11AA49E542AB32E01D +S11305B033AB609102207091032064AB75AB61E7AB +S11305C074E260AF71AF12AE8BE384AF83E08093CB +S11305D03D0110923E0120A9206820AB10924601F3 +S11305E0A0E4B1E09C9310924101409342018093B6 +S11305F043014091042050910520409344015093BD +S113060045014EE552E2409348015093490110924E +S11306104A0129E320934C0180934D0110924E012D +S11306202C9120682C93108A20E4208B24E0208BCA +S1130630818B81E9828B80E1838B47E751E0448B96 +S1130640558B908F318F128E4091B5202EEE32E073 +S1130650429FC001439F900D11248E58994D848F61 +S11306604091B520429FC001439F900D11248E58A4 +S1130670994D958F168E80898068808B0895089592 +S1130680CF93DF9381E08093002072DFE0E0F1E01C +S113069010AA80E480AB94E090AB11AA12AA5BE4A8 +S11306A053AB14AA15AA16AA21E030E220AF31AF49 +S11306B012AE40EA44AF38E030933D0110923E015F +S11306C080A9806A80AB85E58093A00810924601DA +S11306D0A0E4B1E0D4E2DC931092410189E5809377 +S11306E04201C2E0C0934301609102207091032053 +S11306F0609344017093450161E774E2609348019B +S11307007093490110924A018BE380934C0183E07A +S113071080934D0110924E012C9120682C93908B64 +S1130720818BA1E9A28B20E1238B67E771E0648BC5 +S1130730758BD08FC18F128EC2E7D6E2C48FD58F4E +S1130740168E20892068208B90A381A3A2A353A393 +S113075064A375A340A731A712A689EE97E284A7E4 +S113076095A716A680A1806880A3DF91CF910895F4 +S11307700895CF93F894C2E0C0930020F9DEE0E03E +S1130780F1E016AA94E290AB11AA39E532AB83E00A +S113079083AB409104205091052044AB55AB4EE50A +S11307A052E240AF51AF12AE29E324AF80933D0132 +S11307B010923E0120A9206820AB10924601A0E4CB +S11307C0B1E09C9310924101309342018093430124 +S11307D0209102203091032020934401309345015D +S11307E021E734E2209348013093490110924A01F1 +S11307F02BE320934C0180934D0110924E012C91D8 +S113080020682C9354E0508B818B41E9428BC38B3D +S113081027E731E0248B358B908FC18F128E62E7EE +S113082076E2648F758F168E50A381A342A381E074 +S113083083A324A335A384E380A7C1A712A689EECA +S113084097E284A795A716A680898068808B00C04C +S113085000C0000080A1806880A37894CF9108959F +S11308600895CF93C3E0C093002082DEE0E0F1E07E +S113087010A250E450A344E040A311A212A23BE40E +S113088033A314A215A216A281E090E280A791A737 +S113089012A620EA24A798E095A716A680A1806A4C +S11308A080A385E58093A00816AA74E270AB11AA10 +S11308B069E562ABC3ABA0910420B0910520A4AB61 +S11308C0B5ABAEE5B2E2A0AFB1AF12AE89E384AF8F +S11308D0C0933D0110923E0180A9806880AB1092C4 +S11308E04601A0E4B1E07C9310924101609342017F +S11308F082E0809343016091022070910320609311 +S113090044017093450161E774E260934801709378 +S1130910490110924A018BE380934C01C0934D012D +S113092010924E018C9180688C93108A508B408B6E +S1130930C18B81E9828B338B47E751E0448B558B24 +S1130940208F918F128E82E796E2848F958F168E78 +S113095080898068808BCF9108950895CF93C4E0F7 +S1130960C093002005DEE0E0F1E010A280E480A363 +S1130970C0A311A212A24BE443A314A215A216A26F +S113098081E090E280A791A712A660EA64A788E0BC +S113099085A716A690A1906A90A395E59093A008C8 +S11309A010924601A0E4B1E094E29C9310924101BC +S11309B099E59093420192E09093430120910220A3 +S11309C030910320209344013093450121E734E220 +S11309D0209348013093490110924A019BE390937C +S11309E04C0193E090934D0110924E012C9120689C +S11309F02C93C08B918B31E9328B438B47E751E0C9 +S1130A00448B558B608F818F128E62E776E2648F00 +S1130A10758F168E20892068208BC0AB91AB32ABCA +S1130A209AE493AB44AB55AB93EC90AF81AF12AE69 +S1130A3089EE97E284AF90933D0110923E0180A924 +S1130A40806880ABCF910895089585E0809300205D +S1130A508FDDE0E0F1E016AA34E230AB11AA29E51B +S1130A6022AB83E083AB409104205091052044AB3A +S1130A7055AB4EE552E240AF51AF12AE99E394AF9D +S1130A8080933D0110923E0190A9906890AB109222 +S1130A904601E0E4F1E030831092410120934201E9 +S1130AA08093430120910420309105202093440138 +S1130AB03093450121E734E2209348013093490102 +S1130AC010924A019BE390934C0180934D01109244 +S1130AD04E01808180688083089586E080930020A1 +S1130AE047DDE0E0F1E016AA94E290AB11AA39E503 +S1130AF032AB83E083AB409104205091052044AB9A +S1130B0055AB4EE552E240AF51AF12AE29E324AFEC +S1130B1080933D0110923E0120A9206820AB1092E1 +S1130B204601A0E4B1E09C9310924101309342014C +S1130B3032E03093430140910220509103204093CE +S1130B4044015093450141E754E2409348015093D6 +S1130B50490110924A012BE320934C0180934D01EB +S1130B6010924E012C9120682C93108A20E4208B43 +S1130B7024E0208B818B81E9828B80E1838B4EEE94 +S1130B8052E0448B558B908F318F128E82E796E220 +S1130B90848F958F168E80898068808B0895089540 +S1130BA087E080930020E4DCE0E0F1E016AA94E220 +S1130BB090AB11AA39E532AB83E083AB40910420BA +S1130BC05091052044AB55AB4EE552E240AF51AFD6 +S1130BD012AE29E324AF80933D0110923E0120A977 +S1130BE0206820AB10924601A0E4B1E09C931092DF +S1130BF041013093420132E030934301409102209D +S1130C0050910320409344015093450141E754E23D +S1130C10409348015093490110924A012BE32093D9 +S1130C204C0180934D0110924E012C9120682C931D +S1130C30108A20E4208B25E0208B818B81E9828B34 +S1130C4080E1838B4EEE52E0448B558B908F318F35 +S1130C50128E82E796E2848F958F168E8089806843 +S1130C60808B089508951F920F920FB60F9211244E +S1130C708F939F93EF93FF9387E791E08093140101 +S1130C80909315018091B520882349F080917024B8 +S1130C90E0E0F1E0848F80915C22858F08C0809130 +S1130CA06F24E0E0F1E0848F80915D22858F000065 +S1130CB00000E0E0F1E080898068808B82E080932E +S1130CC090019091B52081E0911180E08093B5204E +S1130CD081E080930301FF91EF919F918F910F9099 +S1130CE00FBE0F901F9018951F920F920FB60F9280 +S1130CF011248F939F93EF93FF9387E791E0809361 +S1130D002401909325018091B420882349F0809197 +S1130D104E2CE0E0F1E084A78091562285A708C01C +S1130D2080915722E0E0F1E084A780915E2485A7BA +S1130D3000000000E0E0F1E080A1806880A381E091 +S1130D40809390019091B420911180E08093B4201D +S1130D5082E080930301FF91EF919F918F910F9017 +S1130D600FBE0F901F9018951F920F920FB60F92FF +S1130D7011240F900FBE0F901F9018951F920F9281 +S1130D800FB60F9211240F900FBE0F901F9018955D +S1130D90E0E7F0E083818C7F838384818C7F84838C +S1130DA080818D7F8083E0E8F1E080EC828312868D +S1130DB080E28183118682E280831086A0E0B8E01D +S1130DC034E03C9323E011962C93119714961C92D3 +S1130DD0149785ED91E096968D939C93979716962C +S1130DE01C921697E0E4F8E030832183148286A3F2 +S1130DF097A31682E0E6F6E0808180618083E0E4D8 +S1130E00F9E083E18183148282E08683A6A3B7A3F9 +S1130E1010A611A681E0808308951F920F920FB649 +S1130E200F9211242F933F934F935F938F939F932C +S1130E30EF93FF93CF93DF931F92CDB7DEB78FEF7E +S1130E4080934C0980910020873031F4E0E0F2E097 +S1130E5084A5898395A502C090912C028091B2202B +S1130E60891B209168093091690991E082300CF462 +S1130E7090E09923C9F091E02A3F374008F090E0D0 +S1130E80992391F0209168093091690989301CF403 +S1130E9081E090E002C086E090E0820F931F80938F +S1130EA078099093790923C02091680930916909E0 +S1130EB091E08F3F0CF090E09923C9F091E0273046 +S1130EC0310508F490E0992391F02091680930915C +S1130ED06909883F1CF081E090E002C086E090E060 +S1130EE0A901481B590B40937809509379090F9035 +S1130EF0DF91CF91FF91EF919F918F915F914F91EE +S1130F003F912F910F900FBE0F901F901895E0E71F +S1130F10F0E083818F7E8383E0E4F6E080818A6A57 +S1130F2080838FEF848388E5828BE0EAF8E084ECA9 +S1130F30858383E08683178288E184830895E0E7CC +S1130F40F0E08381877F8383E0ECF8E080E48083B2 +S1130F50118288E58093550608951F920F920FB66B +S1130F600F92112400000F900FBE0F901F90189540 +S1130F700F931F93CF93DF9300D000D0CDB7DEB78C +S1130F808FEF809370008093710080937200809340 +S1130F90730080937400809375008093760064E0FE +S1130FA081E490E0BAD56CE170E082E0BCD58A833C +S1130FB06DE170E082E0B7D5898389819A810196D9 +S1130FC021F480E493E289839A8389819A818B83D3 +S1130FD09C83E0E6F0E082838C8183839FB7F8945E +S1130FE0E0E5F0E08081826080839FBF818181FFA2 +S1130FF0FDCF9FB7F89400E510E0D80116968C91C8 +S11310001697897F16968C931697E0E6F0E080E8B1 +S113101085838BEB868316968C911697846016963F +S11310208C938081816080839FBF61E080E490E045 +S113103074D59FB7F894F80180818E7F80839FBF19 +S11310402496CDBFDEBFDF91CF911F910F910895FC +S11310509FB7F894E82FF0E0E059FF4F6095808146 +S1131060682360839FBF0895863011F060E001C05B +S113107068E18091510081FD26C09FB7F894E0E5B6 +S1131080F0E08081826080839FBF818181FFFDCFFA +S11310909FB7F894A0E5B0E016968C911697897FD7 +S11310A016968C931697E0E6F0E080E885838BEB48 +S11310B0868316968C911697846016968C938081FD +S11310C0816080839FBF636084E490E026D560E400 +S11310D080E0BECF08958091B720089540D1FC01EF +S11310E083818093B720811102C085C9089581E06E +S11310F008958091B720813009F497C908958091AB +S11311005F2488234CF480768034A9F48091602491 +S1131110811113C08FC908958076803481F4809141 +S1131120602481110EC08091652490916624892BDE +S113113051F07EC9089580E0089580E0089580E02C +S1131140089580E0089580E008950F931F939B0114 +S11311508A01AC0160E081E80E9401121F910F91A5 +S113116008950F931F939B018A01AC0160E082E80C +S11311700E9401121F910F9108950F931F939B01D9 +S11311808A01AC0160E083E80E9401121F910F9173 +S11311900895E091BC20F091BD200190F081E02DF4 +S11311A0228133812E0F3F1FFC014081E40FF11D8A +S11311B0E217F307B8F481818430B9F0861309C0CB +S11311C005C081818430A1F0861303C08E2F9F2F28 +S11311D008958081E80FF11DE217F30790F380E092 +S11311E090E0089580E090E0089580E090E0089514 +S11311F080E090E00895809161248F770C942F1102 +S113120008959091BE20992381F1E091BC20F09142 +S1131210BD200190F081E02D9481891740F5E09381 +S1131220BA20F093BB20228133812E0F3F1FE21797 +S1131230F307F8F49181943061F49281981309C012 +S11312409381961306C0E093BA20F093BB2081E00B +S113125008959081E90FF11DE217F30758F3E09325 +S1131260BA20F093BB2080E0089580E0089580E0E8 +S1131270089580E00895EF92FF921F93CF93DF9338 +S1131280C82F60E0BEDF182F882381F1A091BC2015 +S1131290B091BD20EC2FF0E0EE0FFF1F12968D9160 +S11312A09C911397E80FF91FE080F180D7011696FF +S11312B0ED91FC9117970995682F8C2FA2DF182FB9 +S11312C08823A1F0C091BA20D091BB2065E0CE0163 +S11312D060DFEC01892B21F08A810E940413F6CF90 +S11312E0D7011296ED91FC9113970995812FDF9107 +S11312F0CF911F91FF90EF9008951F93CF93DF93A9 +S1131300182F7FDF882339F1C091BA20D091BB20F8 +S113131065E0CE013EDFEC01892B41F04C815D811B +S11313206B818A81A9D78111F3CF15C0A091BC200C +S1131330B091BD20E12FF0E0EE0FFF1F12968D91CA +S11313409C911397E80FF91F0190F081E02D019013 +S1131350F081E02D0995DF91CF911F91089580913F +S1131360BA209091BB200895F5C60895CF9380913B +S1131370BE208823C1F0E091BC20F091BD200190F3 +S1131380F081E02D8481882371F0C0E08C2F73DF1D +S1131390CF5FE091BC20F091BD200190F081E02D61 +S11313A08481C81798F31092BE201092C220109224 +S11313B0C320CF910895CF938091BE20882349F113 +S11313C0A091BC20B091BD20ED91FC911197848136 +S11313D08823F9F0C0E0EC2FF0E0EE0FFF1F129627 +S11313E08D919C911397E80FF91F0190F081E02DE6 +S11313F00084F185E02D309709F00995CF5FA09125 +S1131400BC20B091BD20ED91FC9111978481C81747 +S113141010F3CF9108950F931F93CF93DF93EFE5CC +S1131420F4E2128613861486158616861786808142 +S113143088233CF42091652430916624232B09F4FD +S113144060C38076803409F0FEC0E09160248E2F62 +S113145090E0FC01E05AF109E830F10508F0EAC037 +S1131460EA5FFE4F0C94051500004FC3E0E0F8E07E +S11314701082CFE5D4E28A819B8186AB97AB8C81C5 +S11314808F7080836E817F818EE592E2EED68E81AD +S11314909F8120910420309105208217930709F43D +S11314A034C38093042090930520E09100208E2F74 +S11314B090E08830910508F0BFC0FC01E25FFE4F68 +S11314C00C94051569D821C3DBD81FC352D91DC399 +S11314D0C8D91BC343DA19C3B8DA17C3FEDA15C374 +S11314E05FDB13C3E0E4F8E01082CFE5D4E28A8145 +S11314F09B8186AB97AB8C818F7080836E817F815B +S113150081E794E2B2D68E819F81209102203091AE +S113151003208217930709F4F8C280930220909362 +S11315200320E09100208E2F90E08830910508F090 +S113153085C0FC01EA5EFE4F0C9405152DD8E5C26A +S11315409FD8E3C216D9E1C28CD9DFC207DADDC263 +S11315507CDADBC2C2DAD9C223DBD7C210926809B3 +S113156010926909809161248093B220CEC2809147 +S1131570612480932406C9C2E0916124F09162241D +S1131580E830F10508F05CC0E25EFE4F0C940515EE +S113159060E080E00E944E02809163240E941C025D +S11315A00E94CC02B2C260E080E00E944E028091B0 +S11315B063240E941C0264D8A8C261E081E00E94F6 +S11315C04E02CFE5D4E28C810E941C028D810E94E0 +S11315D03102CFD89AC245D998C2C0D996C260E028 +S11315E080E00E944E02809163240E941C022DDA46 +S11315F08CC261E080E00E944E02809163240E94CC +S11316001C026BDA82C262E080E00E944E0280918A +S1131610632480680E941C02C3DA77C2809161242B +S11316208093840672C2E9E7F0E091E088EDF894D3 +S113163084BF908380E005C081E003C081E001C0E5 +S113164080E0811165C280915F24982F907609F023 +S1131650E1C188230CF005C12091652430916624F2 +S11316602115310509F4D6C18F7109F0A3C09091F9 +S11316706024963079F0983009F492C091119AC0A0 +S11316802230310509F0C6C162E070E082EC90E2DC +S1131690ECD53DC28091612490916224292F332797 +S11316A022303105A9F024F42130310541F0A9C1DB +S11316B023303105D9F12F30310551F1A2C1809188 +S11316C0102090911120DC016C9170E0CED559C0AE +S11316D0E0911020F09111202189821708F09AC11D +S11316E09927880F991F880F991FE0911220F09174 +S11316F01320E80FF91F80819181FC0162817381BD +S1131700B4D5E0916724F091682482E0818339C0E4 +S11317108091142090911520009709F47BC1DC017D +S113172012966D917C911397A0D52BC09927813087 +S1131730910571F038F0029709F06CC18AE890E2E3 +S113174028E109C064E070E08EEA90E28ED519C009 +S113175083EA90E229E0382FAAE5B0E2E82FF92FD6 +S1131760819190E08D939D938E2F831B8217C0F3FC +S1131770622F660F6E5F6093582070E088E590E2F8 +S113178074D5EFE5F4E2868197812285338582174B +S1131790930708F0BCC18093692490936A24B7C16D +S11317A02130310509F036C161E070E08EEB90E242 +S11317B05CD5ADC18130E1F5909160249A30C1F5DA +S11317C02130310509F026C18091BE20882309F417 +S11317D021C1C0916324D09164240091BC20109154 +S11317E0BD20D801ED91FC918481C81708F012C185 +S11317F060E08C2F06DD882309F40CC1CE01992703 +S1131800880F991FD8011296ED91FC911397E80F58 +S1131810F91F0190F081E02D86819781FC010995E3 +S11318208093C02061E070E080EC90E21ED56FC12F +S1131830823009F0EFC0809160248111E4C022302D +S1131840310509F0E7C0809163248BD590E0809343 +S1131850B8209093B92062E070E088EB90E205D55F +S113186056C18F7109F083C090916024933009F4BC +S1131870CCC018F49130A1F07AC0953019F09930A9 +S113188039F175C08091652490916624892B09F003 +S1131890C1C08BEF98E080936B2490936C2437C184 +S11318A08091652490916624892B09F0B3C08091BE +S11318B0612490916224019709F0ACC08091C22008 +S11318C09091C3208D7F8093C2209093C3201FC129 +S11318D08091652490916624892B09F09BC0C2D421 +S11318E0882309F497C0209161243091622433271E +S11318F0E0911020F0911120818990E082179307E4 +S113190008F488C033DD809161249091622480932F +S1131910BE20882309F4FBC099278150904C880F7E +S1131920991F880F991FE0911220F0911320E80F5E +S1131930F91FE093BC20F093BD200190F081E02DCD +S11319408481882309F4E3C0C0E060E08C2FD5DCF7 +S1131950882309F45FC0CF5FE091BC20F091BD20E3 +S11319600190F081E02D8481C81778F3D0C08130D4 +S1131970E1F4909160249B30C1F4809165249091AE +S11319806624892B09F046C08091BE20882309F47F +S113199041C0EFE5F4E2C481D2818C2F6CDC882352 +S11319A0C9F16D2F8C2FA9DC33C0823099F5809159 +S11319B06024813019F0833089F029C08091652436 +S11319C090916624892B31F5809161249091622451 +S11319D0892B01F580916324DFD41AC0809165249A +S11319E090916624892BB1F48091612490916224B2 +S11319F0892B81F4CFE5D4E28C81BDD58C8120D6AE +S1131A0007C080E005C080E003C080E001C080E042 +S1131A1081117EC080915F248F71813071F5809136 +S1131A20BE20882351F10091632410916424C09155 +S1131A30BC20D091BD20E881F98184810817E8F4A5 +S1131A4060E0802FDEDB8823C1F0F801FF27CF019F +S1131A50880F991FEA81FB81E80FF91FC081D181AA +S1131A60EE81FF810995682F802FCBDB882329F035 +S1131A70EC81FD81099581114BC080915F248F71A8 +S1131A80823009F040C08091BE208823B1F1A0913A +S1131A90BC20B091BD20ED91FC91119784818823E5 +S1131AA071F1C0E0EC2FF0E0EE0FFF1F12968D9164 +S1131AB09C911397E80FF91F00811181D8011696A4 +S1131AC0ED91FC9117970995682F8C2F9ADB882349 +S1131AD0F9F0D8011496ED91FC91159709958111AF +S1131AE017C0CF5FA091BC20B091BD20ED91FC91B7 +S1131AF011979481C917B0F20BC080E009C080E04F +S1131B0007C080E005C080E003C081E001C081E03F +S1131B10DF91CF911F910F9108951BBEFC0128ED19 +S1131B2024BF608308954091CA01E62FF72F809364 +S1131B30CA0184914093CA010895811122C09091F1 +S1131B4054229923D9F09091502C911101C0FFCFC8 +S1131B502FB7F894EFE4FCE29181915091832FBF69 +S1131B600DC09091502C9F3F09F4FFCF2FB7F894EC +S1131B70EFE4FCE291819F5F91832FBF8093542215 +S1131B80089590915422992361F3F8CF0F93E8ECD0 +S1131B90F4E080818F7D808380818F7D8083E8E184 +S1131BA0F2E202E0059310921A2210921B2200E244 +S1131BB0069300E40693E0E1F2E200E2069300E417 +S1131BC00693EFE5F4E214861586168617861286C8 +S1131BD013861092FF210F9108950F9385E080934F +S1131BE0FF21E9E1F2E204E00593E1E1F2E204E03D +S1131BF005930F9108950F9383E08093FF21109232 +S1131C001A2210921B22E8E1F2E202E006930F91FD +S1131C100895E0916B24F0916C24309709F00995B4 +S1131C2008950F93CF93DF938091FF21833019F4AC +S1131C30F0DFACDF5EC08091FB219091FC21C0916C +S1131C406924D0916A24C81BD90B71F52091FD2118 +S1131C503091FE21820F931F8093FD219093FE21EA +S1131C6020916524309166248217930721F0809196 +S1131C70C420882341F084E08093FF21E0E1F2E274 +S1131C8002E0069336C0E0916D24F0916E24309703 +S1131C9099F00995882381F01092FB211092FC2180 +S1131CA0C0916924D0916A24C034D10528F01092DF +S1131CB0C420C0E4D0E003C081E08093C420E0E00D +S1131CC0F2E2C28FD38F8091FB219091FC2120916D +S1131CD0672430916824280F391F248F358FC80F4B +S1131CE0D91FC093FB21D093FC21E8E1F2E202E08A +S1131CF00693DF91CF910F910895FC018181E82F24 +S1131D00E7708E2F90E0FC013197E730F105C0F4C5 +S1131D10EA5DFE4F7AC680E190E0089580E290E0AB +S1131D20089580E490E0089580E890E0089580E0CC +S1131D3091E0089580E092E008958FEF93E0089594 +S1131D4088E090E00895282F2F7030E0220F331F91 +S1131D50082E000C990B8827990F881F9927820F4A +S1131D60931F02979C01220F331F220F331F220F50 +S1131D70331F820F931F8B579E4D08950F93CF935C +S1131D808091CC0480FF62C081E08093CC04E0E1C8 +S1131D90F2E200E80693E8E1F2E200E806938093B9 +S1131DA0CA04E0E1F2E200E106938091FF21882376 +S1131DB029F08350823008F42CDFE8DE809112226F +S1131DC090911322089709F043C088E0EBEBF1E20D +S1131DD0AFE5B4E201900D928A95E1F7E8ECF4E006 +S1131DE080818062808380818062808314DBC82F3D +S1131DF0811103C0F2DEC1E02CC080915F248823EE +S1131E006CF41092FD211092FE211092FB2110928D +S1131E10FC2182E08093FF2104DF1BC080916524B4 +S1131E2090916624892B11F4E6DE13C01092FD21F3 +S1131E301092FE211092FB211092FC2181E08093EC +S1131E40FF21E0E1F2E202E0069303C0C0E001C03A +S1131E50C1E08C2FCF910F9108958F929F92AF92F2 +S1131E60BF92DF92EF92FF920F931F93CF93DF9372 +S1131E70D82E69DF8C01BD2CBB1CBB24BB1CCD2D13 +S1131E80CF70D0E0CC0FDD1FCB0DD11DCE01880F5C +S1131E90991F880F991F880F991F9C01205F3D4D42 +S1131EA07901C9012ADF4C01BB2009F470C0FE018D +S1131EB0EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D52 +S1131EC026893789D80115968D919C911697820F92 +S1131ED0931F15968D939C93169713962D913C9171 +S1131EE014978217930709F43CC0281B390B21155A +S1131EF0B4E03B0738F02FEF33E0C901B40171D5EA +S1131F00281B390BF801808181FF09C0C901B40184 +S1131F1068D541E0892B09F040E0842F01C080E0BE +S1131F20D8019C9180FB91F99C93CC0FDD1FCC0FC1 +S1131F30DD1FCC0FDD1FC050DE4D1E8A1F8A2A8B89 +S1131F403B8B11962D913C91129715968D919C91F6 +S1131F501697820F931F8C8B9D8BF70102E00693DB +S1131F60CAC0D8018C9181FFB3C08D7F8C93CC0FF4 +S1131F70DD1FCC0FDD1FCC0FDD1FC050DE4D1E8AD0 +S1131F801F8A1A8A1B8AF70102E00693B4C0FE0175 +S1131F90EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D71 +S1131FA0A288B388D8018C9182FF19C01196ED9153 +S1131FB0FC91129715962D913C91169713968D913D +S1131FC09C911497B4010DD5B0E4DB9EB0011124AB +S1131FD06B577F4DAC01CF01820F931F1CD5F801C5 +S1131FE0258136812A0D3B1D258336838381948187 +S1131FF08217930768F485839683CC0FDD1FCC0F7B +S1132000DD1FCC0FDD1FC050DE4D8E899F8960C05F +S1132010FE01EE0FFF1FEE0FFF1FEE0FFF1FE0503C +S1132020FE4D468957894A155B0509F051C02817AA +S1132030390709F44DC0AC01421B530B9A01211519 +S113204054E0350750F02FEF33E0C901B401C9D48F +S1132050D901A81BB90BCD0107C0C901B401C1D472 +S1132060F901E81BF90BCF01FE01EE0FFF1FEE0F84 +S1132070FF1FEE0FFF1FE050FE4D128A138A8815D2 +S1132080990578F4D8018C9184608C93B0E4DB9E3C +S1132090C00111248B579F4D848B958B868A978A18 +S11320A013C0F8014181528125813681240F351FE7 +S11320B0CC0FDD1FCC0FDD1FCC0FDD1FC050DE4D5C +S11320C02C8B3D8B8E8B9F8BF70102E0069313C004 +S11320D0D8018C9180FF0FC08E7F8C931796ED9161 +S11320E0FC911897309739F015966D917C9116975D +S11320F04D2D80E00995DF91CF911F910F91FF90B5 +S1132100EF90DF90BF90AF909F908F900895CF9302 +S1132110CFB7F89481E011DDEAECF4E080E4808349 +S113212080E28083E1ECF4E0808181608083A9EC2B +S1132130B4E08C9182608C93E8ECF4E0808180645C +S113214080838C9181608C93808180688083CFBFF1 +S1132150CF910895CF93DF93C0E6D0E0188280E357 +S11321600E943408E0ECF4E080818064808381E0A4 +S11321708883CFB7F89480E090E0FC01EE0FFF1F56 +S1132180EE0FFF1FEE0FFF1FE050FE4D118A019668 +S11321908830910591F7E5E8F1E280818E7F8083B4 +S11321A0EEE8F1E280818E7F8083E7E9F1E28081CD +S11321B08E7F8083E0EAF1E280818E7F8083E9EA8A +S11321C0F1E280818E7F8083E2EBF1E280818E7F79 +S11321D080836AE170E082E0A6DC8F3F19F080938F +S11321E0FA0403C08FE18093FA046BE170E082E0AB +S11321F09ADC8F3F19F08093FB0403C08FE1809336 +S1132200FB04E0ECF4E0808183608083808180685B +S1132210808380818061808380E192E286839783DA +S11322208081806280838FEF8093C504E8ECF4E0C2 +S1132230808182608083109254228091542C8F3F3D +S113224009F4FFCF9FB7F894EFE4FCE285818F5F38 +S113225085839FBF5CDFCFBFDF91CF9108958093CB +S1132260C30408958091C3040895EFE5F4E28087E0 +S11322709187628773870895282F2F7030E0220F8B +S1132280331F082E000C990B8827990F881F992754 +S1132290820F931FFC01EE0FFF1FEE0FFF1FEE0FC7 +S11322A0FF1FE050FE4D2189207C09F058C0637067 +S11322B0613011F018F404C020EC03C020E801C020 +S11322C020E440385105E9F050F440325105A9F0BA +S11322D040345105A1F040315105D9F40CC04115E9 +S11322E032E0530791F04F3F33E0530781F041153B +S11322F0514079F408C041E00DC042E00BC043E016 +S113230009C044E007C045E005C046E003C047E01B +S113231001C040E0FC01EE0FFF1FEE0FFF1FEE0FA8 +S1132320FF1FE050FE4D118ADC01AA0FBB1FAA0F4C +S1132330BB1FAA0FBB1FA05FBD4D36E03C93242BEF +S1132340218B880F991F880F991F880F991FFC01F3 +S1132350E050FE4D81898062818B81E0089580E0A8 +S11323600895E82FEF70F0E0EE0FFF1F082E000C29 +S1132370990B8827990F881F9927E80FF91FEE0FEB +S1132380FF1FEE0FFF1FEE0FFF1FE050FE4D818970 +S113239082FB882780F90895282F2F7030E0A90147 +S11323A0440F551F282F082E000C330B2227330F00 +S11323B0221F3327240F351FF901EE0FFF1FEE0FE5 +S11323C0FF1FEE0FFF1FE050FE4D918992FF17C0D3 +S11323D0220F331F220F331F220F331FF901E05046 +S11323E0FE4D91899B7F918BAEDCFC01808180FF47 +S11323F006C08E7F80830780F085E02D099581E0FB +S113240008957F928F929F92AF92BF92CF92DF9264 +S1132410EF92FF920F931F93CF93DF93982E862E04 +S11324206A01790190DC5C01792C771C7724771C94 +S1132430C92DCF70D0E0CC0FDD1FC70DD11DFE011B +S1132440EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DBC +S11324508189807C09F47DC0FE01EE0FFF1FEE0F21 +S1132460FF1FEE0FFF1FE050FE4D8189807C803CF2 +S113247061F0FE01EE0FFF1FEE0FFF1FEE0FFF1FB7 +S1132480E050FE4D818982FD66C08FB7F894F50156 +S1132490908190FF03C08FBF712C5EC0F5019081C5 +S11324A0916090838FBFC182D282E382F4821582CD +S11324B0168207831087811006C091E0E114F104AD +S11324C019F090E001C091E0F501808190FB81F961 +S11324D08B7F8083772059F0CC0FDD1FCC0FDD1F5D +S11324E0CC0FDD1FC050DE4D1E8A1F8A2DC0FE0199 +S11324F0EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D0C +S11325008189807C803CA1F4CE01880F991F880FBB +S1132510991F880F991F805F9D4DEFDBBC01C70198 +S113252060D2892B29F0F50180818E7F808314C0CD +S1132530CC0FDD1FCC0FDD1FCC0FDD1FC050DE4DD7 +S11325401A8A1B8A1E8A1F8A892D87DC7724739432 +S113255003C0712C01C0712C872DDF91CF911F9185 +S11325600F91FF90EF90DF90CF90BF90AF909F902E +S11325708F907F900895FF920F931F93CF93DF93D3 +S1132580182FF82EFF1CFF24FF1CC82FCF70D0E09B +S1132590CC0FDD1FCF0DD11DD6DBDC01FE01EE0F0C +S11325A0FF1FEE0FFF1FEE0FFF1FE05FFD4D02E068 +S11325B005938C9180FF22C08E7F8C931796ED91AA +S11325C0FC9118973097D1F0FF2059F0CC0FDD1F04 +S11325D0CC0FDD1FCC0FDD1FC050DE4D6E897F890F +S11325E00AC0CC0FDD1FCC0FDD1FCC0FDD1FC05088 +S11325F0DE4D6A897B89412F81E00995DF91CF9176 +S11326001F910F91FF900895CF93C82FB4DFEC2F43 +S1132610EF70F0E0EE0FFF1F8C2FCC0F990B882783 +S1132620990F881F9927E80FF91FEE0FFF1FEE0F70 +S1132630FF1FEE0FFF1FE050FE4D118ACF9108954A +S11326400F93E82FEF70F0E0EE0FFF1F282F082EF6 +S1132650000C330B2227330F221F3327E20FF31F03 +S1132660DF01AA0FBB1FAA0FBB1FAA0FBB1FA050DD +S1132670BE4D51969C915197946051969C93EE0F48 +S1132680FF1FEE0FFF1FEE0FFF1FE05FFD4D01E088 +S1132690069371DF81E00F9108951F920F920FB698 +S11326A00F9211240F932F933F934F935F936F9344 +S11326B07F938F939F93AF93BF93EF93FF938091F7 +S11326C0CB04882344F480E88093CA040E94DB0985 +S11326D00E94D8018AC08091CB0482FF20C084E08C +S11326E08093CA048091182286FF7FC08091CC0415 +S11326F081FD7BC043DB811178C08091FF21813053 +S113270011F479DA72C0843009F06FC0E9E1F2E2C1 +S113271004E00593E1E1F2E204E0059366C08091F0 +S1132720CB0481FF5DC082E08093CA0480911022B3 +S113273086FF5BC08091CC0481FD57C01FDB8111F3 +S113274054C08091FF21823041F484E08093FF21C2 +S1132750E0E1F2E202E0069348C0833009F045C0AC +S1132760E9E1F2E204E00593E1E1F2E204E0059339 +S11327703CC080E18093CA0481E0FDDE81E8FBDE99 +S113278082E0F9DE82E8F7DE0E94B6091092C30403 +S1132790E0E0F2E2118A96E0908B83E4818B118E63 +S11327A0908F818F8BEB91E2848B958BEFD91DC039 +S11327B08091CB0486FF08C080E48093CA0480E043 +S11327C0BCD90E94D60111C08091CB0485FF0DC0F5 +S11327D080E28093CA0481E0B0D90E94D70105C089 +S11327E08091CB0484FDC5CFE3CFFF91EF91BF91DE +S11327F0AF919F918F917F916F915F914F913F9195 +S11328002F910F910F900FBE0F901F9018951F924C +S11328100F920FB60F9211240F931F932F933F9390 +S11328204F935F936F937F938F939F93AF93BF93D4 +S1132830CF93DF93EF93FF938091CC0481FD03C08A +S11328409DDA8111B9C082E08093CC048091C504E3 +S11328508195880FE0E1F2E2E81BF10920813181E2 +S113286020513242369527953695279536952795EA +S1132870822F869520FD02C090E001C090E8890F68 +S1132880E82FEF70F0E0EE0FFF1F282F082E000C4A +S1132890330B2227330F221F3327E20FF31FDF01ED +S11328A0AA0FBB1FAA0FBB1FAA0FBB1FA05FBD4D62 +S11328B09C9195FF81C0FD0100E20693811177C0D0 +S11328C08091FF21843019F4A4D960D975C0009196 +S11328D01222109113228091692490916A24C0914C +S11328E0FB21D091FC219E01200F311F82179307F9 +S11328F018F48C010C1B1D0B8091672490916824A3 +S1132900A8016BEB71E28C0F9D1F85D0C00FD11F06 +S1132910C093FB21D093FC210034110569F480910C +S1132920FD219091FE218C0F9D1F209165243091F3 +S113293066248217930780F0EFE5F4E2C287D38719 +S11329400684F785E02D309729F00995811102C09E +S113295044D932C050D930C08091692490916A24FE +S1132960C817D907F9F4E0916D24F0916E243097DB +S113297011F433D921C00995811102C02ED91CC08C +S11329802091FD213091FE218091FB219091FC2129 +S1132990820F931F8093FD219093FE211092FB21BF +S11329A01092FC21E0E1F2E202E0069305C08038D7 +S11329B011F437D901C051DAFF91EF91DF91CF9132 +S11329C0BF91AF919F918F917F916F915F914F9143 +S11329D03F912F911F910F910F900FBE0F901F9059 +S11329E01895AA1BBB1B51E107C0AA1FBB1FA61742 +S11329F0B70710F0A61BB70B881F991F5A95A9F7A4 +S1132A0080959095BC01CD010895EE0FFF1F0590B0 +S1132A10F491E02D0994FB01DC0102C001900D92B8 +S10F2A2041505040D8F70895F894FFCFBF +S1132A2CFF55800080006E0879087F086B08000051 +S1132A3C4420162000001C201A200620090227001E +S1132A4C01010080FA0904000003FFFFFF000705E1 +S1132A5C81010001010705820100010107058301C1 +S1132A6C000101001201000200000040EB0300A071 +S1132A7C000201020001000000030000000000003D +S1132A8C0000000000000000000000000000000036 +S1132A9C0000000000000000000000000000000026 +S1132AAC00000000000000000000555342476F6214 +S1132ABC696E6461722044756D6D79204465766924 +S1132ACC63650054617069725465636800000403A3 +S1052ADC0904E7 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 468ae8352c19934d861d7adf82bb60fa4a5e54f7..6e9953a21b181066b78b01dac79d3fb412709270 100644 GIT binary patch delta 42 xcmX?bUHHIt;f5B*7N#xCQWZ?b2JJEx%-dxuShNCwoaysVu!wDsJHe8q3;;-h4p;yH delta 42 xcmX?bUHHIt;f5B*7N#xCQWZ=_M(r{c%-dxuShNCwoaysVu!wDsJHe8q3;;-^4q5;J diff --git a/AVR Code/USB_BULK_TEST/Debug/src/main.o b/AVR Code/USB_BULK_TEST/Debug/src/main.o index d10fd5f4f69ac783f5fd169d71eb22f98afe6e2c..0741926f03be8a6dc03a877847975d12d0b862dc 100644 GIT binary patch delta 70321 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 delta 96563 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 X#2)orBsSLGpb)Ov=9Tqlf9d}Kmeuti 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 6f4a0d44ca589e4868a3fce50e2ee610e8792330..c38eb4b10bf9d1531504aedeeedc388c08986540 100644 GIT binary patch delta 5746 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 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 a62a3a62aa3441574f2e4c20cf9d78ceeee332a1..2187d27e721d65e94cf2d70d3da0277aef032224 100644 GIT binary patch delta 2099 zcmYk7e@xVM7{{OQeLn}sk28)CP`@STF+e>60=HOzfC5$|oMDuiVEH2qrvzjP2zd}V zj_^9zL&=q_ST<#gu<#GtvOiii`p?a++=?dkk4(u=fj@?_ zi2;u-El_W>PMxrYeAAE zke{r4Sq)SN~Fft>Sos^e8z-Y zJWfbiF_BoEWzRAB9Un?kxkrZ#E0gCr;ElBapWyxy;j*{X>0r~CR^jAMVPLRSmQk<6 zLV(vjtQu(o_?T6V_jGV8)eGn^7lwEXAcW2`s&P?=&lTIvN>?-WoRtOt>QGPB%N^93 z)Kc4w`$|NbeUy+KDT!WY;b9Ucv+y!eIWv;J!nBjgDRuG$-0Lp0Z{3L2%ptarbBH2 zNldR;MYuu7m|i4Wjan&f<|fevH6Kk(?{@&ajX681eNh5#se+mrHk|@URB5AE0=Jq} z>&1Z`RPJ?2=t9YIPng7Vq=yf4DN%$E^IZ;kvIn4*TN{@opk1}Ljp?2D0g5@HZ;gO= zR5=|?vw8skgn*U4~%;FGEeM3)=?9@Afl-eMZNPC%C$O|PVe=nGG#&k*6s z>|yC&L|^3o-6pzM@K$@#xs9a#0PX1CMkP6^x2oPVIQA^FG`uEn!v+zauzrsE8wpFf zpcbNyN;zOsi{ax2{z)iVp+Oe9eE?6eaEa*hKK)Gh5PgGbrAxr~N*iGM1JNwih13=8 zFw+px8a|qOqQ&ZHkZIWm;fsGhO+bq3;73gVAXR^!RF+ad5PJ7%f;F3!FDbx86!?(@I65-o6#xyDr9?(jn%YO}@FBd57s_~#SS8+g^>-Y^B OYfGjM|Dc23JO2T2`QP^d delta 1770 zcmZA2ZERCz6bJBgdvCjStgc1eCaz_yY-n5uZpFw;yB9hcY-MaAu$a}5sAMKA5p@hR zhSdR^fy&EVPD0Xsa*+@qS*B@Xw(n}X1QUs0XfkC}J`4>YNX%yZpFY=mXOs3h_jk{8 zo|pU5+Y_EYCOj9)wfV{QX|3qZ_|W;^PYsPMe0(^j?G+iIvp4_S%PGhJ)IozMrQvFF=;FL$Y6q?I_ZsaQZCF4BU$utWE2K6ZxmDICp&^b#E13hA4km0J1uYGy%cB=)7e zVZHs4>+ih(&QM#TGp<4W*o?D7V2pL<5Ko!0%yNwx zuSUGqjEfQb%-Dx`v&1eU$$vQ?jT}g=ZQL9*Uc`cq1`RAPH5N4L3UJsFHlF6&VZ&{A z+fa({hYi2I24S%}Rb6kmwFrmmjg49lza`CMPN1j5nkd!u-4BL(nNR`jpGJ(>9qpB+F(>@BkXNNzkICFt@=$%zaaMtmx90L zi}jfNQlsJF8KC2*5~3xW>fXh!Cgf$-5{+BB$2kUe3_M5VKk)BB*CliODA8q0=5byY ze&t=F`xgG3qdUPbyhmhiUUw_TPYT9>*12Bcd&0foQdOdQFLFZ>;A!CNmb&wt5We%j z5^>H5KLl5(>>WE%BG3$c=6#~WY7fq}00#vJ`iRPMbv-;Q$iOW*bmKyLUj?VZhb=tK zy~4G}h`#4W+1s?tcScYjAmSCdu3g~E;1b1c9mtIV9h1O)=5@Hs*CkIoNpwu*oroZB zS+E~y-e%crJI&D+bWecqICxu|;pZg4{?6&#zNU8@9<79bYcZya}9Fn4MB74+?)dlDpj5s1G@zS?ZBeZm6y7U2Zbxa=G~etFe}&y z9I&kF8hiJFr@>toKF+gA$Ao*p_54W( z-h4;u3|itzgxVK;3n#U1UY6zpS9YT5;V2sW4?%;9%tx;iZ>2d-f=lB8oqjd{Q1H$r IO@8qC2jwoXApigX 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 0844d22daade4c5259620cefbfc430fd58156259..a57063093243818e349ee5863ef70ef6088a904a 100644 GIT binary patch delta 8053 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 xkDz;}X~oVI`Wa;9sk9YeCAlI zInO!wf_wJR*4@-AOJgQ$85ynvS%mOrA%sY16m3E_e#olPuj7%oD6~j4E_dXh4|3l4 zwW(9P{Puc6MxYHt8;UjKEVA5ADHz4qPtgg2qQK__G#S`8Z0nV+t8#Z>Q#kEx!Xu$}IpZ_(X!4}F*Jqwi2lRQTWB zQ4ajO&7Nu>X`gR@-d<)uV?SqKYk$qY)4t1IXMfLr)c%pZ(!Rl7Yw%wCLHlugypsO@ z=^G~xe(t|`(Ba?Wd&__A>+k%MZt=!eZMkPx^ttc*`nOzrE5T3o9#z{1?T)_m{m{mk z>M4ouFw$kv^cCMI^(`;lQ1Hmne63#Ye?8APYO_v9Z}!HjVUohd< zzi!hTzi6E1Q++QrE@@ojo6}hSN%q;{XZL)L zH3(j8V^$)&7Sa8;1&QODI_Y|oO&|DCw7&Bri>`bep`ZMi>iy4nwL`Mor^TzVUN2i~ z+_)c>dE_P6pY^S3UhDtISso{+isp6xug*Szs5n(#UhltNH$Ac!rR7Ys^oq9DII4*J zH9KnQDHS)ftCmspe%3E)auUzK!jlhA?YS>6WE-PW>3p^~Y7W;{qK8W-n%UFQGIg^T zqI*g|U1TwxWNx8Tza*WFrm`l0Rla;axqU)?GWQw(L@Qtx`Lvw&DwQTm80#t?nD^{1w}3wk2(4 z%dAOsIjgZwrf;%utfP52dA8x{JoySw4eY2Z)fwvQ)0(x$T63Bm_UVksHs-NSmk@-{ z-i5{3bNHw`?Fyp*tv#JG_P_R?2>uoO$e>Pd`T*>>#_r+8AH92

_T$$_jt#E1<{pQc~ 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 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 b200d208..ed3734f4 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex @@ -1,633 +1,615 @@ -:1000000025C100003FC100003DC100003BC1000010 -:1000100039C1000037C10000DBC5000037C6000051 -:100020007CC60000BBC600002DC100002BC1000033 -:1000300029C1000027C1000025C1000023C1000024 -:1000400021C100001FC100001DC100001BC1000034 -:1000500019C1000017C1000015C1000013C1000044 -:10006000A9C700000FC100000DC100000BC10000B6 -:1000700009C1000007C1000005C1000003C1000064 -:1000800001C10000FFC00000FDC00000FBC0000077 -:10009000F9C00000F7C00000F5C00000F3C0000088 -:1000A000F1C00000EFC00000EDC00000EBC0000098 -:1000B000E9C00000E7C00000E5C00000E3C00000A8 -:1000C000E1C00000DFC00000DDC00000DBC00000B8 -:1000D000D9C00000D7C00000D5C00000D3C00000C8 -:1000E000D1C00000CFC00000CDC00000CBC00000D8 -:1000F000C9C00000C7C00000C5C00000C3C00000E8 -:10010000C1C00000BFC00000BDC00000BBC00000F7 -:10011000B9C00000B7C00000B5C00000B3C0000007 -:10012000B1C00000AFC00000ADC00000ABC0000017 -:10013000A9C00000A7C00000A5C00000A3C0000027 -:10014000A1C000009FC000009DC00000AAC6000022 -:1001500099C0000097C0000095C0000093C0000047 -:1001600091C000008FC000008DC000008BC0000057 -:1001700089C0000087C0000085C0000083C0000067 -:1001800081C000007FC000007DC000007BC0000077 -:1001900079C0000077C0000075C0000073C0000087 -:1001A00071C000006FC000006DC000006BC0000097 -:1001B00069C0000067C0000065C0000063C00000A7 -:1001C00061C000005FC000005DC000005BC00000B7 -:1001D00059C0000057C0000055C0000053C00000C7 -:1001E00051C000004FC000004DC000004BC00000D7 -:1001F00049C000000C94B1110C946712AC01AE011F -:10020000B001B201B401B901B601B8010506050695 -:10021000050605060506380610061006180A1A0A0D -:10022000410A740A7D0A820AD40AD90A960AA10AE6 -:10023000AF0AB10AB30ABD0AC70AD20A8E0A990ADE -:10024000A30AB10AB30AB50ABF0AC90A11241FBE1C -:10025000CFEFCDBFDFE2DEBF10E2A0E0B0E2ECEB1B -:10026000F6E202C005900D92A03CB107D9F72CE24E -:10027000A0ECB0E201C01D92AC35B207E1F73BD073 -:100280000C945C13BDCEE0E8F6E08FE0808385E05F -:100290008483089508954091C1202EEE32E0429F5C -:1002A000C001439F900D11244BE451E06AEF70E0D0 -:1002B0008658994D54C74091C1202EEE32E0429F9E -:1002C000C001439F900D11244BE551E06AEF70E0AF -:1002D0008C58984D50C74091C1202EEE32E0429F7D -:1002E000C001439F900D11244BE651E06AEF70E08E -:1002F0008259974D4CC787E08093A200789481D6AD -:10030000C9DF0E94A209C0D0E3D060E080E08DD0B8 -:1003100079D08CE06DD083D527D63ED6B4DF0000EF -:1003200000000000000000000000000000000000CD -:1003300000000000000000000000F1CF08950895C3 -:10034000E09100208E2F90E08830910590F4FC0120 -:10035000E250FF4F0C944D1349D10BC0C0D109C0DE -:1003600034D207C0AFD205C024D303C0CDD301C05F -:100370002ED49091C32081E0911180E08093C12020 -:10038000089581E08093C4204BE451E06EEE72E06A -:100390008AE796E2E4D64BE551E06EEE72E084E740 -:1003A00097E2E9D64BE651E06EEE72E08EE698E217 -:1003B000EED681E008951092C420089581E008955A -:1003C00081E0089510922002982F9C719368909379 -:1003D000200287FF03C090E182E002C090E080E04D -:1003E000892B8093210210922202109226020895F6 -:1003F000E0E0F2E010AA836880AB80E181AB12AA52 -:1004000016AA0895E0E0F2E010A683E880A78FE244 -:1004100081A712A616A60895AAECB1E092E09C93DB -:10042000E82FF0E084911C920895909171009D7FD7 -:100430009093710010920002623011F09CE101C0B3 -:100440009EE19093010290E490930202811102C018 -:1004500080E401C080EC80930302613011F083E0FE -:1004600001C082E08093040280E2D6DF80930C0218 -:1004700081E2D2DF80930D021092180210921902CD -:1004800081E080930002BECFCF93DF93E0E7F0E0FE -:1004900082818B7F8283C0E2D3E08DE0888380E419 -:1004A000898389E08A8383E3B7DF888782E3B4DFC7 -:1004B000898787E3B1DF8A8786E3AEDF8B87E0E257 -:1004C000F6E08081836080831482DF91CF9108956C -:1004D000E0E7F0E080818E7F808383E880930001F5 -:1004E0000895E0E0F1E0108A80E4808B10A280A300 -:1004F00010AA80ABE0E4F1E0108280831092C32068 -:100500001092C220089510920020EBDFE0E0F1E0AD -:1005100016AA94E290AB11AA49E542AB32E033ABA4 -:10052000609102207091032064AB75AB6AE774E2BE -:1005300060AF71AF12AE8BE384AF83E080933D0177 -:1005400010923E0120A9206820AB10924601A0E441 -:10055000B1E09C931092410140934201809343018A -:10056000409104205091052040934401509345014F -:100570004AE652E2409348015093490110924A01E1 -:1005800029E320934C0180934D0110924E012C9150 -:1005900020682C93108A20E4208B24E0208B818B10 -:1005A00081E9828B80E1838B47E751E0448B558B57 -:1005B000908F318F128E4091C3202EEE32E0429FF9 -:1005C000C001439F900D11248658994D848F40910E -:1005D000C320429FC001439F900D11248658994D1E -:1005E000958F168E80898068808B08950895CF93AB -:1005F000DF9381E08093002074DFE0E0F1E010AA57 -:1006000080E480AB94E090AB11AA12AA5BE453ABF8 -:1006100014AA15AA16AA21E030E220AF31AF12AE1B -:1006200040EA44AF38E030933D0110923E0180A98A -:10063000806A80AB85E58093A00810924601A0E413 -:10064000B1E0D4E2DC931092410189E5809342014C -:10065000C2E0C09343016091022070910320609337 -:100660004401709345016AE774E260934801709316 -:10067000490110924A018BE380934C0183E08093FF -:100680004D0110924E012C9120682C93908B818B00 -:10069000A1E9A28B20E1238B67E771E0648B758B66 -:1006A000D08FC18F128ECAE7D6E2C48FD58F168E37 -:1006B00020892068208B90A381A3A2A353A364A3C5 -:1006C00075A340A731A712A681EF97E284A795A74B -:1006D00016A680A1806880A3DF91CF910895089528 -:1006E000CF93F894C2E0C0930020FBDEE0E0F1E09D -:1006F00016AA94E290AB11AA39E532AB83E083AB42 -:10070000409104205091052044AB55AB4AE652E29B -:1007100040AF51AF12AE29E324AF80933D01109258 -:100720003E0120A9206820AB10924601A0E4B1E070 -:100730009C931092410130934201C0934301209158 -:1007400002203091032020934401309345012AE791 -:1007500034E2209348013093490110924A012BE37F -:1007600020934C0180934D0110924E012C912068F2 -:100770002C9354E0508B818B41E9428B20E1238BF9 -:1007800027E731E0248B358B908FC18F128E6AE77B -:1007900076E2648F758F168E90899068908B50A347 -:1007A00081A342A382E183A324A335A384E380A78A -:1007B000C1A712A681EF97E284A795A716A680A1EC -:1007C000806880A37894CF9108950895CF93C3E073 -:1007D000C093002086DEE0E0F1E010A250E450A3D8 -:1007E00044E040A311A212A23BE433A314A215A239 -:1007F00016A281E090E280A791A712A620EA24A782 -:1008000098E095A716A680A1806A80A385E58093CD -:10081000A00816AA74E270AB11AA69E562ABC3AB7B -:10082000A0910420B0910520A4ABB5ABAAE6B2E23A -:10083000A0AFB1AF12AE89E384AFC0933D01109277 -:100840003E0180A9806880AB10924601A0E4B1E02F -:100850007C93109241016093420182E080934301B6 -:1008600060910220709103206093440170934501D0 -:100870006AE774E2609348017093490110924A015B -:100880008BE380934C01C0934D0110924E018C91EB -:1008900080688C93108A508B408BC18B81E9828B4E -:1008A000338B47E751E0448B558B208F918F128E0D -:1008B0008AE796E2848F958F168E80898068808B78 -:1008C000CF9108950895CF93C4E0C093002009DE2E -:1008D000E0E0F1E010A280E480A3C0A311A212A284 -:1008E0004BE443A314A215A216A281E090E280A7D4 -:1008F00091A712A660EA64A788E085A716A690A132 -:10090000906A90A395E59093A00810924601A0E408 -:10091000B1E094E29C931092410199E590934201D9 -:1009200092E0909343012091022030910320209384 -:100930004401309345012AE734E220934801309383 -:10094000490110924A019BE390934C0193E09093EC -:100950004D0110924E012C9120682C93C08B918BED -:1009600031E9328B438B47E751E0448B558B608FE5 -:10097000818F128E6AE776E2648F758F168E2089DA -:100980002068208BC0AB91AB32AB9AE493AB44AB05 -:1009900055AB93EC90AF81AF12AE81EF97E284AF8D -:1009A00090933D0110923E0180A9806880ABCF9169 -:1009B0000895089585E08093002093DDE0E0F1E064 -:1009C00016AA34E230AB11AA29E522AB83E083AB4F -:1009D000409104205091052044AB55AB4AE652E2C9 -:1009E00040AF51AF12AE99E394AF80933D011092A6 -:1009F0003E0190A9906890AB10924601E0E4F1E0CE -:100A00003083109241012093420180934301209151 -:100A100004203091052020934401309345012AE7BA -:100A200034E2209348013093490110924A019BE33C -:100A300090934C0180934D0110924E01808180680B -:100A40008083089586E0809300204BDDE0E0F1E0B4 -:100A500016AA94E290AB11AA39E532AB83E083ABDE -:100A6000409104205091052044AB55AB4AE652E238 -:100A700040AF51AF12AE29E324AF80933D011092F5 -:100A80003E0120A9206820AB10924601A0E4B1E00D -:100A90009C93109241013093420132E03093430124 -:100AA000409102205091032040934401509345010E -:100AB0004AE754E2409348015093490110924A0199 -:100AC0002BE320934C0180934D0110924E012C9109 -:100AD00020682C93108A20E4208B24E0208B818BCB -:100AE00081E9828B80E1838B4EEE52E0448B558B03 -:100AF000908F318F128E8AE796E2848F958F168EB3 -:100B000080898068808B0895089587E08093002015 -:100B1000E8DCE0E0F1E016AA94E290AB11AA39E536 -:100B200032AB83E083AB409104205091052044AB6D -:100B300055AB4AE652E240AF51AF12AE29E324AFC3 -:100B400080933D0110923E0120A9206820AB1092B5 -:100B50004601A0E4B1E09C93109241013093420120 -:100B600032E03093430140910220509103204093A2 -:100B70004401509345014AE754E2409348015093A1 -:100B8000490110924A012BE320934C0180934D01BF -:100B900010924E012C9120682C93108A20E4208B17 -:100BA00025E0208B818B81E9828B80E1838B4EEE67 -:100BB00052E0448B558B908F318F128E8AE796E2EC -:100BC000848F958F168E80898068808B0895089514 -:100BD0001F920F920FB60F9211242F933F934F93B2 -:100BE0008F939F93AF93BF93EF93FF9381E0809395 -:100BF0000301E09100208E2F90E088309105C0F530 -:100C0000FC01EA5FFE4F0C944D1387E791E080935F -:100C10001401909315014091C3202EEE32E008C0DC -:100C20002EEE32E020931401309315014091C32041 -:100C3000429FC001439F900D11248658994D809387 -:100C40001C014091C320429FC001439F900D11247D -:100C50008658994D90931D01809110018068809372 -:100C600010019091C32081E0911180E08093C32016 -:100C7000FF91EF91BF91AF919F918F914F913F91D4 -:100C80002F910F900FBE0F901F9018951F920F92EB -:100C90000FB60F9211242F933F934F938F939F93EF -:100CA00082E08093030180910020813011F0823036 -:100CB00051F587E791E080932401909325014091BD -:100CC000C2202EEE32E0429FC001439F900D1124BE -:100CD0008F50984D80932C014091C220429FC001BB -:100CE000439F900D11248F50984D90932D0180912A -:100CF00020018068809320019091C22081E09111B1 -:100D000080E08093C2209F918F914F913F912F91CE -:100D10000F900FBE0F901F9018951F920F920FB655 -:100D20000F9211242F933F934F938F939F9384E0BF -:100D30008093030187E791E080933401909335011C -:100D40004091C2202EEE32E0429FC001439F900DA1 -:100D500011248F50984D80933C014091C220429FB6 -:100D6000C001439F900D11248F50984D90933D01E9 -:100D7000809130018068809330019091C22081E0A1 -:100D8000911180E08093C2209F918F914F913F916C -:100D90002F910F900FBE0F901F9018951F920F92DA -:100DA0000FB60F9211242F933F934F938F939F93DE -:100DB00088E08093030187E791E08093440190935A -:100DC00045014091C2202EEE32E0429FC001439F78 -:100DD000900D11248F50984D80934C014091C2206A -:100DE000429FC001439F900D11248F50984D9093C6 -:100DF0004D01809140018068809340019091C22014 -:100E000081E0911180E08093C2209F918F914F915A -:100E10003F912F910F900FBE0F901F901895E0E714 -:100E2000F0E083818C7F838384818C7F84838081C5 -:100E30008D7F8083E0E8F1E080EC8283128688EC8D -:100E400081831186A0E0B8E034E03C9323E0119662 -:100E50002C93119714961C92149785ED91E0969619 -:100E60008D939C93979716961C921697E0E4F8E062 -:100E700030832183148286A397A31682E0E6F6E0EE -:100E8000808180618083E0E4F9E083E181831482E2 -:100E900082E08683A6A3B7A310A611A681E0808373 -:100EA00008951F920F920FB60F9211242F933F9324 -:100EB0004F935F938F939F93CF93DF931F92CDB701 -:100EC000DEB78FEF80934C0980910020873031F49A -:100ED00080912C02898390912D0202C090912C0266 -:100EE0008091C020891B2091680930916909823066 -:100EF0008CF02A3F374070F42091680930916909DD -:100F000089301CF481E090E002C086E090E0820F1E -:100F1000931F18C020916809309169098F3FB4F47C -:100F20002730310598F02091680930916909883F90 -:100F30001CF081E090E002C086E090E0A901481B2F -:100F4000590BCA0180937809909379090F90DF912A -:100F5000CF919F918F915F914F913F912F910F90E2 -:100F60000FBE0F901F901895E0E7F0E083818F7E11 -:100F70008383E0E4F6E080818A6A80838FEF848354 -:100F800088E5828BE0EAF8E084EC858383E0868361 -:100F9000178288E184830895E0E7F0E08381877F0A -:100FA0008383E0ECF8E080E48083118288E580931D -:100FB000550608951F920F920FB60F92112400004C -:100FC0000F900FBE0F901F9018959FB7F894A0E553 -:100FD000B0E016968C911697897F16968C9316978B -:100FE000E0E6F0E080E885838BEB868316968C91B3 -:100FF0001697846016968C938081816080839FBF52 -:101000000895CF93DF9300D000D0CDB7DEB78FEF38 -:1010100080937000809371008093720080937300BE -:1010200080937400809375008093760064E081E47F -:1010300090E00ED56CE170E082E010D58C836DE11C -:1010400070E082E00BD58B838B819C81019621F42B -:1010500080E493E28B839C838B819C8189839A8338 -:10106000809362008A81809363009FB7F894809197 -:1010700050008260809350009FBF8091510081FF9B -:10108000FCCFA3DF61E080E490E0E2D49FB7F89466 -:10109000809150008E7F809350009FBF2496CDBFDB -:1010A000DEBFDF91CF9108959FB7F894E82FF0E06D -:1010B000E059FF4F60958081682360839FBF08954A -:1010C000CF93863011F0C0E001C0C8E1809151009B -:1010D00081FD0DC09FB7F89480915000826080938D -:1010E00050009FBF8091510081FFFCCF6EDF6C2FBD -:1010F000636084E490E0ACD460E480E0CF91D4CF2E -:101100008091C52008958091C520813009F453C98C -:10111000089513D1FC0183818093C520811101C002 -:1011200030C981E0089590916A24892F807697FFD5 -:1011300007C0803491F480916B2481110EC040C9A6 -:10114000803459F480916B24811107C08091702400 -:1011500090917124892B09F031C980E008950F9393 -:101160001F939B018A01AC0160E081E80E94DC10C2 -:101170001F910F9108950F931F939B018A01AC015A -:1011800060E082E80E94DC101F910F9108950F9398 -:101190001F939B018A01AC0160E083E80E94DC1090 -:1011A0001F910F91089580916C248F7787C790913C -:1011B000CC20911102C080E00895E091CA20F09106 -:1011C000CB200190F081E02D94818917A0F7E09366 -:1011D000C820F093C920228133812E0F3F1FE217D0 -:1011E000F30798F49181943061F49281891309C0D6 -:1011F0009381691306C0E093C820F093C92081E071 -:1012000008959081E90FF11DEACFE093C820F09393 -:10121000C920D1CFE091CA20F091CB200190F0817C -:10122000E02D228133812E0F3F1FFC014081E40F0E -:10123000F11DE217F30748F48181843031F08530E5 -:1012400039F08081E80FF11DF4CF80E090E008953F -:10125000CF0108951F93CF93DF93182FA8DF882322 -:1012600039F1C091C820D091C920CE01D3DFEC0163 -:10127000892B41F04C815D816B818A812CD7811152 -:10128000F4CF16C0E091CA20F091CB2092818381E7 -:10129000E92FF82FE10FF11DE10FF11D0190F08111 -:1012A000E02D0190F081E02DDF91CF911F91099405 -:1012B00080E0DF91CF911F910895EF92FF921F93ED -:1012C000CF93DF93C82F60E072DF811102C010E07E -:1012D0002DC0E091CA20F091CB2092818381E92F2B -:1012E000F82FEC0FF11DEC0FF11DE080F180D7011C -:1012F0001696ED91FC9117970995682F8C2F57DF63 -:10130000182F882321F3C091C820D091C920CE0185 -:1013100081DFEC01892B21F08A810E949811F7CF9F -:10132000D7011296ED91FC9113970995812FDF91CA -:10133000CF911F91FF90EF9008958091C8209091D8 -:10134000C920089543C6CF938091CC20811108C055 -:101350001092CC201092D0201092D120CF910895DD -:10136000C0E0E091CA20F091CB200190F081E02D07 -:101370008481C81768F78C2FA0DFCF5FF2CFCF939F -:101380008091CC208823F1F0C0E0E091CA20F09158 -:10139000CB20A081B18114968C91C81798F49281CA -:1013A0008381E92FF82FEC0FF11DEC0FF11D019057 -:1013B000F081E02D0084F185E02D309709F009954A -:1013C000CF5FE3CFCF910895EF92FF920F931F93DA -:1013D000CF93DF931F92CDB7DEB710927424109293 -:1013E000752410927624109277241092782410920B -:1013F000792480916A2487FF07C02091702430915E -:101400007124232B09F41BC3982F9076903409F094 -:10141000D7C0E0916B248E2F90E0FC01E05AF109D7 -:10142000E830F10508F09AC2E25FFE4F0C944D13CC -:10143000000003C31092000880916C2490916D24E9 -:10144000809336089093370880916E248F70809334 -:10145000000860917024709171248AE692E234D67B -:101460002091042030910520809170249091712466 -:101470002817390709F4E1C28093042090930520CE -:1014800026C01092400880916C2490916D24809326 -:1014900076089093770880916E248F70809340082F -:1014A00060917024709171248AE794E20DD62091A6 -:1014B000022030910320809170249091712428178C -:1014C000390709F4BAC28093022090930320E09177 -:1014D00000208E2F90E08830910508F0AEC2FC010C -:1014E000EA5EFE4F0C944D13109268091092690940 -:1014F00080916C248093C020A0C280916C24809342 -:1015000024069BC2E0916C24F0916D24E830F10533 -:1015100008F024C2E25EFE4F0C944D1360E080E0C0 -:101520000E94150280916E240E94E2010E948302B3 -:1015300084C260E080E00E94150280916E240E94C7 -:10154000E20155D87AC261E081E00E9415028091E3 -:101550006E240E94E20180916F240E94F801C0D89D -:101560006CC234D96AC2AFD968C260E080E00E9420 -:10157000150280916E240E94E2011CDA5EC261E0D5 -:1015800080E00E94150280916E240E94E2015ADAE6 -:1015900054C262E080E00E94150280916E2480684F -:1015A0000E94E201B2DA49C280916C2480938406E1 -:1015B00044C2E9E7F0E091E088EDF89484BF9083BD -:1015C0009111CCC187FFFDC020917024309171240E -:1015D0002115310509F4C2C18F7109F09FC08091B6 -:1015E0006B24863071F0883009F48EC08111B6C149 -:1015F0002230310509F0B2C162E070E080ED90E286 -:101600008BC080916C2490916D24292F3327223038 -:101610003105A1F064F42130310509F09FC18091BA -:10162000102090911120DC016C9170E05BC02330A0 -:10163000310589F12F30310509F190C1E091102079 -:10164000F09111202189821708F088C19927880F0D -:10165000991F880F991FE0911220F0911320E80F35 -:10166000F91F80819181FC01628173812DD5E09108 -:101670007224F091732482E0818335C0809114201C -:1016800090911520009709F469C1DC0112966D91C3 -:101690007C91139727C099278130910569F038F024 -:1016A000029709F05BC168E18AE890E208C064E053 -:1016B00070E08EEA90E216C069E083EA90E2282F9B -:1016C000AAE5B0E2FC01819190E08D939D938E2F6D -:1016D000821B8617C0F3660F6E5F6093582070E020 -:1016E00088E590E2F1D4809170249091712420914A -:1016F0007424309175248217930708F09EC180935B -:1017000074249093752499C12130310509F026C1C4 -:1017100061E070E08CEC90E2D7D48FC18130C9F5E4 -:1017200080916B248A3009F019C12130310509F00C -:1017300015C18091CC20882309F410C1E0906E245B -:10174000F0906F240091CA201091CB20D801ED9128 -:10175000FC918481E81608F001C160E08E2D27DD40 -:10176000882309F4FBC0FF24EE0CFF1CF8018281E2 -:1017700093818E0D9F1DDC01ED91FC910680F78118 -:10178000E02D09958093CE2061E070E08EEC90E230 -:10179000C3CF823009F0E2C080916B248111DEC09A -:1017A0002230310509F0DAC080916E24E5D490E052 -:1017B0008093C6209093C72062E070E086EC90E2B0 -:1017C000ABCF8F7109F07DC080916B24833009F419 -:1017D000C5C018F48130A1F0C1C0853019F089303E -:1017E00039F1BCC08091702490917124892B09F04B -:1017F000B5C083ED98E080937624909377241DC143 -:101800008091702490917124892B09F0A7C0809158 -:101810006C2490916D24019709F0A0C08091D02094 -:101820009091D1208D7F8093D0209093D12005C1BD -:101830008091702490917124892B09F08FC041D43C -:10184000882309F48BC020916C2430916D243327B8 -:10185000E0911020F0911120818990E08217930788 -:1018600008F47CC070DD80916C2490916D2480938D -:10187000CC20882309F4E1C099278150904C880F2F -:10188000991F880F991F2091122030911320820FE9 -:10189000931F8093CA209093CB2010E0E091CA2040 -:1018A000F091CB200190F081E02D8481181708F091 -:1018B000C4C060E0812FCEDC882309F44FC01F5FD5 -:1018C000EDCF8130F1F480916B248B3009F046C06C -:1018D0008091702490917124892B09F03FC08091F0 -:1018E000CC20882309F43AC010916E2460916C24B6 -:1018F000812F6983E2DC6981882381F1812FAADC51 -:101900002BC0823059F580916B24813019F08330DF -:1019100089F024C08091702490917124892BF1F476 -:1019200080916C2490916D24892BC1F480916E2458 -:101930002AD412C08091702490917124892B71F463 -:1019400080916C2490916D24892B41F480916E24B8 -:10195000BFD480916E24F5D481116FC080916A2428 -:101960008F718130B9F58091CC20882399F1E09076 -:101970006E24F0906F240091CA201091CB20D801E2 -:10198000ED91FC918481E81628F560E08E2D0FDC46 -:10199000882301F1F701FF27EE0FFF1FD8011296F0 -:1019A0008D919C911397E80FF91F00811181D80147 -:1019B0001696ED91FC9117970995682F8E2DF7DB00 -:1019C000882341F0D8011496ED91FC911597099563 -:1019D000811133C080916A248F71823081F58091AA -:1019E000CC20882361F1F12CE091CA20F091CB202A -:1019F000A081B18114968C91F81608F592818381AB -:101A0000E92FF82FEF0DF11DEF0DF11D0081118170 -:101A1000D8011696ED91FC9117970995682F8F2D97 -:101A2000C6DB882361F0D8011496ED91FC911597DF -:101A30000995811102C0F394D7CF81E001C080E005 -:101A40000F90DF91CF911F910F91FF90EF9008952C -:101A50001BBEFC0128ED24BF608308954091CA019C -:101A6000E62FF72F8093CA0184914093CA0108950D -:101A7000E82FF0E0EA5AF34D80818F3F09F4FFCF61 -:101A80009FB7F89480818F5F80839FBF0895E82F70 -:101A9000F0E0EA5AF34D8081811101C0FFCF9FB77A -:101AA000F8948081815080839FBF0895CF93C82F81 -:101AB00080916422C11105C0882339F081E0E7DFFD -:101AC00004C0811102C081E0D3DFC0936422CF91B2 -:101AD0000895282F2F70082E000C990B392F331FD3 -:101AE0003327331F832F90E0820F911D820F911DAA -:101AF00023E0880F991F2A95E1F7805E9D4D089598 -:101B00000F93E8ECF4E080818F7D808380818F7D6E -:101B10008083E8E2F2E202E0059310922A2210921A -:101B20002B2200E2069300E40693E0E2F2E200E2F8 -:101B3000069300E40693EAE6F4E214861586168618 -:101B400017861286138610920D220F9108950F9317 -:101B500085E080930D22E9E2F2E204E00593E1E200 -:101B6000F2E204E005930F9108950F9383E08093D0 -:101B70000D2210922A2210922B22E8E2F2E202E0D9 -:101B800006930F910895E0917624F0917724309791 -:101B900009F009940895282F2F70082E000C990B36 -:101BA000392F331F3327331F832F90E0820F911D6E -:101BB000820F911D029749E0489F9001499F300D87 -:101BC0001124C9018D569E4D08958F929F92AF9218 -:101BD000BF92DF92EF92FF920F931F93CF93DF9309 -:101BE000D82ED9DFEC018D2D74DF7C01DC0111963C -:101BF000EC91E770E150E73040F4F0E0EE0FFF1FAA -:101C0000EE54FF4D0081118102C008E010E0ED812B -:101C1000FE812B813C814881D701D7FE48C01696B2 -:101C20008D919C9117978E0F9F1F8D839E83821796 -:101C3000930761F1281B390B2115B4E03B0738F0FD -:101C40002FEF33E0C901B80114D5281B390B41FF30 -:101C50000AC0C901B8010DD5AC0191E0452B09F0CE -:101C600090E0892F01C080E0988180FB91F99883F2 -:101C7000F701168217822283338329813A818D816D -:101C80009E81820F931F848395830EC041FF71C094 -:101C90004D7F4883D70116961D921C921797129676 -:101CA0001D921C921397F70102E006937BC01296D7 -:101CB000AD90BC90139742FF10C089809A80C901F3 -:101CC000B801D7D4B0E4DB9EB00111246D567F4D2E -:101CD000AC01C4018E0F9F1FE6D48D819E818A0DB9 -:101CE0009B1D8D839E832B813C812817390710F41F -:101CF0002D833E83F70186819781A816B906C9F521 -:101D00008D819E8182179307A1F1281B390B211524 -:101D1000F4E03F0710F02FEF33E0C901B801A9D478 -:101D2000281B390BD70112961D921C92139720176E -:101D3000310778F4888184608883B0E4DB9EC00139 -:101D400011248D569F4DF701848395830683178355 -:101D5000AACF49815A818D819E81840F951FD70119 -:101D600014968D939C93159716962D933C931797E5 -:101D70009ACF888180FF16C08E7F8883EF81F88597 -:101D8000309781F06D817E814D2D80E0DF91CF9184 -:101D90001F910F91FF90EF90DF90BF90AF909F90B9 -:101DA0008F900994DF91CF911F910F91FF90EF9049 -:101DB000DF90BF90AF909F908F9008950F93CF9337 -:101DC000DF9380910D22833029F4DDDEDF91CF9106 -:101DD0000F9196CE2091092230910A22C09174244D -:101DE000D0917524C21BD30B61F580910B22909189 -:101DF0000C22820F931F80930B2290930C22209130 -:101E00007024309171242817390721F08091D22055 -:101E1000882331F084E080930D22E0E2F2E236C0C4 -:101E2000E0917824F0917924309799F009958823EE -:101E300081F01092092210920A22C0917424D0914C -:101E40007524C034D10528F01092D220C0E4D0E02F -:101E500003C081E08093D220C0932A22D0932B220A -:101E60008091092290910A2220917224309173244A -:101E7000280F391F20932C2230932D22C80FD91FF1 -:101E8000C0930922D0930A22E8E2F2E202E006932C -:101E9000DF91CF910F9108950F93CF93DF931F920E -:101EA000CDB7DEB78091CC0480FF65C021E02093E0 -:101EB000CC0480E292E2FC0100E80693E8E2F2E260 -:101EC00000E806932093CA04FC0100E10693809188 -:101ED0000D22882329F08350823008F454DE10DE6E -:101EE0008091222290912322089709F046C088E031 -:101EF000E9ECF1E2AAE6B4E201900D928A95E1F7ED -:101F00008091C80480628093C8048091C804806274 -:101F10008093C80459DA811102C019DE2EC0909155 -:101F20006A2497FF0EC010920B2210920C2210927E -:101F3000092210920A2292E090930D2289833EDFBB -:101F400008C02091702430917124232B21F48983BF -:101F50000CDE898113C010920B2210920C22109279 -:101F6000092210920A2291E090930D22E0E2F2E21F -:101F700002E0069303C080E001C081E00F90DF9192 -:101F8000CF910F910895CF93CFB7F89481E08EDD74 -:101F9000EAECF4E080E4808380E28083E1ECF4E02A -:101FA000808181608083A9ECB4E08C9182608C9305 -:101FB000E8ECF4E08081806480838C9181608C9374 -:101FC000808180688083CFBFCF910895CF93109296 -:101FD000600080E375D88091C00480648093C00461 -:101FE00081E080936000CFB7F89480E090E0FC013E -:101FF00023E0EE0FFF1F2A95E1F7E05FFD4D118A08 -:1020000001968830910599F7809193218E7F809376 -:10201000932180919C218E7F80939C218091A5218A -:102020008E7F8093A5218091AE218E7F8093AE21FB -:102030008091B7218E7F8093B7218091C0218E7FC0 -:102040008093C0216AE170E082E008DD8F3F09F4EF -:102050008FE18093FA046BE170E082E0FFDC8F3F58 -:1020600009F48FE18093FB048091C0048360809326 -:10207000C0048091C00480688093C0048091C00433 -:1020800080618093C00480E292E28093C6049093C2 -:10209000C7048091C00480628093C0048FEF809356 -:1020A000C5048091C80482608093C80410926422A1 -:1020B00085E0DEDC68DFCFBFCF9108958093C30455 -:1020C00008958091C3040895EAE6F4E28087918739 -:1020D0006287738708950F931F93CF93DF931F92A7 -:1020E000CDB7DEB78A016983F4DCFC018181807C95 -:1020F000698181113AC06370613019F020F080E885 -:1021000003C080EC01C080E400381105E9F058F408 -:1021100000321105A9F000341105A1F000311105BC -:10212000C9F491E018C0011592E0190779F00F3F4A -:1021300093E0190769F00115114061F495E00BC0B7 -:1021400092E009C093E007C094E005C096E003C0A8 -:1021500097E001C090E0118226E02083982B9183C4 -:1021600081818062818381E001C080E00F90DF91F6 -:10217000CF911F910F910895ACDCFC01818182FB0E -:10218000882780F90895CF93C82FA3DCFC018181B3 -:1021900082FF0FC091819B7F91838C2FFCDCFC011F -:1021A000908190FF06C09E7F90830780F085E02D90 -:1021B000099581E0CF9108958F929F92AF92BF923F -:1021C000DF92EF92FF920F931F93CF93DF931F92B3 -:1021D000CDB7DEB7D82E5A0179016983DCDC4C011A -:1021E0008D2D77DC9C01DC0111968C911197807C00 -:1021F0006981882309F45EC011968C911197807CC7 -:10220000803C21F011968C9182FD54C09FB7F894C8 -:10221000F401808180FF02C09FBF4CC08160808339 -:102220009FBFF401A182B282E382F48215821682FA -:102230000783108791E0611104C0E114F10409F0F3 -:1022400090E0D4018C9190FB81F98B7F8C93D7FE29 -:1022500004C0F9011682178229C0D90111968C9108 -:102260001197807C803CC9F41196EC91E770E150A5 -:10227000E73040F4F0E0EE0FFF1FEE54FF4D6081B9 -:10228000718102C068E070E0C701F3D1892B29F0A9 -:10229000F40180818E7F80830DC0D90112961D923A -:1022A0001C92139716961D921C9217978D2D8DDCFC -:1022B00081E001C080E00F90DF91CF911F910F91DD -:1022C000FF90EF90DF90BF90AF909F908F90089518 -:1022D000EF92FF920F93CF93C82FFBDB7C018C2FE3 -:1022E0005ADCDC01F70102E005939C9190FF1BC0D2 -:1022F0009E7F9C931796ED91FC911897309799F0DB -:10230000D701C7FF05C016966D917C91179704C041 -:1023100012966D917C9113974C2F81E0CF910F9184 -:10232000FF90EF900994CF910F91FF90EF90089557 -:10233000CF93C82FCDDF8C2FCCDBFC011182CF9146 -:1023400008950F93CF93C82FC4DBFC019181946053 -:10235000918301E006938C2FBBDF81E0CF910F9139 -:1023600008951F920F920FB60F9211240F932F937F -:102370003F934F935F936F937F938F939F93AF930D -:10238000BF93EF93FF938091CB0487FF08C080E851 -:102390008093CA040E94BF090E94A00186C0809158 -:1023A000CB0482FF18C084E08093CA048091282265 -:1023B00086FF7BC08091CC0481FD77C06DDD8111EB -:1023C00074C080910D22813011F4CFDB6EC0843057 -:1023D00009F06BC021C08091CB0481FF26C082E050 -:1023E0008093CA048091202286FF5FC08091CC0434 -:1023F00081FD5BC051DD811158C080910D2282307A -:1024000041F484E080930D22E0E2F2E202E00693E0 -:102410004CC0833009F049C0E9E2F2E204E00593E0 -:10242000E1E2F2E204E0059340C08091CB0484FF36 -:1024300025C080E18093CA0481E04ADF81E848DF5B -:1024400082E046DF82E844DF0E94A3091092C304C1 -:102450001092212296E09093202283E480932122FF -:1024600010922922909328228093292289EC91E2CC -:10247000809324229093252243DB17C08091CB04C4 -:1024800086FF08C080E48093CA0480E00FDB0E94CE -:102490009E010BC08091CB0485FF07C080E2809332 -:1024A000CA0481E003DB0E949F01FF91EF91BF917D -:1024B000AF919F918F917F916F915F914F913F91DC -:1024C0002F910F910F900FBE0F901F9018951F9294 -:1024D0000F920FB60F9211240F931F932F933F93D8 -:1024E0004F935F936F937F938F939F93AF93BF931C -:1024F000CF93DF93EF93FF938091CC0481FF1AC0B9 -:1025000082E08093CC048091C5048195880FE0E23D -:10251000F2E2E81BF109208131812052324283E04E -:10252000369527958A95E1F7822F869520FD06C07E -:10253000C0E005C0B1DC882319F386C0C0E8C80F2D -:102540008C2FC7DAFC01208125FF7EC000E20693B4 -:10255000C11174C080910D22843019F414DBD0DADB -:1025600073C00091222210912322809174249091B3 -:102570007524C0910922D0910A229E01200F311F9B -:102580008217930718F48C010C1B1D0B8091722489 -:1025900090917324A80169EC71E28C0F9D1F83D088 -:1025A000C00FD11FC0930922D0930A220034110515 -:1025B00069F480910B2290910C228C0F9D1F209129 -:1025C0007024309171248217930788F0C09374248B -:1025D000D0937524E0917824F0917924309729F0F4 -:1025E0000995811102C0B3DA2FC0BFDA2DC08091E6 -:1025F0007424909175248C179D07D9F4E091782468 -:10260000F0917924309779F30995882361F320912B -:102610000B2230910C228091092290910A22820F84 -:10262000931F80930B2290930C22109209221092F8 -:102630000A22E0E2F2E202E0069306C0C03811F49A -:10264000BDDB02C08C2FC1DAFF91EF91DF91CF91FA -:10265000BF91AF919F918F917F916F915F914F91BA -:102660003F912F911F910F910F900FBE0F901F90D0 -:102670001895AA1BBB1B51E107C0AA1FBB1FA617B9 -:10268000B70710F0A61BB70B881F991F5A95A9F71B -:1026900080959095BC01CD010895EE0FFF1F059028 -:1026A000F491E02D0994FB01DC0102C001900D9230 -:0C26B00041505040D8F70895F894FFCF37 -:1026BC00FF5580008000890883089308800800007B -:1026CC004420162000001C201A2006200902270096 -:1026DC0001010080FA0904000003FFFFFF00070559 -:1026EC008101000101070582010001010705830139 -:1026FC00000101001201000200000040EB0300A0E9 -:10270C0000020102000100000003000000000000B4 -:10271C0000000000000000000000000000000000AD -:10272C00000000000000000000000000000000009D -:10273C0000000000000000000000555342476F628B -:10274C00696E6461722044756D6D7920446576699B -:10275C00636500546170697254656368000004031A -:10276C000904100020004000800000010002FF035B +:100000001DC1000037C1000035C1000033C1000030 +:1000100031C100002FC10000F1C5000025C600005D +:1000200059C6000061C6000025C1000023C10000C0 +:1000300021C100001FC100001DC100001BC1000044 +:1000400019C1000017C1000015C1000013C1000054 +:1000500011C100000FC100000DC100000BC1000064 +:100060001BC7000007C1000005C1000003C100005C +:1000700001C10000FFC00000FDC00000FBC0000087 +:10008000F9C00000F7C00000F5C00000F3C0000098 +:10009000F1C00000EFC00000EDC00000EBC00000A8 +:1000A000E9C00000E7C00000E5C00000E3C00000B8 +:1000B000E1C00000DFC00000DDC00000DBC00000C8 +:1000C000D9C00000D7C00000D5C00000D3C00000D8 +:1000D000D1C00000CFC00000CDC00000CBC00000E8 +:1000E000C9C00000C7C00000C5C00000C3C00000F8 +:1000F000C1C00000BFC00000BDC00000BBC0000008 +:10010000B9C00000B7C00000B5C00000B3C0000017 +:10011000B1C00000AFC00000ADC00000ABC0000027 +:10012000A9C00000A7C00000A5C00000A3C0000037 +:10013000A1C000009FC000009DC000009BC0000047 +:1001400099C0000097C0000095C000001CC60000C8 +:1001500091C000008FC000008DC000008BC0000067 +:1001600089C0000087C0000085C0000083C0000077 +:1001700081C000007FC000007DC000007BC0000087 +:1001800079C0000077C0000075C0000073C0000097 +:1001900071C000006FC000006DC000006BC00000A7 +:1001A00069C0000067C0000065C0000063C00000B7 +:1001B00061C000005FC000005DC000005BC00000C7 +:1001C00059C0000057C0000055C0000053C00000D7 +:1001D00051C000004FC000004DC000004BC00000E7 +:1001E00049C0000047C0000045C0000043C00000F7 +:1001F00041C000000C941E110C94D411BB01BD0130 +:10020000BF01C101C301C801C501C7018A098C0929 +:10021000B309E609EF09F409410A460A070A100A78 +:100220001D0A1F0A210A2A0A340A3F0A000A090A7B +:10023000120A1F0A210A230A2C0A360A11241FBE99 +:10024000CFEFCDBFDFE2DEBF10E2A0E0B0E2E6E933 +:10025000F5E202C005900D92A03CB107D9F72CE25F +:10026000A0ECB0E201C01D92A536B207E1F73BD089 +:100270000C94C912C5CEE0E8F6E08FE0808385E0FB +:100280008483089508954091C1202EEE32E0429F6C +:10029000C001439F900D112443E451E06AEF70E0E8 +:1002A0008E57994DCEC64091C1202EEE32E0429F2E +:1002B000C001439F900D112443E551E06AEF70E0C7 +:1002C0008458984DCAC64091C1202EEE32E0429F1C +:1002D000C001439F900D112443E651E06AEF70E0A6 +:1002E0008A58974DC6C687E08093A2007894FBD5C4 +:1002F000C9DF9AD7DAD0FDD060E080E0A7D093D0F4 +:100300008CE087D0FBD4A2D5B9D5B5DF22E836E2A0 +:1003100020937F2480E799E28093802430936D229C +:1003200090936C2229EF37E22093672287EE9AE2BE +:1003300080935E2C30936E24909366220000000020 +:1003400000000000000000000000000000000000AD +:100350000000000000000000F1CF08950895E09132 +:1003600000208E2F90E08830910590F4FC01E2503F +:10037000FF4F0C94BA124ED10BC0C5D109C03BD26D +:1003800007C0B6D205C02BD303C0D4D301C035D427 +:10039000F8949091C12081E0911180E08093C12078 +:1003A0007894089581E08093C42043E451E06EEE98 +:1003B00072E082E896E245D643E551E06EEE72E0E7 +:1003C0008CE797E24AD643E651E06EEE72E086E7AC +:1003D00098E24FD681E008951092C420089581E0FC +:1003E000089581E0089510922002982F9C719368DF +:1003F0009093200287FF03C090E182E002C090E06A +:1004000080E0892B80932102109222021092260212 +:100410000895E0E0F2E010AA836880AB80E181AB50 +:1004200012AA16AA0895E0E0F2E010A683E880A7D9 +:100430008FE281A712A616A60895AAECB1E092E079 +:100440009C93E82FF0E084911C92089590917100A4 +:100450009D7F9093710010920002623011F09CE138 +:1004600001C09EE19093010290E4909302028111F9 +:1004700002C080E401C080EC80930302613011F07F +:1004800083E001C082E08093040280E2D6DF8093A3 +:100490000C0281E2D2DF80930D02109218021092BA +:1004A000190281E080930002BECFCF93DF93E0E793 +:1004B000F0E082818B7F8283C0E2D3E08DE088838D +:1004C00080E4898389E08A8383E3B7DF888782E3D6 +:1004D000B4DF898787E3B1DF8A8786E3AEDF8B8766 +:1004E000E0E2F6E08081836080831482DF91CF9127 +:1004F0000895E0E7F0E080818E7F808382E880933A +:1005000000010895E0E0F1E0108A80E4808B10A201 +:1005100080A310AA80ABE0E4F1E010828083109207 +:10052000C3201092C22081E08093C12008951092D0 +:100530000020E8DFE0E0F1E016AA94E290AB11AA17 +:1005400049E542AB32E033AB609102207091032069 +:1005500064AB75AB61E874E260AF71AF12AE8BE370 +:1005600084AF83E080933D0110923E0120A9206872 +:1005700020AB10924601A0E4B1E09C93109241019F +:100580004093420180934301409104205091052003 +:1005900040934401509345014EE652E24093480196 +:1005A0005093490110924A0129E320934C01809312 +:1005B0004D0110924E012C9120682C93108A20E45A +:1005C000208B24E0208B818B81E9828B80E1838BDF +:1005D00047E751E0448B558B908F318F128E4091BD +:1005E000C3202EEE32E0429FC001439F900D1124A4 +:1005F0008E57994D848F4091C320429FC001439FE5 +:10060000900D11248E57994D958F168E8089806894 +:10061000808B08950895CF93DF9381E0809300202D +:1006200071DFE0E0F1E010AA80E480AB94E090ABF1 +:1006300011AA12AA5BE453AB14AA15AA16AA21E0C8 +:1006400030E220AF31AF12AE40EA44AF38E0309331 +:100650003D0110923E0180A9806A80AB85E58093C0 +:10066000A00810924601A0E4B1E0D4E2DC9310921D +:10067000410189E580934201C2E0C093430160914A +:10068000022070910320609344017093450161E85A +:1006900074E2609348017093490110924A018BE320 +:1006A00080934C0183E080934D0110924E012C9178 +:1006B00020682C93908B818BA1E9A28B20E1238B66 +:1006C00067E771E0648B758BD08FC18F128EC2E8A3 +:1006D000D6E2C48FD58F168E20892068208B90A3F8 +:1006E00081A3A2A353A364A375A340A731A712A615 +:1006F00089EF97E284A795A716A680A1806880A3BA +:10070000DF91CF9108950895CF93F894C2E0C093FC +:100710000020F8DEE0E0F1E016AA94E290AB11AA26 +:1007200039E532AB83E083AB409104205091052042 +:1007300044AB55AB4EE652E240AF51AF12AE29E3A7 +:1007400024AF80933D0110923E0120A9206820AB88 +:1007500010924601A0E4B1E09C93109241013093C5 +:100760004201809343012091022030910320209385 +:1007700044013093450121E834E22093480130934D +:10078000490110924A012BE320934C0180934D01C3 +:1007900010924E012C9120682C9354E0508B818B49 +:1007A00041E9428BC38B27E731E0248B358B908F57 +:1007B000C18F128E62E876E2648F758F168E50A319 +:1007C00081A342A381E083A324A335A384E380A76C +:1007D000C1A712A689EF97E284A795A716A68089DC +:1007E0008068808B00C000C0000080A1806880A36A +:1007F0007894CF9108950895CF93C3E0C0930020DB +:1008000081DEE0E0F1E010A250E450A344E040A318 +:1008100011A212A23BE433A314A215A216A281E0F6 +:1008200090E280A791A712A620EA24A798E095A7B6 +:1008300016A680A1806A80A385E58093A00816AAE9 +:1008400074E270AB11AA69E562ABC3ABA09104205E +:10085000B0910520A4ABB5ABAEE6B2E2A0AFB1AFAC +:1008600012AE89E384AFC0933D0110923E0180A98E +:10087000806880AB10924601A0E4B1E07C931092B6 +:1008800041016093420182E0809343016091022024 +:1008900070910320609344017093450161E874E214 +:1008A000609348017093490110924A018BE3809351 +:1008B0004C01C0934D0110924E018C9180688C9335 +:1008C000108A508B408BC18B81E9828B338B47E739 +:1008D00051E0448B558B208F918F128E82E896E2E7 +:1008E000848F958F168E80898068808BCF91089534 +:1008F0000895CF93C4E0C093002004DEE0E0F1E06F +:1009000010A280E480A3C0A311A212A24BE443A3CF +:1009100014A215A216A281E090E280A791A712A6C8 +:1009200060EA64A788E085A716A690A1906A90A3C4 +:1009300095E59093A00810924601A0E4B1E094E2FE +:100940009C931092410199E59093420192E090931B +:1009500043012091022030910320209344013093E1 +:10096000450121E834E22093480130934901109277 +:100970004A019BE390934C0193E090934D011092B8 +:100980004E012C9120682C93C08B918B31E9328BD6 +:10099000438B47E751E0448B558B608F818F128EDC +:1009A00062E876E2648F758F168E20892068208B2E +:1009B000C0AB91AB32AB9AE493AB44AB55AB93EC89 +:1009C00090AF81AF12AE89EF97E284AF90933D0173 +:1009D00010923E0180A9806880ABCF910895089560 +:1009E00085E0809300208EDDE0E0F1E016AA34E29D +:1009F00030AB11AA29E522AB83E083AB4091042000 +:100A00005091052044AB55AB4EE652E240AF51AF9A +:100A100012AE99E394AF80933D0110923E0190A9EC +:100A2000906890AB10924601E0E4F1E030831092C0 +:100A30004101209342018093430120910420309191 +:100A40000520209344013093450121E834E22093AE +:100A500048013093490110924A019BE390934C0165 +:100A600080934D0110924E018081806880830895AB +:100A700086E08093002046DDE0E0F1E016AA94E2F3 +:100A800090AB11AA39E532AB83E083AB40910420EF +:100A90005091052044AB55AB4EE652E240AF51AF0A +:100AA00012AE29E324AF80933D0110923E0120A9AC +:100AB000206820AB10924601A0E4B1E09C93109214 +:100AC00041013093420132E03093430140910220D2 +:100AD00050910320409344015093450141E854E272 +:100AE000409348015093490110924A012BE320930F +:100AF0004C0180934D0110924E012C9120682C9353 +:100B0000108A20E4208B24E0208B818B81E9828B6A +:100B100080E1838B4EEE52E0448B558B908F318F6A +:100B2000128E82E896E2848F958F168E8089806877 +:100B3000808B0895089587E080930020E3DCE0E057 +:100B4000F1E016AA94E290AB11AA39E532AB83E04A +:100B500083AB409104205091052044AB55AB4EE649 +:100B600052E240AF51AF12AE29E324AF80933D0172 +:100B700010923E0120A9206820AB10924601A0E40B +:100B8000B1E09C93109241013093420132E03093E6 +:100B9000430140910220509103204093440150931F +:100BA000450141E854E240934801509349011092B5 +:100BB0004A012BE320934C0180934D0110924E018A +:100BC0002C9120682C93108A20E4208B25E0208B28 +:100BD000818B81E9828B80E1838B4EEE52E0448BE6 +:100BE000558B908F318F128E82E896E2848F958F8D +:100BF000168E80898068808B089508951F920F92C9 +:100C00000FB60F9211248F939F9387E791E0809303 +:100C10001401909315018091C320882339F08091AD +:100C2000802480931C0180916C2206C080917F24D7 +:100C300080931C0180916D2280931D018091100191 +:100C40008068809310019091C32081E0911180E031 +:100C50008093C32081E0809303019F918F910F9037 +:100C60000FBE0F901F9018951F920F920FB60F9204 +:100C700011248F939F9387E791E0809324019093B1 +:100C800025018091C220882339F080915E2C8093C9 +:100C90002C018091662206C08091672280932C01EE +:100CA00080916E2480932D01809120018068809333 +:100CB00020019091C22081E0911180E08093C220B8 +:100CC00082E0809303019F918F910F900FBE0F9050 +:100CD0001F9018951F920F920FB60F9211240F902C +:100CE0000FBE0F901F9018951F920F920FB60F9284 +:100CF00011240F900FBE0F901F901895E0E7F0E0C1 +:100D000083818C7F838384818C7F848380818D7FAA +:100D10008083E0E8F1E080EC8283128680E28183C8 +:100D2000118682E280831086A0E0B8E034E03C9334 +:100D300023E011962C93119714961C92149785ED2D +:100D400091E096968D939C93979716961C92169782 +:100D5000E0E4F8E030832183148286A397A316820F +:100D6000E0E6F6E0808180618083E0E4F9E083E101 +:100D70008183148282E08683A6A3B7A310A611A65E +:100D800081E0808308951F920F920FB60F92112475 +:100D90002F933F934F935F938F939F93CF93DF93C3 +:100DA0001F92CDB7DEB78FEF80934C098091002062 +:100DB000873031F480912C02898390912D0202C0FA +:100DC00090912C028091C020891B2091680930915C +:100DD000690982308CF02A3F374070F4209168090D +:100DE0003091690989301CF481E090E002C086E00E +:100DF00090E0820F931F18C0209168093091690913 +:100E00008F3FB4F42730310598F020916809309174 +:100E10006909883F1CF081E090E002C086E090E024 +:100E2000A901481B590BCA0180937809909379094D +:100E30000F90DF91CF919F918F915F914F913F9153 +:100E40002F910F900FBE0F901F901895E0E7F0E0E4 +:100E500083818F7E8383E0E4F6E080818A6A8083E9 +:100E60008FEF848388E5828BE0EAF8E084EC858369 +:100E700083E08683178288E184830895E0E7F0E0C9 +:100E80008381877F8383E0ECF8E080E480831182B4 +:100E900088E58093550608951F920F920FB60F9222 +:100EA000112400000F900FBE0F901F9018959FB750 +:100EB000F894A0E5B0E016968C911697897F169667 +:100EC0008C931697E0E6F0E080E885838BEB8683D1 +:100ED00016968C911697846016968C93808181600B +:100EE00080839FBF0895CF93DF9300D000D0CDB70C +:100EF000DEB78FEF80937000809371008093720053 +:100F000080937300809374008093750080937600C3 +:100F100064E081E490E009D56CE170E082E00BD5FB +:100F20008C836DE170E082E006D58B838B819C81A0 +:100F3000019621F480E493E28B839C838B819C81D6 +:100F400089839A83809362008A81809363009FB72C +:100F5000F894809150008260809350009FBF8091F0 +:100F6000510081FFFCCFA3DF61E080E490E0DDD49D +:100F70009FB7F894809150008E7F809350009FBF60 +:100F80002496CDBFDEBFDF91CF9108959FB7F8942F +:100F9000E82FF0E0E059FF4F60958081682360837F +:100FA0009FBF0895CF93863011F0C0E001C0C8E123 +:100FB0008091510081FD0DC09FB7F8948091500041 +:100FC0008260809350009FBF8091510081FFFCCFD1 +:100FD0006EDF6C2F636084E490E0A7D460E480E06F +:100FE000CF91D4CF8091C52008958091C5208130C4 +:100FF00009F4F2C9089513D1FC0183818093C520BF +:10100000811101C0CFC981E0089590916F24892F8B +:10101000807697FF07C0803491F48091702481110D +:101020000EC0DFC9803459F480917024811107C04B +:101030008091752490917624892B09F0D0C980E0A5 +:1010400008950F931F939B018A01AC0160E081E832 +:101050000E9449101F910F9108950F931F939B01B8 +:101060008A01AC0160E082E80E9449101F910F9153 +:1010700008950F931F939B018A01AC0160E083E800 +:101080000E9449101F910F910895809171248F77CC +:1010900082C79091CC20911102C080E00895E09128 +:1010A000CA20F091CB200190F081E02D9481891726 +:1010B000A0F7E093C820F093C920228133812E0F3E +:1010C0003F1FE217F30798F49181943061F4928105 +:1010D000891309C09381691306C0E093C820F09377 +:1010E000C92081E008959081E90FF11DEACFE093D6 +:1010F000C820F093C920D1CFE091CA20F091CB2035 +:101100000190F081E02D228133812E0F3F1FFC01E1 +:101110004081E40FF11DE217F30748F48181843028 +:1011200031F0853039F08081E80FF11DF4CF80E097 +:1011300090E00895CF0108951F93CF93DF93182F68 +:10114000A8DF882339F1C091C820D091C920CE01F1 +:10115000D3DFEC01892B41F04C815D816B818A8169 +:1011600027D78111F4CF16C0E091CA20F091CB208F +:1011700092818381E92FF82FE10FF11DE10FF11D1D +:101180000190F081E02D0190F081E02DDF91CF9171 +:101190001F91099480E0DF91CF911F910895EF9204 +:1011A000FF921F93CF93DF93C82F60E072DF81110E +:1011B00002C010E02DC0E091CA20F091CB209281B6 +:1011C0008381E92FF82FEC0FF11DEC0FF11DE0806A +:1011D000F180D7011696ED91FC9117970995682F2C +:1011E0008C2F57DF182F882321F3C091C820D0916E +:1011F000C920CE0181DFEC01892B21F08A810E9478 +:101200000511F7CFD7011296ED91FC91139709952F +:10121000812FDF91CF911F91FF90EF9008958091E2 +:10122000C8209091C92008953EC6CF938091CC20CC +:10123000811108C01092CC201092D0201092D120A1 +:10124000CF910895C0E0E091CA20F091CB200190A9 +:10125000F081E02D8481C81768F78C2FA0DFCF5F65 +:10126000F2CFCF938091CC208823F1F0C0E0E091C1 +:10127000CA20F091CB20A081B18114968C91C8171F +:1012800098F492818381E92FF82FEC0FF11DEC0F78 +:10129000F11D0190F081E02D0084F185E02D309763 +:1012A00009F00995CF5FE3CFCF910895EF92FF92B8 +:1012B0000F931F93CF93DF931F92CDB7DEB710929A +:1012C000792410927A2410927B2410927C2410921C +:1012D0007D2410927E2480916F2487FF07C0209187 +:1012E000752430917624232B09F416C3982F907619 +:1012F000903409F0D2C0E09170248E2F90E0FC0170 +:10130000E05AF109E830F10508F095C2EA5FFE4FB6 +:101310000C94BA120000FEC2109200088091712451 +:1013200090917224809336089093370880917324AB +:101330008F708093000860917524709176248EE6FA +:1013400092E22FD6209104203091052080917524BF +:10135000909176242817390709F4DCC28093042081 +:101360009093052026C0109240088091712490919E +:1013700072248093760890937708809173248F70FD +:1013800080934008609175247091762481E894E2FE +:1013900008D62091022030910320809175249091ED +:1013A00076242817390709F4B5C280930220909358 +:1013B0000320E09100208E2F90E08830910508F006 +:1013C000A9C2FC01E25FFE4F0C94BA1210926809A8 +:1013D00010926909809171248093C0209BC28091F2 +:1013E00071248093240696C2E0917124F0917224B6 +:1013F000E830F10508F01FC2EA5EFE4F0C94BA1205 +:1014000060E080E023D8809173240E94F3018FD89C +:1014100081C260E080E01AD8809173240E94F301B9 +:10142000FAD878C261E081E011D8809173240E94DB +:10143000F301809174240E94090266D96BC2DCD941 +:1014400069C257DA67C260E080E000D880917324F7 +:101450000E94F301C5DA5EC261E080E00E942602CC +:10146000809173240E94F30103DB54C262E080E0A8 +:101470000E9426028091732480680E94F3015BDB46 +:1014800049C2809171248093840644C2E9E7F0E068 +:1014900091E088EDF89484BF90839111CCC187FFCF +:1014A000FDC020917524309176242115310509F471 +:1014B000C2C18F7109F09FC080917024863071F095 +:1014C000883009F48EC08111B6C12230310509F08F +:1014D000B2C162E070E080ED90E28BC08091712437 +:1014E00090917224292F332722303105A1F064F422 +:1014F0002130310509F09FC1809110209091112079 +:10150000DC016C9170E05BC02330310589F12F3034 +:10151000310509F190C1E0911020F091112021894D +:10152000821708F088C19927880F991F880F991F83 +:10153000E0911220F0911320E80FF91F8081918132 +:10154000FC01628173812DD5E0917724F09178249C +:1015500082E0818335C080911420909115200097FE +:1015600009F469C1DC0112966D917C91139727C033 +:1015700099278130910569F038F0029709F05BC135 +:1015800068E18AE890E208C064E070E08EEA90E2E8 +:1015900016C069E083EA90E2282FAAE5B0E2FC01D8 +:1015A000819190E08D939D938E2F821B8617C0F3BF +:1015B000660F6E5F6093582070E088E590E2F1D48A +:1015C00080917524909176242091792430917A2409 +:1015D0008217930708F09EC18093792490937A2410 +:1015E00099C12130310509F026C161E070E08CEC31 +:1015F00090E2D7D48FC18130C9F5809170248A30B0 +:1016000009F019C12130310509F015C18091CC20B4 +:10161000882309F410C1E0907324F09074240091A1 +:10162000CA201091CB20D801ED91FC918481E8165D +:1016300008F001C160E08E2D2CDD882309F4FBC089 +:10164000FF24EE0CFF1CF801828193818E0D9F1DFB +:10165000DC01ED91FC910680F781E02D09958093E6 +:10166000CE2061E070E08EEC90E2C3CF823009F0D2 +:10167000E2C0809170248111DEC02230310509F072 +:10168000DAC080917324E5D490E08093C6209093D3 +:10169000C72062E070E086EC90E2ABCF8F7109F07A +:1016A0007DC080917024833009F4C5C018F4813066 +:1016B000A1F0C1C0853019F0893039F1BCC08091EA +:1016C000752490917624892B09F0B5C085E498E0C3 +:1016D00080937B2490937C241DC1809175249091EC +:1016E0007624892B09F0A7C08091712490917224EF +:1016F000019709F0A0C08091D0209091D1208D7FDA +:101700008093D0209093D12005C180917524909131 +:101710007624892B09F08FC041D4882309F48BC02B +:1017200020917124309172243327E0911020F091A0 +:101730001120818990E08217930708F47CC075DD41 +:1017400080917124909172248093CC20882309F495 +:10175000E1C099278150904C880F991F880F991FDD +:101760002091122030911320820F931F8093CA2062 +:101770009093CB2010E0E091CA20F091CB20019013 +:10178000F081E02D8481181708F0C4C060E0812F3B +:10179000D3DC882309F44FC01F5FEDCF8130F1F413 +:1017A000809170248B3009F046C08091752490910F +:1017B0007624892B09F03FC08091CC20882309F43E +:1017C0003AC01091732460917124812F6983E7DC02 +:1017D0006981882381F1812FAFDC2BC0823059F5DC +:1017E00080917024813019F0833089F024C0809179 +:1017F000752490917624892BF1F480917124909135 +:101800007224892BC1F4809173242AD412C0809150 +:10181000752490917624892B71F480917124909194 +:101820007224892B41F480917324BFD48091732456 +:10183000F5D481116FC080916F248F718130B9F51B +:101840008091CC20882399F1E0907324F090742447 +:101850000091CA201091CB20D801ED91FC91848198 +:10186000E81628F560E08E2D14DC882301F1F701DD +:10187000FF27EE0FFF1FD80112968D919C911397B1 +:10188000E80FF91F00811181D8011696ED91FC91A6 +:1018900017970995682F8E2DFCDB882341F0D8011E +:1018A0001496ED91FC9115970995811133C08091A3 +:1018B0006F248F71823081F58091CC20882361F173 +:1018C000F12CE091CA20F091CB20A081B181149637 +:1018D0008C91F81608F592818381E92FF82FEF0D8E +:1018E000F11DEF0DF11D00811181D8011696ED91CA +:1018F000FC9117970995682F8F2DCBDB882361F01A +:10190000D8011496ED91FC9115970995811102C0AB +:10191000F394D7CF81E001C080E00F90DF91CF91A9 +:101920001F910F91FF90EF9008951BBEFC0128EDD1 +:1019300024BF608308954091CA01E62FF72F80935A +:10194000CA0184914093CA010895E82FF0E0E15A5A +:10195000F34D80818F3F09F4FFCF9FB7F8948081CA +:101960008F5F80839FBF0895E82FF0E0E15AF34D29 +:101970008081811101C0FFCF9FB7F8948081815091 +:1019800080839FBF0895CF93C82F80916422C11197 +:1019900005C0882339F081E0E7DF04C0811102C06F +:1019A00081E0D3DFC0936422CF910895282F2F7058 +:1019B000082E000C990B392F331F3327331F832F29 +:1019C00090E0820F911D820F911D23E0880F991FD7 +:1019D0002A95E1F7805E9D4D08950F93E8ECF4E0C1 +:1019E00080818F7D808380818F7D8083E8E2F2E239 +:1019F00002E0059310922A2210922B2200E2069315 +:101A000000E40693E0E2F2E200E2069300E40693CB +:101A1000EFE6F4E21486158616861786128613867C +:101A200010920D220F9108950F9385E080930D225F +:101A3000E9E2F2E204E00593E1E2F2E204E0059378 +:101A40000F9108950F9383E080930D2210922A2224 +:101A500010922B22E8E2F2E202E006930F91089541 +:101A6000E0917B24F0917C24309709F0099408954B +:101A7000282F2F70082E000C990B392F331F332776 +:101A8000331F832F90E0820F911D820F911D0297CB +:101A900049E0489F9001499F300D1124C9018D569E +:101AA0009E4D08958F929F92AF92BF92DF92EF92D8 +:101AB000FF920F931F93CF93DF93D82ED9DFEC01C2 +:101AC0008D2D74DF7C01DC011196EC91E770E15003 +:101AD000E73040F4F0E0EE0FFF1FEE54FF4D0081C1 +:101AE000118102C008E010E0ED81FE812B813C8174 +:101AF0004881D701D7FE48C016968D919C911797C3 +:101B00008E0F9F1F8D839E838217930761F1281B81 +:101B1000390B2115B4E03B0738F02FEF33E0C90152 +:101B2000B80114D5281B390B41FF0AC0C901B801FF +:101B30000DD5AC0191E0452B09F090E0892F01C053 +:101B400080E0988180FB91F99883F70116821782D3 +:101B50002283338329813A818D819E81820F931F55 +:101B6000848395830EC041FF71C04D7F4883D701A8 +:101B700016961D921C92179712961D921C921397FF +:101B8000F70102E006937BC01296AD90BC901397CC +:101B900042FF10C089809A80C901B801D7D4B0E44F +:101BA000DB9EB00111246D567F4DAC01C4018E0F38 +:101BB0009F1FE6D48D819E818A0D9B1D8D839E8300 +:101BC0002B813C812817390710F42D833E83F701C0 +:101BD00086819781A816B906C9F58D819E818217E5 +:101BE0009307A1F1281B390B2115F4E03F0710F0F2 +:101BF0002FEF33E0C901B801A9D4281B390BD70155 +:101C000012961D921C9213972017310778F4888141 +:101C100084608883B0E4DB9EC00111248D569F4D03 +:101C2000F7018483958306831783AACF49815A815C +:101C30008D819E81840F951FD70114968D939C935F +:101C4000159716962D933C9317979ACF888180FF0E +:101C500016C08E7F8883EF81F885309781F06D8183 +:101C60007E814D2D80E0DF91CF911F910F91FF90EC +:101C7000EF90DF90BF90AF909F908F900994DF918D +:101C8000CF911F910F91FF90EF90DF90BF90AF9099 +:101C90009F908F9008950F93CF93DF9380910D22A3 +:101CA000833029F4DDDEDF91CF910F9196CE209124 +:101CB000092230910A22C0917924D0917A24C21B42 +:101CC000D30B61F580910B2290910C22820F931F10 +:101CD00080930B2290930C222091752430917624CE +:101CE0002817390721F08091D220882331F084E031 +:101CF00080930D22E0E2F2E236C0E0917D24F09183 +:101D00007E24309799F00995882381F0109209225A +:101D100010920A22C0917924D0917A24C034D1053E +:101D200028F01092D220C0E4D0E003C081E080937C +:101D3000D220C0932A22D0932B2280910922909105 +:101D40000A222091772430917824280F391F20937C +:101D50002C2230932D22C80FD91FC0930922D09373 +:101D60000A22E8E2F2E202E00693DF91CF910F91BE +:101D700008950F93CF93DF931F92CDB7DEB7809175 +:101D8000CC0480FF65C021E02093CC0480E292E285 +:101D9000FC0100E80693E8E2F2E200E806932093F3 +:101DA000CA04FC0100E1069380910D22882329F0EA +:101DB0008350823008F454DE10DE8091222290910C +:101DC0002322089709F046C088E0E9ECF1E2AFE68B +:101DD000B4E201900D928A95E1F78091C804806287 +:101DE0008093C8048091C80480628093C8045EDA3E +:101DF000811102C019DE2EC090916F2497FF0EC092 +:101E000010920B2210920C221092092210920A2298 +:101E100092E090930D2289833EDF08C020917524C3 +:101E200030917624232B21F489830CDE898113C021 +:101E300010920B2210920C221092092210920A2268 +:101E400091E090930D22E0E2F2E202E0069303C0FB +:101E500080E001C081E00F90DF91CF910F91089554 +:101E6000CF93CFB7F89481E08EDDEAECF4E080E424 +:101E7000808380E28083E1ECF4E080818160808374 +:101E8000A9ECB4E08C9182608C93E8ECF4E0808162 +:101E9000806480838C9181608C9380818068808352 +:101EA000CFBFCF910895CF931092600080E37AD88E +:101EB0008091C00480648093C00481E080936000BE +:101EC000CFB7F89480E090E0FC0123E0EE0FFF1F15 +:101ED0002A95E1F7E05FFD4D118A01968830910562 +:101EE00099F7809193218E7F8093932180919C21FB +:101EF0008E7F80939C218091A5218E7F8093A52148 +:101F00008091AE218E7F8093AE218091B7218E7F0C +:101F10008093B7218091C0218E7F8093C0216AE198 +:101F200070E082E008DD8F3F09F48FE18093FA04CE +:101F30006BE170E082E0FFDC8F3F09F48FE180937A +:101F4000FB048091C00483608093C0048091C0042E +:101F500080688093C0048091C00480618093C00435 +:101F600080E292E28093C6049093C7048091C004FB +:101F700080628093C0048FEF8093C5048091C80471 +:101F800082608093C8041092642285E0DEDC68DF02 +:101F9000CFBFCF9108958093C30408958091C30467 +:101FA0000895EFE6F4E2808791876287738708954A +:101FB0000F931F93CF93DF931F92CDB7DEB78A01A4 +:101FC0006983F4DCFC018181807C698181113AC0E4 +:101FD0006370613019F020F080E803C080EC01C02C +:101FE00080E400381105E9F058F400321105A9F039 +:101FF00000341105A1F000311105C9F491E018C0B9 +:10200000011592E0190779F00F3F93E0190769F085 +:102010000115114061F495E00BC092E009C093E016 +:1020200007C094E005C096E003C097E001C090E0CF +:10203000118226E02083982B9183818180628183A5 +:1020400081E001C080E00F90DF91CF911F910F914F +:102050000895ACDCFC01818182FB882780F908951A +:10206000CF93C82FA3DCFC01818182FF0FC0918137 +:102070009B7F91838C2FFCDCFC01908190FF06C03C +:102080009E7F90830780F085E02D099581E0CF91B8 +:1020900008958F929F92AF92BF92DF92EF92FF923C +:1020A0000F931F93CF93DF931F92CDB7DEB7D82E38 +:1020B0005A0179016983DCDC4C018D2D77DC9C01B0 +:1020C000DC0111968C911197807C6981882309F439 +:1020D0005EC011968C911197807C803C21F0119606 +:1020E0008C9182FD54C09FB7F894F401808180FFE9 +:1020F00002C09FBF4CC0816080839FBFF401A1825A +:10210000B282E382F482158216820783108791E0FF +:10211000611104C0E114F10409F090E0D4018C9144 +:1021200090FB81F98B7F8C93D7FE04C0F901168256 +:10213000178229C0D90111968C911197807C803C1F +:10214000C9F41196EC91E770E150E73040F4F0E00B +:10215000EE0FFF1FEE54FF4D6081718102C068E0F9 +:1021600070E0C701F3D1892B29F0F40180818E7FC3 +:1021700080830DC0D90112961D921C92139716965A +:102180001D921C9217978D2D8DDC81E001C080E09F +:102190000F90DF91CF911F910F91FF90EF90DF9003 +:1021A000BF90AF909F908F900895EF92FF920F9302 +:1021B000CF93C82FFBDB7C018C2F5ADCDC01F701AD +:1021C00002E005939C9190FF1BC09E7F9C93179605 +:1021D000ED91FC911897309799F0D701C7FF05C092 +:1021E00016966D917C91179704C012966D917C9113 +:1021F00013974C2F81E0CF910F91FF90EF900994AE +:10220000CF910F91FF90EF900895CF93C82FCDDF1E +:102210008C2FCCDBFC011182CF9108950F93CF93CB +:10222000C82FC4DBFC0191819460918301E0069387 +:102230008C2FBBDF81E0CF910F9108951F920F92F9 +:102240000FB60F9211240F932F933F934F935F93E9 +:102250006F937F938F939F93AF93BF93EF93FF936E +:102260008091CB0487FF08C080E88093CA040E9455 +:1022700031090E94AF0186C08091CB0482FF18C053 +:1022800084E08093CA048091282286FF7BC08091DD +:10229000CC0481FD77C06DDD811174C080910D2269 +:1022A000813011F4CFDB6EC0843009F06BC021C0E7 +:1022B0008091CB0481FF26C082E08093CA04809184 +:1022C000202286FF5FC08091CC0481FD5BC051DD80 +:1022D000811158C080910D22823041F484E08093B6 +:1022E0000D22E0E2F2E202E006934CC0833009F0F6 +:1022F00049C0E9E2F2E204E00593E1E2F2E204E03F +:10230000059340C08091CB0484FF25C080E1809379 +:10231000CA0481E04ADF81E848DF82E046DF82E8E4 +:1023200044DF0E9415091092C3041092212296E006 +:102330009093202283E4809321221092292290936B +:1023400028228093292289EC91E280932422909381 +:10235000252243DB17C08091CB0486FF08C080E4B0 +:102360008093CA0480E00FDB0E94AD010BC0809116 +:10237000CB0485FF07C080E28093CA0481E003DBC1 +:102380000E94AE01FF91EF91BF91AF919F918F910C +:102390007F916F915F914F913F912F910F910F908E +:1023A0000FBE0F901F9018951F920F920FB60F92AD +:1023B00011240F931F932F933F934F935F936F932A +:1023C0007F938F939F93AF93BF93CF93DF93EF93BD +:1023D000FF938091CC0481FF1AC082E08093CC04EB +:1023E0008091C5048195880FE0E2F2E2E81BF109D3 +:1023F000208131812052324283E0369527958A959B +:10240000E1F7822F869520FD06C0C0E005C0B1DC53 +:10241000882319F386C0C0E8C80F8C2FC7DAFC01E7 +:10242000208125FF7EC000E20693C11174C0809117 +:102430000D22843019F414DBD0DA73C0009122220B +:10244000109123228091792490917A24C0910922BD +:10245000D0910A229E01200F311F8217930718F492 +:102460008C010C1B1D0B8091772490917824A8017E +:1024700069EC71E28C0F9D1F83D0C00FD11FC093F8 +:102480000922D0930A220034110569F480910B22AD +:1024900090910C228C0F9D1F2091752430917624F1 +:1024A0008217930788F0C0937924D0937A24E0911F +:1024B0007D24F0917E24309729F00995811102C086 +:1024C000B3DA2FC0BFDA2DC08091792490917A249D +:1024D0008C179D07D9F4E0917D24F0917E243097EC +:1024E00079F30995882361F320910B2230910C2216 +:1024F0008091092290910A22820F931F80930B22D0 +:1025000090930C221092092210920A22E0E2F2E249 +:1025100002E0069306C0C03811F4BDDB02C08C2F68 +:10252000C1DAFF91EF91DF91CF91BF91AF919F9170 +:102530008F917F916F915F914F913F912F911F915B +:102540000F910F900FBE0F901F901895AA1BBB1BE9 +:1025500051E107C0AA1FBB1FA617B70710F0A61BA3 +:10256000B70B881F991F5A95A9F780959095BC01C4 +:10257000CD010895EE0FFF1F0590F491E02D099411 +:10258000FB01DC0102C001900D9241505040D8F790 +:062590000895F894FFCF4E +:10259600FF5580008000FB07F5070508F2070000DD +:1025A6004420162000001C201A20062009022700BD +:1025B60001010080FA0904000003FFFFFF00070580 +:1025C6008101000101070582010001010705830160 +:1025D600000101001201000200000040EB0300A010 +:1025E60000020102000100000003000000000000DC +:1025F60000000000000000000000000000000000D5 +:1026060000000000000000000000000000000000C4 +:1026160000000000000000000000555342476F62B2 +:10262600696E6461722044756D6D792044657669C2 +:102636006365005461706972546563680000040341 +:102646000904100020004000800000010002FF0382 :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 fd800d1e..db22a001 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss @@ -3,4566 +3,4436 @@ USB_BULK_TEST.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 000026bc 00000000 00000000 00000094 2**1 + 0 .text 00002596 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 000000c0 00802000 000026bc 00002750 2**2 + 1 .data 000000c0 00802000 00002596 0000262c 2**2 CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000b9c 008020c0 008020c0 00002810 2**2 + 2 .bss 00000ba5 008020c0 008020c0 000026ec 2**2 ALLOC - 3 .comment 00000030 00000000 00000000 00002810 2**0 + 3 .comment 00000030 00000000 00000000 000026ec 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 00002840 2**2 + 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 0000271c 2**2 CONTENTS, READONLY - 5 .debug_aranges 00000048 00000000 00000000 00002880 2**3 + 5 .debug_aranges 00000048 00000000 00000000 00002760 2**3 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 00000126 00000000 00000000 000028c8 2**0 + 6 .debug_info 00000126 00000000 00000000 000027a8 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00000026 00000000 00000000 000029ee 2**0 + 7 .debug_abbrev 00000026 00000000 00000000 000028ce 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 0000018d 00000000 00000000 00002a14 2**0 + 8 .debug_line 0000018d 00000000 00000000 000028f4 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_ranges 00000020 00000000 00000000 00002ba8 2**3 + 9 .debug_ranges 00000020 00000000 00000000 00002a88 2**3 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: - 0: 25 c1 rjmp .+586 ; 0x24c <__ctors_end> + 0: 1d c1 rjmp .+570 ; 0x23c <__ctors_end> 2: 00 00 nop - 4: 3f c1 rjmp .+638 ; 0x284 <__bad_interrupt> + 4: 37 c1 rjmp .+622 ; 0x274 <__bad_interrupt> 6: 00 00 nop - 8: 3d c1 rjmp .+634 ; 0x284 <__bad_interrupt> + 8: 35 c1 rjmp .+618 ; 0x274 <__bad_interrupt> a: 00 00 nop - c: 3b c1 rjmp .+630 ; 0x284 <__bad_interrupt> + c: 33 c1 rjmp .+614 ; 0x274 <__bad_interrupt> e: 00 00 nop - 10: 39 c1 rjmp .+626 ; 0x284 <__bad_interrupt> + 10: 31 c1 rjmp .+610 ; 0x274 <__bad_interrupt> 12: 00 00 nop - 14: 37 c1 rjmp .+622 ; 0x284 <__bad_interrupt> + 14: 2f c1 rjmp .+606 ; 0x274 <__bad_interrupt> 16: 00 00 nop - 18: db c5 rjmp .+2998 ; 0xbd0 <__vector_6> + 18: f1 c5 rjmp .+3042 ; 0xbfc <__vector_6> 1a: 00 00 nop - 1c: 37 c6 rjmp .+3182 ; 0xc8c <__vector_7> + 1c: 25 c6 rjmp .+3146 ; 0xc68 <__vector_7> 1e: 00 00 nop - 20: 7c c6 rjmp .+3320 ; 0xd1a <__vector_8> + 20: 59 c6 rjmp .+3250 ; 0xcd4 <__vector_8> 22: 00 00 nop - 24: bb c6 rjmp .+3446 ; 0xd9c <__vector_9> + 24: 61 c6 rjmp .+3266 ; 0xce8 <__vector_9> 26: 00 00 nop - 28: 2d c1 rjmp .+602 ; 0x284 <__bad_interrupt> + 28: 25 c1 rjmp .+586 ; 0x274 <__bad_interrupt> 2a: 00 00 nop - 2c: 2b c1 rjmp .+598 ; 0x284 <__bad_interrupt> + 2c: 23 c1 rjmp .+582 ; 0x274 <__bad_interrupt> 2e: 00 00 nop - 30: 29 c1 rjmp .+594 ; 0x284 <__bad_interrupt> + 30: 21 c1 rjmp .+578 ; 0x274 <__bad_interrupt> 32: 00 00 nop - 34: 27 c1 rjmp .+590 ; 0x284 <__bad_interrupt> + 34: 1f c1 rjmp .+574 ; 0x274 <__bad_interrupt> 36: 00 00 nop - 38: 25 c1 rjmp .+586 ; 0x284 <__bad_interrupt> + 38: 1d c1 rjmp .+570 ; 0x274 <__bad_interrupt> 3a: 00 00 nop - 3c: 23 c1 rjmp .+582 ; 0x284 <__bad_interrupt> + 3c: 1b c1 rjmp .+566 ; 0x274 <__bad_interrupt> 3e: 00 00 nop - 40: 21 c1 rjmp .+578 ; 0x284 <__bad_interrupt> + 40: 19 c1 rjmp .+562 ; 0x274 <__bad_interrupt> 42: 00 00 nop - 44: 1f c1 rjmp .+574 ; 0x284 <__bad_interrupt> + 44: 17 c1 rjmp .+558 ; 0x274 <__bad_interrupt> 46: 00 00 nop - 48: 1d c1 rjmp .+570 ; 0x284 <__bad_interrupt> + 48: 15 c1 rjmp .+554 ; 0x274 <__bad_interrupt> 4a: 00 00 nop - 4c: 1b c1 rjmp .+566 ; 0x284 <__bad_interrupt> + 4c: 13 c1 rjmp .+550 ; 0x274 <__bad_interrupt> 4e: 00 00 nop - 50: 19 c1 rjmp .+562 ; 0x284 <__bad_interrupt> + 50: 11 c1 rjmp .+546 ; 0x274 <__bad_interrupt> 52: 00 00 nop - 54: 17 c1 rjmp .+558 ; 0x284 <__bad_interrupt> + 54: 0f c1 rjmp .+542 ; 0x274 <__bad_interrupt> 56: 00 00 nop - 58: 15 c1 rjmp .+554 ; 0x284 <__bad_interrupt> + 58: 0d c1 rjmp .+538 ; 0x274 <__bad_interrupt> 5a: 00 00 nop - 5c: 13 c1 rjmp .+550 ; 0x284 <__bad_interrupt> + 5c: 0b c1 rjmp .+534 ; 0x274 <__bad_interrupt> 5e: 00 00 nop - 60: a9 c7 rjmp .+3922 ; 0xfb4 <__vector_24> + 60: 1b c7 rjmp .+3638 ; 0xe98 <__vector_24> 62: 00 00 nop - 64: 0f c1 rjmp .+542 ; 0x284 <__bad_interrupt> + 64: 07 c1 rjmp .+526 ; 0x274 <__bad_interrupt> 66: 00 00 nop - 68: 0d c1 rjmp .+538 ; 0x284 <__bad_interrupt> + 68: 05 c1 rjmp .+522 ; 0x274 <__bad_interrupt> 6a: 00 00 nop - 6c: 0b c1 rjmp .+534 ; 0x284 <__bad_interrupt> + 6c: 03 c1 rjmp .+518 ; 0x274 <__bad_interrupt> 6e: 00 00 nop - 70: 09 c1 rjmp .+530 ; 0x284 <__bad_interrupt> + 70: 01 c1 rjmp .+514 ; 0x274 <__bad_interrupt> 72: 00 00 nop - 74: 07 c1 rjmp .+526 ; 0x284 <__bad_interrupt> + 74: ff c0 rjmp .+510 ; 0x274 <__bad_interrupt> 76: 00 00 nop - 78: 05 c1 rjmp .+522 ; 0x284 <__bad_interrupt> + 78: fd c0 rjmp .+506 ; 0x274 <__bad_interrupt> 7a: 00 00 nop - 7c: 03 c1 rjmp .+518 ; 0x284 <__bad_interrupt> + 7c: fb c0 rjmp .+502 ; 0x274 <__bad_interrupt> 7e: 00 00 nop - 80: 01 c1 rjmp .+514 ; 0x284 <__bad_interrupt> + 80: f9 c0 rjmp .+498 ; 0x274 <__bad_interrupt> 82: 00 00 nop - 84: ff c0 rjmp .+510 ; 0x284 <__bad_interrupt> + 84: f7 c0 rjmp .+494 ; 0x274 <__bad_interrupt> 86: 00 00 nop - 88: fd c0 rjmp .+506 ; 0x284 <__bad_interrupt> + 88: f5 c0 rjmp .+490 ; 0x274 <__bad_interrupt> 8a: 00 00 nop - 8c: fb c0 rjmp .+502 ; 0x284 <__bad_interrupt> + 8c: f3 c0 rjmp .+486 ; 0x274 <__bad_interrupt> 8e: 00 00 nop - 90: f9 c0 rjmp .+498 ; 0x284 <__bad_interrupt> + 90: f1 c0 rjmp .+482 ; 0x274 <__bad_interrupt> 92: 00 00 nop - 94: f7 c0 rjmp .+494 ; 0x284 <__bad_interrupt> + 94: ef c0 rjmp .+478 ; 0x274 <__bad_interrupt> 96: 00 00 nop - 98: f5 c0 rjmp .+490 ; 0x284 <__bad_interrupt> + 98: ed c0 rjmp .+474 ; 0x274 <__bad_interrupt> 9a: 00 00 nop - 9c: f3 c0 rjmp .+486 ; 0x284 <__bad_interrupt> + 9c: eb c0 rjmp .+470 ; 0x274 <__bad_interrupt> 9e: 00 00 nop - a0: f1 c0 rjmp .+482 ; 0x284 <__bad_interrupt> + a0: e9 c0 rjmp .+466 ; 0x274 <__bad_interrupt> a2: 00 00 nop - a4: ef c0 rjmp .+478 ; 0x284 <__bad_interrupt> + a4: e7 c0 rjmp .+462 ; 0x274 <__bad_interrupt> a6: 00 00 nop - a8: ed c0 rjmp .+474 ; 0x284 <__bad_interrupt> + a8: e5 c0 rjmp .+458 ; 0x274 <__bad_interrupt> aa: 00 00 nop - ac: eb c0 rjmp .+470 ; 0x284 <__bad_interrupt> + ac: e3 c0 rjmp .+454 ; 0x274 <__bad_interrupt> ae: 00 00 nop - b0: e9 c0 rjmp .+466 ; 0x284 <__bad_interrupt> + b0: e1 c0 rjmp .+450 ; 0x274 <__bad_interrupt> b2: 00 00 nop - b4: e7 c0 rjmp .+462 ; 0x284 <__bad_interrupt> + b4: df c0 rjmp .+446 ; 0x274 <__bad_interrupt> b6: 00 00 nop - b8: e5 c0 rjmp .+458 ; 0x284 <__bad_interrupt> + b8: dd c0 rjmp .+442 ; 0x274 <__bad_interrupt> ba: 00 00 nop - bc: e3 c0 rjmp .+454 ; 0x284 <__bad_interrupt> + bc: db c0 rjmp .+438 ; 0x274 <__bad_interrupt> be: 00 00 nop - c0: e1 c0 rjmp .+450 ; 0x284 <__bad_interrupt> + c0: d9 c0 rjmp .+434 ; 0x274 <__bad_interrupt> c2: 00 00 nop - c4: df c0 rjmp .+446 ; 0x284 <__bad_interrupt> + c4: d7 c0 rjmp .+430 ; 0x274 <__bad_interrupt> c6: 00 00 nop - c8: dd c0 rjmp .+442 ; 0x284 <__bad_interrupt> + c8: d5 c0 rjmp .+426 ; 0x274 <__bad_interrupt> ca: 00 00 nop - cc: db c0 rjmp .+438 ; 0x284 <__bad_interrupt> + cc: d3 c0 rjmp .+422 ; 0x274 <__bad_interrupt> ce: 00 00 nop - d0: d9 c0 rjmp .+434 ; 0x284 <__bad_interrupt> + d0: d1 c0 rjmp .+418 ; 0x274 <__bad_interrupt> d2: 00 00 nop - d4: d7 c0 rjmp .+430 ; 0x284 <__bad_interrupt> + d4: cf c0 rjmp .+414 ; 0x274 <__bad_interrupt> d6: 00 00 nop - d8: d5 c0 rjmp .+426 ; 0x284 <__bad_interrupt> + d8: cd c0 rjmp .+410 ; 0x274 <__bad_interrupt> da: 00 00 nop - dc: d3 c0 rjmp .+422 ; 0x284 <__bad_interrupt> + dc: cb c0 rjmp .+406 ; 0x274 <__bad_interrupt> de: 00 00 nop - e0: d1 c0 rjmp .+418 ; 0x284 <__bad_interrupt> + e0: c9 c0 rjmp .+402 ; 0x274 <__bad_interrupt> e2: 00 00 nop - e4: cf c0 rjmp .+414 ; 0x284 <__bad_interrupt> + e4: c7 c0 rjmp .+398 ; 0x274 <__bad_interrupt> e6: 00 00 nop - e8: cd c0 rjmp .+410 ; 0x284 <__bad_interrupt> + e8: c5 c0 rjmp .+394 ; 0x274 <__bad_interrupt> ea: 00 00 nop - ec: cb c0 rjmp .+406 ; 0x284 <__bad_interrupt> + ec: c3 c0 rjmp .+390 ; 0x274 <__bad_interrupt> ee: 00 00 nop - f0: c9 c0 rjmp .+402 ; 0x284 <__bad_interrupt> + f0: c1 c0 rjmp .+386 ; 0x274 <__bad_interrupt> f2: 00 00 nop - f4: c7 c0 rjmp .+398 ; 0x284 <__bad_interrupt> + f4: bf c0 rjmp .+382 ; 0x274 <__bad_interrupt> f6: 00 00 nop - f8: c5 c0 rjmp .+394 ; 0x284 <__bad_interrupt> + f8: bd c0 rjmp .+378 ; 0x274 <__bad_interrupt> fa: 00 00 nop - fc: c3 c0 rjmp .+390 ; 0x284 <__bad_interrupt> + fc: bb c0 rjmp .+374 ; 0x274 <__bad_interrupt> fe: 00 00 nop - 100: c1 c0 rjmp .+386 ; 0x284 <__bad_interrupt> + 100: b9 c0 rjmp .+370 ; 0x274 <__bad_interrupt> 102: 00 00 nop - 104: bf c0 rjmp .+382 ; 0x284 <__bad_interrupt> + 104: b7 c0 rjmp .+366 ; 0x274 <__bad_interrupt> 106: 00 00 nop - 108: bd c0 rjmp .+378 ; 0x284 <__bad_interrupt> + 108: b5 c0 rjmp .+362 ; 0x274 <__bad_interrupt> 10a: 00 00 nop - 10c: bb c0 rjmp .+374 ; 0x284 <__bad_interrupt> + 10c: b3 c0 rjmp .+358 ; 0x274 <__bad_interrupt> 10e: 00 00 nop - 110: b9 c0 rjmp .+370 ; 0x284 <__bad_interrupt> + 110: b1 c0 rjmp .+354 ; 0x274 <__bad_interrupt> 112: 00 00 nop - 114: b7 c0 rjmp .+366 ; 0x284 <__bad_interrupt> + 114: af c0 rjmp .+350 ; 0x274 <__bad_interrupt> 116: 00 00 nop - 118: b5 c0 rjmp .+362 ; 0x284 <__bad_interrupt> + 118: ad c0 rjmp .+346 ; 0x274 <__bad_interrupt> 11a: 00 00 nop - 11c: b3 c0 rjmp .+358 ; 0x284 <__bad_interrupt> + 11c: ab c0 rjmp .+342 ; 0x274 <__bad_interrupt> 11e: 00 00 nop - 120: b1 c0 rjmp .+354 ; 0x284 <__bad_interrupt> + 120: a9 c0 rjmp .+338 ; 0x274 <__bad_interrupt> 122: 00 00 nop - 124: af c0 rjmp .+350 ; 0x284 <__bad_interrupt> + 124: a7 c0 rjmp .+334 ; 0x274 <__bad_interrupt> 126: 00 00 nop - 128: ad c0 rjmp .+346 ; 0x284 <__bad_interrupt> + 128: a5 c0 rjmp .+330 ; 0x274 <__bad_interrupt> 12a: 00 00 nop - 12c: ab c0 rjmp .+342 ; 0x284 <__bad_interrupt> + 12c: a3 c0 rjmp .+326 ; 0x274 <__bad_interrupt> 12e: 00 00 nop - 130: a9 c0 rjmp .+338 ; 0x284 <__bad_interrupt> + 130: a1 c0 rjmp .+322 ; 0x274 <__bad_interrupt> 132: 00 00 nop - 134: a7 c0 rjmp .+334 ; 0x284 <__bad_interrupt> + 134: 9f c0 rjmp .+318 ; 0x274 <__bad_interrupt> 136: 00 00 nop - 138: a5 c0 rjmp .+330 ; 0x284 <__bad_interrupt> + 138: 9d c0 rjmp .+314 ; 0x274 <__bad_interrupt> 13a: 00 00 nop - 13c: a3 c0 rjmp .+326 ; 0x284 <__bad_interrupt> + 13c: 9b c0 rjmp .+310 ; 0x274 <__bad_interrupt> 13e: 00 00 nop - 140: a1 c0 rjmp .+322 ; 0x284 <__bad_interrupt> + 140: 99 c0 rjmp .+306 ; 0x274 <__bad_interrupt> 142: 00 00 nop - 144: 9f c0 rjmp .+318 ; 0x284 <__bad_interrupt> + 144: 97 c0 rjmp .+302 ; 0x274 <__bad_interrupt> 146: 00 00 nop - 148: 9d c0 rjmp .+314 ; 0x284 <__bad_interrupt> + 148: 95 c0 rjmp .+298 ; 0x274 <__bad_interrupt> 14a: 00 00 nop - 14c: aa c6 rjmp .+3412 ; 0xea2 <__vector_83> + 14c: 1c c6 rjmp .+3128 ; 0xd86 <__vector_83> 14e: 00 00 nop - 150: 99 c0 rjmp .+306 ; 0x284 <__bad_interrupt> + 150: 91 c0 rjmp .+290 ; 0x274 <__bad_interrupt> 152: 00 00 nop - 154: 97 c0 rjmp .+302 ; 0x284 <__bad_interrupt> + 154: 8f c0 rjmp .+286 ; 0x274 <__bad_interrupt> 156: 00 00 nop - 158: 95 c0 rjmp .+298 ; 0x284 <__bad_interrupt> + 158: 8d c0 rjmp .+282 ; 0x274 <__bad_interrupt> 15a: 00 00 nop - 15c: 93 c0 rjmp .+294 ; 0x284 <__bad_interrupt> + 15c: 8b c0 rjmp .+278 ; 0x274 <__bad_interrupt> 15e: 00 00 nop - 160: 91 c0 rjmp .+290 ; 0x284 <__bad_interrupt> + 160: 89 c0 rjmp .+274 ; 0x274 <__bad_interrupt> 162: 00 00 nop - 164: 8f c0 rjmp .+286 ; 0x284 <__bad_interrupt> + 164: 87 c0 rjmp .+270 ; 0x274 <__bad_interrupt> 166: 00 00 nop - 168: 8d c0 rjmp .+282 ; 0x284 <__bad_interrupt> + 168: 85 c0 rjmp .+266 ; 0x274 <__bad_interrupt> 16a: 00 00 nop - 16c: 8b c0 rjmp .+278 ; 0x284 <__bad_interrupt> + 16c: 83 c0 rjmp .+262 ; 0x274 <__bad_interrupt> 16e: 00 00 nop - 170: 89 c0 rjmp .+274 ; 0x284 <__bad_interrupt> + 170: 81 c0 rjmp .+258 ; 0x274 <__bad_interrupt> 172: 00 00 nop - 174: 87 c0 rjmp .+270 ; 0x284 <__bad_interrupt> + 174: 7f c0 rjmp .+254 ; 0x274 <__bad_interrupt> 176: 00 00 nop - 178: 85 c0 rjmp .+266 ; 0x284 <__bad_interrupt> + 178: 7d c0 rjmp .+250 ; 0x274 <__bad_interrupt> 17a: 00 00 nop - 17c: 83 c0 rjmp .+262 ; 0x284 <__bad_interrupt> + 17c: 7b c0 rjmp .+246 ; 0x274 <__bad_interrupt> 17e: 00 00 nop - 180: 81 c0 rjmp .+258 ; 0x284 <__bad_interrupt> + 180: 79 c0 rjmp .+242 ; 0x274 <__bad_interrupt> 182: 00 00 nop - 184: 7f c0 rjmp .+254 ; 0x284 <__bad_interrupt> + 184: 77 c0 rjmp .+238 ; 0x274 <__bad_interrupt> 186: 00 00 nop - 188: 7d c0 rjmp .+250 ; 0x284 <__bad_interrupt> + 188: 75 c0 rjmp .+234 ; 0x274 <__bad_interrupt> 18a: 00 00 nop - 18c: 7b c0 rjmp .+246 ; 0x284 <__bad_interrupt> + 18c: 73 c0 rjmp .+230 ; 0x274 <__bad_interrupt> 18e: 00 00 nop - 190: 79 c0 rjmp .+242 ; 0x284 <__bad_interrupt> + 190: 71 c0 rjmp .+226 ; 0x274 <__bad_interrupt> 192: 00 00 nop - 194: 77 c0 rjmp .+238 ; 0x284 <__bad_interrupt> + 194: 6f c0 rjmp .+222 ; 0x274 <__bad_interrupt> 196: 00 00 nop - 198: 75 c0 rjmp .+234 ; 0x284 <__bad_interrupt> + 198: 6d c0 rjmp .+218 ; 0x274 <__bad_interrupt> 19a: 00 00 nop - 19c: 73 c0 rjmp .+230 ; 0x284 <__bad_interrupt> + 19c: 6b c0 rjmp .+214 ; 0x274 <__bad_interrupt> 19e: 00 00 nop - 1a0: 71 c0 rjmp .+226 ; 0x284 <__bad_interrupt> + 1a0: 69 c0 rjmp .+210 ; 0x274 <__bad_interrupt> 1a2: 00 00 nop - 1a4: 6f c0 rjmp .+222 ; 0x284 <__bad_interrupt> + 1a4: 67 c0 rjmp .+206 ; 0x274 <__bad_interrupt> 1a6: 00 00 nop - 1a8: 6d c0 rjmp .+218 ; 0x284 <__bad_interrupt> + 1a8: 65 c0 rjmp .+202 ; 0x274 <__bad_interrupt> 1aa: 00 00 nop - 1ac: 6b c0 rjmp .+214 ; 0x284 <__bad_interrupt> + 1ac: 63 c0 rjmp .+198 ; 0x274 <__bad_interrupt> 1ae: 00 00 nop - 1b0: 69 c0 rjmp .+210 ; 0x284 <__bad_interrupt> + 1b0: 61 c0 rjmp .+194 ; 0x274 <__bad_interrupt> 1b2: 00 00 nop - 1b4: 67 c0 rjmp .+206 ; 0x284 <__bad_interrupt> + 1b4: 5f c0 rjmp .+190 ; 0x274 <__bad_interrupt> 1b6: 00 00 nop - 1b8: 65 c0 rjmp .+202 ; 0x284 <__bad_interrupt> + 1b8: 5d c0 rjmp .+186 ; 0x274 <__bad_interrupt> 1ba: 00 00 nop - 1bc: 63 c0 rjmp .+198 ; 0x284 <__bad_interrupt> + 1bc: 5b c0 rjmp .+182 ; 0x274 <__bad_interrupt> 1be: 00 00 nop - 1c0: 61 c0 rjmp .+194 ; 0x284 <__bad_interrupt> + 1c0: 59 c0 rjmp .+178 ; 0x274 <__bad_interrupt> 1c2: 00 00 nop - 1c4: 5f c0 rjmp .+190 ; 0x284 <__bad_interrupt> + 1c4: 57 c0 rjmp .+174 ; 0x274 <__bad_interrupt> 1c6: 00 00 nop - 1c8: 5d c0 rjmp .+186 ; 0x284 <__bad_interrupt> + 1c8: 55 c0 rjmp .+170 ; 0x274 <__bad_interrupt> 1ca: 00 00 nop - 1cc: 5b c0 rjmp .+182 ; 0x284 <__bad_interrupt> + 1cc: 53 c0 rjmp .+166 ; 0x274 <__bad_interrupt> 1ce: 00 00 nop - 1d0: 59 c0 rjmp .+178 ; 0x284 <__bad_interrupt> + 1d0: 51 c0 rjmp .+162 ; 0x274 <__bad_interrupt> 1d2: 00 00 nop - 1d4: 57 c0 rjmp .+174 ; 0x284 <__bad_interrupt> + 1d4: 4f c0 rjmp .+158 ; 0x274 <__bad_interrupt> 1d6: 00 00 nop - 1d8: 55 c0 rjmp .+170 ; 0x284 <__bad_interrupt> + 1d8: 4d c0 rjmp .+154 ; 0x274 <__bad_interrupt> 1da: 00 00 nop - 1dc: 53 c0 rjmp .+166 ; 0x284 <__bad_interrupt> + 1dc: 4b c0 rjmp .+150 ; 0x274 <__bad_interrupt> 1de: 00 00 nop - 1e0: 51 c0 rjmp .+162 ; 0x284 <__bad_interrupt> + 1e0: 49 c0 rjmp .+146 ; 0x274 <__bad_interrupt> 1e2: 00 00 nop - 1e4: 4f c0 rjmp .+158 ; 0x284 <__bad_interrupt> + 1e4: 47 c0 rjmp .+142 ; 0x274 <__bad_interrupt> 1e6: 00 00 nop - 1e8: 4d c0 rjmp .+154 ; 0x284 <__bad_interrupt> + 1e8: 45 c0 rjmp .+138 ; 0x274 <__bad_interrupt> 1ea: 00 00 nop - 1ec: 4b c0 rjmp .+150 ; 0x284 <__bad_interrupt> + 1ec: 43 c0 rjmp .+134 ; 0x274 <__bad_interrupt> 1ee: 00 00 nop - 1f0: 49 c0 rjmp .+146 ; 0x284 <__bad_interrupt> + 1f0: 41 c0 rjmp .+130 ; 0x274 <__bad_interrupt> 1f2: 00 00 nop - 1f4: 0c 94 b1 11 jmp 0x2362 ; 0x2362 <__vector_125> - 1f8: 0c 94 67 12 jmp 0x24ce ; 0x24ce <__vector_126> - 1fc: ac 01 movw r20, r24 - 1fe: ae 01 movw r20, r28 - 200: b0 01 movw r22, r0 - 202: b2 01 movw r22, r4 - 204: b4 01 movw r22, r8 - 206: b9 01 movw r22, r18 - 208: b6 01 movw r22, r12 - 20a: b8 01 movw r22, r16 - 20c: 05 06 cpc r0, r21 - 20e: 05 06 cpc r0, r21 - 210: 05 06 cpc r0, r21 - 212: 05 06 cpc r0, r21 - 214: 05 06 cpc r0, r21 - 216: 38 06 cpc r3, r24 - 218: 10 06 cpc r1, r16 - 21a: 10 06 cpc r1, r16 - 21c: 18 0a sbc r1, r24 - 21e: 1a 0a sbc r1, r26 - 220: 41 0a sbc r4, r17 - 222: 74 0a sbc r7, r20 - 224: 7d 0a sbc r7, r29 - 226: 82 0a sbc r8, r18 - 228: d4 0a sbc r13, r20 - 22a: d9 0a sbc r13, r25 - 22c: 96 0a sbc r9, r22 - 22e: a1 0a sbc r10, r17 - 230: af 0a sbc r10, r31 - 232: b1 0a sbc r11, r17 - 234: b3 0a sbc r11, r19 - 236: bd 0a sbc r11, r29 - 238: c7 0a sbc r12, r23 - 23a: d2 0a sbc r13, r18 - 23c: 8e 0a sbc r8, r30 - 23e: 99 0a sbc r9, r25 - 240: a3 0a sbc r10, r19 - 242: b1 0a sbc r11, r17 - 244: b3 0a sbc r11, r19 - 246: b5 0a sbc r11, r21 - 248: bf 0a sbc r11, r31 - 24a: c9 0a sbc r12, r25 + 1f4: 0c 94 1e 11 jmp 0x223c ; 0x223c <__vector_125> + 1f8: 0c 94 d4 11 jmp 0x23a8 ; 0x23a8 <__vector_126> + 1fc: bb 01 movw r22, r22 + 1fe: bd 01 movw r22, r26 + 200: bf 01 movw r22, r30 + 202: c1 01 movw r24, r2 + 204: c3 01 movw r24, r6 + 206: c8 01 movw r24, r16 + 208: c5 01 movw r24, r10 + 20a: c7 01 movw r24, r14 + 20c: 8a 09 sbc r24, r10 + 20e: 8c 09 sbc r24, r12 + 210: b3 09 sbc r27, r3 + 212: e6 09 sbc r30, r6 + 214: ef 09 sbc r30, r15 + 216: f4 09 sbc r31, r4 + 218: 41 0a sbc r4, r17 + 21a: 46 0a sbc r4, r22 + 21c: 07 0a sbc r0, r23 + 21e: 10 0a sbc r1, r16 + 220: 1d 0a sbc r1, r29 + 222: 1f 0a sbc r1, r31 + 224: 21 0a sbc r2, r17 + 226: 2a 0a sbc r2, r26 + 228: 34 0a sbc r3, r20 + 22a: 3f 0a sbc r3, r31 + 22c: 00 0a sbc r0, r16 + 22e: 09 0a sbc r0, r25 + 230: 12 0a sbc r1, r18 + 232: 1f 0a sbc r1, r31 + 234: 21 0a sbc r2, r17 + 236: 23 0a sbc r2, r19 + 238: 2c 0a sbc r2, r28 + 23a: 36 0a sbc r3, r22 -0000024c <__ctors_end>: - 24c: 11 24 eor r1, r1 - 24e: 1f be out 0x3f, r1 ; 63 - 250: cf ef ldi r28, 0xFF ; 255 - 252: cd bf out 0x3d, r28 ; 61 - 254: df e2 ldi r29, 0x2F ; 47 - 256: de bf out 0x3e, r29 ; 62 +0000023c <__ctors_end>: + 23c: 11 24 eor r1, r1 + 23e: 1f be out 0x3f, r1 ; 63 + 240: cf ef ldi r28, 0xFF ; 255 + 242: cd bf out 0x3d, r28 ; 61 + 244: df e2 ldi r29, 0x2F ; 47 + 246: de bf out 0x3e, r29 ; 62 -00000258 <__do_copy_data>: - 258: 10 e2 ldi r17, 0x20 ; 32 - 25a: a0 e0 ldi r26, 0x00 ; 0 - 25c: b0 e2 ldi r27, 0x20 ; 32 - 25e: ec eb ldi r30, 0xBC ; 188 - 260: f6 e2 ldi r31, 0x26 ; 38 - 262: 02 c0 rjmp .+4 ; 0x268 <__do_copy_data+0x10> - 264: 05 90 lpm r0, Z+ - 266: 0d 92 st X+, r0 - 268: a0 3c cpi r26, 0xC0 ; 192 - 26a: b1 07 cpc r27, r17 - 26c: d9 f7 brne .-10 ; 0x264 <__do_copy_data+0xc> +00000248 <__do_copy_data>: + 248: 10 e2 ldi r17, 0x20 ; 32 + 24a: a0 e0 ldi r26, 0x00 ; 0 + 24c: b0 e2 ldi r27, 0x20 ; 32 + 24e: e6 e9 ldi r30, 0x96 ; 150 + 250: f5 e2 ldi r31, 0x25 ; 37 + 252: 02 c0 rjmp .+4 ; 0x258 <__do_copy_data+0x10> + 254: 05 90 lpm r0, Z+ + 256: 0d 92 st X+, r0 + 258: a0 3c cpi r26, 0xC0 ; 192 + 25a: b1 07 cpc r27, r17 + 25c: d9 f7 brne .-10 ; 0x254 <__do_copy_data+0xc> -0000026e <__do_clear_bss>: - 26e: 2c e2 ldi r18, 0x2C ; 44 - 270: a0 ec ldi r26, 0xC0 ; 192 - 272: b0 e2 ldi r27, 0x20 ; 32 - 274: 01 c0 rjmp .+2 ; 0x278 <.do_clear_bss_start> +0000025e <__do_clear_bss>: + 25e: 2c e2 ldi r18, 0x2C ; 44 + 260: a0 ec ldi r26, 0xC0 ; 192 + 262: b0 e2 ldi r27, 0x20 ; 32 + 264: 01 c0 rjmp .+2 ; 0x268 <.do_clear_bss_start> -00000276 <.do_clear_bss_loop>: - 276: 1d 92 st X+, r1 +00000266 <.do_clear_bss_loop>: + 266: 1d 92 st X+, r1 -00000278 <.do_clear_bss_start>: - 278: ac 35 cpi r26, 0x5C ; 92 - 27a: b2 07 cpc r27, r18 - 27c: e1 f7 brne .-8 ; 0x276 <.do_clear_bss_loop> - 27e: 3b d0 rcall .+118 ; 0x2f6

- 280: 0c 94 5c 13 jmp 0x26b8 ; 0x26b8 <_exit> +00000268 <.do_clear_bss_start>: + 268: a5 36 cpi r26, 0x65 ; 101 + 26a: b2 07 cpc r27, r18 + 26c: e1 f7 brne .-8 ; 0x266 <.do_clear_bss_loop> + 26e: 3b d0 rcall .+118 ; 0x2e6
+ 270: 0c 94 c9 12 jmp 0x2592 ; 0x2592 <_exit> -00000284 <__bad_interrupt>: - 284: bd ce rjmp .-646 ; 0x0 <__vectors> +00000274 <__bad_interrupt>: + 274: c5 ce rjmp .-630 ; 0x0 <__vectors> -00000286 : - 286: e0 e8 ldi r30, 0x80 ; 128 - 288: f6 e0 ldi r31, 0x06 ; 6 - 28a: 8f e0 ldi r24, 0x0F ; 15 - 28c: 80 83 st Z, r24 - 28e: 85 e0 ldi r24, 0x05 ; 5 - 290: 84 83 std Z+4, r24 ; 0x04 - 292: 08 95 ret +00000276 : + 276: e0 e8 ldi r30, 0x80 ; 128 + 278: f6 e0 ldi r31, 0x06 ; 6 + 27a: 8f e0 ldi r24, 0x0F ; 15 + 27c: 80 83 st Z, r24 + 27e: 85 e0 ldi r24, 0x05 ; 5 + 280: 84 83 std Z+4, r24 ; 0x04 + 282: 08 95 ret -00000294 : - 294: 08 95 ret +00000284 : + 284: 08 95 ret -00000296 : - 296: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 - 29a: 2e ee ldi r18, 0xEE ; 238 - 29c: 32 e0 ldi r19, 0x02 ; 2 - 29e: 42 9f mul r20, r18 - 2a0: c0 01 movw r24, r0 - 2a2: 43 9f mul r20, r19 - 2a4: 90 0d add r25, r0 - 2a6: 11 24 eor r1, r1 - 2a8: 4b e4 ldi r20, 0x4B ; 75 - 2aa: 51 e0 ldi r21, 0x01 ; 1 - 2ac: 6a ef ldi r22, 0xFA ; 250 - 2ae: 70 e0 ldi r23, 0x00 ; 0 - 2b0: 86 58 subi r24, 0x86 ; 134 - 2b2: 99 4d sbci r25, 0xD9 ; 217 - 2b4: 54 c7 rjmp .+3752 ; 0x115e +00000286 : + 286: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 + 28a: 2e ee ldi r18, 0xEE ; 238 + 28c: 32 e0 ldi r19, 0x02 ; 2 + 28e: 42 9f mul r20, r18 + 290: c0 01 movw r24, r0 + 292: 43 9f mul r20, r19 + 294: 90 0d add r25, r0 + 296: 11 24 eor r1, r1 + 298: 43 e4 ldi r20, 0x43 ; 67 + 29a: 51 e0 ldi r21, 0x01 ; 1 + 29c: 6a ef ldi r22, 0xFA ; 250 + 29e: 70 e0 ldi r23, 0x00 ; 0 + 2a0: 8e 57 subi r24, 0x7E ; 126 + 2a2: 99 4d sbci r25, 0xD9 ; 217 + 2a4: ce c6 rjmp .+3484 ; 0x1042 -000002b6 : - 2b6: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 - 2ba: 2e ee ldi r18, 0xEE ; 238 - 2bc: 32 e0 ldi r19, 0x02 ; 2 - 2be: 42 9f mul r20, r18 - 2c0: c0 01 movw r24, r0 - 2c2: 43 9f mul r20, r19 - 2c4: 90 0d add r25, r0 - 2c6: 11 24 eor r1, r1 - 2c8: 4b e5 ldi r20, 0x5B ; 91 - 2ca: 51 e0 ldi r21, 0x01 ; 1 - 2cc: 6a ef ldi r22, 0xFA ; 250 - 2ce: 70 e0 ldi r23, 0x00 ; 0 - 2d0: 8c 58 subi r24, 0x8C ; 140 - 2d2: 98 4d sbci r25, 0xD8 ; 216 - 2d4: 50 c7 rjmp .+3744 ; 0x1176 +000002a6 : + 2a6: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 + 2aa: 2e ee ldi r18, 0xEE ; 238 + 2ac: 32 e0 ldi r19, 0x02 ; 2 + 2ae: 42 9f mul r20, r18 + 2b0: c0 01 movw r24, r0 + 2b2: 43 9f mul r20, r19 + 2b4: 90 0d add r25, r0 + 2b6: 11 24 eor r1, r1 + 2b8: 43 e5 ldi r20, 0x53 ; 83 + 2ba: 51 e0 ldi r21, 0x01 ; 1 + 2bc: 6a ef ldi r22, 0xFA ; 250 + 2be: 70 e0 ldi r23, 0x00 ; 0 + 2c0: 84 58 subi r24, 0x84 ; 132 + 2c2: 98 4d sbci r25, 0xD8 ; 216 + 2c4: ca c6 rjmp .+3476 ; 0x105a -000002d6 : - 2d6: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 - 2da: 2e ee ldi r18, 0xEE ; 238 - 2dc: 32 e0 ldi r19, 0x02 ; 2 - 2de: 42 9f mul r20, r18 - 2e0: c0 01 movw r24, r0 - 2e2: 43 9f mul r20, r19 - 2e4: 90 0d add r25, r0 - 2e6: 11 24 eor r1, r1 - 2e8: 4b e6 ldi r20, 0x6B ; 107 - 2ea: 51 e0 ldi r21, 0x01 ; 1 - 2ec: 6a ef ldi r22, 0xFA ; 250 - 2ee: 70 e0 ldi r23, 0x00 ; 0 - 2f0: 82 59 subi r24, 0x92 ; 146 - 2f2: 97 4d sbci r25, 0xD7 ; 215 - 2f4: 4c c7 rjmp .+3736 ; 0x118e +000002c6 : + 2c6: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 + 2ca: 2e ee ldi r18, 0xEE ; 238 + 2cc: 32 e0 ldi r19, 0x02 ; 2 + 2ce: 42 9f mul r20, r18 + 2d0: c0 01 movw r24, r0 + 2d2: 43 9f mul r20, r19 + 2d4: 90 0d add r25, r0 + 2d6: 11 24 eor r1, r1 + 2d8: 43 e6 ldi r20, 0x63 ; 99 + 2da: 51 e0 ldi r21, 0x01 ; 1 + 2dc: 6a ef ldi r22, 0xFA ; 250 + 2de: 70 e0 ldi r23, 0x00 ; 0 + 2e0: 8a 58 subi r24, 0x8A ; 138 + 2e2: 97 4d sbci r25, 0xD7 ; 215 + 2e4: c6 c6 rjmp .+3468 ; 0x1072 -000002f6
: - 2f6: 87 e0 ldi r24, 0x07 ; 7 - 2f8: 80 93 a2 00 sts 0x00A2, r24 ; 0x8000a2 <__TEXT_REGION_LENGTH__+0x7000a2> - 2fc: 78 94 sei - 2fe: 81 d6 rcall .+3330 ; 0x1002 - 300: c9 df rcall .-110 ; 0x294 - 302: 0e 94 a2 09 call 0x1344 ; 0x1344 - 306: c0 d0 rcall .+384 ; 0x488 - 308: e3 d0 rcall .+454 ; 0x4d0 - 30a: 60 e0 ldi r22, 0x00 ; 0 - 30c: 80 e0 ldi r24, 0x00 ; 0 - 30e: 8d d0 rcall .+282 ; 0x42a - 310: 79 d0 rcall .+242 ; 0x404 - 312: 8c e0 ldi r24, 0x0C ; 12 - 314: 6d d0 rcall .+218 ; 0x3f0 - 316: 83 d5 rcall .+2822 ; 0xe1e - 318: 27 d6 rcall .+3150 ; 0xf68 - 31a: 3e d6 rcall .+3196 ; 0xf98 - 31c: b4 df rcall .-152 ; 0x286 +000002e6
: + 2e6: 87 e0 ldi r24, 0x07 ; 7 + 2e8: 80 93 a2 00 sts 0x00A2, r24 ; 0x8000a2 <__TEXT_REGION_LENGTH__+0x7000a2> + 2ec: 78 94 sei + 2ee: fb d5 rcall .+3062 ; 0xee6 + 2f0: c9 df rcall .-110 ; 0x284 + 2f2: 9a d7 rcall .+3892 ; 0x1228 + 2f4: da d0 rcall .+436 ; 0x4aa + 2f6: fd d0 rcall .+506 ; 0x4f2 + 2f8: 60 e0 ldi r22, 0x00 ; 0 + 2fa: 80 e0 ldi r24, 0x00 ; 0 + 2fc: a7 d0 rcall .+334 ; 0x44c + 2fe: 93 d0 rcall .+294 ; 0x426 + 300: 8c e0 ldi r24, 0x0C ; 12 + 302: 87 d0 rcall .+270 ; 0x412 + 304: fb d4 rcall .+2550 ; 0xcfc + 306: a2 d5 rcall .+2884 ; 0xe4c + 308: b9 d5 rcall .+2930 ; 0xe7c + 30a: b5 df rcall .-150 ; 0x276 + 30c: 22 e8 ldi r18, 0x82 ; 130 + 30e: 36 e2 ldi r19, 0x26 ; 38 + 310: 20 93 7f 24 sts 0x247F, r18 ; 0x80247f + 314: 80 e7 ldi r24, 0x70 ; 112 + 316: 99 e2 ldi r25, 0x29 ; 41 + 318: 80 93 80 24 sts 0x2480, r24 ; 0x802480 + 31c: 30 93 6d 22 sts 0x226D, r19 ; 0x80226d + 320: 90 93 6c 22 sts 0x226C, r25 ; 0x80226c + 324: 29 ef ldi r18, 0xF9 ; 249 + 326: 37 e2 ldi r19, 0x27 ; 39 + 328: 20 93 67 22 sts 0x2267, r18 ; 0x802267 + 32c: 87 ee ldi r24, 0xE7 ; 231 + 32e: 9a e2 ldi r25, 0x2A ; 42 + 330: 80 93 5e 2c sts 0x2C5E, r24 ; 0x802c5e + 334: 30 93 6e 24 sts 0x246E, r19 ; 0x80246e + 338: 90 93 66 22 sts 0x2266, r25 ; 0x802266 ... - 33a: f1 cf rjmp .-30 ; 0x31e + 358: f1 cf rjmp .-30 ; 0x33c -0000033c : - 33c: 08 95 ret +0000035a : + 35a: 08 95 ret -0000033e : - 33e: 08 95 ret +0000035c : + 35c: 08 95 ret -00000340 : - 340: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 344: 8e 2f mov r24, r30 - 346: 90 e0 ldi r25, 0x00 ; 0 - 348: 88 30 cpi r24, 0x08 ; 8 - 34a: 91 05 cpc r25, r1 - 34c: 90 f4 brcc .+36 ; 0x372 - 34e: fc 01 movw r30, r24 - 350: e2 50 subi r30, 0x02 ; 2 - 352: ff 4f sbci r31, 0xFF ; 255 - 354: 0c 94 4d 13 jmp 0x269a ; 0x269a <__tablejump2__> - 358: 49 d1 rcall .+658 ; 0x5ec - 35a: 0b c0 rjmp .+22 ; 0x372 - 35c: c0 d1 rcall .+896 ; 0x6de - 35e: 09 c0 rjmp .+18 ; 0x372 - 360: 34 d2 rcall .+1128 ; 0x7ca - 362: 07 c0 rjmp .+14 ; 0x372 - 364: af d2 rcall .+1374 ; 0x8c4 - 366: 05 c0 rjmp .+10 ; 0x372 - 368: 24 d3 rcall .+1608 ; 0x9b2 - 36a: 03 c0 rjmp .+6 ; 0x372 - 36c: cd d3 rcall .+1946 ; 0xb08 - 36e: 01 c0 rjmp .+2 ; 0x372 - 370: 2e d4 rcall .+2140 ; 0xbce - 372: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 - 376: 81 e0 ldi r24, 0x01 ; 1 - 378: 91 11 cpse r25, r1 - 37a: 80 e0 ldi r24, 0x00 ; 0 - 37c: 80 93 c1 20 sts 0x20C1, r24 ; 0x8020c1 - 380: 08 95 ret +0000035e : + 35e: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 362: 8e 2f mov r24, r30 + 364: 90 e0 ldi r25, 0x00 ; 0 + 366: 88 30 cpi r24, 0x08 ; 8 + 368: 91 05 cpc r25, r1 + 36a: 90 f4 brcc .+36 ; 0x390 + 36c: fc 01 movw r30, r24 + 36e: e2 50 subi r30, 0x02 ; 2 + 370: ff 4f sbci r31, 0xFF ; 255 + 372: 0c 94 ba 12 jmp 0x2574 ; 0x2574 <__tablejump2__> + 376: 4e d1 rcall .+668 ; 0x614 + 378: 0b c0 rjmp .+22 ; 0x390 + 37a: c5 d1 rcall .+906 ; 0x706 + 37c: 09 c0 rjmp .+18 ; 0x390 + 37e: 3b d2 rcall .+1142 ; 0x7f6 + 380: 07 c0 rjmp .+14 ; 0x390 + 382: b6 d2 rcall .+1388 ; 0x8f0 + 384: 05 c0 rjmp .+10 ; 0x390 + 386: 2b d3 rcall .+1622 ; 0x9de + 388: 03 c0 rjmp .+6 ; 0x390 + 38a: d4 d3 rcall .+1960 ; 0xb34 + 38c: 01 c0 rjmp .+2 ; 0x390 + 38e: 35 d4 rcall .+2154 ; 0xbfa + 390: f8 94 cli + 392: 90 91 c1 20 lds r25, 0x20C1 ; 0x8020c1 + 396: 81 e0 ldi r24, 0x01 ; 1 + 398: 91 11 cpse r25, r1 + 39a: 80 e0 ldi r24, 0x00 ; 0 + 39c: 80 93 c1 20 sts 0x20C1, r24 ; 0x8020c1 + 3a0: 78 94 sei + 3a2: 08 95 ret -00000382 : - 382: 81 e0 ldi r24, 0x01 ; 1 - 384: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 - 388: 4b e4 ldi r20, 0x4B ; 75 - 38a: 51 e0 ldi r21, 0x01 ; 1 - 38c: 6e ee ldi r22, 0xEE ; 238 - 38e: 72 e0 ldi r23, 0x02 ; 2 - 390: 8a e7 ldi r24, 0x7A ; 122 - 392: 96 e2 ldi r25, 0x26 ; 38 - 394: e4 d6 rcall .+3528 ; 0x115e - 396: 4b e5 ldi r20, 0x5B ; 91 - 398: 51 e0 ldi r21, 0x01 ; 1 - 39a: 6e ee ldi r22, 0xEE ; 238 - 39c: 72 e0 ldi r23, 0x02 ; 2 - 39e: 84 e7 ldi r24, 0x74 ; 116 - 3a0: 97 e2 ldi r25, 0x27 ; 39 - 3a2: e9 d6 rcall .+3538 ; 0x1176 - 3a4: 4b e6 ldi r20, 0x6B ; 107 - 3a6: 51 e0 ldi r21, 0x01 ; 1 - 3a8: 6e ee ldi r22, 0xEE ; 238 - 3aa: 72 e0 ldi r23, 0x02 ; 2 - 3ac: 8e e6 ldi r24, 0x6E ; 110 - 3ae: 98 e2 ldi r25, 0x28 ; 40 - 3b0: ee d6 rcall .+3548 ; 0x118e - 3b2: 81 e0 ldi r24, 0x01 ; 1 - 3b4: 08 95 ret +000003a4 : + 3a4: 81 e0 ldi r24, 0x01 ; 1 + 3a6: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 + 3aa: 43 e4 ldi r20, 0x43 ; 67 + 3ac: 51 e0 ldi r21, 0x01 ; 1 + 3ae: 6e ee ldi r22, 0xEE ; 238 + 3b0: 72 e0 ldi r23, 0x02 ; 2 + 3b2: 82 e8 ldi r24, 0x82 ; 130 + 3b4: 96 e2 ldi r25, 0x26 ; 38 + 3b6: 45 d6 rcall .+3210 ; 0x1042 + 3b8: 43 e5 ldi r20, 0x53 ; 83 + 3ba: 51 e0 ldi r21, 0x01 ; 1 + 3bc: 6e ee ldi r22, 0xEE ; 238 + 3be: 72 e0 ldi r23, 0x02 ; 2 + 3c0: 8c e7 ldi r24, 0x7C ; 124 + 3c2: 97 e2 ldi r25, 0x27 ; 39 + 3c4: 4a d6 rcall .+3220 ; 0x105a + 3c6: 43 e6 ldi r20, 0x63 ; 99 + 3c8: 51 e0 ldi r21, 0x01 ; 1 + 3ca: 6e ee ldi r22, 0xEE ; 238 + 3cc: 72 e0 ldi r23, 0x02 ; 2 + 3ce: 86 e7 ldi r24, 0x76 ; 118 + 3d0: 98 e2 ldi r25, 0x28 ; 40 + 3d2: 4f d6 rcall .+3230 ; 0x1072 + 3d4: 81 e0 ldi r24, 0x01 ; 1 + 3d6: 08 95 ret -000003b6 : - 3b6: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 - 3ba: 08 95 ret +000003d8 : + 3d8: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 + 3dc: 08 95 ret -000003bc : - 3bc: 81 e0 ldi r24, 0x01 ; 1 - 3be: 08 95 ret +000003de : + 3de: 81 e0 ldi r24, 0x01 ; 1 + 3e0: 08 95 ret -000003c0 : - 3c0: 81 e0 ldi r24, 0x01 ; 1 - 3c2: 08 95 ret +000003e2 : + 3e2: 81 e0 ldi r24, 0x01 ; 1 + 3e4: 08 95 ret -000003c4 : - 3c4: 10 92 20 02 sts 0x0220, r1 ; 0x800220 <__TEXT_REGION_LENGTH__+0x700220> - 3c8: 98 2f mov r25, r24 - 3ca: 9c 71 andi r25, 0x1C ; 28 - 3cc: 93 68 ori r25, 0x83 ; 131 - 3ce: 90 93 20 02 sts 0x0220, r25 ; 0x800220 <__TEXT_REGION_LENGTH__+0x700220> - 3d2: 87 ff sbrs r24, 7 - 3d4: 03 c0 rjmp .+6 ; 0x3dc - 3d6: 90 e1 ldi r25, 0x10 ; 16 - 3d8: 82 e0 ldi r24, 0x02 ; 2 - 3da: 02 c0 rjmp .+4 ; 0x3e0 - 3dc: 90 e0 ldi r25, 0x00 ; 0 - 3de: 80 e0 ldi r24, 0x00 ; 0 - 3e0: 89 2b or r24, r25 - 3e2: 80 93 21 02 sts 0x0221, r24 ; 0x800221 <__TEXT_REGION_LENGTH__+0x700221> - 3e6: 10 92 22 02 sts 0x0222, r1 ; 0x800222 <__TEXT_REGION_LENGTH__+0x700222> - 3ea: 10 92 26 02 sts 0x0226, r1 ; 0x800226 <__TEXT_REGION_LENGTH__+0x700226> - 3ee: 08 95 ret +000003e6 : + 3e6: 10 92 20 02 sts 0x0220, r1 ; 0x800220 <__TEXT_REGION_LENGTH__+0x700220> + 3ea: 98 2f mov r25, r24 + 3ec: 9c 71 andi r25, 0x1C ; 28 + 3ee: 93 68 ori r25, 0x83 ; 131 + 3f0: 90 93 20 02 sts 0x0220, r25 ; 0x800220 <__TEXT_REGION_LENGTH__+0x700220> + 3f4: 87 ff sbrs r24, 7 + 3f6: 03 c0 rjmp .+6 ; 0x3fe + 3f8: 90 e1 ldi r25, 0x10 ; 16 + 3fa: 82 e0 ldi r24, 0x02 ; 2 + 3fc: 02 c0 rjmp .+4 ; 0x402 <__FUSE_REGION_LENGTH__+0x2> + 3fe: 90 e0 ldi r25, 0x00 ; 0 + 400: 80 e0 ldi r24, 0x00 ; 0 + 402: 89 2b or r24, r25 + 404: 80 93 21 02 sts 0x0221, r24 ; 0x800221 <__TEXT_REGION_LENGTH__+0x700221> + 408: 10 92 22 02 sts 0x0222, r1 ; 0x800222 <__TEXT_REGION_LENGTH__+0x700222> + 40c: 10 92 26 02 sts 0x0226, r1 ; 0x800226 <__TEXT_REGION_LENGTH__+0x700226> + 410: 08 95 ret -000003f0 : - 3f0: e0 e0 ldi r30, 0x00 ; 0 - 3f2: f2 e0 ldi r31, 0x02 ; 2 - 3f4: 10 aa std Z+48, r1 ; 0x30 - 3f6: 83 68 ori r24, 0x83 ; 131 - 3f8: 80 ab std Z+48, r24 ; 0x30 - 3fa: 80 e1 ldi r24, 0x10 ; 16 - 3fc: 81 ab std Z+49, r24 ; 0x31 - 3fe: 12 aa std Z+50, r1 ; 0x32 - 400: 16 aa std Z+54, r1 ; 0x36 - 402: 08 95 ret +00000412 : + 412: e0 e0 ldi r30, 0x00 ; 0 + 414: f2 e0 ldi r31, 0x02 ; 2 + 416: 10 aa std Z+48, r1 ; 0x30 + 418: 83 68 ori r24, 0x83 ; 131 + 41a: 80 ab std Z+48, r24 ; 0x30 + 41c: 80 e1 ldi r24, 0x10 ; 16 + 41e: 81 ab std Z+49, r24 ; 0x31 + 420: 12 aa std Z+50, r1 ; 0x32 + 422: 16 aa std Z+54, r1 ; 0x36 + 424: 08 95 ret -00000404 : - 404: e0 e0 ldi r30, 0x00 ; 0 - 406: f2 e0 ldi r31, 0x02 ; 2 - 408: 10 a6 std Z+40, r1 ; 0x28 - 40a: 83 e8 ldi r24, 0x83 ; 131 - 40c: 80 a7 std Z+40, r24 ; 0x28 - 40e: 8f e2 ldi r24, 0x2F ; 47 - 410: 81 a7 std Z+41, r24 ; 0x29 - 412: 12 a6 std Z+42, r1 ; 0x2a - 414: 16 a6 std Z+46, r1 ; 0x2e - 416: 08 95 ret +00000426 : + 426: e0 e0 ldi r30, 0x00 ; 0 + 428: f2 e0 ldi r31, 0x02 ; 2 + 42a: 10 a6 std Z+40, r1 ; 0x28 + 42c: 83 e8 ldi r24, 0x83 ; 131 + 42e: 80 a7 std Z+40, r24 ; 0x28 + 430: 8f e2 ldi r24, 0x2F ; 47 + 432: 81 a7 std Z+41, r24 ; 0x29 + 434: 12 a6 std Z+42, r1 ; 0x2a + 436: 16 a6 std Z+46, r1 ; 0x2e + 438: 08 95 ret -00000418 : - 418: aa ec ldi r26, 0xCA ; 202 - 41a: b1 e0 ldi r27, 0x01 ; 1 - 41c: 92 e0 ldi r25, 0x02 ; 2 - 41e: 9c 93 st X, r25 - 420: e8 2f mov r30, r24 - 422: f0 e0 ldi r31, 0x00 ; 0 - 424: 84 91 lpm r24, Z - 426: 1c 92 st X, r1 - 428: 08 95 ret +0000043a : + 43a: aa ec ldi r26, 0xCA ; 202 + 43c: b1 e0 ldi r27, 0x01 ; 1 + 43e: 92 e0 ldi r25, 0x02 ; 2 + 440: 9c 93 st X, r25 + 442: e8 2f mov r30, r24 + 444: f0 e0 ldi r31, 0x00 ; 0 + 446: 84 91 lpm r24, Z + 448: 1c 92 st X, r1 + 44a: 08 95 ret -0000042a : - 42a: 90 91 71 00 lds r25, 0x0071 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - 42e: 9d 7f andi r25, 0xFD ; 253 - 430: 90 93 71 00 sts 0x0071, r25 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - 434: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> - 438: 62 30 cpi r22, 0x02 ; 2 - 43a: 11 f0 breq .+4 ; 0x440 - 43c: 9c e1 ldi r25, 0x1C ; 28 - 43e: 01 c0 rjmp .+2 ; 0x442 - 440: 9e e1 ldi r25, 0x1E ; 30 - 442: 90 93 01 02 sts 0x0201, r25 ; 0x800201 <__TEXT_REGION_LENGTH__+0x700201> - 446: 90 e4 ldi r25, 0x40 ; 64 - 448: 90 93 02 02 sts 0x0202, r25 ; 0x800202 <__TEXT_REGION_LENGTH__+0x700202> - 44c: 81 11 cpse r24, r1 - 44e: 02 c0 rjmp .+4 ; 0x454 - 450: 80 e4 ldi r24, 0x40 ; 64 - 452: 01 c0 rjmp .+2 ; 0x456 - 454: 80 ec ldi r24, 0xC0 ; 192 - 456: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> - 45a: 61 30 cpi r22, 0x01 ; 1 - 45c: 11 f0 breq .+4 ; 0x462 - 45e: 83 e0 ldi r24, 0x03 ; 3 - 460: 01 c0 rjmp .+2 ; 0x464 - 462: 82 e0 ldi r24, 0x02 ; 2 - 464: 80 93 04 02 sts 0x0204, r24 ; 0x800204 <__TEXT_REGION_LENGTH__+0x700204> - 468: 80 e2 ldi r24, 0x20 ; 32 - 46a: d6 df rcall .-84 ; 0x418 - 46c: 80 93 0c 02 sts 0x020C, r24 ; 0x80020c <__TEXT_REGION_LENGTH__+0x70020c> - 470: 81 e2 ldi r24, 0x21 ; 33 - 472: d2 df rcall .-92 ; 0x418 - 474: 80 93 0d 02 sts 0x020D, r24 ; 0x80020d <__TEXT_REGION_LENGTH__+0x70020d> - 478: 10 92 18 02 sts 0x0218, r1 ; 0x800218 <__TEXT_REGION_LENGTH__+0x700218> - 47c: 10 92 19 02 sts 0x0219, r1 ; 0x800219 <__TEXT_REGION_LENGTH__+0x700219> - 480: 81 e0 ldi r24, 0x01 ; 1 - 482: 80 93 00 02 sts 0x0200, r24 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> - 486: be cf rjmp .-132 ; 0x404 +0000044c : + 44c: 90 91 71 00 lds r25, 0x0071 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + 450: 9d 7f andi r25, 0xFD ; 253 + 452: 90 93 71 00 sts 0x0071, r25 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + 456: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> + 45a: 62 30 cpi r22, 0x02 ; 2 + 45c: 11 f0 breq .+4 ; 0x462 + 45e: 9c e1 ldi r25, 0x1C ; 28 + 460: 01 c0 rjmp .+2 ; 0x464 + 462: 9e e1 ldi r25, 0x1E ; 30 + 464: 90 93 01 02 sts 0x0201, r25 ; 0x800201 <__TEXT_REGION_LENGTH__+0x700201> + 468: 90 e4 ldi r25, 0x40 ; 64 + 46a: 90 93 02 02 sts 0x0202, r25 ; 0x800202 <__TEXT_REGION_LENGTH__+0x700202> + 46e: 81 11 cpse r24, r1 + 470: 02 c0 rjmp .+4 ; 0x476 + 472: 80 e4 ldi r24, 0x40 ; 64 + 474: 01 c0 rjmp .+2 ; 0x478 + 476: 80 ec ldi r24, 0xC0 ; 192 + 478: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> + 47c: 61 30 cpi r22, 0x01 ; 1 + 47e: 11 f0 breq .+4 ; 0x484 + 480: 83 e0 ldi r24, 0x03 ; 3 + 482: 01 c0 rjmp .+2 ; 0x486 + 484: 82 e0 ldi r24, 0x02 ; 2 + 486: 80 93 04 02 sts 0x0204, r24 ; 0x800204 <__TEXT_REGION_LENGTH__+0x700204> + 48a: 80 e2 ldi r24, 0x20 ; 32 + 48c: d6 df rcall .-84 ; 0x43a + 48e: 80 93 0c 02 sts 0x020C, r24 ; 0x80020c <__TEXT_REGION_LENGTH__+0x70020c> + 492: 81 e2 ldi r24, 0x21 ; 33 + 494: d2 df rcall .-92 ; 0x43a + 496: 80 93 0d 02 sts 0x020D, r24 ; 0x80020d <__TEXT_REGION_LENGTH__+0x70020d> + 49a: 10 92 18 02 sts 0x0218, r1 ; 0x800218 <__TEXT_REGION_LENGTH__+0x700218> + 49e: 10 92 19 02 sts 0x0219, r1 ; 0x800219 <__TEXT_REGION_LENGTH__+0x700219> + 4a2: 81 e0 ldi r24, 0x01 ; 1 + 4a4: 80 93 00 02 sts 0x0200, r24 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> + 4a8: be cf rjmp .-132 ; 0x426 -00000488 : - 488: cf 93 push r28 - 48a: df 93 push r29 - 48c: e0 e7 ldi r30, 0x70 ; 112 - 48e: f0 e0 ldi r31, 0x00 ; 0 - 490: 82 81 ldd r24, Z+2 ; 0x02 - 492: 8b 7f andi r24, 0xFB ; 251 - 494: 82 83 std Z+2, r24 ; 0x02 - 496: c0 e2 ldi r28, 0x20 ; 32 - 498: d3 e0 ldi r29, 0x03 ; 3 - 49a: 8d e0 ldi r24, 0x0D ; 13 - 49c: 88 83 st Y, r24 - 49e: 80 e4 ldi r24, 0x40 ; 64 - 4a0: 89 83 std Y+1, r24 ; 0x01 - 4a2: 89 e0 ldi r24, 0x09 ; 9 - 4a4: 8a 83 std Y+2, r24 ; 0x02 - 4a6: 83 e3 ldi r24, 0x33 ; 51 - 4a8: b7 df rcall .-146 ; 0x418 - 4aa: 88 87 std Y+8, r24 ; 0x08 - 4ac: 82 e3 ldi r24, 0x32 ; 50 - 4ae: b4 df rcall .-152 ; 0x418 - 4b0: 89 87 std Y+9, r24 ; 0x09 - 4b2: 87 e3 ldi r24, 0x37 ; 55 - 4b4: b1 df rcall .-158 ; 0x418 - 4b6: 8a 87 std Y+10, r24 ; 0x0a - 4b8: 86 e3 ldi r24, 0x36 ; 54 - 4ba: ae df rcall .-164 ; 0x418 - 4bc: 8b 87 std Y+11, r24 ; 0x0b - 4be: e0 e2 ldi r30, 0x20 ; 32 - 4c0: f6 e0 ldi r31, 0x06 ; 6 - 4c2: 80 81 ld r24, Z - 4c4: 83 60 ori r24, 0x03 ; 3 - 4c6: 80 83 st Z, r24 - 4c8: 14 82 std Z+4, r1 ; 0x04 - 4ca: df 91 pop r29 - 4cc: cf 91 pop r28 - 4ce: 08 95 ret +000004aa : + 4aa: cf 93 push r28 + 4ac: df 93 push r29 + 4ae: e0 e7 ldi r30, 0x70 ; 112 + 4b0: f0 e0 ldi r31, 0x00 ; 0 + 4b2: 82 81 ldd r24, Z+2 ; 0x02 + 4b4: 8b 7f andi r24, 0xFB ; 251 + 4b6: 82 83 std Z+2, r24 ; 0x02 + 4b8: c0 e2 ldi r28, 0x20 ; 32 + 4ba: d3 e0 ldi r29, 0x03 ; 3 + 4bc: 8d e0 ldi r24, 0x0D ; 13 + 4be: 88 83 st Y, r24 + 4c0: 80 e4 ldi r24, 0x40 ; 64 + 4c2: 89 83 std Y+1, r24 ; 0x01 + 4c4: 89 e0 ldi r24, 0x09 ; 9 + 4c6: 8a 83 std Y+2, r24 ; 0x02 + 4c8: 83 e3 ldi r24, 0x33 ; 51 + 4ca: b7 df rcall .-146 ; 0x43a + 4cc: 88 87 std Y+8, r24 ; 0x08 + 4ce: 82 e3 ldi r24, 0x32 ; 50 + 4d0: b4 df rcall .-152 ; 0x43a + 4d2: 89 87 std Y+9, r24 ; 0x09 + 4d4: 87 e3 ldi r24, 0x37 ; 55 + 4d6: b1 df rcall .-158 ; 0x43a + 4d8: 8a 87 std Y+10, r24 ; 0x0a + 4da: 86 e3 ldi r24, 0x36 ; 54 + 4dc: ae df rcall .-164 ; 0x43a + 4de: 8b 87 std Y+11, r24 ; 0x0b + 4e0: e0 e2 ldi r30, 0x20 ; 32 + 4e2: f6 e0 ldi r31, 0x06 ; 6 + 4e4: 80 81 ld r24, Z + 4e6: 83 60 ori r24, 0x03 ; 3 + 4e8: 80 83 st Z, r24 + 4ea: 14 82 std Z+4, r1 ; 0x04 + 4ec: df 91 pop r29 + 4ee: cf 91 pop r28 + 4f0: 08 95 ret -000004d0 : - 4d0: e0 e7 ldi r30, 0x70 ; 112 - 4d2: f0 e0 ldi r31, 0x00 ; 0 - 4d4: 80 81 ld r24, Z - 4d6: 8e 7f andi r24, 0xFE ; 254 - 4d8: 80 83 st Z, r24 - 4da: 83 e8 ldi r24, 0x83 ; 131 - 4dc: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> - 4e0: 08 95 ret - -000004e2 : - 4e2: e0 e0 ldi r30, 0x00 ; 0 - 4e4: f1 e0 ldi r31, 0x01 ; 1 - 4e6: 10 8a std Z+16, r1 ; 0x10 - 4e8: 80 e4 ldi r24, 0x40 ; 64 - 4ea: 80 8b std Z+16, r24 ; 0x10 - 4ec: 10 a2 std Z+32, r1 ; 0x20 - 4ee: 80 a3 std Z+32, r24 ; 0x20 - 4f0: 10 aa std Z+48, r1 ; 0x30 - 4f2: 80 ab std Z+48, r24 ; 0x30 - 4f4: e0 e4 ldi r30, 0x40 ; 64 - 4f6: f1 e0 ldi r31, 0x01 ; 1 - 4f8: 10 82 st Z, r1 +000004f2 : + 4f2: e0 e7 ldi r30, 0x70 ; 112 + 4f4: f0 e0 ldi r31, 0x00 ; 0 + 4f6: 80 81 ld r24, Z + 4f8: 8e 7f andi r24, 0xFE ; 254 4fa: 80 83 st Z, r24 - 4fc: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 - 500: 10 92 c2 20 sts 0x20C2, r1 ; 0x8020c2 - 504: 08 95 ret + 4fc: 82 e8 ldi r24, 0x82 ; 130 + 4fe: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> + 502: 08 95 ret -00000506 : - 506: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> - 50a: eb df rcall .-42 ; 0x4e2 - 50c: e0 e0 ldi r30, 0x00 ; 0 - 50e: f1 e0 ldi r31, 0x01 ; 1 - 510: 16 aa std Z+54, r1 ; 0x36 - 512: 94 e2 ldi r25, 0x24 ; 36 - 514: 90 ab std Z+48, r25 ; 0x30 - 516: 11 aa std Z+49, r1 ; 0x31 - 518: 49 e5 ldi r20, 0x59 ; 89 - 51a: 42 ab std Z+50, r20 ; 0x32 - 51c: 32 e0 ldi r19, 0x02 ; 2 - 51e: 33 ab std Z+51, r19 ; 0x33 - 520: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 524: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 528: 64 ab std Z+52, r22 ; 0x34 - 52a: 75 ab std Z+53, r23 ; 0x35 - 52c: 6a e7 ldi r22, 0x7A ; 122 - 52e: 74 e2 ldi r23, 0x24 ; 36 - 530: 60 af std Z+56, r22 ; 0x38 - 532: 71 af std Z+57, r23 ; 0x39 - 534: 12 ae std Z+58, r1 ; 0x3a - 536: 8b e3 ldi r24, 0x3B ; 59 - 538: 84 af std Z+60, r24 ; 0x3c - 53a: 83 e0 ldi r24, 0x03 ; 3 - 53c: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 540: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 544: 20 a9 ldd r18, Z+48 ; 0x30 - 546: 20 68 ori r18, 0x80 ; 128 - 548: 20 ab std Z+48, r18 ; 0x30 - 54a: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 54e: a0 e4 ldi r26, 0x40 ; 64 - 550: b1 e0 ldi r27, 0x01 ; 1 - 552: 9c 93 st X, r25 - 554: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 558: 40 93 42 01 sts 0x0142, r20 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 55c: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 560: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 564: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 568: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 56c: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 570: 4a e6 ldi r20, 0x6A ; 106 - 572: 52 e2 ldi r21, 0x22 ; 34 - 574: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 578: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 57c: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 580: 29 e3 ldi r18, 0x39 ; 57 - 582: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 586: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 58a: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 58e: 2c 91 ld r18, X - 590: 20 68 ori r18, 0x80 ; 128 - 592: 2c 93 st X, r18 - 594: 10 8a std Z+16, r1 ; 0x10 - 596: 20 e4 ldi r18, 0x40 ; 64 - 598: 20 8b std Z+16, r18 ; 0x10 - 59a: 24 e0 ldi r18, 0x04 ; 4 - 59c: 20 8b std Z+16, r18 ; 0x10 - 59e: 81 8b std Z+17, r24 ; 0x11 - 5a0: 81 e9 ldi r24, 0x91 ; 145 - 5a2: 82 8b std Z+18, r24 ; 0x12 - 5a4: 80 e1 ldi r24, 0x10 ; 16 - 5a6: 83 8b std Z+19, r24 ; 0x13 - 5a8: 47 e7 ldi r20, 0x77 ; 119 - 5aa: 51 e0 ldi r21, 0x01 ; 1 - 5ac: 44 8b std Z+20, r20 ; 0x14 - 5ae: 55 8b std Z+21, r21 ; 0x15 - 5b0: 90 8f std Z+24, r25 ; 0x18 - 5b2: 31 8f std Z+25, r19 ; 0x19 - 5b4: 12 8e std Z+26, r1 ; 0x1a - 5b6: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - 5ba: 2e ee ldi r18, 0xEE ; 238 - 5bc: 32 e0 ldi r19, 0x02 ; 2 - 5be: 42 9f mul r20, r18 - 5c0: c0 01 movw r24, r0 - 5c2: 43 9f mul r20, r19 - 5c4: 90 0d add r25, r0 - 5c6: 11 24 eor r1, r1 - 5c8: 86 58 subi r24, 0x86 ; 134 - 5ca: 99 4d sbci r25, 0xD9 ; 217 - 5cc: 84 8f std Z+28, r24 ; 0x1c - 5ce: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - 5d2: 42 9f mul r20, r18 - 5d4: c0 01 movw r24, r0 - 5d6: 43 9f mul r20, r19 - 5d8: 90 0d add r25, r0 - 5da: 11 24 eor r1, r1 - 5dc: 86 58 subi r24, 0x86 ; 134 - 5de: 99 4d sbci r25, 0xD9 ; 217 - 5e0: 95 8f std Z+29, r25 ; 0x1d - 5e2: 16 8e std Z+30, r1 ; 0x1e - 5e4: 80 89 ldd r24, Z+16 ; 0x10 - 5e6: 80 68 ori r24, 0x80 ; 128 - 5e8: 80 8b std Z+16, r24 ; 0x10 - 5ea: 08 95 ret +00000504 : + 504: e0 e0 ldi r30, 0x00 ; 0 + 506: f1 e0 ldi r31, 0x01 ; 1 + 508: 10 8a std Z+16, r1 ; 0x10 + 50a: 80 e4 ldi r24, 0x40 ; 64 + 50c: 80 8b std Z+16, r24 ; 0x10 + 50e: 10 a2 std Z+32, r1 ; 0x20 + 510: 80 a3 std Z+32, r24 ; 0x20 + 512: 10 aa std Z+48, r1 ; 0x30 + 514: 80 ab std Z+48, r24 ; 0x30 + 516: e0 e4 ldi r30, 0x40 ; 64 + 518: f1 e0 ldi r31, 0x01 ; 1 + 51a: 10 82 st Z, r1 + 51c: 80 83 st Z, r24 + 51e: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 + 522: 10 92 c2 20 sts 0x20C2, r1 ; 0x8020c2 + 526: 81 e0 ldi r24, 0x01 ; 1 + 528: 80 93 c1 20 sts 0x20C1, r24 ; 0x8020c1 + 52c: 08 95 ret -000005ec : - 5ec: 08 95 ret +0000052e : + 52e: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> + 532: e8 df rcall .-48 ; 0x504 + 534: e0 e0 ldi r30, 0x00 ; 0 + 536: f1 e0 ldi r31, 0x01 ; 1 + 538: 16 aa std Z+54, r1 ; 0x36 + 53a: 94 e2 ldi r25, 0x24 ; 36 + 53c: 90 ab std Z+48, r25 ; 0x30 + 53e: 11 aa std Z+49, r1 ; 0x31 + 540: 49 e5 ldi r20, 0x59 ; 89 + 542: 42 ab std Z+50, r20 ; 0x32 + 544: 32 e0 ldi r19, 0x02 ; 2 + 546: 33 ab std Z+51, r19 ; 0x33 + 548: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 54c: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 550: 64 ab std Z+52, r22 ; 0x34 + 552: 75 ab std Z+53, r23 ; 0x35 + 554: 61 e8 ldi r22, 0x81 ; 129 + 556: 74 e2 ldi r23, 0x24 ; 36 + 558: 60 af std Z+56, r22 ; 0x38 + 55a: 71 af std Z+57, r23 ; 0x39 + 55c: 12 ae std Z+58, r1 ; 0x3a + 55e: 8b e3 ldi r24, 0x3B ; 59 + 560: 84 af std Z+60, r24 ; 0x3c + 562: 83 e0 ldi r24, 0x03 ; 3 + 564: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 568: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 56c: 20 a9 ldd r18, Z+48 ; 0x30 + 56e: 20 68 ori r18, 0x80 ; 128 + 570: 20 ab std Z+48, r18 ; 0x30 + 572: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 576: a0 e4 ldi r26, 0x40 ; 64 + 578: b1 e0 ldi r27, 0x01 ; 1 + 57a: 9c 93 st X, r25 + 57c: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 580: 40 93 42 01 sts 0x0142, r20 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 584: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 588: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 58c: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 590: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 594: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 598: 4e e6 ldi r20, 0x6E ; 110 + 59a: 52 e2 ldi r21, 0x22 ; 34 + 59c: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 5a0: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 5a4: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 5a8: 29 e3 ldi r18, 0x39 ; 57 + 5aa: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 5ae: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 5b2: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 5b6: 2c 91 ld r18, X + 5b8: 20 68 ori r18, 0x80 ; 128 + 5ba: 2c 93 st X, r18 + 5bc: 10 8a std Z+16, r1 ; 0x10 + 5be: 20 e4 ldi r18, 0x40 ; 64 + 5c0: 20 8b std Z+16, r18 ; 0x10 + 5c2: 24 e0 ldi r18, 0x04 ; 4 + 5c4: 20 8b std Z+16, r18 ; 0x10 + 5c6: 81 8b std Z+17, r24 ; 0x11 + 5c8: 81 e9 ldi r24, 0x91 ; 145 + 5ca: 82 8b std Z+18, r24 ; 0x12 + 5cc: 80 e1 ldi r24, 0x10 ; 16 + 5ce: 83 8b std Z+19, r24 ; 0x13 + 5d0: 47 e7 ldi r20, 0x77 ; 119 + 5d2: 51 e0 ldi r21, 0x01 ; 1 + 5d4: 44 8b std Z+20, r20 ; 0x14 + 5d6: 55 8b std Z+21, r21 ; 0x15 + 5d8: 90 8f std Z+24, r25 ; 0x18 + 5da: 31 8f std Z+25, r19 ; 0x19 + 5dc: 12 8e std Z+26, r1 ; 0x1a + 5de: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 + 5e2: 2e ee ldi r18, 0xEE ; 238 + 5e4: 32 e0 ldi r19, 0x02 ; 2 + 5e6: 42 9f mul r20, r18 + 5e8: c0 01 movw r24, r0 + 5ea: 43 9f mul r20, r19 + 5ec: 90 0d add r25, r0 + 5ee: 11 24 eor r1, r1 + 5f0: 8e 57 subi r24, 0x7E ; 126 + 5f2: 99 4d sbci r25, 0xD9 ; 217 + 5f4: 84 8f std Z+28, r24 ; 0x1c + 5f6: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 + 5fa: 42 9f mul r20, r18 + 5fc: c0 01 movw r24, r0 + 5fe: 43 9f mul r20, r19 + 600: 90 0d add r25, r0 + 602: 11 24 eor r1, r1 + 604: 8e 57 subi r24, 0x7E ; 126 + 606: 99 4d sbci r25, 0xD9 ; 217 + 608: 95 8f std Z+29, r25 ; 0x1d + 60a: 16 8e std Z+30, r1 ; 0x1e + 60c: 80 89 ldd r24, Z+16 ; 0x10 + 60e: 80 68 ori r24, 0x80 ; 128 + 610: 80 8b std Z+16, r24 ; 0x10 + 612: 08 95 ret -000005ee : - 5ee: cf 93 push r28 - 5f0: df 93 push r29 - 5f2: 81 e0 ldi r24, 0x01 ; 1 - 5f4: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - 5f8: 74 df rcall .-280 ; 0x4e2 - 5fa: e0 e0 ldi r30, 0x00 ; 0 - 5fc: f1 e0 ldi r31, 0x01 ; 1 - 5fe: 10 aa std Z+48, r1 ; 0x30 - 600: 80 e4 ldi r24, 0x40 ; 64 - 602: 80 ab std Z+48, r24 ; 0x30 - 604: 94 e0 ldi r25, 0x04 ; 4 - 606: 90 ab std Z+48, r25 ; 0x30 - 608: 11 aa std Z+49, r1 ; 0x31 - 60a: 12 aa std Z+50, r1 ; 0x32 - 60c: 5b e4 ldi r21, 0x4B ; 75 - 60e: 53 ab std Z+51, r21 ; 0x33 - 610: 14 aa std Z+52, r1 ; 0x34 - 612: 15 aa std Z+53, r1 ; 0x35 - 614: 16 aa std Z+54, r1 ; 0x36 - 616: 21 e0 ldi r18, 0x01 ; 1 - 618: 30 e2 ldi r19, 0x20 ; 32 - 61a: 20 af std Z+56, r18 ; 0x38 - 61c: 31 af std Z+57, r19 ; 0x39 - 61e: 12 ae std Z+58, r1 ; 0x3a - 620: 40 ea ldi r20, 0xA0 ; 160 - 622: 44 af std Z+60, r20 ; 0x3c - 624: 38 e0 ldi r19, 0x08 ; 8 - 626: 30 93 3d 01 sts 0x013D, r19 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 62a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 62e: 80 a9 ldd r24, Z+48 ; 0x30 - 630: 80 6a ori r24, 0xA0 ; 160 - 632: 80 ab std Z+48, r24 ; 0x30 - 634: 85 e5 ldi r24, 0x55 ; 85 - 636: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> - 63a: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 63e: a0 e4 ldi r26, 0x40 ; 64 - 640: b1 e0 ldi r27, 0x01 ; 1 - 642: d4 e2 ldi r29, 0x24 ; 36 - 644: dc 93 st X, r29 - 646: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 64a: 89 e5 ldi r24, 0x59 ; 89 - 64c: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 650: c2 e0 ldi r28, 0x02 ; 2 - 652: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 656: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 65a: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 65e: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 662: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 666: 6a e7 ldi r22, 0x7A ; 122 - 668: 74 e2 ldi r23, 0x24 ; 36 - 66a: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 66e: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 672: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 676: 8b e3 ldi r24, 0x3B ; 59 - 678: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 67c: 83 e0 ldi r24, 0x03 ; 3 - 67e: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 682: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 686: 2c 91 ld r18, X - 688: 20 68 ori r18, 0x80 ; 128 - 68a: 2c 93 st X, r18 - 68c: 90 8b std Z+16, r25 ; 0x10 - 68e: 81 8b std Z+17, r24 ; 0x11 - 690: a1 e9 ldi r26, 0x91 ; 145 - 692: a2 8b std Z+18, r26 ; 0x12 - 694: 20 e1 ldi r18, 0x10 ; 16 - 696: 23 8b std Z+19, r18 ; 0x13 - 698: 67 e7 ldi r22, 0x77 ; 119 - 69a: 71 e0 ldi r23, 0x01 ; 1 - 69c: 64 8b std Z+20, r22 ; 0x14 - 69e: 75 8b std Z+21, r23 ; 0x15 - 6a0: d0 8f std Z+24, r29 ; 0x18 - 6a2: c1 8f std Z+25, r28 ; 0x19 - 6a4: 12 8e std Z+26, r1 ; 0x1a - 6a6: ca e7 ldi r28, 0x7A ; 122 - 6a8: d6 e2 ldi r29, 0x26 ; 38 - 6aa: c4 8f std Z+28, r28 ; 0x1c - 6ac: d5 8f std Z+29, r29 ; 0x1d - 6ae: 16 8e std Z+30, r1 ; 0x1e - 6b0: 20 89 ldd r18, Z+16 ; 0x10 - 6b2: 20 68 ori r18, 0x80 ; 128 - 6b4: 20 8b std Z+16, r18 ; 0x10 - 6b6: 90 a3 std Z+32, r25 ; 0x20 - 6b8: 81 a3 std Z+33, r24 ; 0x21 - 6ba: a2 a3 std Z+34, r26 ; 0x22 - 6bc: 53 a3 std Z+35, r21 ; 0x23 - 6be: 64 a3 std Z+36, r22 ; 0x24 - 6c0: 75 a3 std Z+37, r23 ; 0x25 - 6c2: 40 a7 std Z+40, r20 ; 0x28 - 6c4: 31 a7 std Z+41, r19 ; 0x29 - 6c6: 12 a6 std Z+42, r1 ; 0x2a - 6c8: 81 ef ldi r24, 0xF1 ; 241 - 6ca: 97 e2 ldi r25, 0x27 ; 39 - 6cc: 84 a7 std Z+44, r24 ; 0x2c - 6ce: 95 a7 std Z+45, r25 ; 0x2d - 6d0: 16 a6 std Z+46, r1 ; 0x2e - 6d2: 80 a1 ldd r24, Z+32 ; 0x20 - 6d4: 80 68 ori r24, 0x80 ; 128 - 6d6: 80 a3 std Z+32, r24 ; 0x20 - 6d8: df 91 pop r29 - 6da: cf 91 pop r28 - 6dc: 08 95 ret +00000614 : + 614: 08 95 ret -000006de : - 6de: 08 95 ret +00000616 : + 616: cf 93 push r28 + 618: df 93 push r29 + 61a: 81 e0 ldi r24, 0x01 ; 1 + 61c: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + 620: 71 df rcall .-286 ; 0x504 + 622: e0 e0 ldi r30, 0x00 ; 0 + 624: f1 e0 ldi r31, 0x01 ; 1 + 626: 10 aa std Z+48, r1 ; 0x30 + 628: 80 e4 ldi r24, 0x40 ; 64 + 62a: 80 ab std Z+48, r24 ; 0x30 + 62c: 94 e0 ldi r25, 0x04 ; 4 + 62e: 90 ab std Z+48, r25 ; 0x30 + 630: 11 aa std Z+49, r1 ; 0x31 + 632: 12 aa std Z+50, r1 ; 0x32 + 634: 5b e4 ldi r21, 0x4B ; 75 + 636: 53 ab std Z+51, r21 ; 0x33 + 638: 14 aa std Z+52, r1 ; 0x34 + 63a: 15 aa std Z+53, r1 ; 0x35 + 63c: 16 aa std Z+54, r1 ; 0x36 + 63e: 21 e0 ldi r18, 0x01 ; 1 + 640: 30 e2 ldi r19, 0x20 ; 32 + 642: 20 af std Z+56, r18 ; 0x38 + 644: 31 af std Z+57, r19 ; 0x39 + 646: 12 ae std Z+58, r1 ; 0x3a + 648: 40 ea ldi r20, 0xA0 ; 160 + 64a: 44 af std Z+60, r20 ; 0x3c + 64c: 38 e0 ldi r19, 0x08 ; 8 + 64e: 30 93 3d 01 sts 0x013D, r19 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 652: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 656: 80 a9 ldd r24, Z+48 ; 0x30 + 658: 80 6a ori r24, 0xA0 ; 160 + 65a: 80 ab std Z+48, r24 ; 0x30 + 65c: 85 e5 ldi r24, 0x55 ; 85 + 65e: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 662: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 666: a0 e4 ldi r26, 0x40 ; 64 + 668: b1 e0 ldi r27, 0x01 ; 1 + 66a: d4 e2 ldi r29, 0x24 ; 36 + 66c: dc 93 st X, r29 + 66e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 672: 89 e5 ldi r24, 0x59 ; 89 + 674: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 678: c2 e0 ldi r28, 0x02 ; 2 + 67a: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 67e: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 682: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 686: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 68a: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 68e: 61 e8 ldi r22, 0x81 ; 129 + 690: 74 e2 ldi r23, 0x24 ; 36 + 692: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 696: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 69a: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 69e: 8b e3 ldi r24, 0x3B ; 59 + 6a0: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 6a4: 83 e0 ldi r24, 0x03 ; 3 + 6a6: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 6aa: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 6ae: 2c 91 ld r18, X + 6b0: 20 68 ori r18, 0x80 ; 128 + 6b2: 2c 93 st X, r18 + 6b4: 90 8b std Z+16, r25 ; 0x10 + 6b6: 81 8b std Z+17, r24 ; 0x11 + 6b8: a1 e9 ldi r26, 0x91 ; 145 + 6ba: a2 8b std Z+18, r26 ; 0x12 + 6bc: 20 e1 ldi r18, 0x10 ; 16 + 6be: 23 8b std Z+19, r18 ; 0x13 + 6c0: 67 e7 ldi r22, 0x77 ; 119 + 6c2: 71 e0 ldi r23, 0x01 ; 1 + 6c4: 64 8b std Z+20, r22 ; 0x14 + 6c6: 75 8b std Z+21, r23 ; 0x15 + 6c8: d0 8f std Z+24, r29 ; 0x18 + 6ca: c1 8f std Z+25, r28 ; 0x19 + 6cc: 12 8e std Z+26, r1 ; 0x1a + 6ce: c2 e8 ldi r28, 0x82 ; 130 + 6d0: d6 e2 ldi r29, 0x26 ; 38 + 6d2: c4 8f std Z+28, r28 ; 0x1c + 6d4: d5 8f std Z+29, r29 ; 0x1d + 6d6: 16 8e std Z+30, r1 ; 0x1e + 6d8: 20 89 ldd r18, Z+16 ; 0x10 + 6da: 20 68 ori r18, 0x80 ; 128 + 6dc: 20 8b std Z+16, r18 ; 0x10 + 6de: 90 a3 std Z+32, r25 ; 0x20 + 6e0: 81 a3 std Z+33, r24 ; 0x21 + 6e2: a2 a3 std Z+34, r26 ; 0x22 + 6e4: 53 a3 std Z+35, r21 ; 0x23 + 6e6: 64 a3 std Z+36, r22 ; 0x24 + 6e8: 75 a3 std Z+37, r23 ; 0x25 + 6ea: 40 a7 std Z+40, r20 ; 0x28 + 6ec: 31 a7 std Z+41, r19 ; 0x29 + 6ee: 12 a6 std Z+42, r1 ; 0x2a + 6f0: 89 ef ldi r24, 0xF9 ; 249 + 6f2: 97 e2 ldi r25, 0x27 ; 39 + 6f4: 84 a7 std Z+44, r24 ; 0x2c + 6f6: 95 a7 std Z+45, r25 ; 0x2d + 6f8: 16 a6 std Z+46, r1 ; 0x2e + 6fa: 80 a1 ldd r24, Z+32 ; 0x20 + 6fc: 80 68 ori r24, 0x80 ; 128 + 6fe: 80 a3 std Z+32, r24 ; 0x20 + 700: df 91 pop r29 + 702: cf 91 pop r28 + 704: 08 95 ret -000006e0 : - 6e0: cf 93 push r28 - 6e2: f8 94 cli - 6e4: c2 e0 ldi r28, 0x02 ; 2 - 6e6: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> - 6ea: fb de rcall .-522 ; 0x4e2 - 6ec: e0 e0 ldi r30, 0x00 ; 0 - 6ee: f1 e0 ldi r31, 0x01 ; 1 - 6f0: 16 aa std Z+54, r1 ; 0x36 - 6f2: 94 e2 ldi r25, 0x24 ; 36 - 6f4: 90 ab std Z+48, r25 ; 0x30 - 6f6: 11 aa std Z+49, r1 ; 0x31 - 6f8: 39 e5 ldi r19, 0x59 ; 89 - 6fa: 32 ab std Z+50, r19 ; 0x32 - 6fc: 83 e0 ldi r24, 0x03 ; 3 - 6fe: 83 ab std Z+51, r24 ; 0x33 - 700: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 704: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 708: 44 ab std Z+52, r20 ; 0x34 - 70a: 55 ab std Z+53, r21 ; 0x35 - 70c: 4a e6 ldi r20, 0x6A ; 106 - 70e: 52 e2 ldi r21, 0x22 ; 34 - 710: 40 af std Z+56, r20 ; 0x38 - 712: 51 af std Z+57, r21 ; 0x39 - 714: 12 ae std Z+58, r1 ; 0x3a - 716: 29 e3 ldi r18, 0x39 ; 57 - 718: 24 af std Z+60, r18 ; 0x3c - 71a: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 71e: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 722: 20 a9 ldd r18, Z+48 ; 0x30 - 724: 20 68 ori r18, 0x80 ; 128 - 726: 20 ab std Z+48, r18 ; 0x30 - 728: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 72c: a0 e4 ldi r26, 0x40 ; 64 - 72e: b1 e0 ldi r27, 0x01 ; 1 - 730: 9c 93 st X, r25 - 732: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 736: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 73a: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 73e: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 742: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 746: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 74a: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 74e: 2a e7 ldi r18, 0x7A ; 122 - 750: 34 e2 ldi r19, 0x24 ; 36 - 752: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 756: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 75a: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 75e: 2b e3 ldi r18, 0x3B ; 59 - 760: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 764: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 768: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 76c: 2c 91 ld r18, X - 76e: 20 68 ori r18, 0x80 ; 128 - 770: 2c 93 st X, r18 - 772: 54 e0 ldi r21, 0x04 ; 4 - 774: 50 8b std Z+16, r21 ; 0x10 - 776: 81 8b std Z+17, r24 ; 0x11 - 778: 41 e9 ldi r20, 0x91 ; 145 - 77a: 42 8b std Z+18, r20 ; 0x12 - 77c: 20 e1 ldi r18, 0x10 ; 16 - 77e: 23 8b std Z+19, r18 ; 0x13 - 780: 27 e7 ldi r18, 0x77 ; 119 - 782: 31 e0 ldi r19, 0x01 ; 1 - 784: 24 8b std Z+20, r18 ; 0x14 - 786: 35 8b std Z+21, r19 ; 0x15 - 788: 90 8f std Z+24, r25 ; 0x18 - 78a: c1 8f std Z+25, r28 ; 0x19 - 78c: 12 8e std Z+26, r1 ; 0x1a - 78e: 6a e7 ldi r22, 0x7A ; 122 - 790: 76 e2 ldi r23, 0x26 ; 38 - 792: 64 8f std Z+28, r22 ; 0x1c - 794: 75 8f std Z+29, r23 ; 0x1d - 796: 16 8e std Z+30, r1 ; 0x1e - 798: 90 89 ldd r25, Z+16 ; 0x10 - 79a: 90 68 ori r25, 0x80 ; 128 - 79c: 90 8b std Z+16, r25 ; 0x10 - 79e: 50 a3 std Z+32, r21 ; 0x20 - 7a0: 81 a3 std Z+33, r24 ; 0x21 - 7a2: 42 a3 std Z+34, r20 ; 0x22 - 7a4: 82 e1 ldi r24, 0x12 ; 18 - 7a6: 83 a3 std Z+35, r24 ; 0x23 - 7a8: 24 a3 std Z+36, r18 ; 0x24 - 7aa: 35 a3 std Z+37, r19 ; 0x25 - 7ac: 84 e3 ldi r24, 0x34 ; 52 - 7ae: 80 a7 std Z+40, r24 ; 0x28 - 7b0: c1 a7 std Z+41, r28 ; 0x29 - 7b2: 12 a6 std Z+42, r1 ; 0x2a - 7b4: 81 ef ldi r24, 0xF1 ; 241 - 7b6: 97 e2 ldi r25, 0x27 ; 39 - 7b8: 84 a7 std Z+44, r24 ; 0x2c - 7ba: 95 a7 std Z+45, r25 ; 0x2d - 7bc: 16 a6 std Z+46, r1 ; 0x2e - 7be: 80 a1 ldd r24, Z+32 ; 0x20 - 7c0: 80 68 ori r24, 0x80 ; 128 - 7c2: 80 a3 std Z+32, r24 ; 0x20 - 7c4: 78 94 sei - 7c6: cf 91 pop r28 - 7c8: 08 95 ret +00000706 : + 706: 08 95 ret -000007ca : - 7ca: 08 95 ret +00000708 : + 708: cf 93 push r28 + 70a: f8 94 cli + 70c: c2 e0 ldi r28, 0x02 ; 2 + 70e: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 712: f8 de rcall .-528 ; 0x504 + 714: e0 e0 ldi r30, 0x00 ; 0 + 716: f1 e0 ldi r31, 0x01 ; 1 + 718: 16 aa std Z+54, r1 ; 0x36 + 71a: 94 e2 ldi r25, 0x24 ; 36 + 71c: 90 ab std Z+48, r25 ; 0x30 + 71e: 11 aa std Z+49, r1 ; 0x31 + 720: 39 e5 ldi r19, 0x59 ; 89 + 722: 32 ab std Z+50, r19 ; 0x32 + 724: 83 e0 ldi r24, 0x03 ; 3 + 726: 83 ab std Z+51, r24 ; 0x33 + 728: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 72c: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 730: 44 ab std Z+52, r20 ; 0x34 + 732: 55 ab std Z+53, r21 ; 0x35 + 734: 4e e6 ldi r20, 0x6E ; 110 + 736: 52 e2 ldi r21, 0x22 ; 34 + 738: 40 af std Z+56, r20 ; 0x38 + 73a: 51 af std Z+57, r21 ; 0x39 + 73c: 12 ae std Z+58, r1 ; 0x3a + 73e: 29 e3 ldi r18, 0x39 ; 57 + 740: 24 af std Z+60, r18 ; 0x3c + 742: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 746: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 74a: 20 a9 ldd r18, Z+48 ; 0x30 + 74c: 20 68 ori r18, 0x80 ; 128 + 74e: 20 ab std Z+48, r18 ; 0x30 + 750: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 754: a0 e4 ldi r26, 0x40 ; 64 + 756: b1 e0 ldi r27, 0x01 ; 1 + 758: 9c 93 st X, r25 + 75a: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 75e: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 762: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 766: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 76a: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 76e: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 772: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 776: 21 e8 ldi r18, 0x81 ; 129 + 778: 34 e2 ldi r19, 0x24 ; 36 + 77a: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 77e: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 782: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 786: 2b e3 ldi r18, 0x3B ; 59 + 788: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 78c: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 790: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 794: 2c 91 ld r18, X + 796: 20 68 ori r18, 0x80 ; 128 + 798: 2c 93 st X, r18 + 79a: 54 e0 ldi r21, 0x04 ; 4 + 79c: 50 8b std Z+16, r21 ; 0x10 + 79e: 81 8b std Z+17, r24 ; 0x11 + 7a0: 41 e9 ldi r20, 0x91 ; 145 + 7a2: 42 8b std Z+18, r20 ; 0x12 + 7a4: c3 8b std Z+19, r28 ; 0x13 + 7a6: 27 e7 ldi r18, 0x77 ; 119 + 7a8: 31 e0 ldi r19, 0x01 ; 1 + 7aa: 24 8b std Z+20, r18 ; 0x14 + 7ac: 35 8b std Z+21, r19 ; 0x15 + 7ae: 90 8f std Z+24, r25 ; 0x18 + 7b0: c1 8f std Z+25, r28 ; 0x19 + 7b2: 12 8e std Z+26, r1 ; 0x1a + 7b4: 62 e8 ldi r22, 0x82 ; 130 + 7b6: 76 e2 ldi r23, 0x26 ; 38 + 7b8: 64 8f std Z+28, r22 ; 0x1c + 7ba: 75 8f std Z+29, r23 ; 0x1d + 7bc: 16 8e std Z+30, r1 ; 0x1e + 7be: 50 a3 std Z+32, r21 ; 0x20 + 7c0: 81 a3 std Z+33, r24 ; 0x21 + 7c2: 42 a3 std Z+34, r20 ; 0x22 + 7c4: 81 e0 ldi r24, 0x01 ; 1 + 7c6: 83 a3 std Z+35, r24 ; 0x23 + 7c8: 24 a3 std Z+36, r18 ; 0x24 + 7ca: 35 a3 std Z+37, r19 ; 0x25 + 7cc: 84 e3 ldi r24, 0x34 ; 52 + 7ce: 80 a7 std Z+40, r24 ; 0x28 + 7d0: c1 a7 std Z+41, r28 ; 0x29 + 7d2: 12 a6 std Z+42, r1 ; 0x2a + 7d4: 89 ef ldi r24, 0xF9 ; 249 + 7d6: 97 e2 ldi r25, 0x27 ; 39 + 7d8: 84 a7 std Z+44, r24 ; 0x2c + 7da: 95 a7 std Z+45, r25 ; 0x2d + 7dc: 16 a6 std Z+46, r1 ; 0x2e + 7de: 80 89 ldd r24, Z+16 ; 0x10 + 7e0: 80 68 ori r24, 0x80 ; 128 + 7e2: 80 8b std Z+16, r24 ; 0x10 + 7e4: 00 c0 rjmp .+0 ; 0x7e6 + 7e6: 00 c0 rjmp .+0 ; 0x7e8 + 7e8: 00 00 nop + 7ea: 80 a1 ldd r24, Z+32 ; 0x20 + 7ec: 80 68 ori r24, 0x80 ; 128 + 7ee: 80 a3 std Z+32, r24 ; 0x20 + 7f0: 78 94 sei + 7f2: cf 91 pop r28 + 7f4: 08 95 ret -000007cc : - 7cc: cf 93 push r28 - 7ce: c3 e0 ldi r28, 0x03 ; 3 - 7d0: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> - 7d4: 86 de rcall .-756 ; 0x4e2 - 7d6: e0 e0 ldi r30, 0x00 ; 0 - 7d8: f1 e0 ldi r31, 0x01 ; 1 - 7da: 10 a2 std Z+32, r1 ; 0x20 - 7dc: 50 e4 ldi r21, 0x40 ; 64 - 7de: 50 a3 std Z+32, r21 ; 0x20 - 7e0: 44 e0 ldi r20, 0x04 ; 4 - 7e2: 40 a3 std Z+32, r20 ; 0x20 - 7e4: 11 a2 std Z+33, r1 ; 0x21 - 7e6: 12 a2 std Z+34, r1 ; 0x22 - 7e8: 3b e4 ldi r19, 0x4B ; 75 - 7ea: 33 a3 std Z+35, r19 ; 0x23 - 7ec: 14 a2 std Z+36, r1 ; 0x24 - 7ee: 15 a2 std Z+37, r1 ; 0x25 - 7f0: 16 a2 std Z+38, r1 ; 0x26 - 7f2: 81 e0 ldi r24, 0x01 ; 1 - 7f4: 90 e2 ldi r25, 0x20 ; 32 - 7f6: 80 a7 std Z+40, r24 ; 0x28 - 7f8: 91 a7 std Z+41, r25 ; 0x29 - 7fa: 12 a6 std Z+42, r1 ; 0x2a - 7fc: 20 ea ldi r18, 0xA0 ; 160 - 7fe: 24 a7 std Z+44, r18 ; 0x2c - 800: 98 e0 ldi r25, 0x08 ; 8 - 802: 95 a7 std Z+45, r25 ; 0x2d - 804: 16 a6 std Z+46, r1 ; 0x2e - 806: 80 a1 ldd r24, Z+32 ; 0x20 - 808: 80 6a ori r24, 0xA0 ; 160 - 80a: 80 a3 std Z+32, r24 ; 0x20 - 80c: 85 e5 ldi r24, 0x55 ; 85 - 80e: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> - 812: 16 aa std Z+54, r1 ; 0x36 - 814: 74 e2 ldi r23, 0x24 ; 36 - 816: 70 ab std Z+48, r23 ; 0x30 - 818: 11 aa std Z+49, r1 ; 0x31 - 81a: 69 e5 ldi r22, 0x59 ; 89 - 81c: 62 ab std Z+50, r22 ; 0x32 - 81e: c3 ab std Z+51, r28 ; 0x33 - 820: a0 91 04 20 lds r26, 0x2004 ; 0x802004 - 824: b0 91 05 20 lds r27, 0x2005 ; 0x802005 - 828: a4 ab std Z+52, r26 ; 0x34 - 82a: b5 ab std Z+53, r27 ; 0x35 - 82c: aa e6 ldi r26, 0x6A ; 106 - 82e: b2 e2 ldi r27, 0x22 ; 34 - 830: a0 af std Z+56, r26 ; 0x38 - 832: b1 af std Z+57, r27 ; 0x39 - 834: 12 ae std Z+58, r1 ; 0x3a - 836: 89 e3 ldi r24, 0x39 ; 57 - 838: 84 af std Z+60, r24 ; 0x3c - 83a: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 83e: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 842: 80 a9 ldd r24, Z+48 ; 0x30 - 844: 80 68 ori r24, 0x80 ; 128 - 846: 80 ab std Z+48, r24 ; 0x30 - 848: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 84c: a0 e4 ldi r26, 0x40 ; 64 - 84e: b1 e0 ldi r27, 0x01 ; 1 - 850: 7c 93 st X, r23 - 852: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 856: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 85a: 82 e0 ldi r24, 0x02 ; 2 - 85c: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 860: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 864: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 868: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 86c: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 870: 6a e7 ldi r22, 0x7A ; 122 - 872: 74 e2 ldi r23, 0x24 ; 36 - 874: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 878: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 87c: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 880: 8b e3 ldi r24, 0x3B ; 59 - 882: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 886: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 88a: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 88e: 8c 91 ld r24, X - 890: 80 68 ori r24, 0x80 ; 128 - 892: 8c 93 st X, r24 - 894: 10 8a std Z+16, r1 ; 0x10 - 896: 50 8b std Z+16, r21 ; 0x10 - 898: 40 8b std Z+16, r20 ; 0x10 - 89a: c1 8b std Z+17, r28 ; 0x11 - 89c: 81 e9 ldi r24, 0x91 ; 145 - 89e: 82 8b std Z+18, r24 ; 0x12 - 8a0: 33 8b std Z+19, r19 ; 0x13 - 8a2: 47 e7 ldi r20, 0x77 ; 119 - 8a4: 51 e0 ldi r21, 0x01 ; 1 - 8a6: 44 8b std Z+20, r20 ; 0x14 - 8a8: 55 8b std Z+21, r21 ; 0x15 - 8aa: 20 8f std Z+24, r18 ; 0x18 - 8ac: 91 8f std Z+25, r25 ; 0x19 - 8ae: 12 8e std Z+26, r1 ; 0x1a - 8b0: 8a e7 ldi r24, 0x7A ; 122 - 8b2: 96 e2 ldi r25, 0x26 ; 38 - 8b4: 84 8f std Z+28, r24 ; 0x1c - 8b6: 95 8f std Z+29, r25 ; 0x1d - 8b8: 16 8e std Z+30, r1 ; 0x1e - 8ba: 80 89 ldd r24, Z+16 ; 0x10 +000007f6 : + 7f6: 08 95 ret + +000007f8 : + 7f8: cf 93 push r28 + 7fa: c3 e0 ldi r28, 0x03 ; 3 + 7fc: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 800: 81 de rcall .-766 ; 0x504 + 802: e0 e0 ldi r30, 0x00 ; 0 + 804: f1 e0 ldi r31, 0x01 ; 1 + 806: 10 a2 std Z+32, r1 ; 0x20 + 808: 50 e4 ldi r21, 0x40 ; 64 + 80a: 50 a3 std Z+32, r21 ; 0x20 + 80c: 44 e0 ldi r20, 0x04 ; 4 + 80e: 40 a3 std Z+32, r20 ; 0x20 + 810: 11 a2 std Z+33, r1 ; 0x21 + 812: 12 a2 std Z+34, r1 ; 0x22 + 814: 3b e4 ldi r19, 0x4B ; 75 + 816: 33 a3 std Z+35, r19 ; 0x23 + 818: 14 a2 std Z+36, r1 ; 0x24 + 81a: 15 a2 std Z+37, r1 ; 0x25 + 81c: 16 a2 std Z+38, r1 ; 0x26 + 81e: 81 e0 ldi r24, 0x01 ; 1 + 820: 90 e2 ldi r25, 0x20 ; 32 + 822: 80 a7 std Z+40, r24 ; 0x28 + 824: 91 a7 std Z+41, r25 ; 0x29 + 826: 12 a6 std Z+42, r1 ; 0x2a + 828: 20 ea ldi r18, 0xA0 ; 160 + 82a: 24 a7 std Z+44, r18 ; 0x2c + 82c: 98 e0 ldi r25, 0x08 ; 8 + 82e: 95 a7 std Z+45, r25 ; 0x2d + 830: 16 a6 std Z+46, r1 ; 0x2e + 832: 80 a1 ldd r24, Z+32 ; 0x20 + 834: 80 6a ori r24, 0xA0 ; 160 + 836: 80 a3 std Z+32, r24 ; 0x20 + 838: 85 e5 ldi r24, 0x55 ; 85 + 83a: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 83e: 16 aa std Z+54, r1 ; 0x36 + 840: 74 e2 ldi r23, 0x24 ; 36 + 842: 70 ab std Z+48, r23 ; 0x30 + 844: 11 aa std Z+49, r1 ; 0x31 + 846: 69 e5 ldi r22, 0x59 ; 89 + 848: 62 ab std Z+50, r22 ; 0x32 + 84a: c3 ab std Z+51, r28 ; 0x33 + 84c: a0 91 04 20 lds r26, 0x2004 ; 0x802004 + 850: b0 91 05 20 lds r27, 0x2005 ; 0x802005 + 854: a4 ab std Z+52, r26 ; 0x34 + 856: b5 ab std Z+53, r27 ; 0x35 + 858: ae e6 ldi r26, 0x6E ; 110 + 85a: b2 e2 ldi r27, 0x22 ; 34 + 85c: a0 af std Z+56, r26 ; 0x38 + 85e: b1 af std Z+57, r27 ; 0x39 + 860: 12 ae std Z+58, r1 ; 0x3a + 862: 89 e3 ldi r24, 0x39 ; 57 + 864: 84 af std Z+60, r24 ; 0x3c + 866: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 86a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 86e: 80 a9 ldd r24, Z+48 ; 0x30 + 870: 80 68 ori r24, 0x80 ; 128 + 872: 80 ab std Z+48, r24 ; 0x30 + 874: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 878: a0 e4 ldi r26, 0x40 ; 64 + 87a: b1 e0 ldi r27, 0x01 ; 1 + 87c: 7c 93 st X, r23 + 87e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 882: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 886: 82 e0 ldi r24, 0x02 ; 2 + 888: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 88c: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 890: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 894: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 898: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 89c: 61 e8 ldi r22, 0x81 ; 129 + 89e: 74 e2 ldi r23, 0x24 ; 36 + 8a0: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 8a4: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 8a8: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 8ac: 8b e3 ldi r24, 0x3B ; 59 + 8ae: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 8b2: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 8b6: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 8ba: 8c 91 ld r24, X 8bc: 80 68 ori r24, 0x80 ; 128 - 8be: 80 8b std Z+16, r24 ; 0x10 - 8c0: cf 91 pop r28 - 8c2: 08 95 ret + 8be: 8c 93 st X, r24 + 8c0: 10 8a std Z+16, r1 ; 0x10 + 8c2: 50 8b std Z+16, r21 ; 0x10 + 8c4: 40 8b std Z+16, r20 ; 0x10 + 8c6: c1 8b std Z+17, r28 ; 0x11 + 8c8: 81 e9 ldi r24, 0x91 ; 145 + 8ca: 82 8b std Z+18, r24 ; 0x12 + 8cc: 33 8b std Z+19, r19 ; 0x13 + 8ce: 47 e7 ldi r20, 0x77 ; 119 + 8d0: 51 e0 ldi r21, 0x01 ; 1 + 8d2: 44 8b std Z+20, r20 ; 0x14 + 8d4: 55 8b std Z+21, r21 ; 0x15 + 8d6: 20 8f std Z+24, r18 ; 0x18 + 8d8: 91 8f std Z+25, r25 ; 0x19 + 8da: 12 8e std Z+26, r1 ; 0x1a + 8dc: 82 e8 ldi r24, 0x82 ; 130 + 8de: 96 e2 ldi r25, 0x26 ; 38 + 8e0: 84 8f std Z+28, r24 ; 0x1c + 8e2: 95 8f std Z+29, r25 ; 0x1d + 8e4: 16 8e std Z+30, r1 ; 0x1e + 8e6: 80 89 ldd r24, Z+16 ; 0x10 + 8e8: 80 68 ori r24, 0x80 ; 128 + 8ea: 80 8b std Z+16, r24 ; 0x10 + 8ec: cf 91 pop r28 + 8ee: 08 95 ret -000008c4 : - 8c4: 08 95 ret +000008f0 : + 8f0: 08 95 ret -000008c6 : - 8c6: cf 93 push r28 - 8c8: c4 e0 ldi r28, 0x04 ; 4 - 8ca: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> - 8ce: 09 de rcall .-1006 ; 0x4e2 - 8d0: e0 e0 ldi r30, 0x00 ; 0 - 8d2: f1 e0 ldi r31, 0x01 ; 1 - 8d4: 10 a2 std Z+32, r1 ; 0x20 - 8d6: 80 e4 ldi r24, 0x40 ; 64 - 8d8: 80 a3 std Z+32, r24 ; 0x20 - 8da: c0 a3 std Z+32, r28 ; 0x20 - 8dc: 11 a2 std Z+33, r1 ; 0x21 - 8de: 12 a2 std Z+34, r1 ; 0x22 - 8e0: 4b e4 ldi r20, 0x4B ; 75 - 8e2: 43 a3 std Z+35, r20 ; 0x23 - 8e4: 14 a2 std Z+36, r1 ; 0x24 - 8e6: 15 a2 std Z+37, r1 ; 0x25 - 8e8: 16 a2 std Z+38, r1 ; 0x26 - 8ea: 81 e0 ldi r24, 0x01 ; 1 - 8ec: 90 e2 ldi r25, 0x20 ; 32 - 8ee: 80 a7 std Z+40, r24 ; 0x28 - 8f0: 91 a7 std Z+41, r25 ; 0x29 - 8f2: 12 a6 std Z+42, r1 ; 0x2a - 8f4: 60 ea ldi r22, 0xA0 ; 160 - 8f6: 64 a7 std Z+44, r22 ; 0x2c - 8f8: 88 e0 ldi r24, 0x08 ; 8 - 8fa: 85 a7 std Z+45, r24 ; 0x2d - 8fc: 16 a6 std Z+46, r1 ; 0x2e - 8fe: 90 a1 ldd r25, Z+32 ; 0x20 - 900: 90 6a ori r25, 0xA0 ; 160 - 902: 90 a3 std Z+32, r25 ; 0x20 - 904: 95 e5 ldi r25, 0x55 ; 85 - 906: 90 93 a0 08 sts 0x08A0, r25 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> - 90a: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 90e: a0 e4 ldi r26, 0x40 ; 64 - 910: b1 e0 ldi r27, 0x01 ; 1 - 912: 94 e2 ldi r25, 0x24 ; 36 - 914: 9c 93 st X, r25 - 916: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 91a: 99 e5 ldi r25, 0x59 ; 89 - 91c: 90 93 42 01 sts 0x0142, r25 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 920: 92 e0 ldi r25, 0x02 ; 2 - 922: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 926: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 92a: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 92e: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 932: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 936: 2a e7 ldi r18, 0x7A ; 122 - 938: 34 e2 ldi r19, 0x24 ; 36 - 93a: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 93e: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 942: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 946: 9b e3 ldi r25, 0x3B ; 59 - 948: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 94c: 93 e0 ldi r25, 0x03 ; 3 - 94e: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 952: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 956: 2c 91 ld r18, X - 958: 20 68 ori r18, 0x80 ; 128 - 95a: 2c 93 st X, r18 - 95c: c0 8b std Z+16, r28 ; 0x10 - 95e: 91 8b std Z+17, r25 ; 0x11 - 960: 31 e9 ldi r19, 0x91 ; 145 - 962: 32 8b std Z+18, r19 ; 0x12 - 964: 43 8b std Z+19, r20 ; 0x13 - 966: 47 e7 ldi r20, 0x77 ; 119 - 968: 51 e0 ldi r21, 0x01 ; 1 - 96a: 44 8b std Z+20, r20 ; 0x14 - 96c: 55 8b std Z+21, r21 ; 0x15 - 96e: 60 8f std Z+24, r22 ; 0x18 - 970: 81 8f std Z+25, r24 ; 0x19 - 972: 12 8e std Z+26, r1 ; 0x1a - 974: 6a e7 ldi r22, 0x7A ; 122 - 976: 76 e2 ldi r23, 0x26 ; 38 - 978: 64 8f std Z+28, r22 ; 0x1c - 97a: 75 8f std Z+29, r23 ; 0x1d - 97c: 16 8e std Z+30, r1 ; 0x1e - 97e: 20 89 ldd r18, Z+16 ; 0x10 - 980: 20 68 ori r18, 0x80 ; 128 - 982: 20 8b std Z+16, r18 ; 0x10 - 984: c0 ab std Z+48, r28 ; 0x30 - 986: 91 ab std Z+49, r25 ; 0x31 - 988: 32 ab std Z+50, r19 ; 0x32 - 98a: 9a e4 ldi r25, 0x4A ; 74 - 98c: 93 ab std Z+51, r25 ; 0x33 - 98e: 44 ab std Z+52, r20 ; 0x34 - 990: 55 ab std Z+53, r21 ; 0x35 - 992: 93 ec ldi r25, 0xC3 ; 195 - 994: 90 af std Z+56, r25 ; 0x38 - 996: 81 af std Z+57, r24 ; 0x39 - 998: 12 ae std Z+58, r1 ; 0x3a - 99a: 81 ef ldi r24, 0xF1 ; 241 - 99c: 97 e2 ldi r25, 0x27 ; 39 - 99e: 84 af std Z+60, r24 ; 0x3c - 9a0: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 9a4: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 9a8: 80 a9 ldd r24, Z+48 ; 0x30 - 9aa: 80 68 ori r24, 0x80 ; 128 - 9ac: 80 ab std Z+48, r24 ; 0x30 - 9ae: cf 91 pop r28 - 9b0: 08 95 ret +000008f2 : + 8f2: cf 93 push r28 + 8f4: c4 e0 ldi r28, 0x04 ; 4 + 8f6: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 8fa: 04 de rcall .-1016 ; 0x504 + 8fc: e0 e0 ldi r30, 0x00 ; 0 + 8fe: f1 e0 ldi r31, 0x01 ; 1 + 900: 10 a2 std Z+32, r1 ; 0x20 + 902: 80 e4 ldi r24, 0x40 ; 64 + 904: 80 a3 std Z+32, r24 ; 0x20 + 906: c0 a3 std Z+32, r28 ; 0x20 + 908: 11 a2 std Z+33, r1 ; 0x21 + 90a: 12 a2 std Z+34, r1 ; 0x22 + 90c: 4b e4 ldi r20, 0x4B ; 75 + 90e: 43 a3 std Z+35, r20 ; 0x23 + 910: 14 a2 std Z+36, r1 ; 0x24 + 912: 15 a2 std Z+37, r1 ; 0x25 + 914: 16 a2 std Z+38, r1 ; 0x26 + 916: 81 e0 ldi r24, 0x01 ; 1 + 918: 90 e2 ldi r25, 0x20 ; 32 + 91a: 80 a7 std Z+40, r24 ; 0x28 + 91c: 91 a7 std Z+41, r25 ; 0x29 + 91e: 12 a6 std Z+42, r1 ; 0x2a + 920: 60 ea ldi r22, 0xA0 ; 160 + 922: 64 a7 std Z+44, r22 ; 0x2c + 924: 88 e0 ldi r24, 0x08 ; 8 + 926: 85 a7 std Z+45, r24 ; 0x2d + 928: 16 a6 std Z+46, r1 ; 0x2e + 92a: 90 a1 ldd r25, Z+32 ; 0x20 + 92c: 90 6a ori r25, 0xA0 ; 160 + 92e: 90 a3 std Z+32, r25 ; 0x20 + 930: 95 e5 ldi r25, 0x55 ; 85 + 932: 90 93 a0 08 sts 0x08A0, r25 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 936: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 93a: a0 e4 ldi r26, 0x40 ; 64 + 93c: b1 e0 ldi r27, 0x01 ; 1 + 93e: 94 e2 ldi r25, 0x24 ; 36 + 940: 9c 93 st X, r25 + 942: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 946: 99 e5 ldi r25, 0x59 ; 89 + 948: 90 93 42 01 sts 0x0142, r25 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 94c: 92 e0 ldi r25, 0x02 ; 2 + 94e: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 952: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 956: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 95a: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 95e: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 962: 21 e8 ldi r18, 0x81 ; 129 + 964: 34 e2 ldi r19, 0x24 ; 36 + 966: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 96a: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 96e: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 972: 9b e3 ldi r25, 0x3B ; 59 + 974: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 978: 93 e0 ldi r25, 0x03 ; 3 + 97a: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 97e: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 982: 2c 91 ld r18, X + 984: 20 68 ori r18, 0x80 ; 128 + 986: 2c 93 st X, r18 + 988: c0 8b std Z+16, r28 ; 0x10 + 98a: 91 8b std Z+17, r25 ; 0x11 + 98c: 31 e9 ldi r19, 0x91 ; 145 + 98e: 32 8b std Z+18, r19 ; 0x12 + 990: 43 8b std Z+19, r20 ; 0x13 + 992: 47 e7 ldi r20, 0x77 ; 119 + 994: 51 e0 ldi r21, 0x01 ; 1 + 996: 44 8b std Z+20, r20 ; 0x14 + 998: 55 8b std Z+21, r21 ; 0x15 + 99a: 60 8f std Z+24, r22 ; 0x18 + 99c: 81 8f std Z+25, r24 ; 0x19 + 99e: 12 8e std Z+26, r1 ; 0x1a + 9a0: 62 e8 ldi r22, 0x82 ; 130 + 9a2: 76 e2 ldi r23, 0x26 ; 38 + 9a4: 64 8f std Z+28, r22 ; 0x1c + 9a6: 75 8f std Z+29, r23 ; 0x1d + 9a8: 16 8e std Z+30, r1 ; 0x1e + 9aa: 20 89 ldd r18, Z+16 ; 0x10 + 9ac: 20 68 ori r18, 0x80 ; 128 + 9ae: 20 8b std Z+16, r18 ; 0x10 + 9b0: c0 ab std Z+48, r28 ; 0x30 + 9b2: 91 ab std Z+49, r25 ; 0x31 + 9b4: 32 ab std Z+50, r19 ; 0x32 + 9b6: 9a e4 ldi r25, 0x4A ; 74 + 9b8: 93 ab std Z+51, r25 ; 0x33 + 9ba: 44 ab std Z+52, r20 ; 0x34 + 9bc: 55 ab std Z+53, r21 ; 0x35 + 9be: 93 ec ldi r25, 0xC3 ; 195 + 9c0: 90 af std Z+56, r25 ; 0x38 + 9c2: 81 af std Z+57, r24 ; 0x39 + 9c4: 12 ae std Z+58, r1 ; 0x3a + 9c6: 89 ef ldi r24, 0xF9 ; 249 + 9c8: 97 e2 ldi r25, 0x27 ; 39 + 9ca: 84 af std Z+60, r24 ; 0x3c + 9cc: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 9d0: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 9d4: 80 a9 ldd r24, Z+48 ; 0x30 + 9d6: 80 68 ori r24, 0x80 ; 128 + 9d8: 80 ab std Z+48, r24 ; 0x30 + 9da: cf 91 pop r28 + 9dc: 08 95 ret -000009b2 : - 9b2: 08 95 ret +000009de : + 9de: 08 95 ret -000009b4 : - 9b4: 85 e0 ldi r24, 0x05 ; 5 - 9b6: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - 9ba: 93 dd rcall .-1242 ; 0x4e2 - 9bc: e0 e0 ldi r30, 0x00 ; 0 - 9be: f1 e0 ldi r31, 0x01 ; 1 - 9c0: 16 aa std Z+54, r1 ; 0x36 - 9c2: 34 e2 ldi r19, 0x24 ; 36 - 9c4: 30 ab std Z+48, r19 ; 0x30 - 9c6: 11 aa std Z+49, r1 ; 0x31 - 9c8: 29 e5 ldi r18, 0x59 ; 89 - 9ca: 22 ab std Z+50, r18 ; 0x32 - 9cc: 83 e0 ldi r24, 0x03 ; 3 - 9ce: 83 ab std Z+51, r24 ; 0x33 - 9d0: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 9d4: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 9d8: 44 ab std Z+52, r20 ; 0x34 - 9da: 55 ab std Z+53, r21 ; 0x35 - 9dc: 4a e6 ldi r20, 0x6A ; 106 - 9de: 52 e2 ldi r21, 0x22 ; 34 - 9e0: 40 af std Z+56, r20 ; 0x38 - 9e2: 51 af std Z+57, r21 ; 0x39 - 9e4: 12 ae std Z+58, r1 ; 0x3a - 9e6: 99 e3 ldi r25, 0x39 ; 57 - 9e8: 94 af std Z+60, r25 ; 0x3c - 9ea: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 9ee: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 9f2: 90 a9 ldd r25, Z+48 ; 0x30 - 9f4: 90 68 ori r25, 0x80 ; 128 - 9f6: 90 ab std Z+48, r25 ; 0x30 - 9f8: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 9fc: e0 e4 ldi r30, 0x40 ; 64 - 9fe: f1 e0 ldi r31, 0x01 ; 1 - a00: 30 83 st Z, r19 - a02: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - a06: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - a0a: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - a0e: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - a12: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - a16: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - a1a: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - a1e: 2a e7 ldi r18, 0x7A ; 122 - a20: 34 e2 ldi r19, 0x24 ; 36 - a22: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - a26: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - a2a: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - a2e: 9b e3 ldi r25, 0x3B ; 59 - a30: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - a34: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - a38: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - a3c: 80 81 ld r24, Z - a3e: 80 68 ori r24, 0x80 ; 128 - a40: 80 83 st Z, r24 - a42: 08 95 ret +000009e0 : + 9e0: 85 e0 ldi r24, 0x05 ; 5 + 9e2: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + 9e6: 8e dd rcall .-1252 ; 0x504 + 9e8: e0 e0 ldi r30, 0x00 ; 0 + 9ea: f1 e0 ldi r31, 0x01 ; 1 + 9ec: 16 aa std Z+54, r1 ; 0x36 + 9ee: 34 e2 ldi r19, 0x24 ; 36 + 9f0: 30 ab std Z+48, r19 ; 0x30 + 9f2: 11 aa std Z+49, r1 ; 0x31 + 9f4: 29 e5 ldi r18, 0x59 ; 89 + 9f6: 22 ab std Z+50, r18 ; 0x32 + 9f8: 83 e0 ldi r24, 0x03 ; 3 + 9fa: 83 ab std Z+51, r24 ; 0x33 + 9fc: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + a00: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + a04: 44 ab std Z+52, r20 ; 0x34 + a06: 55 ab std Z+53, r21 ; 0x35 + a08: 4e e6 ldi r20, 0x6E ; 110 + a0a: 52 e2 ldi r21, 0x22 ; 34 + a0c: 40 af std Z+56, r20 ; 0x38 + a0e: 51 af std Z+57, r21 ; 0x39 + a10: 12 ae std Z+58, r1 ; 0x3a + a12: 99 e3 ldi r25, 0x39 ; 57 + a14: 94 af std Z+60, r25 ; 0x3c + a16: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + a1a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + a1e: 90 a9 ldd r25, Z+48 ; 0x30 + a20: 90 68 ori r25, 0x80 ; 128 + a22: 90 ab std Z+48, r25 ; 0x30 + a24: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + a28: e0 e4 ldi r30, 0x40 ; 64 + a2a: f1 e0 ldi r31, 0x01 ; 1 + a2c: 30 83 st Z, r19 + a2e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + a32: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + a36: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + a3a: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + a3e: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + a42: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + a46: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + a4a: 21 e8 ldi r18, 0x81 ; 129 + a4c: 34 e2 ldi r19, 0x24 ; 36 + a4e: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + a52: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + a56: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + a5a: 9b e3 ldi r25, 0x3B ; 59 + a5c: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + a60: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + a64: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + a68: 80 81 ld r24, Z + a6a: 80 68 ori r24, 0x80 ; 128 + a6c: 80 83 st Z, r24 + a6e: 08 95 ret -00000a44 : - a44: 86 e0 ldi r24, 0x06 ; 6 - a46: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - a4a: 4b dd rcall .-1386 ; 0x4e2 - a4c: e0 e0 ldi r30, 0x00 ; 0 - a4e: f1 e0 ldi r31, 0x01 ; 1 - a50: 16 aa std Z+54, r1 ; 0x36 - a52: 94 e2 ldi r25, 0x24 ; 36 - a54: 90 ab std Z+48, r25 ; 0x30 - a56: 11 aa std Z+49, r1 ; 0x31 - a58: 39 e5 ldi r19, 0x59 ; 89 - a5a: 32 ab std Z+50, r19 ; 0x32 - a5c: 83 e0 ldi r24, 0x03 ; 3 - a5e: 83 ab std Z+51, r24 ; 0x33 - a60: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - a64: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - a68: 44 ab std Z+52, r20 ; 0x34 - a6a: 55 ab std Z+53, r21 ; 0x35 - a6c: 4a e6 ldi r20, 0x6A ; 106 - a6e: 52 e2 ldi r21, 0x22 ; 34 - a70: 40 af std Z+56, r20 ; 0x38 - a72: 51 af std Z+57, r21 ; 0x39 - a74: 12 ae std Z+58, r1 ; 0x3a - a76: 29 e3 ldi r18, 0x39 ; 57 - a78: 24 af std Z+60, r18 ; 0x3c - a7a: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - a7e: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - a82: 20 a9 ldd r18, Z+48 ; 0x30 - a84: 20 68 ori r18, 0x80 ; 128 - a86: 20 ab std Z+48, r18 ; 0x30 - a88: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - a8c: a0 e4 ldi r26, 0x40 ; 64 - a8e: b1 e0 ldi r27, 0x01 ; 1 - a90: 9c 93 st X, r25 - a92: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - a96: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - a9a: 32 e0 ldi r19, 0x02 ; 2 - a9c: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - aa0: 40 91 02 20 lds r20, 0x2002 ; 0x802002 - aa4: 50 91 03 20 lds r21, 0x2003 ; 0x802003 - aa8: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - aac: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - ab0: 4a e7 ldi r20, 0x7A ; 122 - ab2: 54 e2 ldi r21, 0x24 ; 36 - ab4: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - ab8: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - abc: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - ac0: 2b e3 ldi r18, 0x3B ; 59 - ac2: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - ac6: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - aca: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - ace: 2c 91 ld r18, X - ad0: 20 68 ori r18, 0x80 ; 128 - ad2: 2c 93 st X, r18 - ad4: 10 8a std Z+16, r1 ; 0x10 - ad6: 20 e4 ldi r18, 0x40 ; 64 - ad8: 20 8b std Z+16, r18 ; 0x10 - ada: 24 e0 ldi r18, 0x04 ; 4 - adc: 20 8b std Z+16, r18 ; 0x10 - ade: 81 8b std Z+17, r24 ; 0x11 - ae0: 81 e9 ldi r24, 0x91 ; 145 - ae2: 82 8b std Z+18, r24 ; 0x12 - ae4: 80 e1 ldi r24, 0x10 ; 16 - ae6: 83 8b std Z+19, r24 ; 0x13 - ae8: 4e ee ldi r20, 0xEE ; 238 - aea: 52 e0 ldi r21, 0x02 ; 2 - aec: 44 8b std Z+20, r20 ; 0x14 - aee: 55 8b std Z+21, r21 ; 0x15 - af0: 90 8f std Z+24, r25 ; 0x18 - af2: 31 8f std Z+25, r19 ; 0x19 - af4: 12 8e std Z+26, r1 ; 0x1a - af6: 8a e7 ldi r24, 0x7A ; 122 - af8: 96 e2 ldi r25, 0x26 ; 38 - afa: 84 8f std Z+28, r24 ; 0x1c - afc: 95 8f std Z+29, r25 ; 0x1d - afe: 16 8e std Z+30, r1 ; 0x1e - b00: 80 89 ldd r24, Z+16 ; 0x10 - b02: 80 68 ori r24, 0x80 ; 128 - b04: 80 8b std Z+16, r24 ; 0x10 - b06: 08 95 ret +00000a70 : + a70: 86 e0 ldi r24, 0x06 ; 6 + a72: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + a76: 46 dd rcall .-1396 ; 0x504 + a78: e0 e0 ldi r30, 0x00 ; 0 + a7a: f1 e0 ldi r31, 0x01 ; 1 + a7c: 16 aa std Z+54, r1 ; 0x36 + a7e: 94 e2 ldi r25, 0x24 ; 36 + a80: 90 ab std Z+48, r25 ; 0x30 + a82: 11 aa std Z+49, r1 ; 0x31 + a84: 39 e5 ldi r19, 0x59 ; 89 + a86: 32 ab std Z+50, r19 ; 0x32 + a88: 83 e0 ldi r24, 0x03 ; 3 + a8a: 83 ab std Z+51, r24 ; 0x33 + a8c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + a90: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + a94: 44 ab std Z+52, r20 ; 0x34 + a96: 55 ab std Z+53, r21 ; 0x35 + a98: 4e e6 ldi r20, 0x6E ; 110 + a9a: 52 e2 ldi r21, 0x22 ; 34 + a9c: 40 af std Z+56, r20 ; 0x38 + a9e: 51 af std Z+57, r21 ; 0x39 + aa0: 12 ae std Z+58, r1 ; 0x3a + aa2: 29 e3 ldi r18, 0x39 ; 57 + aa4: 24 af std Z+60, r18 ; 0x3c + aa6: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + aaa: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + aae: 20 a9 ldd r18, Z+48 ; 0x30 + ab0: 20 68 ori r18, 0x80 ; 128 + ab2: 20 ab std Z+48, r18 ; 0x30 + ab4: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + ab8: a0 e4 ldi r26, 0x40 ; 64 + aba: b1 e0 ldi r27, 0x01 ; 1 + abc: 9c 93 st X, r25 + abe: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + ac2: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + ac6: 32 e0 ldi r19, 0x02 ; 2 + ac8: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + acc: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + ad0: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + ad4: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + ad8: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + adc: 41 e8 ldi r20, 0x81 ; 129 + ade: 54 e2 ldi r21, 0x24 ; 36 + ae0: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + ae4: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + ae8: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + aec: 2b e3 ldi r18, 0x3B ; 59 + aee: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + af2: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + af6: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + afa: 2c 91 ld r18, X + afc: 20 68 ori r18, 0x80 ; 128 + afe: 2c 93 st X, r18 + b00: 10 8a std Z+16, r1 ; 0x10 + b02: 20 e4 ldi r18, 0x40 ; 64 + b04: 20 8b std Z+16, r18 ; 0x10 + b06: 24 e0 ldi r18, 0x04 ; 4 + b08: 20 8b std Z+16, r18 ; 0x10 + b0a: 81 8b std Z+17, r24 ; 0x11 + b0c: 81 e9 ldi r24, 0x91 ; 145 + b0e: 82 8b std Z+18, r24 ; 0x12 + b10: 80 e1 ldi r24, 0x10 ; 16 + b12: 83 8b std Z+19, r24 ; 0x13 + b14: 4e ee ldi r20, 0xEE ; 238 + b16: 52 e0 ldi r21, 0x02 ; 2 + b18: 44 8b std Z+20, r20 ; 0x14 + b1a: 55 8b std Z+21, r21 ; 0x15 + b1c: 90 8f std Z+24, r25 ; 0x18 + b1e: 31 8f std Z+25, r19 ; 0x19 + b20: 12 8e std Z+26, r1 ; 0x1a + b22: 82 e8 ldi r24, 0x82 ; 130 + b24: 96 e2 ldi r25, 0x26 ; 38 + b26: 84 8f std Z+28, r24 ; 0x1c + b28: 95 8f std Z+29, r25 ; 0x1d + b2a: 16 8e std Z+30, r1 ; 0x1e + b2c: 80 89 ldd r24, Z+16 ; 0x10 + b2e: 80 68 ori r24, 0x80 ; 128 + b30: 80 8b std Z+16, r24 ; 0x10 + b32: 08 95 ret -00000b08 : - b08: 08 95 ret +00000b34 : + b34: 08 95 ret -00000b0a : - b0a: 87 e0 ldi r24, 0x07 ; 7 - b0c: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - b10: e8 dc rcall .-1584 ; 0x4e2 - b12: e0 e0 ldi r30, 0x00 ; 0 - b14: f1 e0 ldi r31, 0x01 ; 1 - b16: 16 aa std Z+54, r1 ; 0x36 - b18: 94 e2 ldi r25, 0x24 ; 36 - b1a: 90 ab std Z+48, r25 ; 0x30 - b1c: 11 aa std Z+49, r1 ; 0x31 - b1e: 39 e5 ldi r19, 0x59 ; 89 - b20: 32 ab std Z+50, r19 ; 0x32 - b22: 83 e0 ldi r24, 0x03 ; 3 - b24: 83 ab std Z+51, r24 ; 0x33 - b26: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - b2a: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - b2e: 44 ab std Z+52, r20 ; 0x34 - b30: 55 ab std Z+53, r21 ; 0x35 - b32: 4a e6 ldi r20, 0x6A ; 106 - b34: 52 e2 ldi r21, 0x22 ; 34 - b36: 40 af std Z+56, r20 ; 0x38 - b38: 51 af std Z+57, r21 ; 0x39 - b3a: 12 ae std Z+58, r1 ; 0x3a - b3c: 29 e3 ldi r18, 0x39 ; 57 - b3e: 24 af std Z+60, r18 ; 0x3c - b40: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - b44: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - b48: 20 a9 ldd r18, Z+48 ; 0x30 - b4a: 20 68 ori r18, 0x80 ; 128 - b4c: 20 ab std Z+48, r18 ; 0x30 - b4e: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - b52: a0 e4 ldi r26, 0x40 ; 64 - b54: b1 e0 ldi r27, 0x01 ; 1 - b56: 9c 93 st X, r25 - b58: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - b5c: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - b60: 32 e0 ldi r19, 0x02 ; 2 - b62: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - b66: 40 91 02 20 lds r20, 0x2002 ; 0x802002 - b6a: 50 91 03 20 lds r21, 0x2003 ; 0x802003 - b6e: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - b72: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - b76: 4a e7 ldi r20, 0x7A ; 122 - b78: 54 e2 ldi r21, 0x24 ; 36 - b7a: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - b7e: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - b82: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - b86: 2b e3 ldi r18, 0x3B ; 59 - b88: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - b8c: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - b90: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - b94: 2c 91 ld r18, X - b96: 20 68 ori r18, 0x80 ; 128 - b98: 2c 93 st X, r18 - b9a: 10 8a std Z+16, r1 ; 0x10 - b9c: 20 e4 ldi r18, 0x40 ; 64 - b9e: 20 8b std Z+16, r18 ; 0x10 - ba0: 25 e0 ldi r18, 0x05 ; 5 - ba2: 20 8b std Z+16, r18 ; 0x10 - ba4: 81 8b std Z+17, r24 ; 0x11 - ba6: 81 e9 ldi r24, 0x91 ; 145 - ba8: 82 8b std Z+18, r24 ; 0x12 - baa: 80 e1 ldi r24, 0x10 ; 16 - bac: 83 8b std Z+19, r24 ; 0x13 - bae: 4e ee ldi r20, 0xEE ; 238 - bb0: 52 e0 ldi r21, 0x02 ; 2 - bb2: 44 8b std Z+20, r20 ; 0x14 - bb4: 55 8b std Z+21, r21 ; 0x15 - bb6: 90 8f std Z+24, r25 ; 0x18 - bb8: 31 8f std Z+25, r19 ; 0x19 - bba: 12 8e std Z+26, r1 ; 0x1a - bbc: 8a e7 ldi r24, 0x7A ; 122 - bbe: 96 e2 ldi r25, 0x26 ; 38 - bc0: 84 8f std Z+28, r24 ; 0x1c - bc2: 95 8f std Z+29, r25 ; 0x1d - bc4: 16 8e std Z+30, r1 ; 0x1e - bc6: 80 89 ldd r24, Z+16 ; 0x10 - bc8: 80 68 ori r24, 0x80 ; 128 - bca: 80 8b std Z+16, r24 ; 0x10 - bcc: 08 95 ret +00000b36 : + b36: 87 e0 ldi r24, 0x07 ; 7 + b38: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + b3c: e3 dc rcall .-1594 ; 0x504 + b3e: e0 e0 ldi r30, 0x00 ; 0 + b40: f1 e0 ldi r31, 0x01 ; 1 + b42: 16 aa std Z+54, r1 ; 0x36 + b44: 94 e2 ldi r25, 0x24 ; 36 + b46: 90 ab std Z+48, r25 ; 0x30 + b48: 11 aa std Z+49, r1 ; 0x31 + b4a: 39 e5 ldi r19, 0x59 ; 89 + b4c: 32 ab std Z+50, r19 ; 0x32 + b4e: 83 e0 ldi r24, 0x03 ; 3 + b50: 83 ab std Z+51, r24 ; 0x33 + b52: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + b56: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + b5a: 44 ab std Z+52, r20 ; 0x34 + b5c: 55 ab std Z+53, r21 ; 0x35 + b5e: 4e e6 ldi r20, 0x6E ; 110 + b60: 52 e2 ldi r21, 0x22 ; 34 + b62: 40 af std Z+56, r20 ; 0x38 + b64: 51 af std Z+57, r21 ; 0x39 + b66: 12 ae std Z+58, r1 ; 0x3a + b68: 29 e3 ldi r18, 0x39 ; 57 + b6a: 24 af std Z+60, r18 ; 0x3c + b6c: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + b70: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + b74: 20 a9 ldd r18, Z+48 ; 0x30 + b76: 20 68 ori r18, 0x80 ; 128 + b78: 20 ab std Z+48, r18 ; 0x30 + b7a: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + b7e: a0 e4 ldi r26, 0x40 ; 64 + b80: b1 e0 ldi r27, 0x01 ; 1 + b82: 9c 93 st X, r25 + b84: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + b88: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + b8c: 32 e0 ldi r19, 0x02 ; 2 + b8e: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + b92: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + b96: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + b9a: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + b9e: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + ba2: 41 e8 ldi r20, 0x81 ; 129 + ba4: 54 e2 ldi r21, 0x24 ; 36 + ba6: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + baa: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + bae: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + bb2: 2b e3 ldi r18, 0x3B ; 59 + bb4: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + bb8: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + bbc: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + bc0: 2c 91 ld r18, X + bc2: 20 68 ori r18, 0x80 ; 128 + bc4: 2c 93 st X, r18 + bc6: 10 8a std Z+16, r1 ; 0x10 + bc8: 20 e4 ldi r18, 0x40 ; 64 + bca: 20 8b std Z+16, r18 ; 0x10 + bcc: 25 e0 ldi r18, 0x05 ; 5 + bce: 20 8b std Z+16, r18 ; 0x10 + bd0: 81 8b std Z+17, r24 ; 0x11 + bd2: 81 e9 ldi r24, 0x91 ; 145 + bd4: 82 8b std Z+18, r24 ; 0x12 + bd6: 80 e1 ldi r24, 0x10 ; 16 + bd8: 83 8b std Z+19, r24 ; 0x13 + bda: 4e ee ldi r20, 0xEE ; 238 + bdc: 52 e0 ldi r21, 0x02 ; 2 + bde: 44 8b std Z+20, r20 ; 0x14 + be0: 55 8b std Z+21, r21 ; 0x15 + be2: 90 8f std Z+24, r25 ; 0x18 + be4: 31 8f std Z+25, r19 ; 0x19 + be6: 12 8e std Z+26, r1 ; 0x1a + be8: 82 e8 ldi r24, 0x82 ; 130 + bea: 96 e2 ldi r25, 0x26 ; 38 + bec: 84 8f std Z+28, r24 ; 0x1c + bee: 95 8f std Z+29, r25 ; 0x1d + bf0: 16 8e std Z+30, r1 ; 0x1e + bf2: 80 89 ldd r24, Z+16 ; 0x10 + bf4: 80 68 ori r24, 0x80 ; 128 + bf6: 80 8b std Z+16, r24 ; 0x10 + bf8: 08 95 ret -00000bce : - bce: 08 95 ret +00000bfa : + bfa: 08 95 ret -00000bd0 <__vector_6>: - bd0: 1f 92 push r1 - bd2: 0f 92 push r0 - bd4: 0f b6 in r0, 0x3f ; 63 - bd6: 0f 92 push r0 - bd8: 11 24 eor r1, r1 - bda: 2f 93 push r18 - bdc: 3f 93 push r19 - bde: 4f 93 push r20 - be0: 8f 93 push r24 - be2: 9f 93 push r25 - be4: af 93 push r26 - be6: bf 93 push r27 - be8: ef 93 push r30 - bea: ff 93 push r31 - bec: 81 e0 ldi r24, 0x01 ; 1 - bee: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - bf2: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - bf6: 8e 2f mov r24, r30 - bf8: 90 e0 ldi r25, 0x00 ; 0 - bfa: 88 30 cpi r24, 0x08 ; 8 - bfc: 91 05 cpc r25, r1 - bfe: c0 f5 brcc .+112 ; 0xc70 <__vector_6+0xa0> - c00: fc 01 movw r30, r24 - c02: ea 5f subi r30, 0xFA ; 250 - c04: fe 4f sbci r31, 0xFE ; 254 - c06: 0c 94 4d 13 jmp 0x269a ; 0x269a <__tablejump2__> +00000bfc <__vector_6>: + bfc: 1f 92 push r1 + bfe: 0f 92 push r0 + c00: 0f b6 in r0, 0x3f ; 63 + c02: 0f 92 push r0 + c04: 11 24 eor r1, r1 + c06: 8f 93 push r24 + c08: 9f 93 push r25 c0a: 87 e7 ldi r24, 0x77 ; 119 c0c: 91 e0 ldi r25, 0x01 ; 1 c0e: 80 93 14 01 sts 0x0114, r24 ; 0x800114 <__TEXT_REGION_LENGTH__+0x700114> c12: 90 93 15 01 sts 0x0115, r25 ; 0x800115 <__TEXT_REGION_LENGTH__+0x700115> - c16: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - c1a: 2e ee ldi r18, 0xEE ; 238 - c1c: 32 e0 ldi r19, 0x02 ; 2 - c1e: 08 c0 rjmp .+16 ; 0xc30 <__vector_6+0x60> - c20: 2e ee ldi r18, 0xEE ; 238 - c22: 32 e0 ldi r19, 0x02 ; 2 - c24: 20 93 14 01 sts 0x0114, r18 ; 0x800114 <__TEXT_REGION_LENGTH__+0x700114> - c28: 30 93 15 01 sts 0x0115, r19 ; 0x800115 <__TEXT_REGION_LENGTH__+0x700115> - c2c: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - c30: 42 9f mul r20, r18 - c32: c0 01 movw r24, r0 - c34: 43 9f mul r20, r19 - c36: 90 0d add r25, r0 - c38: 11 24 eor r1, r1 - c3a: 86 58 subi r24, 0x86 ; 134 - c3c: 99 4d sbci r25, 0xD9 ; 217 - c3e: 80 93 1c 01 sts 0x011C, r24 ; 0x80011c <__TEXT_REGION_LENGTH__+0x70011c> - c42: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - c46: 42 9f mul r20, r18 - c48: c0 01 movw r24, r0 - c4a: 43 9f mul r20, r19 - c4c: 90 0d add r25, r0 - c4e: 11 24 eor r1, r1 - c50: 86 58 subi r24, 0x86 ; 134 - c52: 99 4d sbci r25, 0xD9 ; 217 - c54: 90 93 1d 01 sts 0x011D, r25 ; 0x80011d <__TEXT_REGION_LENGTH__+0x70011d> - c58: 80 91 10 01 lds r24, 0x0110 ; 0x800110 <__TEXT_REGION_LENGTH__+0x700110> - c5c: 80 68 ori r24, 0x80 ; 128 - c5e: 80 93 10 01 sts 0x0110, r24 ; 0x800110 <__TEXT_REGION_LENGTH__+0x700110> - c62: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 - c66: 81 e0 ldi r24, 0x01 ; 1 - c68: 91 11 cpse r25, r1 - c6a: 80 e0 ldi r24, 0x00 ; 0 - c6c: 80 93 c3 20 sts 0x20C3, r24 ; 0x8020c3 - c70: ff 91 pop r31 - c72: ef 91 pop r30 - c74: bf 91 pop r27 - c76: af 91 pop r26 - c78: 9f 91 pop r25 - c7a: 8f 91 pop r24 - c7c: 4f 91 pop r20 - c7e: 3f 91 pop r19 - c80: 2f 91 pop r18 - c82: 0f 90 pop r0 - c84: 0f be out 0x3f, r0 ; 63 - c86: 0f 90 pop r0 - c88: 1f 90 pop r1 - c8a: 18 95 reti + c16: 80 91 c3 20 lds r24, 0x20C3 ; 0x8020c3 + c1a: 88 23 and r24, r24 + c1c: 39 f0 breq .+14 ; 0xc2c <__vector_6+0x30> + c1e: 80 91 80 24 lds r24, 0x2480 ; 0x802480 + c22: 80 93 1c 01 sts 0x011C, r24 ; 0x80011c <__TEXT_REGION_LENGTH__+0x70011c> + c26: 80 91 6c 22 lds r24, 0x226C ; 0x80226c + c2a: 06 c0 rjmp .+12 ; 0xc38 <__vector_6+0x3c> + c2c: 80 91 7f 24 lds r24, 0x247F ; 0x80247f + c30: 80 93 1c 01 sts 0x011C, r24 ; 0x80011c <__TEXT_REGION_LENGTH__+0x70011c> + c34: 80 91 6d 22 lds r24, 0x226D ; 0x80226d + c38: 80 93 1d 01 sts 0x011D, r24 ; 0x80011d <__TEXT_REGION_LENGTH__+0x70011d> + c3c: 80 91 10 01 lds r24, 0x0110 ; 0x800110 <__TEXT_REGION_LENGTH__+0x700110> + c40: 80 68 ori r24, 0x80 ; 128 + c42: 80 93 10 01 sts 0x0110, r24 ; 0x800110 <__TEXT_REGION_LENGTH__+0x700110> + c46: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 + c4a: 81 e0 ldi r24, 0x01 ; 1 + c4c: 91 11 cpse r25, r1 + c4e: 80 e0 ldi r24, 0x00 ; 0 + c50: 80 93 c3 20 sts 0x20C3, r24 ; 0x8020c3 + c54: 81 e0 ldi r24, 0x01 ; 1 + c56: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + c5a: 9f 91 pop r25 + c5c: 8f 91 pop r24 + c5e: 0f 90 pop r0 + c60: 0f be out 0x3f, r0 ; 63 + c62: 0f 90 pop r0 + c64: 1f 90 pop r1 + c66: 18 95 reti -00000c8c <__vector_7>: - c8c: 1f 92 push r1 - c8e: 0f 92 push r0 - c90: 0f b6 in r0, 0x3f ; 63 - c92: 0f 92 push r0 - c94: 11 24 eor r1, r1 - c96: 2f 93 push r18 - c98: 3f 93 push r19 - c9a: 4f 93 push r20 - c9c: 8f 93 push r24 - c9e: 9f 93 push r25 - ca0: 82 e0 ldi r24, 0x02 ; 2 - ca2: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - ca6: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - caa: 81 30 cpi r24, 0x01 ; 1 - cac: 11 f0 breq .+4 ; 0xcb2 <__vector_7+0x26> - cae: 82 30 cpi r24, 0x02 ; 2 - cb0: 51 f5 brne .+84 ; 0xd06 <__vector_7+0x7a> - cb2: 87 e7 ldi r24, 0x77 ; 119 - cb4: 91 e0 ldi r25, 0x01 ; 1 - cb6: 80 93 24 01 sts 0x0124, r24 ; 0x800124 <__TEXT_REGION_LENGTH__+0x700124> - cba: 90 93 25 01 sts 0x0125, r25 ; 0x800125 <__TEXT_REGION_LENGTH__+0x700125> - cbe: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - cc2: 2e ee ldi r18, 0xEE ; 238 - cc4: 32 e0 ldi r19, 0x02 ; 2 - cc6: 42 9f mul r20, r18 - cc8: c0 01 movw r24, r0 - cca: 43 9f mul r20, r19 - ccc: 90 0d add r25, r0 - cce: 11 24 eor r1, r1 - cd0: 8f 50 subi r24, 0x0F ; 15 - cd2: 98 4d sbci r25, 0xD8 ; 216 - cd4: 80 93 2c 01 sts 0x012C, r24 ; 0x80012c <__TEXT_REGION_LENGTH__+0x70012c> - cd8: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - cdc: 42 9f mul r20, r18 - cde: c0 01 movw r24, r0 - ce0: 43 9f mul r20, r19 - ce2: 90 0d add r25, r0 - ce4: 11 24 eor r1, r1 - ce6: 8f 50 subi r24, 0x0F ; 15 - ce8: 98 4d sbci r25, 0xD8 ; 216 - cea: 90 93 2d 01 sts 0x012D, r25 ; 0x80012d <__TEXT_REGION_LENGTH__+0x70012d> - cee: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <__TEXT_REGION_LENGTH__+0x700120> - cf2: 80 68 ori r24, 0x80 ; 128 - cf4: 80 93 20 01 sts 0x0120, r24 ; 0x800120 <__TEXT_REGION_LENGTH__+0x700120> - cf8: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 - cfc: 81 e0 ldi r24, 0x01 ; 1 - cfe: 91 11 cpse r25, r1 - d00: 80 e0 ldi r24, 0x00 ; 0 - d02: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 - d06: 9f 91 pop r25 - d08: 8f 91 pop r24 - d0a: 4f 91 pop r20 - d0c: 3f 91 pop r19 - d0e: 2f 91 pop r18 - d10: 0f 90 pop r0 - d12: 0f be out 0x3f, r0 ; 63 - d14: 0f 90 pop r0 - d16: 1f 90 pop r1 - d18: 18 95 reti +00000c68 <__vector_7>: + c68: 1f 92 push r1 + c6a: 0f 92 push r0 + c6c: 0f b6 in r0, 0x3f ; 63 + c6e: 0f 92 push r0 + c70: 11 24 eor r1, r1 + c72: 8f 93 push r24 + c74: 9f 93 push r25 + c76: 87 e7 ldi r24, 0x77 ; 119 + c78: 91 e0 ldi r25, 0x01 ; 1 + c7a: 80 93 24 01 sts 0x0124, r24 ; 0x800124 <__TEXT_REGION_LENGTH__+0x700124> + c7e: 90 93 25 01 sts 0x0125, r25 ; 0x800125 <__TEXT_REGION_LENGTH__+0x700125> + c82: 80 91 c2 20 lds r24, 0x20C2 ; 0x8020c2 + c86: 88 23 and r24, r24 + c88: 39 f0 breq .+14 ; 0xc98 <__vector_7+0x30> + c8a: 80 91 5e 2c lds r24, 0x2C5E ; 0x802c5e + c8e: 80 93 2c 01 sts 0x012C, r24 ; 0x80012c <__TEXT_REGION_LENGTH__+0x70012c> + c92: 80 91 66 22 lds r24, 0x2266 ; 0x802266 + c96: 06 c0 rjmp .+12 ; 0xca4 <__vector_7+0x3c> + c98: 80 91 67 22 lds r24, 0x2267 ; 0x802267 + c9c: 80 93 2c 01 sts 0x012C, r24 ; 0x80012c <__TEXT_REGION_LENGTH__+0x70012c> + ca0: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + ca4: 80 93 2d 01 sts 0x012D, r24 ; 0x80012d <__TEXT_REGION_LENGTH__+0x70012d> + ca8: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <__TEXT_REGION_LENGTH__+0x700120> + cac: 80 68 ori r24, 0x80 ; 128 + cae: 80 93 20 01 sts 0x0120, r24 ; 0x800120 <__TEXT_REGION_LENGTH__+0x700120> + cb2: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 + cb6: 81 e0 ldi r24, 0x01 ; 1 + cb8: 91 11 cpse r25, r1 + cba: 80 e0 ldi r24, 0x00 ; 0 + cbc: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 + cc0: 82 e0 ldi r24, 0x02 ; 2 + cc2: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + cc6: 9f 91 pop r25 + cc8: 8f 91 pop r24 + cca: 0f 90 pop r0 + ccc: 0f be out 0x3f, r0 ; 63 + cce: 0f 90 pop r0 + cd0: 1f 90 pop r1 + cd2: 18 95 reti -00000d1a <__vector_8>: - d1a: 1f 92 push r1 - d1c: 0f 92 push r0 - d1e: 0f b6 in r0, 0x3f ; 63 - d20: 0f 92 push r0 - d22: 11 24 eor r1, r1 - d24: 2f 93 push r18 - d26: 3f 93 push r19 - d28: 4f 93 push r20 - d2a: 8f 93 push r24 - d2c: 9f 93 push r25 - d2e: 84 e0 ldi r24, 0x04 ; 4 - d30: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - d34: 87 e7 ldi r24, 0x77 ; 119 - d36: 91 e0 ldi r25, 0x01 ; 1 - d38: 80 93 34 01 sts 0x0134, r24 ; 0x800134 <__TEXT_REGION_LENGTH__+0x700134> - d3c: 90 93 35 01 sts 0x0135, r25 ; 0x800135 <__TEXT_REGION_LENGTH__+0x700135> - d40: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - d44: 2e ee ldi r18, 0xEE ; 238 - d46: 32 e0 ldi r19, 0x02 ; 2 - d48: 42 9f mul r20, r18 - d4a: c0 01 movw r24, r0 - d4c: 43 9f mul r20, r19 - d4e: 90 0d add r25, r0 - d50: 11 24 eor r1, r1 - d52: 8f 50 subi r24, 0x0F ; 15 - d54: 98 4d sbci r25, 0xD8 ; 216 - d56: 80 93 3c 01 sts 0x013C, r24 ; 0x80013c <__TEXT_REGION_LENGTH__+0x70013c> - d5a: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - d5e: 42 9f mul r20, r18 - d60: c0 01 movw r24, r0 - d62: 43 9f mul r20, r19 - d64: 90 0d add r25, r0 - d66: 11 24 eor r1, r1 - d68: 8f 50 subi r24, 0x0F ; 15 - d6a: 98 4d sbci r25, 0xD8 ; 216 - d6c: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - d70: 80 91 30 01 lds r24, 0x0130 ; 0x800130 <__TEXT_REGION_LENGTH__+0x700130> - d74: 80 68 ori r24, 0x80 ; 128 - d76: 80 93 30 01 sts 0x0130, r24 ; 0x800130 <__TEXT_REGION_LENGTH__+0x700130> - d7a: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 - d7e: 81 e0 ldi r24, 0x01 ; 1 - d80: 91 11 cpse r25, r1 - d82: 80 e0 ldi r24, 0x00 ; 0 - d84: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 - d88: 9f 91 pop r25 - d8a: 8f 91 pop r24 - d8c: 4f 91 pop r20 - d8e: 3f 91 pop r19 - d90: 2f 91 pop r18 - d92: 0f 90 pop r0 - d94: 0f be out 0x3f, r0 ; 63 - d96: 0f 90 pop r0 - d98: 1f 90 pop r1 - d9a: 18 95 reti +00000cd4 <__vector_8>: + cd4: 1f 92 push r1 + cd6: 0f 92 push r0 + cd8: 0f b6 in r0, 0x3f ; 63 + cda: 0f 92 push r0 + cdc: 11 24 eor r1, r1 + cde: 0f 90 pop r0 + ce0: 0f be out 0x3f, r0 ; 63 + ce2: 0f 90 pop r0 + ce4: 1f 90 pop r1 + ce6: 18 95 reti -00000d9c <__vector_9>: - d9c: 1f 92 push r1 - d9e: 0f 92 push r0 - da0: 0f b6 in r0, 0x3f ; 63 - da2: 0f 92 push r0 - da4: 11 24 eor r1, r1 - da6: 2f 93 push r18 - da8: 3f 93 push r19 - daa: 4f 93 push r20 - dac: 8f 93 push r24 - dae: 9f 93 push r25 - db0: 88 e0 ldi r24, 0x08 ; 8 - db2: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - db6: 87 e7 ldi r24, 0x77 ; 119 - db8: 91 e0 ldi r25, 0x01 ; 1 - dba: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - dbe: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - dc2: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - dc6: 2e ee ldi r18, 0xEE ; 238 - dc8: 32 e0 ldi r19, 0x02 ; 2 - dca: 42 9f mul r20, r18 - dcc: c0 01 movw r24, r0 - dce: 43 9f mul r20, r19 - dd0: 90 0d add r25, r0 - dd2: 11 24 eor r1, r1 - dd4: 8f 50 subi r24, 0x0F ; 15 - dd6: 98 4d sbci r25, 0xD8 ; 216 - dd8: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - ddc: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - de0: 42 9f mul r20, r18 - de2: c0 01 movw r24, r0 - de4: 43 9f mul r20, r19 - de6: 90 0d add r25, r0 - de8: 11 24 eor r1, r1 - dea: 8f 50 subi r24, 0x0F ; 15 - dec: 98 4d sbci r25, 0xD8 ; 216 - dee: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - df2: 80 91 40 01 lds r24, 0x0140 ; 0x800140 <__TEXT_REGION_LENGTH__+0x700140> - df6: 80 68 ori r24, 0x80 ; 128 - df8: 80 93 40 01 sts 0x0140, r24 ; 0x800140 <__TEXT_REGION_LENGTH__+0x700140> - dfc: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 - e00: 81 e0 ldi r24, 0x01 ; 1 - e02: 91 11 cpse r25, r1 - e04: 80 e0 ldi r24, 0x00 ; 0 - e06: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 - e0a: 9f 91 pop r25 - e0c: 8f 91 pop r24 - e0e: 4f 91 pop r20 - e10: 3f 91 pop r19 - e12: 2f 91 pop r18 - e14: 0f 90 pop r0 - e16: 0f be out 0x3f, r0 ; 63 - e18: 0f 90 pop r0 - e1a: 1f 90 pop r1 - e1c: 18 95 reti +00000ce8 <__vector_9>: + ce8: 1f 92 push r1 + cea: 0f 92 push r0 + cec: 0f b6 in r0, 0x3f ; 63 + cee: 0f 92 push r0 + cf0: 11 24 eor r1, r1 + cf2: 0f 90 pop r0 + cf4: 0f be out 0x3f, r0 ; 63 + cf6: 0f 90 pop r0 + cf8: 1f 90 pop r1 + cfa: 18 95 reti -00000e1e : - e1e: e0 e7 ldi r30, 0x70 ; 112 - e20: f0 e0 ldi r31, 0x00 ; 0 - e22: 83 81 ldd r24, Z+3 ; 0x03 - e24: 8c 7f andi r24, 0xFC ; 252 - e26: 83 83 std Z+3, r24 ; 0x03 - e28: 84 81 ldd r24, Z+4 ; 0x04 - e2a: 8c 7f andi r24, 0xFC ; 252 - e2c: 84 83 std Z+4, r24 ; 0x04 - e2e: 80 81 ld r24, Z - e30: 8d 7f andi r24, 0xFD ; 253 - e32: 80 83 st Z, r24 - e34: e0 e8 ldi r30, 0x80 ; 128 - e36: f1 e0 ldi r31, 0x01 ; 1 - e38: 80 ec ldi r24, 0xC0 ; 192 - e3a: 82 83 std Z+2, r24 ; 0x02 - e3c: 12 86 std Z+10, r1 ; 0x0a - e3e: 88 ec ldi r24, 0xC8 ; 200 - e40: 81 83 std Z+1, r24 ; 0x01 - e42: 11 86 std Z+9, r1 ; 0x09 - e44: a0 e0 ldi r26, 0x00 ; 0 - e46: b8 e0 ldi r27, 0x08 ; 8 - e48: 34 e0 ldi r19, 0x04 ; 4 - e4a: 3c 93 st X, r19 - e4c: 23 e0 ldi r18, 0x03 ; 3 - e4e: 11 96 adiw r26, 0x01 ; 1 - e50: 2c 93 st X, r18 - e52: 11 97 sbiw r26, 0x01 ; 1 - e54: 14 96 adiw r26, 0x04 ; 4 - e56: 1c 92 st X, r1 - e58: 14 97 sbiw r26, 0x04 ; 4 - e5a: 85 ed ldi r24, 0xD5 ; 213 - e5c: 91 e0 ldi r25, 0x01 ; 1 - e5e: 96 96 adiw r26, 0x26 ; 38 - e60: 8d 93 st X+, r24 - e62: 9c 93 st X, r25 - e64: 97 97 sbiw r26, 0x27 ; 39 - e66: 16 96 adiw r26, 0x06 ; 6 - e68: 1c 92 st X, r1 - e6a: 16 97 sbiw r26, 0x06 ; 6 - e6c: e0 e4 ldi r30, 0x40 ; 64 - e6e: f8 e0 ldi r31, 0x08 ; 8 - e70: 30 83 st Z, r19 - e72: 21 83 std Z+1, r18 ; 0x01 - e74: 14 82 std Z+4, r1 ; 0x04 - e76: 86 a3 std Z+38, r24 ; 0x26 - e78: 97 a3 std Z+39, r25 ; 0x27 - e7a: 16 82 std Z+6, r1 ; 0x06 - e7c: e0 e6 ldi r30, 0x60 ; 96 - e7e: f6 e0 ldi r31, 0x06 ; 6 - e80: 80 81 ld r24, Z - e82: 80 61 ori r24, 0x10 ; 16 - e84: 80 83 st Z, r24 - e86: e0 e4 ldi r30, 0x40 ; 64 - e88: f9 e0 ldi r31, 0x09 ; 9 - e8a: 83 e1 ldi r24, 0x13 ; 19 - e8c: 81 83 std Z+1, r24 ; 0x01 - e8e: 14 82 std Z+4, r1 ; 0x04 - e90: 82 e0 ldi r24, 0x02 ; 2 - e92: 86 83 std Z+6, r24 ; 0x06 - e94: a6 a3 std Z+38, r26 ; 0x26 - e96: b7 a3 std Z+39, r27 ; 0x27 - e98: 10 a6 std Z+40, r1 ; 0x28 - e9a: 11 a6 std Z+41, r1 ; 0x29 - e9c: 81 e0 ldi r24, 0x01 ; 1 - e9e: 80 83 st Z, r24 - ea0: 08 95 ret +00000cfc : + cfc: e0 e7 ldi r30, 0x70 ; 112 + cfe: f0 e0 ldi r31, 0x00 ; 0 + d00: 83 81 ldd r24, Z+3 ; 0x03 + d02: 8c 7f andi r24, 0xFC ; 252 + d04: 83 83 std Z+3, r24 ; 0x03 + d06: 84 81 ldd r24, Z+4 ; 0x04 + d08: 8c 7f andi r24, 0xFC ; 252 + d0a: 84 83 std Z+4, r24 ; 0x04 + d0c: 80 81 ld r24, Z + d0e: 8d 7f andi r24, 0xFD ; 253 + d10: 80 83 st Z, r24 + d12: e0 e8 ldi r30, 0x80 ; 128 + d14: f1 e0 ldi r31, 0x01 ; 1 + d16: 80 ec ldi r24, 0xC0 ; 192 + d18: 82 83 std Z+2, r24 ; 0x02 + d1a: 12 86 std Z+10, r1 ; 0x0a + d1c: 80 e2 ldi r24, 0x20 ; 32 + d1e: 81 83 std Z+1, r24 ; 0x01 + d20: 11 86 std Z+9, r1 ; 0x09 + d22: 82 e2 ldi r24, 0x22 ; 34 + d24: 80 83 st Z, r24 + d26: 10 86 std Z+8, r1 ; 0x08 + d28: a0 e0 ldi r26, 0x00 ; 0 + d2a: b8 e0 ldi r27, 0x08 ; 8 + d2c: 34 e0 ldi r19, 0x04 ; 4 + d2e: 3c 93 st X, r19 + d30: 23 e0 ldi r18, 0x03 ; 3 + d32: 11 96 adiw r26, 0x01 ; 1 + d34: 2c 93 st X, r18 + d36: 11 97 sbiw r26, 0x01 ; 1 + d38: 14 96 adiw r26, 0x04 ; 4 + d3a: 1c 92 st X, r1 + d3c: 14 97 sbiw r26, 0x04 ; 4 + d3e: 85 ed ldi r24, 0xD5 ; 213 + d40: 91 e0 ldi r25, 0x01 ; 1 + d42: 96 96 adiw r26, 0x26 ; 38 + d44: 8d 93 st X+, r24 + d46: 9c 93 st X, r25 + d48: 97 97 sbiw r26, 0x27 ; 39 + d4a: 16 96 adiw r26, 0x06 ; 6 + d4c: 1c 92 st X, r1 + d4e: 16 97 sbiw r26, 0x06 ; 6 + d50: e0 e4 ldi r30, 0x40 ; 64 + d52: f8 e0 ldi r31, 0x08 ; 8 + d54: 30 83 st Z, r19 + d56: 21 83 std Z+1, r18 ; 0x01 + d58: 14 82 std Z+4, r1 ; 0x04 + d5a: 86 a3 std Z+38, r24 ; 0x26 + d5c: 97 a3 std Z+39, r25 ; 0x27 + d5e: 16 82 std Z+6, r1 ; 0x06 + d60: e0 e6 ldi r30, 0x60 ; 96 + d62: f6 e0 ldi r31, 0x06 ; 6 + d64: 80 81 ld r24, Z + d66: 80 61 ori r24, 0x10 ; 16 + d68: 80 83 st Z, r24 + d6a: e0 e4 ldi r30, 0x40 ; 64 + d6c: f9 e0 ldi r31, 0x09 ; 9 + d6e: 83 e1 ldi r24, 0x13 ; 19 + d70: 81 83 std Z+1, r24 ; 0x01 + d72: 14 82 std Z+4, r1 ; 0x04 + d74: 82 e0 ldi r24, 0x02 ; 2 + d76: 86 83 std Z+6, r24 ; 0x06 + d78: a6 a3 std Z+38, r26 ; 0x26 + d7a: b7 a3 std Z+39, r27 ; 0x27 + d7c: 10 a6 std Z+40, r1 ; 0x28 + d7e: 11 a6 std Z+41, r1 ; 0x29 + d80: 81 e0 ldi r24, 0x01 ; 1 + d82: 80 83 st Z, r24 + d84: 08 95 ret -00000ea2 <__vector_83>: - ea2: 1f 92 push r1 - ea4: 0f 92 push r0 - ea6: 0f b6 in r0, 0x3f ; 63 - ea8: 0f 92 push r0 - eaa: 11 24 eor r1, r1 - eac: 2f 93 push r18 - eae: 3f 93 push r19 - eb0: 4f 93 push r20 - eb2: 5f 93 push r21 - eb4: 8f 93 push r24 - eb6: 9f 93 push r25 - eb8: cf 93 push r28 - eba: df 93 push r29 - ebc: 1f 92 push r1 - ebe: cd b7 in r28, 0x3d ; 61 - ec0: de b7 in r29, 0x3e ; 62 - ec2: 8f ef ldi r24, 0xFF ; 255 - ec4: 80 93 4c 09 sts 0x094C, r24 ; 0x80094c <__TEXT_REGION_LENGTH__+0x70094c> - ec8: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - ecc: 87 30 cpi r24, 0x07 ; 7 - ece: 31 f4 brne .+12 ; 0xedc <__vector_83+0x3a> - ed0: 80 91 2c 02 lds r24, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> - ed4: 89 83 std Y+1, r24 ; 0x01 - ed6: 90 91 2d 02 lds r25, 0x022D ; 0x80022d <__TEXT_REGION_LENGTH__+0x70022d> - eda: 02 c0 rjmp .+4 ; 0xee0 <__vector_83+0x3e> - edc: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> - ee0: 80 91 c0 20 lds r24, 0x20C0 ; 0x8020c0 <__data_end> - ee4: 89 1b sub r24, r25 - ee6: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - eea: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - eee: 82 30 cpi r24, 0x02 ; 2 - ef0: 8c f0 brlt .+34 ; 0xf14 <__vector_83+0x72> - ef2: 2a 3f cpi r18, 0xFA ; 250 - ef4: 37 40 sbci r19, 0x07 ; 7 - ef6: 70 f4 brcc .+28 ; 0xf14 <__vector_83+0x72> - ef8: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - efc: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - f00: 89 30 cpi r24, 0x09 ; 9 - f02: 1c f4 brge .+6 ; 0xf0a <__vector_83+0x68> - f04: 81 e0 ldi r24, 0x01 ; 1 - f06: 90 e0 ldi r25, 0x00 ; 0 - f08: 02 c0 rjmp .+4 ; 0xf0e <__vector_83+0x6c> - f0a: 86 e0 ldi r24, 0x06 ; 6 - f0c: 90 e0 ldi r25, 0x00 ; 0 - f0e: 82 0f add r24, r18 - f10: 93 1f adc r25, r19 - f12: 18 c0 rjmp .+48 ; 0xf44 <__vector_83+0xa2> - f14: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - f18: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - f1c: 8f 3f cpi r24, 0xFF ; 255 - f1e: b4 f4 brge .+44 ; 0xf4c <__vector_83+0xaa> - f20: 27 30 cpi r18, 0x07 ; 7 - f22: 31 05 cpc r19, r1 - f24: 98 f0 brcs .+38 ; 0xf4c <__vector_83+0xaa> - f26: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - f2a: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - f2e: 88 3f cpi r24, 0xF8 ; 248 - f30: 1c f0 brlt .+6 ; 0xf38 <__vector_83+0x96> - f32: 81 e0 ldi r24, 0x01 ; 1 - f34: 90 e0 ldi r25, 0x00 ; 0 - f36: 02 c0 rjmp .+4 ; 0xf3c <__vector_83+0x9a> - f38: 86 e0 ldi r24, 0x06 ; 6 - f3a: 90 e0 ldi r25, 0x00 ; 0 - f3c: a9 01 movw r20, r18 - f3e: 48 1b sub r20, r24 - f40: 59 0b sbc r21, r25 - f42: ca 01 movw r24, r20 - f44: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - f48: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> - f4c: 0f 90 pop r0 - f4e: df 91 pop r29 - f50: cf 91 pop r28 - f52: 9f 91 pop r25 - f54: 8f 91 pop r24 - f56: 5f 91 pop r21 - f58: 4f 91 pop r20 - f5a: 3f 91 pop r19 - f5c: 2f 91 pop r18 - f5e: 0f 90 pop r0 - f60: 0f be out 0x3f, r0 ; 63 - f62: 0f 90 pop r0 - f64: 1f 90 pop r1 - f66: 18 95 reti +00000d86 <__vector_83>: + d86: 1f 92 push r1 + d88: 0f 92 push r0 + d8a: 0f b6 in r0, 0x3f ; 63 + d8c: 0f 92 push r0 + d8e: 11 24 eor r1, r1 + d90: 2f 93 push r18 + d92: 3f 93 push r19 + d94: 4f 93 push r20 + d96: 5f 93 push r21 + d98: 8f 93 push r24 + d9a: 9f 93 push r25 + d9c: cf 93 push r28 + d9e: df 93 push r29 + da0: 1f 92 push r1 + da2: cd b7 in r28, 0x3d ; 61 + da4: de b7 in r29, 0x3e ; 62 + da6: 8f ef ldi r24, 0xFF ; 255 + da8: 80 93 4c 09 sts 0x094C, r24 ; 0x80094c <__TEXT_REGION_LENGTH__+0x70094c> + dac: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> + db0: 87 30 cpi r24, 0x07 ; 7 + db2: 31 f4 brne .+12 ; 0xdc0 <__vector_83+0x3a> + db4: 80 91 2c 02 lds r24, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + db8: 89 83 std Y+1, r24 ; 0x01 + dba: 90 91 2d 02 lds r25, 0x022D ; 0x80022d <__TEXT_REGION_LENGTH__+0x70022d> + dbe: 02 c0 rjmp .+4 ; 0xdc4 <__vector_83+0x3e> + dc0: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + dc4: 80 91 c0 20 lds r24, 0x20C0 ; 0x8020c0 <__data_end> + dc8: 89 1b sub r24, r25 + dca: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + dce: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + dd2: 82 30 cpi r24, 0x02 ; 2 + dd4: 8c f0 brlt .+34 ; 0xdf8 <__vector_83+0x72> + dd6: 2a 3f cpi r18, 0xFA ; 250 + dd8: 37 40 sbci r19, 0x07 ; 7 + dda: 70 f4 brcc .+28 ; 0xdf8 <__vector_83+0x72> + ddc: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + de0: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + de4: 89 30 cpi r24, 0x09 ; 9 + de6: 1c f4 brge .+6 ; 0xdee <__vector_83+0x68> + de8: 81 e0 ldi r24, 0x01 ; 1 + dea: 90 e0 ldi r25, 0x00 ; 0 + dec: 02 c0 rjmp .+4 ; 0xdf2 <__vector_83+0x6c> + dee: 86 e0 ldi r24, 0x06 ; 6 + df0: 90 e0 ldi r25, 0x00 ; 0 + df2: 82 0f add r24, r18 + df4: 93 1f adc r25, r19 + df6: 18 c0 rjmp .+48 ; 0xe28 <__vector_83+0xa2> + df8: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + dfc: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + e00: 8f 3f cpi r24, 0xFF ; 255 + e02: b4 f4 brge .+44 ; 0xe30 <__vector_83+0xaa> + e04: 27 30 cpi r18, 0x07 ; 7 + e06: 31 05 cpc r19, r1 + e08: 98 f0 brcs .+38 ; 0xe30 <__vector_83+0xaa> + e0a: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + e0e: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + e12: 88 3f cpi r24, 0xF8 ; 248 + e14: 1c f0 brlt .+6 ; 0xe1c <__vector_83+0x96> + e16: 81 e0 ldi r24, 0x01 ; 1 + e18: 90 e0 ldi r25, 0x00 ; 0 + e1a: 02 c0 rjmp .+4 ; 0xe20 <__vector_83+0x9a> + e1c: 86 e0 ldi r24, 0x06 ; 6 + e1e: 90 e0 ldi r25, 0x00 ; 0 + e20: a9 01 movw r20, r18 + e22: 48 1b sub r20, r24 + e24: 59 0b sbc r21, r25 + e26: ca 01 movw r24, r20 + e28: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + e2c: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + e30: 0f 90 pop r0 + e32: df 91 pop r29 + e34: cf 91 pop r28 + e36: 9f 91 pop r25 + e38: 8f 91 pop r24 + e3a: 5f 91 pop r21 + e3c: 4f 91 pop r20 + e3e: 3f 91 pop r19 + e40: 2f 91 pop r18 + e42: 0f 90 pop r0 + e44: 0f be out 0x3f, r0 ; 63 + e46: 0f 90 pop r0 + e48: 1f 90 pop r1 + e4a: 18 95 reti -00000f68 : - f68: e0 e7 ldi r30, 0x70 ; 112 - f6a: f0 e0 ldi r31, 0x00 ; 0 - f6c: 83 81 ldd r24, Z+3 ; 0x03 - f6e: 8f 7e andi r24, 0xEF ; 239 - f70: 83 83 std Z+3, r24 ; 0x03 - f72: e0 e4 ldi r30, 0x40 ; 64 - f74: f6 e0 ldi r31, 0x06 ; 6 - f76: 80 81 ld r24, Z - f78: 8a 6a ori r24, 0xAA ; 170 - f7a: 80 83 st Z, r24 - f7c: 8f ef ldi r24, 0xFF ; 255 - f7e: 84 83 std Z+4, r24 ; 0x04 - f80: 88 e5 ldi r24, 0x58 ; 88 - f82: 82 8b std Z+18, r24 ; 0x12 - f84: e0 ea ldi r30, 0xA0 ; 160 - f86: f8 e0 ldi r31, 0x08 ; 8 - f88: 84 ec ldi r24, 0xC4 ; 196 - f8a: 85 83 std Z+5, r24 ; 0x05 - f8c: 83 e0 ldi r24, 0x03 ; 3 - f8e: 86 83 std Z+6, r24 ; 0x06 - f90: 17 82 std Z+7, r1 ; 0x07 - f92: 88 e1 ldi r24, 0x18 ; 24 - f94: 84 83 std Z+4, r24 ; 0x04 - f96: 08 95 ret +00000e4c : + e4c: e0 e7 ldi r30, 0x70 ; 112 + e4e: f0 e0 ldi r31, 0x00 ; 0 + e50: 83 81 ldd r24, Z+3 ; 0x03 + e52: 8f 7e andi r24, 0xEF ; 239 + e54: 83 83 std Z+3, r24 ; 0x03 + e56: e0 e4 ldi r30, 0x40 ; 64 + e58: f6 e0 ldi r31, 0x06 ; 6 + e5a: 80 81 ld r24, Z + e5c: 8a 6a ori r24, 0xAA ; 170 + e5e: 80 83 st Z, r24 + e60: 8f ef ldi r24, 0xFF ; 255 + e62: 84 83 std Z+4, r24 ; 0x04 + e64: 88 e5 ldi r24, 0x58 ; 88 + e66: 82 8b std Z+18, r24 ; 0x12 + e68: e0 ea ldi r30, 0xA0 ; 160 + e6a: f8 e0 ldi r31, 0x08 ; 8 + e6c: 84 ec ldi r24, 0xC4 ; 196 + e6e: 85 83 std Z+5, r24 ; 0x05 + e70: 83 e0 ldi r24, 0x03 ; 3 + e72: 86 83 std Z+6, r24 ; 0x06 + e74: 17 82 std Z+7, r1 ; 0x07 + e76: 88 e1 ldi r24, 0x18 ; 24 + e78: 84 83 std Z+4, r24 ; 0x04 + e7a: 08 95 ret -00000f98 : - f98: e0 e7 ldi r30, 0x70 ; 112 - f9a: f0 e0 ldi r31, 0x00 ; 0 - f9c: 83 81 ldd r24, Z+3 ; 0x03 - f9e: 87 7f andi r24, 0xF7 ; 247 - fa0: 83 83 std Z+3, r24 ; 0x03 - fa2: e0 ec ldi r30, 0xC0 ; 192 - fa4: f8 e0 ldi r31, 0x08 ; 8 - fa6: 80 e4 ldi r24, 0x40 ; 64 - fa8: 80 83 st Z, r24 - faa: 11 82 std Z+1, r1 ; 0x01 - fac: 88 e5 ldi r24, 0x58 ; 88 - fae: 80 93 55 06 sts 0x0655, r24 ; 0x800655 <__TEXT_REGION_LENGTH__+0x700655> - fb2: 08 95 ret +00000e7c : + e7c: e0 e7 ldi r30, 0x70 ; 112 + e7e: f0 e0 ldi r31, 0x00 ; 0 + e80: 83 81 ldd r24, Z+3 ; 0x03 + e82: 87 7f andi r24, 0xF7 ; 247 + e84: 83 83 std Z+3, r24 ; 0x03 + e86: e0 ec ldi r30, 0xC0 ; 192 + e88: f8 e0 ldi r31, 0x08 ; 8 + e8a: 80 e4 ldi r24, 0x40 ; 64 + e8c: 80 83 st Z, r24 + e8e: 11 82 std Z+1, r1 ; 0x01 + e90: 88 e5 ldi r24, 0x58 ; 88 + e92: 80 93 55 06 sts 0x0655, r24 ; 0x800655 <__TEXT_REGION_LENGTH__+0x700655> + e96: 08 95 ret -00000fb4 <__vector_24>: - fb4: 1f 92 push r1 - fb6: 0f 92 push r0 - fb8: 0f b6 in r0, 0x3f ; 63 - fba: 0f 92 push r0 - fbc: 11 24 eor r1, r1 - fbe: 00 00 nop - fc0: 0f 90 pop r0 - fc2: 0f be out 0x3f, r0 ; 63 - fc4: 0f 90 pop r0 - fc6: 1f 90 pop r1 - fc8: 18 95 reti +00000e98 <__vector_24>: + e98: 1f 92 push r1 + e9a: 0f 92 push r0 + e9c: 0f b6 in r0, 0x3f ; 63 + e9e: 0f 92 push r0 + ea0: 11 24 eor r1, r1 + ea2: 00 00 nop + ea4: 0f 90 pop r0 + ea6: 0f be out 0x3f, r0 ; 63 + ea8: 0f 90 pop r0 + eaa: 1f 90 pop r1 + eac: 18 95 reti -00000fca : - fca: 9f b7 in r25, 0x3f ; 63 - fcc: f8 94 cli - fce: a0 e5 ldi r26, 0x50 ; 80 - fd0: b0 e0 ldi r27, 0x00 ; 0 - fd2: 16 96 adiw r26, 0x06 ; 6 - fd4: 8c 91 ld r24, X - fd6: 16 97 sbiw r26, 0x06 ; 6 - fd8: 89 7f andi r24, 0xF9 ; 249 - fda: 16 96 adiw r26, 0x06 ; 6 - fdc: 8c 93 st X, r24 - fde: 16 97 sbiw r26, 0x06 ; 6 - fe0: e0 e6 ldi r30, 0x60 ; 96 - fe2: f0 e0 ldi r31, 0x00 ; 0 - fe4: 80 e8 ldi r24, 0x80 ; 128 - fe6: 85 83 std Z+5, r24 ; 0x05 - fe8: 8b eb ldi r24, 0xBB ; 187 - fea: 86 83 std Z+6, r24 ; 0x06 - fec: 16 96 adiw r26, 0x06 ; 6 - fee: 8c 91 ld r24, X - ff0: 16 97 sbiw r26, 0x06 ; 6 - ff2: 84 60 ori r24, 0x04 ; 4 - ff4: 16 96 adiw r26, 0x06 ; 6 - ff6: 8c 93 st X, r24 - ff8: 80 81 ld r24, Z - ffa: 81 60 ori r24, 0x01 ; 1 - ffc: 80 83 st Z, r24 - ffe: 9f bf out 0x3f, r25 ; 63 - 1000: 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 -00001002 : - 1002: cf 93 push r28 - 1004: df 93 push r29 - 1006: 00 d0 rcall .+0 ; 0x1008 - 1008: 00 d0 rcall .+0 ; 0x100a - 100a: cd b7 in r28, 0x3d ; 61 - 100c: de b7 in r29, 0x3e ; 62 - 100e: 8f ef ldi r24, 0xFF ; 255 - 1010: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> - 1014: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - 1018: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> - 101c: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> - 1020: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> - 1024: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> - 1028: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> - 102c: 64 e0 ldi r22, 0x04 ; 4 - 102e: 81 e4 ldi r24, 0x41 ; 65 - 1030: 90 e0 ldi r25, 0x00 ; 0 - 1032: 0e d5 rcall .+2588 ; 0x1a50 - 1034: 6c e1 ldi r22, 0x1C ; 28 - 1036: 70 e0 ldi r23, 0x00 ; 0 - 1038: 82 e0 ldi r24, 0x02 ; 2 - 103a: 10 d5 rcall .+2592 ; 0x1a5c - 103c: 8c 83 std Y+4, r24 ; 0x04 - 103e: 6d e1 ldi r22, 0x1D ; 29 - 1040: 70 e0 ldi r23, 0x00 ; 0 - 1042: 82 e0 ldi r24, 0x02 ; 2 - 1044: 0b d5 rcall .+2582 ; 0x1a5c - 1046: 8b 83 std Y+3, r24 ; 0x03 - 1048: 8b 81 ldd r24, Y+3 ; 0x03 - 104a: 9c 81 ldd r25, Y+4 ; 0x04 - 104c: 01 96 adiw r24, 0x01 ; 1 - 104e: 21 f4 brne .+8 ; 0x1058 - 1050: 80 e4 ldi r24, 0x40 ; 64 - 1052: 93 e2 ldi r25, 0x23 ; 35 - 1054: 8b 83 std Y+3, r24 ; 0x03 - 1056: 9c 83 std Y+4, r25 ; 0x04 - 1058: 8b 81 ldd r24, Y+3 ; 0x03 - 105a: 9c 81 ldd r25, Y+4 ; 0x04 - 105c: 89 83 std Y+1, r24 ; 0x01 - 105e: 9a 83 std Y+2, r25 ; 0x02 - 1060: 80 93 62 00 sts 0x0062, r24 ; 0x800062 <__TEXT_REGION_LENGTH__+0x700062> - 1064: 8a 81 ldd r24, Y+2 ; 0x02 - 1066: 80 93 63 00 sts 0x0063, r24 ; 0x800063 <__TEXT_REGION_LENGTH__+0x700063> - 106a: 9f b7 in r25, 0x3f ; 63 - 106c: f8 94 cli - 106e: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 1072: 82 60 ori r24, 0x02 ; 2 - 1074: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 1078: 9f bf out 0x3f, r25 ; 63 - 107a: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - 107e: 81 ff sbrs r24, 1 - 1080: fc cf rjmp .-8 ; 0x107a - 1082: a3 df rcall .-186 ; 0xfca - 1084: 61 e0 ldi r22, 0x01 ; 1 - 1086: 80 e4 ldi r24, 0x40 ; 64 - 1088: 90 e0 ldi r25, 0x00 ; 0 - 108a: e2 d4 rcall .+2500 ; 0x1a50 - 108c: 9f b7 in r25, 0x3f ; 63 - 108e: f8 94 cli - 1090: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 1094: 8e 7f andi r24, 0xFE ; 254 - 1096: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 109a: 9f bf out 0x3f, r25 ; 63 - 109c: 24 96 adiw r28, 0x04 ; 4 - 109e: cd bf out 0x3d, r28 ; 61 - 10a0: de bf out 0x3e, r29 ; 62 - 10a2: df 91 pop r29 - 10a4: cf 91 pop r28 - 10a6: 08 95 ret +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: 09 d5 rcall .+2578 ; 0x192a + f18: 6c e1 ldi r22, 0x1C ; 28 + f1a: 70 e0 ldi r23, 0x00 ; 0 + f1c: 82 e0 ldi r24, 0x02 ; 2 + f1e: 0b d5 rcall .+2582 ; 0x1936 + 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: 06 d5 rcall .+2572 ; 0x1936 + 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: dd d4 rcall .+2490 ; 0x192a + 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 -000010a8 : - 10a8: 9f b7 in r25, 0x3f ; 63 - 10aa: f8 94 cli - 10ac: e8 2f mov r30, r24 - 10ae: f0 e0 ldi r31, 0x00 ; 0 - 10b0: e0 59 subi r30, 0x90 ; 144 - 10b2: ff 4f sbci r31, 0xFF ; 255 - 10b4: 60 95 com r22 - 10b6: 80 81 ld r24, Z - 10b8: 68 23 and r22, r24 - 10ba: 60 83 st Z, r22 - 10bc: 9f bf out 0x3f, r25 ; 63 - 10be: 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 -000010c0 : - 10c0: cf 93 push r28 - 10c2: 86 30 cpi r24, 0x06 ; 6 - 10c4: 11 f0 breq .+4 ; 0x10ca - 10c6: c0 e0 ldi r28, 0x00 ; 0 - 10c8: 01 c0 rjmp .+2 ; 0x10cc - 10ca: c8 e1 ldi r28, 0x18 ; 24 - 10cc: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - 10d0: 81 fd sbrc r24, 1 - 10d2: 0d c0 rjmp .+26 ; 0x10ee - 10d4: 9f b7 in r25, 0x3f ; 63 - 10d6: f8 94 cli - 10d8: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 10dc: 82 60 ori r24, 0x02 ; 2 - 10de: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 10e2: 9f bf out 0x3f, r25 ; 63 - 10e4: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - 10e8: 81 ff sbrs r24, 1 - 10ea: fc cf rjmp .-8 ; 0x10e4 - 10ec: 6e df rcall .-292 ; 0xfca - 10ee: 6c 2f mov r22, r28 - 10f0: 63 60 ori r22, 0x03 ; 3 - 10f2: 84 e4 ldi r24, 0x44 ; 68 - 10f4: 90 e0 ldi r25, 0x00 ; 0 - 10f6: ac d4 rcall .+2392 ; 0x1a50 - 10f8: 60 e4 ldi r22, 0x40 ; 64 - 10fa: 80 e0 ldi r24, 0x00 ; 0 - 10fc: cf 91 pop r28 - 10fe: d4 cf rjmp .-88 ; 0x10a8 +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: a7 d4 rcall .+2382 ; 0x192a + 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 -00001100 : - 1100: 80 91 c5 20 lds r24, 0x20C5 ; 0x8020c5 - 1104: 08 95 ret +00000fe4 : + fe4: 80 91 c5 20 lds r24, 0x20C5 ; 0x8020c5 + fe8: 08 95 ret -00001106 : - 1106: 80 91 c5 20 lds r24, 0x20C5 ; 0x8020c5 - 110a: 81 30 cpi r24, 0x01 ; 1 - 110c: 09 f4 brne .+2 ; 0x1110 - 110e: 53 c9 rjmp .-3418 ; 0x3b6 - 1110: 08 95 ret +00000fea : + fea: 80 91 c5 20 lds r24, 0x20C5 ; 0x8020c5 + fee: 81 30 cpi r24, 0x01 ; 1 + ff0: 09 f4 brne .+2 ; 0xff4 + ff2: f2 c9 rjmp .-3100 ; 0x3d8 + ff4: 08 95 ret -00001112 : - 1112: 13 d1 rcall .+550 ; 0x133a - 1114: fc 01 movw r30, r24 - 1116: 83 81 ldd r24, Z+3 ; 0x03 - 1118: 80 93 c5 20 sts 0x20C5, r24 ; 0x8020c5 - 111c: 81 11 cpse r24, r1 - 111e: 01 c0 rjmp .+2 ; 0x1122 - 1120: 30 c9 rjmp .-3488 ; 0x382 - 1122: 81 e0 ldi r24, 0x01 ; 1 - 1124: 08 95 ret +00000ff6 : + ff6: 13 d1 rcall .+550 ; 0x121e + ff8: fc 01 movw r30, r24 + ffa: 83 81 ldd r24, Z+3 ; 0x03 + ffc: 80 93 c5 20 sts 0x20C5, r24 ; 0x8020c5 + 1000: 81 11 cpse r24, r1 + 1002: 01 c0 rjmp .+2 ; 0x1006 + 1004: cf c9 rjmp .-3170 ; 0x3a4 + 1006: 81 e0 ldi r24, 0x01 ; 1 + 1008: 08 95 ret -00001126 : - 1126: 90 91 6a 24 lds r25, 0x246A ; 0x80246a - 112a: 89 2f mov r24, r25 - 112c: 80 76 andi r24, 0x60 ; 96 - 112e: 97 ff sbrs r25, 7 - 1130: 07 c0 rjmp .+14 ; 0x1140 - 1132: 80 34 cpi r24, 0x40 ; 64 - 1134: 91 f4 brne .+36 ; 0x115a - 1136: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 113a: 81 11 cpse r24, r1 - 113c: 0e c0 rjmp .+28 ; 0x115a - 113e: 40 c9 rjmp .-3456 ; 0x3c0 - 1140: 80 34 cpi r24, 0x40 ; 64 - 1142: 59 f4 brne .+22 ; 0x115a - 1144: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 1148: 81 11 cpse r24, r1 - 114a: 07 c0 rjmp .+14 ; 0x115a - 114c: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1150: 90 91 71 24 lds r25, 0x2471 ; 0x802471 +0000100a : + 100a: 90 91 6f 24 lds r25, 0x246F ; 0x80246f + 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 70 24 lds r24, 0x2470 ; 0x802470 + 101e: 81 11 cpse r24, r1 + 1020: 0e c0 rjmp .+28 ; 0x103e + 1022: df c9 rjmp .-3138 ; 0x3e2 + 1024: 80 34 cpi r24, 0x40 ; 64 + 1026: 59 f4 brne .+22 ; 0x103e + 1028: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 102c: 81 11 cpse r24, r1 + 102e: 07 c0 rjmp .+14 ; 0x103e + 1030: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 1034: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 1038: 89 2b or r24, r25 + 103a: 09 f0 breq .+2 ; 0x103e + 103c: d0 c9 rjmp .-3168 ; 0x3de + 103e: 80 e0 ldi r24, 0x00 ; 0 + 1040: 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: 81 e8 ldi r24, 0x81 ; 129 + 1050: 0e 94 49 10 call 0x2092 ; 0x2092 + 1054: 1f 91 pop r17 + 1056: 0f 91 pop r16 + 1058: 08 95 ret + +0000105a : + 105a: 0f 93 push r16 + 105c: 1f 93 push r17 + 105e: 9b 01 movw r18, r22 + 1060: 8a 01 movw r16, r20 + 1062: ac 01 movw r20, r24 + 1064: 60 e0 ldi r22, 0x00 ; 0 + 1066: 82 e8 ldi r24, 0x82 ; 130 + 1068: 0e 94 49 10 call 0x2092 ; 0x2092 + 106c: 1f 91 pop r17 + 106e: 0f 91 pop r16 + 1070: 08 95 ret + +00001072 : + 1072: 0f 93 push r16 + 1074: 1f 93 push r17 + 1076: 9b 01 movw r18, r22 + 1078: 8a 01 movw r16, r20 + 107a: ac 01 movw r20, r24 + 107c: 60 e0 ldi r22, 0x00 ; 0 + 107e: 83 e8 ldi r24, 0x83 ; 131 + 1080: 0e 94 49 10 call 0x2092 ; 0x2092 + 1084: 1f 91 pop r17 + 1086: 0f 91 pop r16 + 1088: 08 95 ret + +0000108a : + 108a: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 108e: 8f 77 andi r24, 0x7F ; 127 + 1090: 82 c7 rjmp .+3844 ; 0x1f96 + +00001092 : + 1092: 90 91 cc 20 lds r25, 0x20CC ; 0x8020cc + 1096: 91 11 cpse r25, r1 + 1098: 02 c0 rjmp .+4 ; 0x109e + 109a: 80 e0 ldi r24, 0x00 ; 0 + 109c: 08 95 ret + 109e: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 10a2: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 10a6: 01 90 ld r0, Z+ + 10a8: f0 81 ld r31, Z + 10aa: e0 2d mov r30, r0 + 10ac: 94 81 ldd r25, Z+4 ; 0x04 + 10ae: 89 17 cp r24, r25 + 10b0: a0 f7 brcc .-24 ; 0x109a + 10b2: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 + 10b6: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 + 10ba: 22 81 ldd r18, Z+2 ; 0x02 + 10bc: 33 81 ldd r19, Z+3 ; 0x03 + 10be: 2e 0f add r18, r30 + 10c0: 3f 1f adc r19, r31 + 10c2: e2 17 cp r30, r18 + 10c4: f3 07 cpc r31, r19 + 10c6: 98 f4 brcc .+38 ; 0x10ee + 10c8: 91 81 ldd r25, Z+1 ; 0x01 + 10ca: 94 30 cpi r25, 0x04 ; 4 + 10cc: 61 f4 brne .+24 ; 0x10e6 + 10ce: 92 81 ldd r25, Z+2 ; 0x02 + 10d0: 89 13 cpse r24, r25 + 10d2: 09 c0 rjmp .+18 ; 0x10e6 + 10d4: 93 81 ldd r25, Z+3 ; 0x03 + 10d6: 69 13 cpse r22, r25 + 10d8: 06 c0 rjmp .+12 ; 0x10e6 + 10da: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 + 10de: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 + 10e2: 81 e0 ldi r24, 0x01 ; 1 + 10e4: 08 95 ret + 10e6: 90 81 ld r25, Z + 10e8: e9 0f add r30, r25 + 10ea: f1 1d adc r31, r1 + 10ec: ea cf rjmp .-44 ; 0x10c2 + 10ee: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 + 10f2: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 + 10f6: d1 cf rjmp .-94 ; 0x109a + +000010f8 : + 10f8: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 10fc: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 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: 48 f4 brcc .+18 ; 0x112e + 111c: 81 81 ldd r24, Z+1 ; 0x01 + 111e: 84 30 cpi r24, 0x04 ; 4 + 1120: 31 f0 breq .+12 ; 0x112e + 1122: 85 30 cpi r24, 0x05 ; 5 + 1124: 39 f0 breq .+14 ; 0x1134 + 1126: 80 81 ld r24, Z + 1128: e8 0f add r30, r24 + 112a: f1 1d adc r31, r1 + 112c: f4 cf rjmp .-24 ; 0x1116 + 112e: 80 e0 ldi r24, 0x00 ; 0 + 1130: 90 e0 ldi r25, 0x00 ; 0 + 1132: 08 95 ret + 1134: cf 01 movw r24, r30 + 1136: 08 95 ret + +00001138 : + 1138: 1f 93 push r17 + 113a: cf 93 push r28 + 113c: df 93 push r29 + 113e: 18 2f mov r17, r24 + 1140: a8 df rcall .-176 ; 0x1092 + 1142: 88 23 and r24, r24 + 1144: 39 f1 breq .+78 ; 0x1194 + 1146: c0 91 c8 20 lds r28, 0x20C8 ; 0x8020c8 + 114a: d0 91 c9 20 lds r29, 0x20C9 ; 0x8020c9 + 114e: ce 01 movw r24, r28 + 1150: d3 df rcall .-90 ; 0x10f8 + 1152: ec 01 movw r28, r24 1154: 89 2b or r24, r25 - 1156: 09 f0 breq .+2 ; 0x115a - 1158: 31 c9 rjmp .-3486 ; 0x3bc - 115a: 80 e0 ldi r24, 0x00 ; 0 - 115c: 08 95 ret + 1156: 41 f0 breq .+16 ; 0x1168 + 1158: 4c 81 ldd r20, Y+4 ; 0x04 + 115a: 5d 81 ldd r21, Y+5 ; 0x05 + 115c: 6b 81 ldd r22, Y+3 ; 0x03 + 115e: 8a 81 ldd r24, Y+2 ; 0x02 + 1160: 27 d7 rcall .+3662 ; 0x1fb0 + 1162: 81 11 cpse r24, r1 + 1164: f4 cf rjmp .-24 ; 0x114e + 1166: 16 c0 rjmp .+44 ; 0x1194 + 1168: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 116c: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 1170: 92 81 ldd r25, Z+2 ; 0x02 + 1172: 83 81 ldd r24, Z+3 ; 0x03 + 1174: e9 2f mov r30, r25 + 1176: f8 2f mov r31, r24 + 1178: e1 0f add r30, r17 + 117a: f1 1d adc r31, r1 + 117c: e1 0f add r30, r17 + 117e: f1 1d adc r31, r1 + 1180: 01 90 ld r0, Z+ + 1182: f0 81 ld r31, Z + 1184: e0 2d mov r30, r0 + 1186: 01 90 ld r0, Z+ + 1188: f0 81 ld r31, Z + 118a: e0 2d mov r30, r0 + 118c: df 91 pop r29 + 118e: cf 91 pop r28 + 1190: 1f 91 pop r17 + 1192: 09 94 ijmp + 1194: 80 e0 ldi r24, 0x00 ; 0 + 1196: df 91 pop r29 + 1198: cf 91 pop r28 + 119a: 1f 91 pop r17 + 119c: 08 95 ret -0000115e : - 115e: 0f 93 push r16 - 1160: 1f 93 push r17 - 1162: 9b 01 movw r18, r22 - 1164: 8a 01 movw r16, r20 - 1166: ac 01 movw r20, r24 - 1168: 60 e0 ldi r22, 0x00 ; 0 - 116a: 81 e8 ldi r24, 0x81 ; 129 - 116c: 0e 94 dc 10 call 0x21b8 ; 0x21b8 - 1170: 1f 91 pop r17 - 1172: 0f 91 pop r16 - 1174: 08 95 ret +0000119e : + 119e: ef 92 push r14 + 11a0: ff 92 push r15 + 11a2: 1f 93 push r17 + 11a4: cf 93 push r28 + 11a6: df 93 push r29 + 11a8: c8 2f mov r28, r24 + 11aa: 60 e0 ldi r22, 0x00 ; 0 + 11ac: 72 df rcall .-284 ; 0x1092 + 11ae: 81 11 cpse r24, r1 + 11b0: 02 c0 rjmp .+4 ; 0x11b6 + 11b2: 10 e0 ldi r17, 0x00 ; 0 + 11b4: 2d c0 rjmp .+90 ; 0x1210 + 11b6: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 11ba: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 11be: 92 81 ldd r25, Z+2 ; 0x02 + 11c0: 83 81 ldd r24, Z+3 ; 0x03 + 11c2: e9 2f mov r30, r25 + 11c4: f8 2f mov r31, r24 + 11c6: ec 0f add r30, r28 + 11c8: f1 1d adc r31, r1 + 11ca: ec 0f add r30, r28 + 11cc: f1 1d adc r31, r1 + 11ce: e0 80 ld r14, Z + 11d0: f1 80 ldd r15, Z+1 ; 0x01 + 11d2: d7 01 movw r26, r14 + 11d4: 16 96 adiw r26, 0x06 ; 6 + 11d6: ed 91 ld r30, X+ + 11d8: fc 91 ld r31, X + 11da: 17 97 sbiw r26, 0x07 ; 7 + 11dc: 09 95 icall + 11de: 68 2f mov r22, r24 + 11e0: 8c 2f mov r24, r28 + 11e2: 57 df rcall .-338 ; 0x1092 + 11e4: 18 2f mov r17, r24 + 11e6: 88 23 and r24, r24 + 11e8: 21 f3 breq .-56 ; 0x11b2 + 11ea: c0 91 c8 20 lds r28, 0x20C8 ; 0x8020c8 + 11ee: d0 91 c9 20 lds r29, 0x20C9 ; 0x8020c9 + 11f2: ce 01 movw r24, r28 + 11f4: 81 df rcall .-254 ; 0x10f8 + 11f6: ec 01 movw r28, r24 + 11f8: 89 2b or r24, r25 + 11fa: 21 f0 breq .+8 ; 0x1204 + 11fc: 8a 81 ldd r24, Y+2 ; 0x02 + 11fe: 0e 94 05 11 call 0x220a ; 0x220a + 1202: f7 cf rjmp .-18 ; 0x11f2 + 1204: d7 01 movw r26, r14 + 1206: 12 96 adiw r26, 0x02 ; 2 + 1208: ed 91 ld r30, X+ + 120a: fc 91 ld r31, X + 120c: 13 97 sbiw r26, 0x03 ; 3 + 120e: 09 95 icall + 1210: 81 2f mov r24, r17 + 1212: df 91 pop r29 + 1214: cf 91 pop r28 + 1216: 1f 91 pop r17 + 1218: ff 90 pop r15 + 121a: ef 90 pop r14 + 121c: 08 95 ret -00001176 : - 1176: 0f 93 push r16 - 1178: 1f 93 push r17 - 117a: 9b 01 movw r18, r22 - 117c: 8a 01 movw r16, r20 - 117e: ac 01 movw r20, r24 - 1180: 60 e0 ldi r22, 0x00 ; 0 - 1182: 82 e8 ldi r24, 0x82 ; 130 - 1184: 0e 94 dc 10 call 0x21b8 ; 0x21b8 - 1188: 1f 91 pop r17 - 118a: 0f 91 pop r16 - 118c: 08 95 ret +0000121e : + 121e: 80 91 c8 20 lds r24, 0x20C8 ; 0x8020c8 + 1222: 90 91 c9 20 lds r25, 0x20C9 ; 0x8020c9 + 1226: 08 95 ret -0000118e : - 118e: 0f 93 push r16 - 1190: 1f 93 push r17 - 1192: 9b 01 movw r18, r22 - 1194: 8a 01 movw r16, r20 - 1196: ac 01 movw r20, r24 - 1198: 60 e0 ldi r22, 0x00 ; 0 - 119a: 83 e8 ldi r24, 0x83 ; 131 - 119c: 0e 94 dc 10 call 0x21b8 ; 0x21b8 - 11a0: 1f 91 pop r17 - 11a2: 0f 91 pop r16 - 11a4: 08 95 ret +00001228 : + 1228: 3e c6 rjmp .+3196 ; 0x1ea6 -000011a6 : - 11a6: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 11aa: 8f 77 andi r24, 0x7F ; 127 - 11ac: 87 c7 rjmp .+3854 ; 0x20bc +0000122a : + 122a: cf 93 push r28 + 122c: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1230: 81 11 cpse r24, r1 + 1232: 08 c0 rjmp .+16 ; 0x1244 + 1234: 10 92 cc 20 sts 0x20CC, r1 ; 0x8020cc + 1238: 10 92 d0 20 sts 0x20D0, r1 ; 0x8020d0 + 123c: 10 92 d1 20 sts 0x20D1, r1 ; 0x8020d1 + 1240: cf 91 pop r28 + 1242: 08 95 ret + 1244: c0 e0 ldi r28, 0x00 ; 0 + 1246: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 124a: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 124e: 01 90 ld r0, Z+ + 1250: f0 81 ld r31, Z + 1252: e0 2d mov r30, r0 + 1254: 84 81 ldd r24, Z+4 ; 0x04 + 1256: c8 17 cp r28, r24 + 1258: 68 f7 brcc .-38 ; 0x1234 + 125a: 8c 2f mov r24, r28 + 125c: a0 df rcall .-192 ; 0x119e + 125e: cf 5f subi r28, 0xFF ; 255 + 1260: f2 cf rjmp .-28 ; 0x1246 -000011ae : - 11ae: 90 91 cc 20 lds r25, 0x20CC ; 0x8020cc - 11b2: 91 11 cpse r25, r1 - 11b4: 02 c0 rjmp .+4 ; 0x11ba - 11b6: 80 e0 ldi r24, 0x00 ; 0 - 11b8: 08 95 ret - 11ba: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 11be: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 11c2: 01 90 ld r0, Z+ - 11c4: f0 81 ld r31, Z - 11c6: e0 2d mov r30, r0 - 11c8: 94 81 ldd r25, Z+4 ; 0x04 - 11ca: 89 17 cp r24, r25 - 11cc: a0 f7 brcc .-24 ; 0x11b6 - 11ce: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 - 11d2: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 - 11d6: 22 81 ldd r18, Z+2 ; 0x02 - 11d8: 33 81 ldd r19, Z+3 ; 0x03 - 11da: 2e 0f add r18, r30 - 11dc: 3f 1f adc r19, r31 - 11de: e2 17 cp r30, r18 - 11e0: f3 07 cpc r31, r19 - 11e2: 98 f4 brcc .+38 ; 0x120a - 11e4: 91 81 ldd r25, Z+1 ; 0x01 - 11e6: 94 30 cpi r25, 0x04 ; 4 - 11e8: 61 f4 brne .+24 ; 0x1202 - 11ea: 92 81 ldd r25, Z+2 ; 0x02 - 11ec: 89 13 cpse r24, r25 - 11ee: 09 c0 rjmp .+18 ; 0x1202 - 11f0: 93 81 ldd r25, Z+3 ; 0x03 - 11f2: 69 13 cpse r22, r25 - 11f4: 06 c0 rjmp .+12 ; 0x1202 - 11f6: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 - 11fa: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 - 11fe: 81 e0 ldi r24, 0x01 ; 1 - 1200: 08 95 ret - 1202: 90 81 ld r25, Z - 1204: e9 0f add r30, r25 - 1206: f1 1d adc r31, r1 - 1208: ea cf rjmp .-44 ; 0x11de - 120a: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 - 120e: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 - 1212: d1 cf rjmp .-94 ; 0x11b6 +00001262 : + 1262: cf 93 push r28 + 1264: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1268: 88 23 and r24, r24 + 126a: f1 f0 breq .+60 ; 0x12a8 + 126c: c0 e0 ldi r28, 0x00 ; 0 + 126e: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 1272: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 1276: a0 81 ld r26, Z + 1278: b1 81 ldd r27, Z+1 ; 0x01 + 127a: 14 96 adiw r26, 0x04 ; 4 + 127c: 8c 91 ld r24, X + 127e: c8 17 cp r28, r24 + 1280: 98 f4 brcc .+38 ; 0x12a8 + 1282: 92 81 ldd r25, Z+2 ; 0x02 + 1284: 83 81 ldd r24, Z+3 ; 0x03 + 1286: e9 2f mov r30, r25 + 1288: f8 2f mov r31, r24 + 128a: ec 0f add r30, r28 + 128c: f1 1d adc r31, r1 + 128e: ec 0f add r30, r28 + 1290: f1 1d adc r31, r1 + 1292: 01 90 ld r0, Z+ + 1294: f0 81 ld r31, Z + 1296: e0 2d mov r30, r0 + 1298: 00 84 ldd r0, Z+8 ; 0x08 + 129a: f1 85 ldd r31, Z+9 ; 0x09 + 129c: e0 2d mov r30, r0 + 129e: 30 97 sbiw r30, 0x00 ; 0 + 12a0: 09 f0 breq .+2 ; 0x12a4 + 12a2: 09 95 icall + 12a4: cf 5f subi r28, 0xFF ; 255 + 12a6: e3 cf rjmp .-58 ; 0x126e + 12a8: cf 91 pop r28 + 12aa: 08 95 ret -00001214 : - 1214: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 1218: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 121c: 01 90 ld r0, Z+ - 121e: f0 81 ld r31, Z - 1220: e0 2d mov r30, r0 - 1222: 22 81 ldd r18, Z+2 ; 0x02 - 1224: 33 81 ldd r19, Z+3 ; 0x03 - 1226: 2e 0f add r18, r30 - 1228: 3f 1f adc r19, r31 - 122a: fc 01 movw r30, r24 - 122c: 40 81 ld r20, Z - 122e: e4 0f add r30, r20 - 1230: f1 1d adc r31, r1 - 1232: e2 17 cp r30, r18 - 1234: f3 07 cpc r31, r19 - 1236: 48 f4 brcc .+18 ; 0x124a - 1238: 81 81 ldd r24, Z+1 ; 0x01 - 123a: 84 30 cpi r24, 0x04 ; 4 - 123c: 31 f0 breq .+12 ; 0x124a - 123e: 85 30 cpi r24, 0x05 ; 5 - 1240: 39 f0 breq .+14 ; 0x1250 - 1242: 80 81 ld r24, Z - 1244: e8 0f add r30, r24 - 1246: f1 1d adc r31, r1 - 1248: f4 cf rjmp .-24 ; 0x1232 - 124a: 80 e0 ldi r24, 0x00 ; 0 - 124c: 90 e0 ldi r25, 0x00 ; 0 - 124e: 08 95 ret - 1250: cf 01 movw r24, r30 - 1252: 08 95 ret +000012ac : + 12ac: ef 92 push r14 + 12ae: ff 92 push r15 + 12b0: 0f 93 push r16 + 12b2: 1f 93 push r17 + 12b4: cf 93 push r28 + 12b6: df 93 push r29 + 12b8: 1f 92 push r1 + 12ba: cd b7 in r28, 0x3d ; 61 + 12bc: de b7 in r29, 0x3e ; 62 + 12be: 10 92 79 24 sts 0x2479, r1 ; 0x802479 + 12c2: 10 92 7a 24 sts 0x247A, r1 ; 0x80247a + 12c6: 10 92 7b 24 sts 0x247B, r1 ; 0x80247b + 12ca: 10 92 7c 24 sts 0x247C, r1 ; 0x80247c + 12ce: 10 92 7d 24 sts 0x247D, r1 ; 0x80247d + 12d2: 10 92 7e 24 sts 0x247E, r1 ; 0x80247e + 12d6: 80 91 6f 24 lds r24, 0x246F ; 0x80246f + 12da: 87 ff sbrs r24, 7 + 12dc: 07 c0 rjmp .+14 ; 0x12ec + 12de: 20 91 75 24 lds r18, 0x2475 ; 0x802475 + 12e2: 30 91 76 24 lds r19, 0x2476 ; 0x802476 + 12e6: 23 2b or r18, r19 + 12e8: 09 f4 brne .+2 ; 0x12ec + 12ea: 16 c3 rjmp .+1580 ; 0x1918 + 12ec: 98 2f mov r25, r24 + 12ee: 90 76 andi r25, 0x60 ; 96 + 12f0: 90 34 cpi r25, 0x40 ; 64 + 12f2: 09 f0 breq .+2 ; 0x12f6 + 12f4: d2 c0 rjmp .+420 ; 0x149a + 12f6: e0 91 70 24 lds r30, 0x2470 ; 0x802470 + 12fa: 8e 2f mov r24, r30 + 12fc: 90 e0 ldi r25, 0x00 ; 0 + 12fe: fc 01 movw r30, r24 + 1300: e0 5a subi r30, 0xA0 ; 160 + 1302: f1 09 sbc r31, r1 + 1304: e8 30 cpi r30, 0x08 ; 8 + 1306: f1 05 cpc r31, r1 + 1308: 08 f0 brcs .+2 ; 0x130c + 130a: 95 c2 rjmp .+1322 ; 0x1836 + 130c: ea 5f subi r30, 0xFA ; 250 + 130e: fe 4f sbci r31, 0xFE ; 254 + 1310: 0c 94 ba 12 jmp 0x2574 ; 0x2574 <__tablejump2__> + 1314: 00 00 nop + 1316: fe c2 rjmp .+1532 ; 0x1914 + 1318: 10 92 00 08 sts 0x0800, r1 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> + 131c: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 1320: 90 91 72 24 lds r25, 0x2472 ; 0x802472 + 1324: 80 93 36 08 sts 0x0836, r24 ; 0x800836 <__TEXT_REGION_LENGTH__+0x700836> + 1328: 90 93 37 08 sts 0x0837, r25 ; 0x800837 <__TEXT_REGION_LENGTH__+0x700837> + 132c: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 1330: 8f 70 andi r24, 0x0F ; 15 + 1332: 80 93 00 08 sts 0x0800, r24 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> + 1336: 60 91 75 24 lds r22, 0x2475 ; 0x802475 + 133a: 70 91 76 24 lds r23, 0x2476 ; 0x802476 + 133e: 8e e6 ldi r24, 0x6E ; 110 + 1340: 92 e2 ldi r25, 0x22 ; 34 + 1342: 2f d6 rcall .+3166 ; 0x1fa2 + 1344: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + 1348: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + 134c: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 1350: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 1354: 28 17 cp r18, r24 + 1356: 39 07 cpc r19, r25 + 1358: 09 f4 brne .+2 ; 0x135c + 135a: dc c2 rjmp .+1464 ; 0x1914 + 135c: 80 93 04 20 sts 0x2004, r24 ; 0x802004 + 1360: 90 93 05 20 sts 0x2005, r25 ; 0x802005 + 1364: 26 c0 rjmp .+76 ; 0x13b2 + 1366: 10 92 40 08 sts 0x0840, r1 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> + 136a: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 136e: 90 91 72 24 lds r25, 0x2472 ; 0x802472 + 1372: 80 93 76 08 sts 0x0876, r24 ; 0x800876 <__TEXT_REGION_LENGTH__+0x700876> + 1376: 90 93 77 08 sts 0x0877, r25 ; 0x800877 <__TEXT_REGION_LENGTH__+0x700877> + 137a: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 137e: 8f 70 andi r24, 0x0F ; 15 + 1380: 80 93 40 08 sts 0x0840, r24 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> + 1384: 60 91 75 24 lds r22, 0x2475 ; 0x802475 + 1388: 70 91 76 24 lds r23, 0x2476 ; 0x802476 + 138c: 81 e8 ldi r24, 0x81 ; 129 + 138e: 94 e2 ldi r25, 0x24 ; 36 + 1390: 08 d6 rcall .+3088 ; 0x1fa2 + 1392: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 1396: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 139a: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 139e: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 13a2: 28 17 cp r18, r24 + 13a4: 39 07 cpc r19, r25 + 13a6: 09 f4 brne .+2 ; 0x13aa + 13a8: b5 c2 rjmp .+1386 ; 0x1914 + 13aa: 80 93 02 20 sts 0x2002, r24 ; 0x802002 + 13ae: 90 93 03 20 sts 0x2003, r25 ; 0x802003 + 13b2: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 13b6: 8e 2f mov r24, r30 + 13b8: 90 e0 ldi r25, 0x00 ; 0 + 13ba: 88 30 cpi r24, 0x08 ; 8 + 13bc: 91 05 cpc r25, r1 + 13be: 08 f0 brcs .+2 ; 0x13c2 + 13c0: a9 c2 rjmp .+1362 ; 0x1914 + 13c2: fc 01 movw r30, r24 + 13c4: e2 5f subi r30, 0xF2 ; 242 + 13c6: fe 4f sbci r31, 0xFE ; 254 + 13c8: 0c 94 ba 12 jmp 0x2574 ; 0x2574 <__tablejump2__> + 13cc: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 13d0: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 13d4: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 13d8: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 <__data_end> + 13dc: 9b c2 rjmp .+1334 ; 0x1914 + 13de: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 13e2: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> + 13e6: 96 c2 rjmp .+1324 ; 0x1914 + 13e8: e0 91 71 24 lds r30, 0x2471 ; 0x802471 + 13ec: f0 91 72 24 lds r31, 0x2472 ; 0x802472 + 13f0: e8 30 cpi r30, 0x08 ; 8 + 13f2: f1 05 cpc r31, r1 + 13f4: 08 f0 brcs .+2 ; 0x13f8 + 13f6: 1f c2 rjmp .+1086 ; 0x1836 + 13f8: ea 5e subi r30, 0xEA ; 234 + 13fa: fe 4f sbci r31, 0xFE ; 254 + 13fc: 0c 94 ba 12 jmp 0x2574 ; 0x2574 <__tablejump2__> + 1400: 60 e0 ldi r22, 0x00 ; 0 + 1402: 80 e0 ldi r24, 0x00 ; 0 + 1404: 23 d8 rcall .-4026 ; 0x44c + 1406: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 140a: 0e 94 f3 01 call 0x3e6 ; 0x3e6 + 140e: 8f d8 rcall .-3810 ; 0x52e + 1410: 81 c2 rjmp .+1282 ; 0x1914 + 1412: 60 e0 ldi r22, 0x00 ; 0 + 1414: 80 e0 ldi r24, 0x00 ; 0 + 1416: 1a d8 rcall .-4044 ; 0x44c + 1418: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 141c: 0e 94 f3 01 call 0x3e6 ; 0x3e6 + 1420: fa d8 rcall .-3596 ; 0x616 + 1422: 78 c2 rjmp .+1264 ; 0x1914 + 1424: 61 e0 ldi r22, 0x01 ; 1 + 1426: 81 e0 ldi r24, 0x01 ; 1 + 1428: 11 d8 rcall .-4062 ; 0x44c + 142a: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 142e: 0e 94 f3 01 call 0x3e6 ; 0x3e6 + 1432: 80 91 74 24 lds r24, 0x2474 ; 0x802474 + 1436: 0e 94 09 02 call 0x412 ; 0x412 + 143a: 66 d9 rcall .-3380 ; 0x708 + 143c: 6b c2 rjmp .+1238 ; 0x1914 + 143e: dc d9 rcall .-3144 ; 0x7f8 + 1440: 69 c2 rjmp .+1234 ; 0x1914 + 1442: 57 da rcall .-2898 ; 0x8f2 + 1444: 67 c2 rjmp .+1230 ; 0x1914 + 1446: 60 e0 ldi r22, 0x00 ; 0 + 1448: 80 e0 ldi r24, 0x00 ; 0 + 144a: 00 d8 rcall .-4096 ; 0x44c + 144c: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 1450: 0e 94 f3 01 call 0x3e6 ; 0x3e6 + 1454: c5 da rcall .-2678 ; 0x9e0 + 1456: 5e c2 rjmp .+1212 ; 0x1914 + 1458: 61 e0 ldi r22, 0x01 ; 1 + 145a: 80 e0 ldi r24, 0x00 ; 0 + 145c: 0e 94 26 02 call 0x44c ; 0x44c + 1460: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 1464: 0e 94 f3 01 call 0x3e6 ; 0x3e6 + 1468: 03 db rcall .-2554 ; 0xa70 + 146a: 54 c2 rjmp .+1192 ; 0x1914 + 146c: 62 e0 ldi r22, 0x02 ; 2 + 146e: 80 e0 ldi r24, 0x00 ; 0 + 1470: 0e 94 26 02 call 0x44c ; 0x44c + 1474: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 1478: 80 68 ori r24, 0x80 ; 128 + 147a: 0e 94 f3 01 call 0x3e6 ; 0x3e6 + 147e: 5b db rcall .-2378 ; 0xb36 + 1480: 49 c2 rjmp .+1170 ; 0x1914 + 1482: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 1486: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> + 148a: 44 c2 rjmp .+1160 ; 0x1914 + 148c: e9 e7 ldi r30, 0x79 ; 121 + 148e: f0 e0 ldi r31, 0x00 ; 0 + 1490: 91 e0 ldi r25, 0x01 ; 1 + 1492: 88 ed ldi r24, 0xD8 ; 216 + 1494: f8 94 cli + 1496: 84 bf out 0x34, r24 ; 52 + 1498: 90 83 st Z, r25 + 149a: 91 11 cpse r25, r1 + 149c: cc c1 rjmp .+920 ; 0x1836 + 149e: 87 ff sbrs r24, 7 + 14a0: fd c0 rjmp .+506 ; 0x169c + 14a2: 20 91 75 24 lds r18, 0x2475 ; 0x802475 + 14a6: 30 91 76 24 lds r19, 0x2476 ; 0x802476 + 14aa: 21 15 cp r18, r1 + 14ac: 31 05 cpc r19, r1 + 14ae: 09 f4 brne .+2 ; 0x14b2 + 14b0: c2 c1 rjmp .+900 ; 0x1836 + 14b2: 8f 71 andi r24, 0x1F ; 31 + 14b4: 09 f0 breq .+2 ; 0x14b8 + 14b6: 9f c0 rjmp .+318 ; 0x15f6 + 14b8: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 14bc: 86 30 cpi r24, 0x06 ; 6 + 14be: 71 f0 breq .+28 ; 0x14dc + 14c0: 88 30 cpi r24, 0x08 ; 8 + 14c2: 09 f4 brne .+2 ; 0x14c6 + 14c4: 8e c0 rjmp .+284 ; 0x15e2 + 14c6: 81 11 cpse r24, r1 + 14c8: b6 c1 rjmp .+876 ; 0x1836 + 14ca: 22 30 cpi r18, 0x02 ; 2 + 14cc: 31 05 cpc r19, r1 + 14ce: 09 f0 breq .+2 ; 0x14d2 + 14d0: b2 c1 rjmp .+868 ; 0x1836 + 14d2: 62 e0 ldi r22, 0x02 ; 2 + 14d4: 70 e0 ldi r23, 0x00 ; 0 + 14d6: 80 ed ldi r24, 0xD0 ; 208 + 14d8: 90 e2 ldi r25, 0x20 ; 32 + 14da: 8b c0 rjmp .+278 ; 0x15f2 + 14dc: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 14e0: 90 91 72 24 lds r25, 0x2472 ; 0x802472 + 14e4: 29 2f mov r18, r25 + 14e6: 33 27 eor r19, r19 + 14e8: 22 30 cpi r18, 0x02 ; 2 + 14ea: 31 05 cpc r19, r1 + 14ec: a1 f0 breq .+40 ; 0x1516 + 14ee: 64 f4 brge .+24 ; 0x1508 + 14f0: 21 30 cpi r18, 0x01 ; 1 + 14f2: 31 05 cpc r19, r1 + 14f4: 09 f0 breq .+2 ; 0x14f8 + 14f6: 9f c1 rjmp .+830 ; 0x1836 + 14f8: 80 91 10 20 lds r24, 0x2010 ; 0x802010 + 14fc: 90 91 11 20 lds r25, 0x2011 ; 0x802011 + 1500: dc 01 movw r26, r24 + 1502: 6c 91 ld r22, X + 1504: 70 e0 ldi r23, 0x00 ; 0 + 1506: 5b c0 rjmp .+182 ; 0x15be + 1508: 23 30 cpi r18, 0x03 ; 3 + 150a: 31 05 cpc r19, r1 + 150c: 89 f1 breq .+98 ; 0x1570 + 150e: 2f 30 cpi r18, 0x0F ; 15 + 1510: 31 05 cpc r19, r1 + 1512: 09 f1 breq .+66 ; 0x1556 + 1514: 90 c1 rjmp .+800 ; 0x1836 + 1516: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 151a: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 151e: 21 89 ldd r18, Z+17 ; 0x11 + 1520: 82 17 cp r24, r18 + 1522: 08 f0 brcs .+2 ; 0x1526 + 1524: 88 c1 rjmp .+784 ; 0x1836 + 1526: 99 27 eor r25, r25 + 1528: 88 0f add r24, r24 + 152a: 99 1f adc r25, r25 + 152c: 88 0f add r24, r24 + 152e: 99 1f adc r25, r25 + 1530: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 1534: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 1538: e8 0f add r30, r24 + 153a: f9 1f adc r31, r25 + 153c: 80 81 ld r24, Z + 153e: 91 81 ldd r25, Z+1 ; 0x01 + 1540: fc 01 movw r30, r24 + 1542: 62 81 ldd r22, Z+2 ; 0x02 + 1544: 73 81 ldd r23, Z+3 ; 0x03 + 1546: 2d d5 rcall .+2650 ; 0x1fa2 + 1548: e0 91 77 24 lds r30, 0x2477 ; 0x802477 + 154c: f0 91 78 24 lds r31, 0x2478 ; 0x802478 + 1550: 82 e0 ldi r24, 0x02 ; 2 + 1552: 81 83 std Z+1, r24 ; 0x01 + 1554: 35 c0 rjmp .+106 ; 0x15c0 + 1556: 80 91 14 20 lds r24, 0x2014 ; 0x802014 + 155a: 90 91 15 20 lds r25, 0x2015 ; 0x802015 + 155e: 00 97 sbiw r24, 0x00 ; 0 + 1560: 09 f4 brne .+2 ; 0x1564 + 1562: 69 c1 rjmp .+722 ; 0x1836 + 1564: dc 01 movw r26, r24 + 1566: 12 96 adiw r26, 0x02 ; 2 + 1568: 6d 91 ld r22, X+ + 156a: 7c 91 ld r23, X + 156c: 13 97 sbiw r26, 0x03 ; 3 + 156e: 27 c0 rjmp .+78 ; 0x15be + 1570: 99 27 eor r25, r25 + 1572: 81 30 cpi r24, 0x01 ; 1 + 1574: 91 05 cpc r25, r1 + 1576: 69 f0 breq .+26 ; 0x1592 + 1578: 38 f0 brcs .+14 ; 0x1588 + 157a: 02 97 sbiw r24, 0x02 ; 2 + 157c: 09 f0 breq .+2 ; 0x1580 + 157e: 5b c1 rjmp .+694 ; 0x1836 + 1580: 68 e1 ldi r22, 0x18 ; 24 + 1582: 8a e8 ldi r24, 0x8A ; 138 + 1584: 90 e2 ldi r25, 0x20 ; 32 + 1586: 08 c0 rjmp .+16 ; 0x1598 + 1588: 64 e0 ldi r22, 0x04 ; 4 + 158a: 70 e0 ldi r23, 0x00 ; 0 + 158c: 8e ea ldi r24, 0xAE ; 174 + 158e: 90 e2 ldi r25, 0x20 ; 32 + 1590: 16 c0 rjmp .+44 ; 0x15be + 1592: 69 e0 ldi r22, 0x09 ; 9 + 1594: 83 ea ldi r24, 0xA3 ; 163 + 1596: 90 e2 ldi r25, 0x20 ; 32 + 1598: 28 2f mov r18, r24 + 159a: aa e5 ldi r26, 0x5A ; 90 + 159c: b0 e2 ldi r27, 0x20 ; 32 + 159e: fc 01 movw r30, r24 + 15a0: 81 91 ld r24, Z+ + 15a2: 90 e0 ldi r25, 0x00 ; 0 + 15a4: 8d 93 st X+, r24 + 15a6: 9d 93 st X+, r25 + 15a8: 8e 2f mov r24, r30 + 15aa: 82 1b sub r24, r18 + 15ac: 86 17 cp r24, r22 + 15ae: c0 f3 brcs .-16 ; 0x15a0 + 15b0: 66 0f add r22, r22 + 15b2: 6e 5f subi r22, 0xFE ; 254 + 15b4: 60 93 58 20 sts 0x2058, r22 ; 0x802058 + 15b8: 70 e0 ldi r23, 0x00 ; 0 + 15ba: 88 e5 ldi r24, 0x58 ; 88 + 15bc: 90 e2 ldi r25, 0x20 ; 32 + 15be: f1 d4 rcall .+2530 ; 0x1fa2 + 15c0: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 15c4: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 15c8: 20 91 79 24 lds r18, 0x2479 ; 0x802479 + 15cc: 30 91 7a 24 lds r19, 0x247A ; 0x80247a + 15d0: 82 17 cp r24, r18 + 15d2: 93 07 cpc r25, r19 + 15d4: 08 f0 brcs .+2 ; 0x15d8 + 15d6: 9e c1 rjmp .+828 ; 0x1914 + 15d8: 80 93 79 24 sts 0x2479, r24 ; 0x802479 + 15dc: 90 93 7a 24 sts 0x247A, r25 ; 0x80247a + 15e0: 99 c1 rjmp .+818 ; 0x1914 + 15e2: 21 30 cpi r18, 0x01 ; 1 + 15e4: 31 05 cpc r19, r1 + 15e6: 09 f0 breq .+2 ; 0x15ea + 15e8: 26 c1 rjmp .+588 ; 0x1836 + 15ea: 61 e0 ldi r22, 0x01 ; 1 + 15ec: 70 e0 ldi r23, 0x00 ; 0 + 15ee: 8c ec ldi r24, 0xCC ; 204 + 15f0: 90 e2 ldi r25, 0x20 ; 32 + 15f2: d7 d4 rcall .+2478 ; 0x1fa2 + 15f4: 8f c1 rjmp .+798 ; 0x1914 + 15f6: 81 30 cpi r24, 0x01 ; 1 + 15f8: c9 f5 brne .+114 ; 0x166c + 15fa: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 15fe: 8a 30 cpi r24, 0x0A ; 10 + 1600: 09 f0 breq .+2 ; 0x1604 + 1602: 19 c1 rjmp .+562 ; 0x1836 + 1604: 21 30 cpi r18, 0x01 ; 1 + 1606: 31 05 cpc r19, r1 + 1608: 09 f0 breq .+2 ; 0x160c + 160a: 15 c1 rjmp .+554 ; 0x1836 + 160c: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1610: 88 23 and r24, r24 + 1612: 09 f4 brne .+2 ; 0x1616 + 1614: 10 c1 rjmp .+544 ; 0x1836 + 1616: e0 90 73 24 lds r14, 0x2473 ; 0x802473 + 161a: f0 90 74 24 lds r15, 0x2474 ; 0x802474 + 161e: 00 91 ca 20 lds r16, 0x20CA ; 0x8020ca + 1622: 10 91 cb 20 lds r17, 0x20CB ; 0x8020cb + 1626: d8 01 movw r26, r16 + 1628: ed 91 ld r30, X+ + 162a: fc 91 ld r31, X + 162c: 84 81 ldd r24, Z+4 ; 0x04 + 162e: e8 16 cp r14, r24 + 1630: 08 f0 brcs .+2 ; 0x1634 + 1632: 01 c1 rjmp .+514 ; 0x1836 + 1634: 60 e0 ldi r22, 0x00 ; 0 + 1636: 8e 2d mov r24, r14 + 1638: 2c dd rcall .-1448 ; 0x1092 + 163a: 88 23 and r24, r24 + 163c: 09 f4 brne .+2 ; 0x1640 + 163e: fb c0 rjmp .+502 ; 0x1836 + 1640: ff 24 eor r15, r15 + 1642: ee 0c add r14, r14 + 1644: ff 1c adc r15, r15 + 1646: f8 01 movw r30, r16 + 1648: 82 81 ldd r24, Z+2 ; 0x02 + 164a: 93 81 ldd r25, Z+3 ; 0x03 + 164c: 8e 0d add r24, r14 + 164e: 9f 1d adc r25, r15 + 1650: dc 01 movw r26, r24 + 1652: ed 91 ld r30, X+ + 1654: fc 91 ld r31, X + 1656: 06 80 ldd r0, Z+6 ; 0x06 + 1658: f7 81 ldd r31, Z+7 ; 0x07 + 165a: e0 2d mov r30, r0 + 165c: 09 95 icall + 165e: 80 93 ce 20 sts 0x20CE, r24 ; 0x8020ce + 1662: 61 e0 ldi r22, 0x01 ; 1 + 1664: 70 e0 ldi r23, 0x00 ; 0 + 1666: 8e ec ldi r24, 0xCE ; 206 + 1668: 90 e2 ldi r25, 0x20 ; 32 + 166a: c3 cf rjmp .-122 ; 0x15f2 + 166c: 82 30 cpi r24, 0x02 ; 2 + 166e: 09 f0 breq .+2 ; 0x1672 + 1670: e2 c0 rjmp .+452 ; 0x1836 + 1672: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 1676: 81 11 cpse r24, r1 + 1678: de c0 rjmp .+444 ; 0x1836 + 167a: 22 30 cpi r18, 0x02 ; 2 + 167c: 31 05 cpc r19, r1 + 167e: 09 f0 breq .+2 ; 0x1682 + 1680: da c0 rjmp .+436 ; 0x1836 + 1682: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 1686: e5 d4 rcall .+2506 ; 0x2052 + 1688: 90 e0 ldi r25, 0x00 ; 0 + 168a: 80 93 c6 20 sts 0x20C6, r24 ; 0x8020c6 + 168e: 90 93 c7 20 sts 0x20C7, r25 ; 0x8020c7 + 1692: 62 e0 ldi r22, 0x02 ; 2 + 1694: 70 e0 ldi r23, 0x00 ; 0 + 1696: 86 ec ldi r24, 0xC6 ; 198 + 1698: 90 e2 ldi r25, 0x20 ; 32 + 169a: ab cf rjmp .-170 ; 0x15f2 + 169c: 8f 71 andi r24, 0x1F ; 31 + 169e: 09 f0 breq .+2 ; 0x16a2 + 16a0: 7d c0 rjmp .+250 ; 0x179c + 16a2: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 16a6: 83 30 cpi r24, 0x03 ; 3 + 16a8: 09 f4 brne .+2 ; 0x16ac + 16aa: c5 c0 rjmp .+394 ; 0x1836 + 16ac: 18 f4 brcc .+6 ; 0x16b4 + 16ae: 81 30 cpi r24, 0x01 ; 1 + 16b0: a1 f0 breq .+40 ; 0x16da + 16b2: c1 c0 rjmp .+386 ; 0x1836 + 16b4: 85 30 cpi r24, 0x05 ; 5 + 16b6: 19 f0 breq .+6 ; 0x16be + 16b8: 89 30 cpi r24, 0x09 ; 9 + 16ba: 39 f1 breq .+78 ; 0x170a + 16bc: bc c0 rjmp .+376 ; 0x1836 + 16be: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 16c2: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 16c6: 89 2b or r24, r25 + 16c8: 09 f0 breq .+2 ; 0x16cc + 16ca: b5 c0 rjmp .+362 ; 0x1836 + 16cc: 85 e4 ldi r24, 0x45 ; 69 + 16ce: 98 e0 ldi r25, 0x08 ; 8 + 16d0: 80 93 7b 24 sts 0x247B, r24 ; 0x80247b + 16d4: 90 93 7c 24 sts 0x247C, r25 ; 0x80247c + 16d8: 1d c1 rjmp .+570 ; 0x1914 + 16da: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 16de: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 16e2: 89 2b or r24, r25 + 16e4: 09 f0 breq .+2 ; 0x16e8 + 16e6: a7 c0 rjmp .+334 ; 0x1836 + 16e8: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 16ec: 90 91 72 24 lds r25, 0x2472 ; 0x802472 + 16f0: 01 97 sbiw r24, 0x01 ; 1 + 16f2: 09 f0 breq .+2 ; 0x16f6 + 16f4: a0 c0 rjmp .+320 ; 0x1836 + 16f6: 80 91 d0 20 lds r24, 0x20D0 ; 0x8020d0 + 16fa: 90 91 d1 20 lds r25, 0x20D1 ; 0x8020d1 + 16fe: 8d 7f andi r24, 0xFD ; 253 + 1700: 80 93 d0 20 sts 0x20D0, r24 ; 0x8020d0 + 1704: 90 93 d1 20 sts 0x20D1, r25 ; 0x8020d1 + 1708: 05 c1 rjmp .+522 ; 0x1914 + 170a: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 170e: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 1712: 89 2b or r24, r25 + 1714: 09 f0 breq .+2 ; 0x1718 + 1716: 8f c0 rjmp .+286 ; 0x1836 + 1718: 41 d4 rcall .+2178 ; 0x1f9c + 171a: 88 23 and r24, r24 + 171c: 09 f4 brne .+2 ; 0x1720 + 171e: 8b c0 rjmp .+278 ; 0x1836 + 1720: 20 91 71 24 lds r18, 0x2471 ; 0x802471 + 1724: 30 91 72 24 lds r19, 0x2472 ; 0x802472 + 1728: 33 27 eor r19, r19 + 172a: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 172e: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 1732: 81 89 ldd r24, Z+17 ; 0x11 + 1734: 90 e0 ldi r25, 0x00 ; 0 + 1736: 82 17 cp r24, r18 + 1738: 93 07 cpc r25, r19 + 173a: 08 f4 brcc .+2 ; 0x173e + 173c: 7c c0 rjmp .+248 ; 0x1836 + 173e: 75 dd rcall .-1302 ; 0x122a + 1740: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 1744: 90 91 72 24 lds r25, 0x2472 ; 0x802472 + 1748: 80 93 cc 20 sts 0x20CC, r24 ; 0x8020cc + 174c: 88 23 and r24, r24 + 174e: 09 f4 brne .+2 ; 0x1752 + 1750: e1 c0 rjmp .+450 ; 0x1914 + 1752: 99 27 eor r25, r25 + 1754: 81 50 subi r24, 0x01 ; 1 + 1756: 90 4c sbci r25, 0xC0 ; 192 + 1758: 88 0f add r24, r24 + 175a: 99 1f adc r25, r25 + 175c: 88 0f add r24, r24 + 175e: 99 1f adc r25, r25 + 1760: 20 91 12 20 lds r18, 0x2012 ; 0x802012 + 1764: 30 91 13 20 lds r19, 0x2013 ; 0x802013 + 1768: 82 0f add r24, r18 + 176a: 93 1f adc r25, r19 + 176c: 80 93 ca 20 sts 0x20CA, r24 ; 0x8020ca + 1770: 90 93 cb 20 sts 0x20CB, r25 ; 0x8020cb + 1774: 10 e0 ldi r17, 0x00 ; 0 + 1776: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 177a: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 177e: 01 90 ld r0, Z+ + 1780: f0 81 ld r31, Z + 1782: e0 2d mov r30, r0 + 1784: 84 81 ldd r24, Z+4 ; 0x04 + 1786: 18 17 cp r17, r24 + 1788: 08 f0 brcs .+2 ; 0x178c + 178a: c4 c0 rjmp .+392 ; 0x1914 + 178c: 60 e0 ldi r22, 0x00 ; 0 + 178e: 81 2f mov r24, r17 + 1790: d3 dc rcall .-1626 ; 0x1138 + 1792: 88 23 and r24, r24 + 1794: 09 f4 brne .+2 ; 0x1798 + 1796: 4f c0 rjmp .+158 ; 0x1836 + 1798: 1f 5f subi r17, 0xFF ; 255 + 179a: ed cf rjmp .-38 ; 0x1776 + 179c: 81 30 cpi r24, 0x01 ; 1 + 179e: f1 f4 brne .+60 ; 0x17dc + 17a0: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 17a4: 8b 30 cpi r24, 0x0B ; 11 + 17a6: 09 f0 breq .+2 ; 0x17aa + 17a8: 46 c0 rjmp .+140 ; 0x1836 + 17aa: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 17ae: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 17b2: 89 2b or r24, r25 + 17b4: 09 f0 breq .+2 ; 0x17b8 + 17b6: 3f c0 rjmp .+126 ; 0x1836 + 17b8: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 17bc: 88 23 and r24, r24 + 17be: 09 f4 brne .+2 ; 0x17c2 + 17c0: 3a c0 rjmp .+116 ; 0x1836 + 17c2: 10 91 73 24 lds r17, 0x2473 ; 0x802473 + 17c6: 60 91 71 24 lds r22, 0x2471 ; 0x802471 + 17ca: 81 2f mov r24, r17 + 17cc: 69 83 std Y+1, r22 ; 0x01 + 17ce: e7 dc rcall .-1586 ; 0x119e + 17d0: 69 81 ldd r22, Y+1 ; 0x01 + 17d2: 88 23 and r24, r24 + 17d4: 81 f1 breq .+96 ; 0x1836 + 17d6: 81 2f mov r24, r17 + 17d8: af dc rcall .-1698 ; 0x1138 + 17da: 2b c0 rjmp .+86 ; 0x1832 + 17dc: 82 30 cpi r24, 0x02 ; 2 + 17de: 59 f5 brne .+86 ; 0x1836 + 17e0: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 17e4: 81 30 cpi r24, 0x01 ; 1 + 17e6: 19 f0 breq .+6 ; 0x17ee + 17e8: 83 30 cpi r24, 0x03 ; 3 + 17ea: 89 f0 breq .+34 ; 0x180e + 17ec: 24 c0 rjmp .+72 ; 0x1836 + 17ee: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 17f2: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 17f6: 89 2b or r24, r25 + 17f8: f1 f4 brne .+60 ; 0x1836 + 17fa: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 17fe: 90 91 72 24 lds r25, 0x2472 ; 0x802472 + 1802: 89 2b or r24, r25 + 1804: c1 f4 brne .+48 ; 0x1836 + 1806: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 180a: 2a d4 rcall .+2132 ; 0x2060 + 180c: 12 c0 rjmp .+36 ; 0x1832 + 180e: 80 91 75 24 lds r24, 0x2475 ; 0x802475 + 1812: 90 91 76 24 lds r25, 0x2476 ; 0x802476 + 1816: 89 2b or r24, r25 + 1818: 71 f4 brne .+28 ; 0x1836 + 181a: 80 91 71 24 lds r24, 0x2471 ; 0x802471 + 181e: 90 91 72 24 lds r25, 0x2472 ; 0x802472 + 1822: 89 2b or r24, r25 + 1824: 41 f4 brne .+16 ; 0x1836 + 1826: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 182a: bf d4 rcall .+2430 ; 0x21aa + 182c: 80 91 73 24 lds r24, 0x2473 ; 0x802473 + 1830: f5 d4 rcall .+2538 ; 0x221c + 1832: 81 11 cpse r24, r1 + 1834: 6f c0 rjmp .+222 ; 0x1914 + 1836: 80 91 6f 24 lds r24, 0x246F ; 0x80246f + 183a: 8f 71 andi r24, 0x1F ; 31 + 183c: 81 30 cpi r24, 0x01 ; 1 + 183e: b9 f5 brne .+110 ; 0x18ae + 1840: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1844: 88 23 and r24, r24 + 1846: 99 f1 breq .+102 ; 0x18ae + 1848: e0 90 73 24 lds r14, 0x2473 ; 0x802473 + 184c: f0 90 74 24 lds r15, 0x2474 ; 0x802474 + 1850: 00 91 ca 20 lds r16, 0x20CA ; 0x8020ca + 1854: 10 91 cb 20 lds r17, 0x20CB ; 0x8020cb + 1858: d8 01 movw r26, r16 + 185a: ed 91 ld r30, X+ + 185c: fc 91 ld r31, X + 185e: 84 81 ldd r24, Z+4 ; 0x04 + 1860: e8 16 cp r14, r24 + 1862: 28 f5 brcc .+74 ; 0x18ae + 1864: 60 e0 ldi r22, 0x00 ; 0 + 1866: 8e 2d mov r24, r14 + 1868: 14 dc rcall .-2008 ; 0x1092 + 186a: 88 23 and r24, r24 + 186c: 01 f1 breq .+64 ; 0x18ae + 186e: f7 01 movw r30, r14 + 1870: ff 27 eor r31, r31 + 1872: ee 0f add r30, r30 + 1874: ff 1f adc r31, r31 + 1876: d8 01 movw r26, r16 + 1878: 12 96 adiw r26, 0x02 ; 2 + 187a: 8d 91 ld r24, X+ + 187c: 9c 91 ld r25, X + 187e: 13 97 sbiw r26, 0x03 ; 3 + 1880: e8 0f add r30, r24 + 1882: f9 1f adc r31, r25 + 1884: 00 81 ld r16, Z + 1886: 11 81 ldd r17, Z+1 ; 0x01 + 1888: d8 01 movw r26, r16 + 188a: 16 96 adiw r26, 0x06 ; 6 + 188c: ed 91 ld r30, X+ + 188e: fc 91 ld r31, X + 1890: 17 97 sbiw r26, 0x07 ; 7 + 1892: 09 95 icall + 1894: 68 2f mov r22, r24 + 1896: 8e 2d mov r24, r14 + 1898: fc db rcall .-2056 ; 0x1092 + 189a: 88 23 and r24, r24 + 189c: 41 f0 breq .+16 ; 0x18ae + 189e: d8 01 movw r26, r16 + 18a0: 14 96 adiw r26, 0x04 ; 4 + 18a2: ed 91 ld r30, X+ + 18a4: fc 91 ld r31, X + 18a6: 15 97 sbiw r26, 0x05 ; 5 + 18a8: 09 95 icall + 18aa: 81 11 cpse r24, r1 + 18ac: 33 c0 rjmp .+102 ; 0x1914 + 18ae: 80 91 6f 24 lds r24, 0x246F ; 0x80246f + 18b2: 8f 71 andi r24, 0x1F ; 31 + 18b4: 82 30 cpi r24, 0x02 ; 2 + 18b6: 81 f5 brne .+96 ; 0x1918 + 18b8: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 18bc: 88 23 and r24, r24 + 18be: 61 f1 breq .+88 ; 0x1918 + 18c0: f1 2c mov r15, r1 + 18c2: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 18c6: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 18ca: a0 81 ld r26, Z + 18cc: b1 81 ldd r27, Z+1 ; 0x01 + 18ce: 14 96 adiw r26, 0x04 ; 4 + 18d0: 8c 91 ld r24, X + 18d2: f8 16 cp r15, r24 + 18d4: 08 f5 brcc .+66 ; 0x1918 + 18d6: 92 81 ldd r25, Z+2 ; 0x02 + 18d8: 83 81 ldd r24, Z+3 ; 0x03 + 18da: e9 2f mov r30, r25 + 18dc: f8 2f mov r31, r24 + 18de: ef 0d add r30, r15 + 18e0: f1 1d adc r31, r1 + 18e2: ef 0d add r30, r15 + 18e4: f1 1d adc r31, r1 + 18e6: 00 81 ld r16, Z + 18e8: 11 81 ldd r17, Z+1 ; 0x01 + 18ea: d8 01 movw r26, r16 + 18ec: 16 96 adiw r26, 0x06 ; 6 + 18ee: ed 91 ld r30, X+ + 18f0: fc 91 ld r31, X + 18f2: 17 97 sbiw r26, 0x07 ; 7 + 18f4: 09 95 icall + 18f6: 68 2f mov r22, r24 + 18f8: 8f 2d mov r24, r15 + 18fa: cb db rcall .-2154 ; 0x1092 + 18fc: 88 23 and r24, r24 + 18fe: 61 f0 breq .+24 ; 0x1918 + 1900: d8 01 movw r26, r16 + 1902: 14 96 adiw r26, 0x04 ; 4 + 1904: ed 91 ld r30, X+ + 1906: fc 91 ld r31, X + 1908: 15 97 sbiw r26, 0x05 ; 5 + 190a: 09 95 icall + 190c: 81 11 cpse r24, r1 + 190e: 02 c0 rjmp .+4 ; 0x1914 + 1910: f3 94 inc r15 + 1912: d7 cf rjmp .-82 ; 0x18c2 + 1914: 81 e0 ldi r24, 0x01 ; 1 + 1916: 01 c0 rjmp .+2 ; 0x191a + 1918: 80 e0 ldi r24, 0x00 ; 0 + 191a: 0f 90 pop r0 + 191c: df 91 pop r29 + 191e: cf 91 pop r28 + 1920: 1f 91 pop r17 + 1922: 0f 91 pop r16 + 1924: ff 90 pop r15 + 1926: ef 90 pop r14 + 1928: 08 95 ret -00001254 : - 1254: 1f 93 push r17 - 1256: cf 93 push r28 - 1258: df 93 push r29 - 125a: 18 2f mov r17, r24 - 125c: a8 df rcall .-176 ; 0x11ae - 125e: 88 23 and r24, r24 - 1260: 39 f1 breq .+78 ; 0x12b0 - 1262: c0 91 c8 20 lds r28, 0x20C8 ; 0x8020c8 - 1266: d0 91 c9 20 lds r29, 0x20C9 ; 0x8020c9 - 126a: ce 01 movw r24, r28 - 126c: d3 df rcall .-90 ; 0x1214 - 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: 2c d7 rcall .+3672 ; 0x20d6 - 127e: 81 11 cpse r24, r1 - 1280: f4 cf rjmp .-24 ; 0x126a - 1282: 16 c0 rjmp .+44 ; 0x12b0 - 1284: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 1288: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 128c: 92 81 ldd r25, Z+2 ; 0x02 - 128e: 83 81 ldd r24, Z+3 ; 0x03 - 1290: e9 2f mov r30, r25 - 1292: f8 2f mov r31, r24 - 1294: e1 0f add r30, r17 - 1296: f1 1d adc r31, r1 - 1298: e1 0f add r30, r17 - 129a: f1 1d adc r31, r1 - 129c: 01 90 ld r0, Z+ - 129e: f0 81 ld r31, Z - 12a0: e0 2d mov r30, r0 - 12a2: 01 90 ld r0, Z+ - 12a4: f0 81 ld r31, Z - 12a6: e0 2d mov r30, r0 - 12a8: df 91 pop r29 - 12aa: cf 91 pop r28 - 12ac: 1f 91 pop r17 - 12ae: 09 94 ijmp - 12b0: 80 e0 ldi r24, 0x00 ; 0 - 12b2: df 91 pop r29 - 12b4: cf 91 pop r28 - 12b6: 1f 91 pop r17 - 12b8: 08 95 ret - -000012ba : - 12ba: ef 92 push r14 - 12bc: ff 92 push r15 - 12be: 1f 93 push r17 - 12c0: cf 93 push r28 - 12c2: df 93 push r29 - 12c4: c8 2f mov r28, r24 - 12c6: 60 e0 ldi r22, 0x00 ; 0 - 12c8: 72 df rcall .-284 ; 0x11ae - 12ca: 81 11 cpse r24, r1 - 12cc: 02 c0 rjmp .+4 ; 0x12d2 - 12ce: 10 e0 ldi r17, 0x00 ; 0 - 12d0: 2d c0 rjmp .+90 ; 0x132c - 12d2: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 12d6: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 12da: 92 81 ldd r25, Z+2 ; 0x02 - 12dc: 83 81 ldd r24, Z+3 ; 0x03 - 12de: e9 2f mov r30, r25 - 12e0: f8 2f mov r31, r24 - 12e2: ec 0f add r30, r28 - 12e4: f1 1d adc r31, r1 - 12e6: ec 0f add r30, r28 - 12e8: f1 1d adc r31, r1 - 12ea: e0 80 ld r14, Z - 12ec: f1 80 ldd r15, Z+1 ; 0x01 - 12ee: d7 01 movw r26, r14 - 12f0: 16 96 adiw r26, 0x06 ; 6 - 12f2: ed 91 ld r30, X+ - 12f4: fc 91 ld r31, X - 12f6: 17 97 sbiw r26, 0x07 ; 7 - 12f8: 09 95 icall - 12fa: 68 2f mov r22, r24 - 12fc: 8c 2f mov r24, r28 - 12fe: 57 df rcall .-338 ; 0x11ae - 1300: 18 2f mov r17, r24 - 1302: 88 23 and r24, r24 - 1304: 21 f3 breq .-56 ; 0x12ce - 1306: c0 91 c8 20 lds r28, 0x20C8 ; 0x8020c8 - 130a: d0 91 c9 20 lds r29, 0x20C9 ; 0x8020c9 - 130e: ce 01 movw r24, r28 - 1310: 81 df rcall .-254 ; 0x1214 - 1312: ec 01 movw r28, r24 - 1314: 89 2b or r24, r25 - 1316: 21 f0 breq .+8 ; 0x1320 - 1318: 8a 81 ldd r24, Y+2 ; 0x02 - 131a: 0e 94 98 11 call 0x2330 ; 0x2330 - 131e: f7 cf rjmp .-18 ; 0x130e - 1320: d7 01 movw r26, r14 - 1322: 12 96 adiw r26, 0x02 ; 2 - 1324: ed 91 ld r30, X+ - 1326: fc 91 ld r31, X - 1328: 13 97 sbiw r26, 0x03 ; 3 - 132a: 09 95 icall - 132c: 81 2f mov r24, r17 - 132e: df 91 pop r29 - 1330: cf 91 pop r28 - 1332: 1f 91 pop r17 - 1334: ff 90 pop r15 - 1336: ef 90 pop r14 - 1338: 08 95 ret - -0000133a : - 133a: 80 91 c8 20 lds r24, 0x20C8 ; 0x8020c8 - 133e: 90 91 c9 20 lds r25, 0x20C9 ; 0x8020c9 - 1342: 08 95 ret - -00001344 : - 1344: 43 c6 rjmp .+3206 ; 0x1fcc - -00001346 : - 1346: cf 93 push r28 - 1348: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 134c: 81 11 cpse r24, r1 - 134e: 08 c0 rjmp .+16 ; 0x1360 - 1350: 10 92 cc 20 sts 0x20CC, r1 ; 0x8020cc - 1354: 10 92 d0 20 sts 0x20D0, r1 ; 0x8020d0 - 1358: 10 92 d1 20 sts 0x20D1, r1 ; 0x8020d1 - 135c: cf 91 pop r28 - 135e: 08 95 ret - 1360: c0 e0 ldi r28, 0x00 ; 0 - 1362: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 1366: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 136a: 01 90 ld r0, Z+ - 136c: f0 81 ld r31, Z - 136e: e0 2d mov r30, r0 - 1370: 84 81 ldd r24, Z+4 ; 0x04 - 1372: c8 17 cp r28, r24 - 1374: 68 f7 brcc .-38 ; 0x1350 - 1376: 8c 2f mov r24, r28 - 1378: a0 df rcall .-192 ; 0x12ba - 137a: cf 5f subi r28, 0xFF ; 255 - 137c: f2 cf rjmp .-28 ; 0x1362 - -0000137e : - 137e: cf 93 push r28 - 1380: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 1384: 88 23 and r24, r24 - 1386: f1 f0 breq .+60 ; 0x13c4 - 1388: c0 e0 ldi r28, 0x00 ; 0 - 138a: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 138e: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 1392: a0 81 ld r26, Z - 1394: b1 81 ldd r27, Z+1 ; 0x01 - 1396: 14 96 adiw r26, 0x04 ; 4 - 1398: 8c 91 ld r24, X - 139a: c8 17 cp r28, r24 - 139c: 98 f4 brcc .+38 ; 0x13c4 - 139e: 92 81 ldd r25, Z+2 ; 0x02 - 13a0: 83 81 ldd r24, Z+3 ; 0x03 - 13a2: e9 2f mov r30, r25 - 13a4: f8 2f mov r31, r24 - 13a6: ec 0f add r30, r28 - 13a8: f1 1d adc r31, r1 - 13aa: ec 0f add r30, r28 - 13ac: f1 1d adc r31, r1 - 13ae: 01 90 ld r0, Z+ - 13b0: f0 81 ld r31, Z - 13b2: e0 2d mov r30, r0 - 13b4: 00 84 ldd r0, Z+8 ; 0x08 - 13b6: f1 85 ldd r31, Z+9 ; 0x09 - 13b8: e0 2d mov r30, r0 - 13ba: 30 97 sbiw r30, 0x00 ; 0 - 13bc: 09 f0 breq .+2 ; 0x13c0 - 13be: 09 95 icall - 13c0: cf 5f subi r28, 0xFF ; 255 - 13c2: e3 cf rjmp .-58 ; 0x138a - 13c4: cf 91 pop r28 - 13c6: 08 95 ret - -000013c8 : - 13c8: ef 92 push r14 - 13ca: ff 92 push r15 - 13cc: 0f 93 push r16 - 13ce: 1f 93 push r17 - 13d0: cf 93 push r28 - 13d2: df 93 push r29 - 13d4: 1f 92 push r1 - 13d6: cd b7 in r28, 0x3d ; 61 - 13d8: de b7 in r29, 0x3e ; 62 - 13da: 10 92 74 24 sts 0x2474, r1 ; 0x802474 - 13de: 10 92 75 24 sts 0x2475, r1 ; 0x802475 - 13e2: 10 92 76 24 sts 0x2476, r1 ; 0x802476 - 13e6: 10 92 77 24 sts 0x2477, r1 ; 0x802477 - 13ea: 10 92 78 24 sts 0x2478, r1 ; 0x802478 - 13ee: 10 92 79 24 sts 0x2479, r1 ; 0x802479 - 13f2: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 13f6: 87 ff sbrs r24, 7 - 13f8: 07 c0 rjmp .+14 ; 0x1408 - 13fa: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 13fe: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 1402: 23 2b or r18, r19 - 1404: 09 f4 brne .+2 ; 0x1408 - 1406: 1b c3 rjmp .+1590 ; 0x1a3e - 1408: 98 2f mov r25, r24 - 140a: 90 76 andi r25, 0x60 ; 96 - 140c: 90 34 cpi r25, 0x40 ; 64 - 140e: 09 f0 breq .+2 ; 0x1412 - 1410: d7 c0 rjmp .+430 ; 0x15c0 - 1412: e0 91 6b 24 lds r30, 0x246B ; 0x80246b - 1416: 8e 2f mov r24, r30 - 1418: 90 e0 ldi r25, 0x00 ; 0 - 141a: fc 01 movw r30, r24 - 141c: e0 5a subi r30, 0xA0 ; 160 - 141e: f1 09 sbc r31, r1 - 1420: e8 30 cpi r30, 0x08 ; 8 - 1422: f1 05 cpc r31, r1 - 1424: 08 f0 brcs .+2 ; 0x1428 - 1426: 9a c2 rjmp .+1332 ; 0x195c - 1428: e2 5f subi r30, 0xF2 ; 242 - 142a: fe 4f sbci r31, 0xFE ; 254 - 142c: 0c 94 4d 13 jmp 0x269a ; 0x269a <__tablejump2__> - 1430: 00 00 nop - 1432: 03 c3 rjmp .+1542 ; 0x1a3a - 1434: 10 92 00 08 sts 0x0800, r1 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> - 1438: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 143c: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 1440: 80 93 36 08 sts 0x0836, r24 ; 0x800836 <__TEXT_REGION_LENGTH__+0x700836> - 1444: 90 93 37 08 sts 0x0837, r25 ; 0x800837 <__TEXT_REGION_LENGTH__+0x700837> - 1448: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 144c: 8f 70 andi r24, 0x0F ; 15 - 144e: 80 93 00 08 sts 0x0800, r24 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> - 1452: 60 91 70 24 lds r22, 0x2470 ; 0x802470 - 1456: 70 91 71 24 lds r23, 0x2471 ; 0x802471 - 145a: 8a e6 ldi r24, 0x6A ; 106 - 145c: 92 e2 ldi r25, 0x22 ; 34 - 145e: 34 d6 rcall .+3176 ; 0x20c8 - 1460: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 1464: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 1468: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 146c: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 1470: 28 17 cp r18, r24 - 1472: 39 07 cpc r19, r25 - 1474: 09 f4 brne .+2 ; 0x1478 - 1476: e1 c2 rjmp .+1474 ; 0x1a3a - 1478: 80 93 04 20 sts 0x2004, r24 ; 0x802004 - 147c: 90 93 05 20 sts 0x2005, r25 ; 0x802005 - 1480: 26 c0 rjmp .+76 ; 0x14ce - 1482: 10 92 40 08 sts 0x0840, r1 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> - 1486: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 148a: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 148e: 80 93 76 08 sts 0x0876, r24 ; 0x800876 <__TEXT_REGION_LENGTH__+0x700876> - 1492: 90 93 77 08 sts 0x0877, r25 ; 0x800877 <__TEXT_REGION_LENGTH__+0x700877> - 1496: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 149a: 8f 70 andi r24, 0x0F ; 15 - 149c: 80 93 40 08 sts 0x0840, r24 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> - 14a0: 60 91 70 24 lds r22, 0x2470 ; 0x802470 - 14a4: 70 91 71 24 lds r23, 0x2471 ; 0x802471 - 14a8: 8a e7 ldi r24, 0x7A ; 122 - 14aa: 94 e2 ldi r25, 0x24 ; 36 - 14ac: 0d d6 rcall .+3098 ; 0x20c8 - 14ae: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 14b2: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 14b6: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 14ba: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 14be: 28 17 cp r18, r24 - 14c0: 39 07 cpc r19, r25 - 14c2: 09 f4 brne .+2 ; 0x14c6 - 14c4: ba c2 rjmp .+1396 ; 0x1a3a - 14c6: 80 93 02 20 sts 0x2002, r24 ; 0x802002 - 14ca: 90 93 03 20 sts 0x2003, r25 ; 0x802003 - 14ce: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 14d2: 8e 2f mov r24, r30 - 14d4: 90 e0 ldi r25, 0x00 ; 0 - 14d6: 88 30 cpi r24, 0x08 ; 8 - 14d8: 91 05 cpc r25, r1 - 14da: 08 f0 brcs .+2 ; 0x14de - 14dc: ae c2 rjmp .+1372 ; 0x1a3a - 14de: fc 01 movw r30, r24 - 14e0: ea 5e subi r30, 0xEA ; 234 - 14e2: fe 4f sbci r31, 0xFE ; 254 - 14e4: 0c 94 4d 13 jmp 0x269a ; 0x269a <__tablejump2__> - 14e8: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 14ec: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 14f0: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 14f4: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 <__data_end> - 14f8: a0 c2 rjmp .+1344 ; 0x1a3a - 14fa: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 14fe: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> - 1502: 9b c2 rjmp .+1334 ; 0x1a3a - 1504: e0 91 6c 24 lds r30, 0x246C ; 0x80246c - 1508: f0 91 6d 24 lds r31, 0x246D ; 0x80246d - 150c: e8 30 cpi r30, 0x08 ; 8 - 150e: f1 05 cpc r31, r1 - 1510: 08 f0 brcs .+2 ; 0x1514 - 1512: 24 c2 rjmp .+1096 ; 0x195c - 1514: e2 5e subi r30, 0xE2 ; 226 - 1516: fe 4f sbci r31, 0xFE ; 254 - 1518: 0c 94 4d 13 jmp 0x269a ; 0x269a <__tablejump2__> - 151c: 60 e0 ldi r22, 0x00 ; 0 - 151e: 80 e0 ldi r24, 0x00 ; 0 - 1520: 0e 94 15 02 call 0x42a ; 0x42a - 1524: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1528: 0e 94 e2 01 call 0x3c4 ; 0x3c4 - 152c: 0e 94 83 02 call 0x506 ; 0x506 - 1530: 84 c2 rjmp .+1288 ; 0x1a3a - 1532: 60 e0 ldi r22, 0x00 ; 0 - 1534: 80 e0 ldi r24, 0x00 ; 0 - 1536: 0e 94 15 02 call 0x42a ; 0x42a - 153a: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 153e: 0e 94 e2 01 call 0x3c4 ; 0x3c4 - 1542: 55 d8 rcall .-3926 ; 0x5ee - 1544: 7a c2 rjmp .+1268 ; 0x1a3a - 1546: 61 e0 ldi r22, 0x01 ; 1 - 1548: 81 e0 ldi r24, 0x01 ; 1 - 154a: 0e 94 15 02 call 0x42a ; 0x42a - 154e: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1552: 0e 94 e2 01 call 0x3c4 ; 0x3c4 - 1556: 80 91 6f 24 lds r24, 0x246F ; 0x80246f - 155a: 0e 94 f8 01 call 0x3f0 ; 0x3f0 - 155e: c0 d8 rcall .-3712 ; 0x6e0 - 1560: 6c c2 rjmp .+1240 ; 0x1a3a - 1562: 34 d9 rcall .-3480 ; 0x7cc - 1564: 6a c2 rjmp .+1236 ; 0x1a3a - 1566: af d9 rcall .-3234 ; 0x8c6 - 1568: 68 c2 rjmp .+1232 ; 0x1a3a - 156a: 60 e0 ldi r22, 0x00 ; 0 - 156c: 80 e0 ldi r24, 0x00 ; 0 - 156e: 0e 94 15 02 call 0x42a ; 0x42a - 1572: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1576: 0e 94 e2 01 call 0x3c4 ; 0x3c4 - 157a: 1c da rcall .-3016 ; 0x9b4 - 157c: 5e c2 rjmp .+1212 ; 0x1a3a - 157e: 61 e0 ldi r22, 0x01 ; 1 - 1580: 80 e0 ldi r24, 0x00 ; 0 - 1582: 0e 94 15 02 call 0x42a ; 0x42a - 1586: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 158a: 0e 94 e2 01 call 0x3c4 ; 0x3c4 - 158e: 5a da rcall .-2892 ; 0xa44 - 1590: 54 c2 rjmp .+1192 ; 0x1a3a - 1592: 62 e0 ldi r22, 0x02 ; 2 - 1594: 80 e0 ldi r24, 0x00 ; 0 - 1596: 0e 94 15 02 call 0x42a ; 0x42a - 159a: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 159e: 80 68 ori r24, 0x80 ; 128 - 15a0: 0e 94 e2 01 call 0x3c4 ; 0x3c4 - 15a4: b2 da rcall .-2716 ; 0xb0a - 15a6: 49 c2 rjmp .+1170 ; 0x1a3a - 15a8: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 15ac: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> - 15b0: 44 c2 rjmp .+1160 ; 0x1a3a - 15b2: e9 e7 ldi r30, 0x79 ; 121 - 15b4: f0 e0 ldi r31, 0x00 ; 0 - 15b6: 91 e0 ldi r25, 0x01 ; 1 - 15b8: 88 ed ldi r24, 0xD8 ; 216 - 15ba: f8 94 cli - 15bc: 84 bf out 0x34, r24 ; 52 - 15be: 90 83 st Z, r25 - 15c0: 91 11 cpse r25, r1 - 15c2: cc c1 rjmp .+920 ; 0x195c - 15c4: 87 ff sbrs r24, 7 - 15c6: fd c0 rjmp .+506 ; 0x17c2 - 15c8: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 15cc: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 15d0: 21 15 cp r18, r1 - 15d2: 31 05 cpc r19, r1 - 15d4: 09 f4 brne .+2 ; 0x15d8 - 15d6: c2 c1 rjmp .+900 ; 0x195c - 15d8: 8f 71 andi r24, 0x1F ; 31 - 15da: 09 f0 breq .+2 ; 0x15de - 15dc: 9f c0 rjmp .+318 ; 0x171c - 15de: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 15e2: 86 30 cpi r24, 0x06 ; 6 - 15e4: 71 f0 breq .+28 ; 0x1602 - 15e6: 88 30 cpi r24, 0x08 ; 8 - 15e8: 09 f4 brne .+2 ; 0x15ec - 15ea: 8e c0 rjmp .+284 ; 0x1708 - 15ec: 81 11 cpse r24, r1 - 15ee: b6 c1 rjmp .+876 ; 0x195c - 15f0: 22 30 cpi r18, 0x02 ; 2 - 15f2: 31 05 cpc r19, r1 - 15f4: 09 f0 breq .+2 ; 0x15f8 - 15f6: b2 c1 rjmp .+868 ; 0x195c - 15f8: 62 e0 ldi r22, 0x02 ; 2 - 15fa: 70 e0 ldi r23, 0x00 ; 0 - 15fc: 80 ed ldi r24, 0xD0 ; 208 - 15fe: 90 e2 ldi r25, 0x20 ; 32 - 1600: 8b c0 rjmp .+278 ; 0x1718 - 1602: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1606: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 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: a1 f0 breq .+40 ; 0x163c - 1614: 64 f4 brge .+24 ; 0x162e - 1616: 21 30 cpi r18, 0x01 ; 1 - 1618: 31 05 cpc r19, r1 - 161a: 09 f0 breq .+2 ; 0x161e - 161c: 9f c1 rjmp .+830 ; 0x195c - 161e: 80 91 10 20 lds r24, 0x2010 ; 0x802010 - 1622: 90 91 11 20 lds r25, 0x2011 ; 0x802011 - 1626: dc 01 movw r26, r24 - 1628: 6c 91 ld r22, X - 162a: 70 e0 ldi r23, 0x00 ; 0 - 162c: 5b c0 rjmp .+182 ; 0x16e4 - 162e: 23 30 cpi r18, 0x03 ; 3 - 1630: 31 05 cpc r19, r1 - 1632: 89 f1 breq .+98 ; 0x1696 - 1634: 2f 30 cpi r18, 0x0F ; 15 - 1636: 31 05 cpc r19, r1 - 1638: 09 f1 breq .+66 ; 0x167c - 163a: 90 c1 rjmp .+800 ; 0x195c - 163c: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 1640: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 1644: 21 89 ldd r18, Z+17 ; 0x11 - 1646: 82 17 cp r24, r18 - 1648: 08 f0 brcs .+2 ; 0x164c - 164a: 88 c1 rjmp .+784 ; 0x195c - 164c: 99 27 eor r25, r25 - 164e: 88 0f add r24, r24 - 1650: 99 1f adc r25, r25 - 1652: 88 0f add r24, r24 - 1654: 99 1f adc r25, r25 - 1656: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 165a: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 165e: e8 0f add r30, r24 - 1660: f9 1f adc r31, r25 - 1662: 80 81 ld r24, Z - 1664: 91 81 ldd r25, Z+1 ; 0x01 - 1666: fc 01 movw r30, r24 - 1668: 62 81 ldd r22, Z+2 ; 0x02 - 166a: 73 81 ldd r23, Z+3 ; 0x03 - 166c: 2d d5 rcall .+2650 ; 0x20c8 - 166e: e0 91 72 24 lds r30, 0x2472 ; 0x802472 - 1672: f0 91 73 24 lds r31, 0x2473 ; 0x802473 - 1676: 82 e0 ldi r24, 0x02 ; 2 - 1678: 81 83 std Z+1, r24 ; 0x01 - 167a: 35 c0 rjmp .+106 ; 0x16e6 - 167c: 80 91 14 20 lds r24, 0x2014 ; 0x802014 - 1680: 90 91 15 20 lds r25, 0x2015 ; 0x802015 - 1684: 00 97 sbiw r24, 0x00 ; 0 - 1686: 09 f4 brne .+2 ; 0x168a - 1688: 69 c1 rjmp .+722 ; 0x195c - 168a: dc 01 movw r26, r24 - 168c: 12 96 adiw r26, 0x02 ; 2 - 168e: 6d 91 ld r22, X+ - 1690: 7c 91 ld r23, X - 1692: 13 97 sbiw r26, 0x03 ; 3 - 1694: 27 c0 rjmp .+78 ; 0x16e4 - 1696: 99 27 eor r25, r25 - 1698: 81 30 cpi r24, 0x01 ; 1 - 169a: 91 05 cpc r25, r1 - 169c: 69 f0 breq .+26 ; 0x16b8 - 169e: 38 f0 brcs .+14 ; 0x16ae - 16a0: 02 97 sbiw r24, 0x02 ; 2 - 16a2: 09 f0 breq .+2 ; 0x16a6 - 16a4: 5b c1 rjmp .+694 ; 0x195c - 16a6: 68 e1 ldi r22, 0x18 ; 24 - 16a8: 8a e8 ldi r24, 0x8A ; 138 - 16aa: 90 e2 ldi r25, 0x20 ; 32 - 16ac: 08 c0 rjmp .+16 ; 0x16be - 16ae: 64 e0 ldi r22, 0x04 ; 4 - 16b0: 70 e0 ldi r23, 0x00 ; 0 - 16b2: 8e ea ldi r24, 0xAE ; 174 - 16b4: 90 e2 ldi r25, 0x20 ; 32 - 16b6: 16 c0 rjmp .+44 ; 0x16e4 - 16b8: 69 e0 ldi r22, 0x09 ; 9 - 16ba: 83 ea ldi r24, 0xA3 ; 163 - 16bc: 90 e2 ldi r25, 0x20 ; 32 - 16be: 28 2f mov r18, r24 - 16c0: aa e5 ldi r26, 0x5A ; 90 - 16c2: b0 e2 ldi r27, 0x20 ; 32 - 16c4: fc 01 movw r30, r24 - 16c6: 81 91 ld r24, Z+ - 16c8: 90 e0 ldi r25, 0x00 ; 0 - 16ca: 8d 93 st X+, r24 - 16cc: 9d 93 st X+, r25 - 16ce: 8e 2f mov r24, r30 - 16d0: 82 1b sub r24, r18 - 16d2: 86 17 cp r24, r22 - 16d4: c0 f3 brcs .-16 ; 0x16c6 - 16d6: 66 0f add r22, r22 - 16d8: 6e 5f subi r22, 0xFE ; 254 - 16da: 60 93 58 20 sts 0x2058, r22 ; 0x802058 - 16de: 70 e0 ldi r23, 0x00 ; 0 - 16e0: 88 e5 ldi r24, 0x58 ; 88 - 16e2: 90 e2 ldi r25, 0x20 ; 32 - 16e4: f1 d4 rcall .+2530 ; 0x20c8 - 16e6: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 16ea: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 16ee: 20 91 74 24 lds r18, 0x2474 ; 0x802474 - 16f2: 30 91 75 24 lds r19, 0x2475 ; 0x802475 - 16f6: 82 17 cp r24, r18 - 16f8: 93 07 cpc r25, r19 - 16fa: 08 f0 brcs .+2 ; 0x16fe - 16fc: 9e c1 rjmp .+828 ; 0x1a3a - 16fe: 80 93 74 24 sts 0x2474, r24 ; 0x802474 - 1702: 90 93 75 24 sts 0x2475, r25 ; 0x802475 - 1706: 99 c1 rjmp .+818 ; 0x1a3a - 1708: 21 30 cpi r18, 0x01 ; 1 - 170a: 31 05 cpc r19, r1 - 170c: 09 f0 breq .+2 ; 0x1710 - 170e: 26 c1 rjmp .+588 ; 0x195c - 1710: 61 e0 ldi r22, 0x01 ; 1 - 1712: 70 e0 ldi r23, 0x00 ; 0 - 1714: 8c ec ldi r24, 0xCC ; 204 - 1716: 90 e2 ldi r25, 0x20 ; 32 - 1718: d7 d4 rcall .+2478 ; 0x20c8 - 171a: 8f c1 rjmp .+798 ; 0x1a3a - 171c: 81 30 cpi r24, 0x01 ; 1 - 171e: c9 f5 brne .+114 ; 0x1792 - 1720: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 1724: 8a 30 cpi r24, 0x0A ; 10 - 1726: 09 f0 breq .+2 ; 0x172a - 1728: 19 c1 rjmp .+562 ; 0x195c - 172a: 21 30 cpi r18, 0x01 ; 1 - 172c: 31 05 cpc r19, r1 - 172e: 09 f0 breq .+2 ; 0x1732 - 1730: 15 c1 rjmp .+554 ; 0x195c - 1732: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 1736: 88 23 and r24, r24 - 1738: 09 f4 brne .+2 ; 0x173c - 173a: 10 c1 rjmp .+544 ; 0x195c - 173c: e0 90 6e 24 lds r14, 0x246E ; 0x80246e - 1740: f0 90 6f 24 lds r15, 0x246F ; 0x80246f - 1744: 00 91 ca 20 lds r16, 0x20CA ; 0x8020ca - 1748: 10 91 cb 20 lds r17, 0x20CB ; 0x8020cb - 174c: d8 01 movw r26, r16 - 174e: ed 91 ld r30, X+ - 1750: fc 91 ld r31, X - 1752: 84 81 ldd r24, Z+4 ; 0x04 - 1754: e8 16 cp r14, r24 - 1756: 08 f0 brcs .+2 ; 0x175a - 1758: 01 c1 rjmp .+514 ; 0x195c - 175a: 60 e0 ldi r22, 0x00 ; 0 - 175c: 8e 2d mov r24, r14 - 175e: 27 dd rcall .-1458 ; 0x11ae - 1760: 88 23 and r24, r24 - 1762: 09 f4 brne .+2 ; 0x1766 - 1764: fb c0 rjmp .+502 ; 0x195c - 1766: ff 24 eor r15, r15 - 1768: ee 0c add r14, r14 - 176a: ff 1c adc r15, r15 - 176c: f8 01 movw r30, r16 - 176e: 82 81 ldd r24, Z+2 ; 0x02 - 1770: 93 81 ldd r25, Z+3 ; 0x03 - 1772: 8e 0d add r24, r14 - 1774: 9f 1d adc r25, r15 - 1776: dc 01 movw r26, r24 - 1778: ed 91 ld r30, X+ - 177a: fc 91 ld r31, X - 177c: 06 80 ldd r0, Z+6 ; 0x06 - 177e: f7 81 ldd r31, Z+7 ; 0x07 - 1780: e0 2d mov r30, r0 - 1782: 09 95 icall - 1784: 80 93 ce 20 sts 0x20CE, r24 ; 0x8020ce - 1788: 61 e0 ldi r22, 0x01 ; 1 - 178a: 70 e0 ldi r23, 0x00 ; 0 - 178c: 8e ec ldi r24, 0xCE ; 206 - 178e: 90 e2 ldi r25, 0x20 ; 32 - 1790: c3 cf rjmp .-122 ; 0x1718 - 1792: 82 30 cpi r24, 0x02 ; 2 - 1794: 09 f0 breq .+2 ; 0x1798 - 1796: e2 c0 rjmp .+452 ; 0x195c - 1798: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 179c: 81 11 cpse r24, r1 - 179e: de c0 rjmp .+444 ; 0x195c - 17a0: 22 30 cpi r18, 0x02 ; 2 - 17a2: 31 05 cpc r19, r1 - 17a4: 09 f0 breq .+2 ; 0x17a8 - 17a6: da c0 rjmp .+436 ; 0x195c - 17a8: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 17ac: e5 d4 rcall .+2506 ; 0x2178 - 17ae: 90 e0 ldi r25, 0x00 ; 0 - 17b0: 80 93 c6 20 sts 0x20C6, r24 ; 0x8020c6 - 17b4: 90 93 c7 20 sts 0x20C7, r25 ; 0x8020c7 - 17b8: 62 e0 ldi r22, 0x02 ; 2 - 17ba: 70 e0 ldi r23, 0x00 ; 0 - 17bc: 86 ec ldi r24, 0xC6 ; 198 - 17be: 90 e2 ldi r25, 0x20 ; 32 - 17c0: ab cf rjmp .-170 ; 0x1718 - 17c2: 8f 71 andi r24, 0x1F ; 31 - 17c4: 09 f0 breq .+2 ; 0x17c8 - 17c6: 7d c0 rjmp .+250 ; 0x18c2 - 17c8: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 17cc: 83 30 cpi r24, 0x03 ; 3 - 17ce: 09 f4 brne .+2 ; 0x17d2 - 17d0: c5 c0 rjmp .+394 ; 0x195c - 17d2: 18 f4 brcc .+6 ; 0x17da - 17d4: 81 30 cpi r24, 0x01 ; 1 - 17d6: a1 f0 breq .+40 ; 0x1800 - 17d8: c1 c0 rjmp .+386 ; 0x195c - 17da: 85 30 cpi r24, 0x05 ; 5 - 17dc: 19 f0 breq .+6 ; 0x17e4 - 17de: 89 30 cpi r24, 0x09 ; 9 - 17e0: 39 f1 breq .+78 ; 0x1830 - 17e2: bc c0 rjmp .+376 ; 0x195c - 17e4: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 17e8: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 17ec: 89 2b or r24, r25 - 17ee: 09 f0 breq .+2 ; 0x17f2 - 17f0: b5 c0 rjmp .+362 ; 0x195c - 17f2: 83 ed ldi r24, 0xD3 ; 211 - 17f4: 98 e0 ldi r25, 0x08 ; 8 - 17f6: 80 93 76 24 sts 0x2476, r24 ; 0x802476 - 17fa: 90 93 77 24 sts 0x2477, r25 ; 0x802477 - 17fe: 1d c1 rjmp .+570 ; 0x1a3a - 1800: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1804: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 1808: 89 2b or r24, r25 - 180a: 09 f0 breq .+2 ; 0x180e - 180c: a7 c0 rjmp .+334 ; 0x195c - 180e: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1812: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 1816: 01 97 sbiw r24, 0x01 ; 1 - 1818: 09 f0 breq .+2 ; 0x181c - 181a: a0 c0 rjmp .+320 ; 0x195c - 181c: 80 91 d0 20 lds r24, 0x20D0 ; 0x8020d0 - 1820: 90 91 d1 20 lds r25, 0x20D1 ; 0x8020d1 - 1824: 8d 7f andi r24, 0xFD ; 253 - 1826: 80 93 d0 20 sts 0x20D0, r24 ; 0x8020d0 - 182a: 90 93 d1 20 sts 0x20D1, r25 ; 0x8020d1 - 182e: 05 c1 rjmp .+522 ; 0x1a3a - 1830: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1834: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 1838: 89 2b or r24, r25 - 183a: 09 f0 breq .+2 ; 0x183e - 183c: 8f c0 rjmp .+286 ; 0x195c - 183e: 41 d4 rcall .+2178 ; 0x20c2 - 1840: 88 23 and r24, r24 - 1842: 09 f4 brne .+2 ; 0x1846 - 1844: 8b c0 rjmp .+278 ; 0x195c - 1846: 20 91 6c 24 lds r18, 0x246C ; 0x80246c - 184a: 30 91 6d 24 lds r19, 0x246D ; 0x80246d - 184e: 33 27 eor r19, r19 - 1850: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 1854: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 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: 7c c0 rjmp .+248 ; 0x195c - 1864: 70 dd rcall .-1312 ; 0x1346 - 1866: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 186a: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 186e: 80 93 cc 20 sts 0x20CC, r24 ; 0x8020cc - 1872: 88 23 and r24, r24 - 1874: 09 f4 brne .+2 ; 0x1878 - 1876: e1 c0 rjmp .+450 ; 0x1a3a - 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: 20 91 12 20 lds r18, 0x2012 ; 0x802012 - 188a: 30 91 13 20 lds r19, 0x2013 ; 0x802013 - 188e: 82 0f add r24, r18 - 1890: 93 1f adc r25, r19 - 1892: 80 93 ca 20 sts 0x20CA, r24 ; 0x8020ca - 1896: 90 93 cb 20 sts 0x20CB, r25 ; 0x8020cb - 189a: 10 e0 ldi r17, 0x00 ; 0 - 189c: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 18a0: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 18a4: 01 90 ld r0, Z+ - 18a6: f0 81 ld r31, Z - 18a8: e0 2d mov r30, r0 - 18aa: 84 81 ldd r24, Z+4 ; 0x04 - 18ac: 18 17 cp r17, r24 - 18ae: 08 f0 brcs .+2 ; 0x18b2 - 18b0: c4 c0 rjmp .+392 ; 0x1a3a - 18b2: 60 e0 ldi r22, 0x00 ; 0 - 18b4: 81 2f mov r24, r17 - 18b6: ce dc rcall .-1636 ; 0x1254 - 18b8: 88 23 and r24, r24 - 18ba: 09 f4 brne .+2 ; 0x18be - 18bc: 4f c0 rjmp .+158 ; 0x195c - 18be: 1f 5f subi r17, 0xFF ; 255 - 18c0: ed cf rjmp .-38 ; 0x189c - 18c2: 81 30 cpi r24, 0x01 ; 1 - 18c4: f1 f4 brne .+60 ; 0x1902 - 18c6: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 18ca: 8b 30 cpi r24, 0x0B ; 11 - 18cc: 09 f0 breq .+2 ; 0x18d0 - 18ce: 46 c0 rjmp .+140 ; 0x195c - 18d0: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 18d4: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 18d8: 89 2b or r24, r25 - 18da: 09 f0 breq .+2 ; 0x18de - 18dc: 3f c0 rjmp .+126 ; 0x195c - 18de: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 18e2: 88 23 and r24, r24 - 18e4: 09 f4 brne .+2 ; 0x18e8 - 18e6: 3a c0 rjmp .+116 ; 0x195c - 18e8: 10 91 6e 24 lds r17, 0x246E ; 0x80246e - 18ec: 60 91 6c 24 lds r22, 0x246C ; 0x80246c - 18f0: 81 2f mov r24, r17 - 18f2: 69 83 std Y+1, r22 ; 0x01 - 18f4: e2 dc rcall .-1596 ; 0x12ba - 18f6: 69 81 ldd r22, Y+1 ; 0x01 - 18f8: 88 23 and r24, r24 - 18fa: 81 f1 breq .+96 ; 0x195c - 18fc: 81 2f mov r24, r17 - 18fe: aa dc rcall .-1708 ; 0x1254 - 1900: 2b c0 rjmp .+86 ; 0x1958 - 1902: 82 30 cpi r24, 0x02 ; 2 - 1904: 59 f5 brne .+86 ; 0x195c - 1906: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 190a: 81 30 cpi r24, 0x01 ; 1 - 190c: 19 f0 breq .+6 ; 0x1914 - 190e: 83 30 cpi r24, 0x03 ; 3 - 1910: 89 f0 breq .+34 ; 0x1934 - 1912: 24 c0 rjmp .+72 ; 0x195c - 1914: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1918: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 191c: 89 2b or r24, r25 - 191e: f1 f4 brne .+60 ; 0x195c - 1920: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1924: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 1928: 89 2b or r24, r25 - 192a: c1 f4 brne .+48 ; 0x195c - 192c: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1930: 2a d4 rcall .+2132 ; 0x2186 - 1932: 12 c0 rjmp .+36 ; 0x1958 - 1934: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1938: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 193c: 89 2b or r24, r25 - 193e: 71 f4 brne .+28 ; 0x195c - 1940: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1944: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 1948: 89 2b or r24, r25 - 194a: 41 f4 brne .+16 ; 0x195c - 194c: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1950: bf d4 rcall .+2430 ; 0x22d0 - 1952: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1956: f5 d4 rcall .+2538 ; 0x2342 - 1958: 81 11 cpse r24, r1 - 195a: 6f c0 rjmp .+222 ; 0x1a3a - 195c: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 1960: 8f 71 andi r24, 0x1F ; 31 - 1962: 81 30 cpi r24, 0x01 ; 1 - 1964: b9 f5 brne .+110 ; 0x19d4 - 1966: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 196a: 88 23 and r24, r24 - 196c: 99 f1 breq .+102 ; 0x19d4 - 196e: e0 90 6e 24 lds r14, 0x246E ; 0x80246e - 1972: f0 90 6f 24 lds r15, 0x246F ; 0x80246f - 1976: 00 91 ca 20 lds r16, 0x20CA ; 0x8020ca - 197a: 10 91 cb 20 lds r17, 0x20CB ; 0x8020cb - 197e: d8 01 movw r26, r16 - 1980: ed 91 ld r30, X+ - 1982: fc 91 ld r31, X - 1984: 84 81 ldd r24, Z+4 ; 0x04 - 1986: e8 16 cp r14, r24 - 1988: 28 f5 brcc .+74 ; 0x19d4 - 198a: 60 e0 ldi r22, 0x00 ; 0 - 198c: 8e 2d mov r24, r14 - 198e: 0f dc rcall .-2018 ; 0x11ae - 1990: 88 23 and r24, r24 - 1992: 01 f1 breq .+64 ; 0x19d4 - 1994: f7 01 movw r30, r14 - 1996: ff 27 eor r31, r31 - 1998: ee 0f add r30, r30 - 199a: ff 1f adc r31, r31 - 199c: d8 01 movw r26, r16 - 199e: 12 96 adiw r26, 0x02 ; 2 - 19a0: 8d 91 ld r24, X+ - 19a2: 9c 91 ld r25, X - 19a4: 13 97 sbiw r26, 0x03 ; 3 - 19a6: e8 0f add r30, r24 - 19a8: f9 1f adc r31, r25 - 19aa: 00 81 ld r16, Z - 19ac: 11 81 ldd r17, Z+1 ; 0x01 - 19ae: d8 01 movw r26, r16 - 19b0: 16 96 adiw r26, 0x06 ; 6 - 19b2: ed 91 ld r30, X+ - 19b4: fc 91 ld r31, X - 19b6: 17 97 sbiw r26, 0x07 ; 7 - 19b8: 09 95 icall - 19ba: 68 2f mov r22, r24 - 19bc: 8e 2d mov r24, r14 - 19be: f7 db rcall .-2066 ; 0x11ae - 19c0: 88 23 and r24, r24 - 19c2: 41 f0 breq .+16 ; 0x19d4 - 19c4: d8 01 movw r26, r16 - 19c6: 14 96 adiw r26, 0x04 ; 4 - 19c8: ed 91 ld r30, X+ - 19ca: fc 91 ld r31, X - 19cc: 15 97 sbiw r26, 0x05 ; 5 - 19ce: 09 95 icall - 19d0: 81 11 cpse r24, r1 - 19d2: 33 c0 rjmp .+102 ; 0x1a3a - 19d4: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 19d8: 8f 71 andi r24, 0x1F ; 31 - 19da: 82 30 cpi r24, 0x02 ; 2 - 19dc: 81 f5 brne .+96 ; 0x1a3e - 19de: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 19e2: 88 23 and r24, r24 - 19e4: 61 f1 breq .+88 ; 0x1a3e - 19e6: f1 2c mov r15, r1 - 19e8: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 19ec: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 19f0: a0 81 ld r26, Z - 19f2: b1 81 ldd r27, Z+1 ; 0x01 - 19f4: 14 96 adiw r26, 0x04 ; 4 - 19f6: 8c 91 ld r24, X - 19f8: f8 16 cp r15, r24 - 19fa: 08 f5 brcc .+66 ; 0x1a3e - 19fc: 92 81 ldd r25, Z+2 ; 0x02 - 19fe: 83 81 ldd r24, Z+3 ; 0x03 - 1a00: e9 2f mov r30, r25 - 1a02: f8 2f mov r31, r24 - 1a04: ef 0d add r30, r15 - 1a06: f1 1d adc r31, r1 - 1a08: ef 0d add r30, r15 - 1a0a: f1 1d adc r31, r1 - 1a0c: 00 81 ld r16, Z - 1a0e: 11 81 ldd r17, Z+1 ; 0x01 - 1a10: d8 01 movw r26, r16 - 1a12: 16 96 adiw r26, 0x06 ; 6 - 1a14: ed 91 ld r30, X+ - 1a16: fc 91 ld r31, X - 1a18: 17 97 sbiw r26, 0x07 ; 7 - 1a1a: 09 95 icall - 1a1c: 68 2f mov r22, r24 - 1a1e: 8f 2d mov r24, r15 - 1a20: c6 db rcall .-2164 ; 0x11ae - 1a22: 88 23 and r24, r24 - 1a24: 61 f0 breq .+24 ; 0x1a3e - 1a26: d8 01 movw r26, r16 - 1a28: 14 96 adiw r26, 0x04 ; 4 - 1a2a: ed 91 ld r30, X+ - 1a2c: fc 91 ld r31, X - 1a2e: 15 97 sbiw r26, 0x05 ; 5 - 1a30: 09 95 icall - 1a32: 81 11 cpse r24, r1 - 1a34: 02 c0 rjmp .+4 ; 0x1a3a - 1a36: f3 94 inc r15 - 1a38: d7 cf rjmp .-82 ; 0x19e8 - 1a3a: 81 e0 ldi r24, 0x01 ; 1 - 1a3c: 01 c0 rjmp .+2 ; 0x1a40 - 1a3e: 80 e0 ldi r24, 0x00 ; 0 - 1a40: 0f 90 pop r0 - 1a42: df 91 pop r29 - 1a44: cf 91 pop r28 - 1a46: 1f 91 pop r17 - 1a48: 0f 91 pop r16 - 1a4a: ff 90 pop r15 - 1a4c: ef 90 pop r14 - 1a4e: 08 95 ret - -00001a50 : +0000192a : PUBLIC_FUNCTION(ccp_write_io) #if defined(__GNUC__) out RAMPZ, r1 // Reset bits 23:16 of Z - 1a50: 1b be out 0x3b, r1 ; 59 + 192a: 1b be out 0x3b, r1 ; 59 movw r30, r24 // Load addr into Z - 1a52: fc 01 movw r30, r24 + 192c: fc 01 movw r30, r24 ldi r18, CCP_IOREG // Load magic CCP value - 1a54: 28 ed ldi r18, 0xD8 ; 216 + 192e: 28 ed ldi r18, 0xD8 ; 216 out CCP, r18 // Start CCP handshake - 1a56: 24 bf out 0x34, r18 ; 52 + 1930: 24 bf out 0x34, r18 ; 52 st Z, r22 // Write value to I/O register - 1a58: 60 83 st Z, r22 + 1932: 60 83 st Z, r22 ret // Return to caller - 1a5a: 08 95 ret + 1934: 08 95 ret -00001a5c : +00001936 : #endif #ifndef __DOXYGEN__ PUBLIC_FUNCTION(nvm_read_byte) #if defined(__GNUC__) lds r20, NVM_CMD ; Store NVM command register - 1a5c: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1936: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> mov ZL, r22 ; Load byte index into low byte of Z. - 1a60: e6 2f mov r30, r22 + 193a: e6 2f mov r30, r22 mov ZH, r23 ; Load high byte into Z. - 1a62: f7 2f mov r31, r23 + 193c: f7 2f mov r31, r23 sts NVM_CMD, r24 ; Load prepared command into NVM Command register. - 1a64: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 193e: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> lpm r24, Z ; Perform an LPM to read out byte - 1a68: 84 91 lpm r24, Z + 1942: 84 91 lpm r24, Z sts NVM_CMD, r20 ; Restore NVM command register - 1a6a: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1944: 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 + 1948: 08 95 ret + +0000194a : + 194a: e8 2f mov r30, r24 + 194c: f0 e0 ldi r31, 0x00 ; 0 + 194e: e1 5a subi r30, 0xA1 ; 161 + 1950: f3 4d sbci r31, 0xD3 ; 211 + 1952: 80 81 ld r24, Z + 1954: 8f 3f cpi r24, 0xFF ; 255 + 1956: 09 f4 brne .+2 ; 0x195a + 1958: ff cf rjmp .-2 ; 0x1958 + 195a: 9f b7 in r25, 0x3f ; 63 + 195c: f8 94 cli + 195e: 80 81 ld r24, Z + 1960: 8f 5f subi r24, 0xFF ; 255 + 1962: 80 83 st Z, r24 + 1964: 9f bf out 0x3f, r25 ; 63 + 1966: 08 95 ret + +00001968 : + 1968: e8 2f mov r30, r24 + 196a: f0 e0 ldi r31, 0x00 ; 0 + 196c: e1 5a subi r30, 0xA1 ; 161 + 196e: f3 4d sbci r31, 0xD3 ; 211 + 1970: 80 81 ld r24, Z + 1972: 81 11 cpse r24, r1 + 1974: 01 c0 rjmp .+2 ; 0x1978 + 1976: ff cf rjmp .-2 ; 0x1976 + 1978: 9f b7 in r25, 0x3f ; 63 + 197a: f8 94 cli + 197c: 80 81 ld r24, Z + 197e: 81 50 subi r24, 0x01 ; 1 + 1980: 80 83 st Z, r24 + 1982: 9f bf out 0x3f, r25 ; 63 + 1984: 08 95 ret + +00001986 : + 1986: cf 93 push r28 + 1988: c8 2f mov r28, r24 + 198a: 80 91 64 22 lds r24, 0x2264 ; 0x802264 + 198e: c1 11 cpse r28, r1 + 1990: 05 c0 rjmp .+10 ; 0x199c + 1992: 88 23 and r24, r24 + 1994: 39 f0 breq .+14 ; 0x19a4 + 1996: 81 e0 ldi r24, 0x01 ; 1 + 1998: e7 df rcall .-50 ; 0x1968 + 199a: 04 c0 rjmp .+8 ; 0x19a4 + 199c: 81 11 cpse r24, r1 + 199e: 02 c0 rjmp .+4 ; 0x19a4 + 19a0: 81 e0 ldi r24, 0x01 ; 1 + 19a2: d3 df rcall .-90 ; 0x194a + 19a4: c0 93 64 22 sts 0x2264, r28 ; 0x802264 + 19a8: cf 91 pop r28 + 19aa: 08 95 ret + +000019ac : + 19ac: 28 2f mov r18, r24 + 19ae: 2f 70 andi r18, 0x0F ; 15 + 19b0: 08 2e mov r0, r24 + 19b2: 00 0c add r0, r0 + 19b4: 99 0b sbc r25, r25 + 19b6: 39 2f mov r19, r25 + 19b8: 33 1f adc r19, r19 + 19ba: 33 27 eor r19, r19 + 19bc: 33 1f adc r19, r19 + 19be: 83 2f mov r24, r19 + 19c0: 90 e0 ldi r25, 0x00 ; 0 + 19c2: 82 0f add r24, r18 + 19c4: 91 1d adc r25, r1 + 19c6: 82 0f add r24, r18 + 19c8: 91 1d adc r25, r1 + 19ca: 23 e0 ldi r18, 0x03 ; 3 + 19cc: 88 0f add r24, r24 + 19ce: 99 1f adc r25, r25 + 19d0: 2a 95 dec r18 + 19d2: e1 f7 brne .-8 ; 0x19cc + 19d4: 80 5e subi r24, 0xE0 ; 224 + 19d6: 9d 4d sbci r25, 0xDD ; 221 + 19d8: 08 95 ret + +000019da : + 19da: 0f 93 push r16 + 19dc: e8 ec ldi r30, 0xC8 ; 200 + 19de: f4 e0 ldi r31, 0x04 ; 4 + 19e0: 80 81 ld r24, Z + 19e2: 8f 7d andi r24, 0xDF ; 223 + 19e4: 80 83 st Z, r24 + 19e6: 80 81 ld r24, Z + 19e8: 8f 7d andi r24, 0xDF ; 223 + 19ea: 80 83 st Z, r24 + 19ec: e8 e2 ldi r30, 0x28 ; 40 + 19ee: f2 e2 ldi r31, 0x22 ; 34 + 19f0: 02 e0 ldi r16, 0x02 ; 2 + 19f2: 05 93 las Z, r16 + 19f4: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a + 19f8: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b + 19fc: 00 e2 ldi r16, 0x20 ; 32 + 19fe: 06 93 lac Z, r16 + 1a00: 00 e4 ldi r16, 0x40 ; 64 + 1a02: 06 93 lac Z, r16 + 1a04: e0 e2 ldi r30, 0x20 ; 32 + 1a06: f2 e2 ldi r31, 0x22 ; 34 + 1a08: 00 e2 ldi r16, 0x20 ; 32 + 1a0a: 06 93 lac Z, r16 + 1a0c: 00 e4 ldi r16, 0x40 ; 64 + 1a0e: 06 93 lac Z, r16 + 1a10: ef e6 ldi r30, 0x6F ; 111 + 1a12: f4 e2 ldi r31, 0x24 ; 36 + 1a14: 14 86 std Z+12, r1 ; 0x0c + 1a16: 15 86 std Z+13, r1 ; 0x0d + 1a18: 16 86 std Z+14, r1 ; 0x0e + 1a1a: 17 86 std Z+15, r1 ; 0x0f + 1a1c: 12 86 std Z+10, r1 ; 0x0a + 1a1e: 13 86 std Z+11, r1 ; 0x0b + 1a20: 10 92 0d 22 sts 0x220D, r1 ; 0x80220d + 1a24: 0f 91 pop r16 + 1a26: 08 95 ret + +00001a28 : + 1a28: 0f 93 push r16 + 1a2a: 85 e0 ldi r24, 0x05 ; 5 + 1a2c: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 1a30: e9 e2 ldi r30, 0x29 ; 41 + 1a32: f2 e2 ldi r31, 0x22 ; 34 + 1a34: 04 e0 ldi r16, 0x04 ; 4 + 1a36: 05 93 las Z, r16 + 1a38: e1 e2 ldi r30, 0x21 ; 33 + 1a3a: f2 e2 ldi r31, 0x22 ; 34 + 1a3c: 04 e0 ldi r16, 0x04 ; 4 + 1a3e: 05 93 las Z, r16 + 1a40: 0f 91 pop r16 + 1a42: 08 95 ret + +00001a44 : + 1a44: 0f 93 push r16 + 1a46: 83 e0 ldi r24, 0x03 ; 3 + 1a48: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 1a4c: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a + 1a50: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b + 1a54: e8 e2 ldi r30, 0x28 ; 40 + 1a56: f2 e2 ldi r31, 0x22 ; 34 + 1a58: 02 e0 ldi r16, 0x02 ; 2 + 1a5a: 06 93 lac Z, r16 + 1a5c: 0f 91 pop r16 + 1a5e: 08 95 ret + +00001a60 : + 1a60: e0 91 7b 24 lds r30, 0x247B ; 0x80247b + 1a64: f0 91 7c 24 lds r31, 0x247C ; 0x80247c + 1a68: 30 97 sbiw r30, 0x00 ; 0 + 1a6a: 09 f0 breq .+2 ; 0x1a6e + 1a6c: 09 94 ijmp 1a6e: 08 95 ret -00001a70 : - 1a70: e8 2f mov r30, r24 - 1a72: f0 e0 ldi r31, 0x00 ; 0 - 1a74: ea 5a subi r30, 0xAA ; 170 - 1a76: f3 4d sbci r31, 0xD3 ; 211 - 1a78: 80 81 ld r24, Z - 1a7a: 8f 3f cpi r24, 0xFF ; 255 - 1a7c: 09 f4 brne .+2 ; 0x1a80 - 1a7e: ff cf rjmp .-2 ; 0x1a7e - 1a80: 9f b7 in r25, 0x3f ; 63 - 1a82: f8 94 cli - 1a84: 80 81 ld r24, Z - 1a86: 8f 5f subi r24, 0xFF ; 255 - 1a88: 80 83 st Z, r24 - 1a8a: 9f bf out 0x3f, r25 ; 63 - 1a8c: 08 95 ret +00001a70 : + 1a70: 28 2f mov r18, r24 + 1a72: 2f 70 andi r18, 0x0F ; 15 + 1a74: 08 2e mov r0, r24 + 1a76: 00 0c add r0, r0 + 1a78: 99 0b sbc r25, r25 + 1a7a: 39 2f mov r19, r25 + 1a7c: 33 1f adc r19, r19 + 1a7e: 33 27 eor r19, r19 + 1a80: 33 1f adc r19, r19 + 1a82: 83 2f mov r24, r19 + 1a84: 90 e0 ldi r25, 0x00 ; 0 + 1a86: 82 0f add r24, r18 + 1a88: 91 1d adc r25, r1 + 1a8a: 82 0f add r24, r18 + 1a8c: 91 1d adc r25, r1 + 1a8e: 02 97 sbiw r24, 0x02 ; 2 + 1a90: 49 e0 ldi r20, 0x09 ; 9 + 1a92: 48 9f mul r20, r24 + 1a94: 90 01 movw r18, r0 + 1a96: 49 9f mul r20, r25 + 1a98: 30 0d add r19, r0 + 1a9a: 11 24 eor r1, r1 + 1a9c: c9 01 movw r24, r18 + 1a9e: 8d 56 subi r24, 0x6D ; 109 + 1aa0: 9e 4d sbci r25, 0xDE ; 222 + 1aa2: 08 95 ret -00001a8e : - 1a8e: e8 2f mov r30, r24 - 1a90: f0 e0 ldi r31, 0x00 ; 0 - 1a92: ea 5a subi r30, 0xAA ; 170 - 1a94: f3 4d sbci r31, 0xD3 ; 211 - 1a96: 80 81 ld r24, Z - 1a98: 81 11 cpse r24, r1 - 1a9a: 01 c0 rjmp .+2 ; 0x1a9e - 1a9c: ff cf rjmp .-2 ; 0x1a9c - 1a9e: 9f b7 in r25, 0x3f ; 63 - 1aa0: f8 94 cli - 1aa2: 80 81 ld r24, Z - 1aa4: 81 50 subi r24, 0x01 ; 1 - 1aa6: 80 83 st Z, r24 - 1aa8: 9f bf out 0x3f, r25 ; 63 - 1aaa: 08 95 ret +00001aa4 : + 1aa4: 8f 92 push r8 + 1aa6: 9f 92 push r9 + 1aa8: af 92 push r10 + 1aaa: bf 92 push r11 + 1aac: df 92 push r13 + 1aae: ef 92 push r14 + 1ab0: ff 92 push r15 + 1ab2: 0f 93 push r16 + 1ab4: 1f 93 push r17 + 1ab6: cf 93 push r28 + 1ab8: df 93 push r29 + 1aba: d8 2e mov r13, r24 + 1abc: d9 df rcall .-78 ; 0x1a70 + 1abe: ec 01 movw r28, r24 + 1ac0: 8d 2d mov r24, r13 + 1ac2: 74 df rcall .-280 ; 0x19ac + 1ac4: 7c 01 movw r14, r24 + 1ac6: dc 01 movw r26, r24 + 1ac8: 11 96 adiw r26, 0x01 ; 1 + 1aca: ec 91 ld r30, X + 1acc: e7 70 andi r30, 0x07 ; 7 + 1ace: e1 50 subi r30, 0x01 ; 1 + 1ad0: e7 30 cpi r30, 0x07 ; 7 + 1ad2: 40 f4 brcc .+16 ; 0x1ae4 + 1ad4: f0 e0 ldi r31, 0x00 ; 0 + 1ad6: ee 0f add r30, r30 + 1ad8: ff 1f adc r31, r31 + 1ada: ee 54 subi r30, 0x4E ; 78 + 1adc: ff 4d sbci r31, 0xDF ; 223 + 1ade: 00 81 ld r16, Z + 1ae0: 11 81 ldd r17, Z+1 ; 0x01 + 1ae2: 02 c0 rjmp .+4 ; 0x1ae8 + 1ae4: 08 e0 ldi r16, 0x08 ; 8 + 1ae6: 10 e0 ldi r17, 0x00 ; 0 + 1ae8: ed 81 ldd r30, Y+5 ; 0x05 + 1aea: fe 81 ldd r31, Y+6 ; 0x06 + 1aec: 2b 81 ldd r18, Y+3 ; 0x03 + 1aee: 3c 81 ldd r19, Y+4 ; 0x04 + 1af0: 48 81 ld r20, Y + 1af2: d7 01 movw r26, r14 + 1af4: d7 fe sbrs r13, 7 + 1af6: 48 c0 rjmp .+144 ; 0x1b88 + 1af8: 16 96 adiw r26, 0x06 ; 6 + 1afa: 8d 91 ld r24, X+ + 1afc: 9c 91 ld r25, X + 1afe: 17 97 sbiw r26, 0x07 ; 7 + 1b00: 8e 0f add r24, r30 + 1b02: 9f 1f adc r25, r31 + 1b04: 8d 83 std Y+5, r24 ; 0x05 + 1b06: 9e 83 std Y+6, r25 ; 0x06 + 1b08: 82 17 cp r24, r18 + 1b0a: 93 07 cpc r25, r19 + 1b0c: 61 f1 breq .+88 ; 0x1b66 + 1b0e: 28 1b sub r18, r24 + 1b10: 39 0b sbc r19, r25 + 1b12: 21 15 cp r18, r1 + 1b14: b4 e0 ldi r27, 0x04 ; 4 + 1b16: 3b 07 cpc r19, r27 + 1b18: 38 f0 brcs .+14 ; 0x1b28 + 1b1a: 2f ef ldi r18, 0xFF ; 255 + 1b1c: 33 e0 ldi r19, 0x03 ; 3 + 1b1e: c9 01 movw r24, r18 + 1b20: b8 01 movw r22, r16 + 1b22: 14 d5 rcall .+2600 ; 0x254c <__udivmodhi4> + 1b24: 28 1b sub r18, r24 + 1b26: 39 0b sbc r19, r25 + 1b28: 41 ff sbrs r20, 1 + 1b2a: 0a c0 rjmp .+20 ; 0x1b40 + 1b2c: c9 01 movw r24, r18 + 1b2e: b8 01 movw r22, r16 + 1b30: 0d d5 rcall .+2586 ; 0x254c <__udivmodhi4> + 1b32: ac 01 movw r20, r24 + 1b34: 91 e0 ldi r25, 0x01 ; 1 + 1b36: 45 2b or r20, r21 + 1b38: 09 f0 breq .+2 ; 0x1b3c + 1b3a: 90 e0 ldi r25, 0x00 ; 0 + 1b3c: 89 2f mov r24, r25 + 1b3e: 01 c0 rjmp .+2 ; 0x1b42 + 1b40: 80 e0 ldi r24, 0x00 ; 0 + 1b42: 98 81 ld r25, Y + 1b44: 80 fb bst r24, 0 + 1b46: 91 f9 bld r25, 1 + 1b48: 98 83 st Y, r25 + 1b4a: f7 01 movw r30, r14 + 1b4c: 16 82 std Z+6, r1 ; 0x06 + 1b4e: 17 82 std Z+7, r1 ; 0x07 + 1b50: 22 83 std Z+2, r18 ; 0x02 + 1b52: 33 83 std Z+3, r19 ; 0x03 + 1b54: 29 81 ldd r18, Y+1 ; 0x01 + 1b56: 3a 81 ldd r19, Y+2 ; 0x02 + 1b58: 8d 81 ldd r24, Y+5 ; 0x05 + 1b5a: 9e 81 ldd r25, Y+6 ; 0x06 + 1b5c: 82 0f add r24, r18 + 1b5e: 93 1f adc r25, r19 + 1b60: 84 83 std Z+4, r24 ; 0x04 + 1b62: 95 83 std Z+5, r25 ; 0x05 + 1b64: 0e c0 rjmp .+28 ; 0x1b82 + 1b66: 41 ff sbrs r20, 1 + 1b68: 71 c0 rjmp .+226 ; 0x1c4c + 1b6a: 4d 7f andi r20, 0xFD ; 253 + 1b6c: 48 83 st Y, r20 + 1b6e: d7 01 movw r26, r14 + 1b70: 16 96 adiw r26, 0x06 ; 6 + 1b72: 1d 92 st X+, r1 + 1b74: 1c 92 st X, r1 + 1b76: 17 97 sbiw r26, 0x07 ; 7 + 1b78: 12 96 adiw r26, 0x02 ; 2 + 1b7a: 1d 92 st X+, r1 + 1b7c: 1c 92 st X, r1 + 1b7e: 13 97 sbiw r26, 0x03 ; 3 + 1b80: f7 01 movw r30, r14 + 1b82: 02 e0 ldi r16, 0x02 ; 2 + 1b84: 06 93 lac Z, r16 + 1b86: 7b c0 rjmp .+246 ; 0x1c7e + 1b88: 12 96 adiw r26, 0x02 ; 2 + 1b8a: ad 90 ld r10, X+ + 1b8c: bc 90 ld r11, X + 1b8e: 13 97 sbiw r26, 0x03 ; 3 + 1b90: 42 ff sbrs r20, 2 + 1b92: 10 c0 rjmp .+32 ; 0x1bb4 + 1b94: 89 80 ldd r8, Y+1 ; 0x01 + 1b96: 9a 80 ldd r9, Y+2 ; 0x02 + 1b98: c9 01 movw r24, r18 + 1b9a: b8 01 movw r22, r16 + 1b9c: d7 d4 rcall .+2478 ; 0x254c <__udivmodhi4> + 1b9e: b0 e4 ldi r27, 0x40 ; 64 + 1ba0: db 9e mul r13, r27 + 1ba2: b0 01 movw r22, r0 + 1ba4: 11 24 eor r1, r1 + 1ba6: 6d 56 subi r22, 0x6D ; 109 + 1ba8: 7f 4d sbci r23, 0xDF ; 223 + 1baa: ac 01 movw r20, r24 + 1bac: c4 01 movw r24, r8 + 1bae: 8e 0f add r24, r30 + 1bb0: 9f 1f adc r25, r31 + 1bb2: e6 d4 rcall .+2508 ; 0x2580 + 1bb4: 8d 81 ldd r24, Y+5 ; 0x05 + 1bb6: 9e 81 ldd r25, Y+6 ; 0x06 + 1bb8: 8a 0d add r24, r10 + 1bba: 9b 1d adc r25, r11 + 1bbc: 8d 83 std Y+5, r24 ; 0x05 + 1bbe: 9e 83 std Y+6, r25 ; 0x06 + 1bc0: 2b 81 ldd r18, Y+3 ; 0x03 + 1bc2: 3c 81 ldd r19, Y+4 ; 0x04 + 1bc4: 28 17 cp r18, r24 + 1bc6: 39 07 cpc r19, r25 + 1bc8: 10 f4 brcc .+4 ; 0x1bce + 1bca: 2d 83 std Y+5, r18 ; 0x05 + 1bcc: 3e 83 std Y+6, r19 ; 0x06 + 1bce: f7 01 movw r30, r14 + 1bd0: 86 81 ldd r24, Z+6 ; 0x06 + 1bd2: 97 81 ldd r25, Z+7 ; 0x07 + 1bd4: a8 16 cp r10, r24 + 1bd6: b9 06 cpc r11, r25 + 1bd8: c9 f5 brne .+114 ; 0x1c4c + 1bda: 8d 81 ldd r24, Y+5 ; 0x05 + 1bdc: 9e 81 ldd r25, Y+6 ; 0x06 + 1bde: 82 17 cp r24, r18 + 1be0: 93 07 cpc r25, r19 + 1be2: a1 f1 breq .+104 ; 0x1c4c + 1be4: 28 1b sub r18, r24 + 1be6: 39 0b sbc r19, r25 + 1be8: 21 15 cp r18, r1 + 1bea: f4 e0 ldi r31, 0x04 ; 4 + 1bec: 3f 07 cpc r19, r31 + 1bee: 10 f0 brcs .+4 ; 0x1bf4 + 1bf0: 2f ef ldi r18, 0xFF ; 255 + 1bf2: 33 e0 ldi r19, 0x03 ; 3 + 1bf4: c9 01 movw r24, r18 + 1bf6: b8 01 movw r22, r16 + 1bf8: a9 d4 rcall .+2386 ; 0x254c <__udivmodhi4> + 1bfa: 28 1b sub r18, r24 + 1bfc: 39 0b sbc r19, r25 + 1bfe: d7 01 movw r26, r14 + 1c00: 12 96 adiw r26, 0x02 ; 2 + 1c02: 1d 92 st X+, r1 + 1c04: 1c 92 st X, r1 + 1c06: 13 97 sbiw r26, 0x03 ; 3 + 1c08: 20 17 cp r18, r16 + 1c0a: 31 07 cpc r19, r17 + 1c0c: 78 f4 brcc .+30 ; 0x1c2c + 1c0e: 88 81 ld r24, Y + 1c10: 84 60 ori r24, 0x04 ; 4 + 1c12: 88 83 st Y, r24 + 1c14: b0 e4 ldi r27, 0x40 ; 64 + 1c16: db 9e mul r13, r27 + 1c18: c0 01 movw r24, r0 + 1c1a: 11 24 eor r1, r1 + 1c1c: 8d 56 subi r24, 0x6D ; 109 + 1c1e: 9f 4d sbci r25, 0xDF ; 223 + 1c20: f7 01 movw r30, r14 + 1c22: 84 83 std Z+4, r24 ; 0x04 + 1c24: 95 83 std Z+5, r25 ; 0x05 + 1c26: 06 83 std Z+6, r16 ; 0x06 + 1c28: 17 83 std Z+7, r17 ; 0x07 + 1c2a: aa cf rjmp .-172 ; 0x1b80 + 1c2c: 49 81 ldd r20, Y+1 ; 0x01 + 1c2e: 5a 81 ldd r21, Y+2 ; 0x02 + 1c30: 8d 81 ldd r24, Y+5 ; 0x05 + 1c32: 9e 81 ldd r25, Y+6 ; 0x06 + 1c34: 84 0f add r24, r20 + 1c36: 95 1f adc r25, r21 + 1c38: d7 01 movw r26, r14 + 1c3a: 14 96 adiw r26, 0x04 ; 4 + 1c3c: 8d 93 st X+, r24 + 1c3e: 9c 93 st X, r25 + 1c40: 15 97 sbiw r26, 0x05 ; 5 + 1c42: 16 96 adiw r26, 0x06 ; 6 + 1c44: 2d 93 st X+, r18 + 1c46: 3c 93 st X, r19 + 1c48: 17 97 sbiw r26, 0x07 ; 7 + 1c4a: 9a cf rjmp .-204 ; 0x1b80 + 1c4c: 88 81 ld r24, Y + 1c4e: 80 ff sbrs r24, 0 + 1c50: 16 c0 rjmp .+44 ; 0x1c7e + 1c52: 8e 7f andi r24, 0xFE ; 254 + 1c54: 88 83 st Y, r24 + 1c56: ef 81 ldd r30, Y+7 ; 0x07 + 1c58: f8 85 ldd r31, Y+8 ; 0x08 + 1c5a: 30 97 sbiw r30, 0x00 ; 0 + 1c5c: 81 f0 breq .+32 ; 0x1c7e + 1c5e: 6d 81 ldd r22, Y+5 ; 0x05 + 1c60: 7e 81 ldd r23, Y+6 ; 0x06 + 1c62: 4d 2d mov r20, r13 + 1c64: 80 e0 ldi r24, 0x00 ; 0 + 1c66: df 91 pop r29 + 1c68: cf 91 pop r28 + 1c6a: 1f 91 pop r17 + 1c6c: 0f 91 pop r16 + 1c6e: ff 90 pop r15 + 1c70: ef 90 pop r14 + 1c72: df 90 pop r13 + 1c74: bf 90 pop r11 + 1c76: af 90 pop r10 + 1c78: 9f 90 pop r9 + 1c7a: 8f 90 pop r8 + 1c7c: 09 94 ijmp + 1c7e: df 91 pop r29 + 1c80: cf 91 pop r28 + 1c82: 1f 91 pop r17 + 1c84: 0f 91 pop r16 + 1c86: ff 90 pop r15 + 1c88: ef 90 pop r14 + 1c8a: df 90 pop r13 + 1c8c: bf 90 pop r11 + 1c8e: af 90 pop r10 + 1c90: 9f 90 pop r9 + 1c92: 8f 90 pop r8 + 1c94: 08 95 ret -00001aac : - 1aac: cf 93 push r28 - 1aae: c8 2f mov r28, r24 - 1ab0: 80 91 64 22 lds r24, 0x2264 ; 0x802264 - 1ab4: c1 11 cpse r28, r1 - 1ab6: 05 c0 rjmp .+10 ; 0x1ac2 - 1ab8: 88 23 and r24, r24 - 1aba: 39 f0 breq .+14 ; 0x1aca - 1abc: 81 e0 ldi r24, 0x01 ; 1 - 1abe: e7 df rcall .-50 ; 0x1a8e - 1ac0: 04 c0 rjmp .+8 ; 0x1aca - 1ac2: 81 11 cpse r24, r1 - 1ac4: 02 c0 rjmp .+4 ; 0x1aca - 1ac6: 81 e0 ldi r24, 0x01 ; 1 - 1ac8: d3 df rcall .-90 ; 0x1a70 - 1aca: c0 93 64 22 sts 0x2264, r28 ; 0x802264 - 1ace: cf 91 pop r28 - 1ad0: 08 95 ret +00001c96 : + 1c96: 0f 93 push r16 + 1c98: cf 93 push r28 + 1c9a: df 93 push r29 + 1c9c: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 1ca0: 83 30 cpi r24, 0x03 ; 3 + 1ca2: 29 f4 brne .+10 ; 0x1cae + 1ca4: dd de rcall .-582 ; 0x1a60 + 1ca6: df 91 pop r29 + 1ca8: cf 91 pop r28 + 1caa: 0f 91 pop r16 + 1cac: 96 ce rjmp .-724 ; 0x19da + 1cae: 20 91 09 22 lds r18, 0x2209 ; 0x802209 + 1cb2: 30 91 0a 22 lds r19, 0x220A ; 0x80220a + 1cb6: c0 91 79 24 lds r28, 0x2479 ; 0x802479 + 1cba: d0 91 7a 24 lds r29, 0x247A ; 0x80247a + 1cbe: c2 1b sub r28, r18 + 1cc0: d3 0b sbc r29, r19 + 1cc2: 61 f5 brne .+88 ; 0x1d1c + 1cc4: 80 91 0b 22 lds r24, 0x220B ; 0x80220b + 1cc8: 90 91 0c 22 lds r25, 0x220C ; 0x80220c + 1ccc: 82 0f add r24, r18 + 1cce: 93 1f adc r25, r19 + 1cd0: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b + 1cd4: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c + 1cd8: 20 91 75 24 lds r18, 0x2475 ; 0x802475 + 1cdc: 30 91 76 24 lds r19, 0x2476 ; 0x802476 + 1ce0: 28 17 cp r18, r24 + 1ce2: 39 07 cpc r19, r25 + 1ce4: 21 f0 breq .+8 ; 0x1cee + 1ce6: 80 91 d2 20 lds r24, 0x20D2 ; 0x8020d2 + 1cea: 88 23 and r24, r24 + 1cec: 31 f0 breq .+12 ; 0x1cfa + 1cee: 84 e0 ldi r24, 0x04 ; 4 + 1cf0: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 1cf4: e0 e2 ldi r30, 0x20 ; 32 + 1cf6: f2 e2 ldi r31, 0x22 ; 34 + 1cf8: 36 c0 rjmp .+108 ; 0x1d66 + 1cfa: e0 91 7d 24 lds r30, 0x247D ; 0x80247d + 1cfe: f0 91 7e 24 lds r31, 0x247E ; 0x80247e + 1d02: 30 97 sbiw r30, 0x00 ; 0 + 1d04: 99 f0 breq .+38 ; 0x1d2c + 1d06: 09 95 icall + 1d08: 88 23 and r24, r24 + 1d0a: 81 f0 breq .+32 ; 0x1d2c + 1d0c: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1d10: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1d14: c0 91 79 24 lds r28, 0x2479 ; 0x802479 + 1d18: d0 91 7a 24 lds r29, 0x247A ; 0x80247a + 1d1c: c0 34 cpi r28, 0x40 ; 64 + 1d1e: d1 05 cpc r29, r1 + 1d20: 28 f0 brcs .+10 ; 0x1d2c + 1d22: 10 92 d2 20 sts 0x20D2, r1 ; 0x8020d2 + 1d26: c0 e4 ldi r28, 0x40 ; 64 + 1d28: d0 e0 ldi r29, 0x00 ; 0 + 1d2a: 03 c0 rjmp .+6 ; 0x1d32 + 1d2c: 81 e0 ldi r24, 0x01 ; 1 + 1d2e: 80 93 d2 20 sts 0x20D2, r24 ; 0x8020d2 + 1d32: c0 93 2a 22 sts 0x222A, r28 ; 0x80222a + 1d36: d0 93 2b 22 sts 0x222B, r29 ; 0x80222b + 1d3a: 80 91 09 22 lds r24, 0x2209 ; 0x802209 + 1d3e: 90 91 0a 22 lds r25, 0x220A ; 0x80220a + 1d42: 20 91 77 24 lds r18, 0x2477 ; 0x802477 + 1d46: 30 91 78 24 lds r19, 0x2478 ; 0x802478 + 1d4a: 28 0f add r18, r24 + 1d4c: 39 1f adc r19, r25 + 1d4e: 20 93 2c 22 sts 0x222C, r18 ; 0x80222c + 1d52: 30 93 2d 22 sts 0x222D, r19 ; 0x80222d + 1d56: c8 0f add r28, r24 + 1d58: d9 1f adc r29, r25 + 1d5a: c0 93 09 22 sts 0x2209, r28 ; 0x802209 + 1d5e: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a + 1d62: e8 e2 ldi r30, 0x28 ; 40 + 1d64: f2 e2 ldi r31, 0x22 ; 34 + 1d66: 02 e0 ldi r16, 0x02 ; 2 + 1d68: 06 93 lac Z, r16 + 1d6a: df 91 pop r29 + 1d6c: cf 91 pop r28 + 1d6e: 0f 91 pop r16 + 1d70: 08 95 ret -00001ad2 : - 1ad2: 28 2f mov r18, r24 - 1ad4: 2f 70 andi r18, 0x0F ; 15 - 1ad6: 08 2e mov r0, r24 - 1ad8: 00 0c add r0, r0 - 1ada: 99 0b sbc r25, r25 - 1adc: 39 2f mov r19, r25 - 1ade: 33 1f adc r19, r19 - 1ae0: 33 27 eor r19, r19 - 1ae2: 33 1f adc r19, r19 - 1ae4: 83 2f mov r24, r19 - 1ae6: 90 e0 ldi r25, 0x00 ; 0 - 1ae8: 82 0f add r24, r18 - 1aea: 91 1d adc r25, r1 - 1aec: 82 0f add r24, r18 - 1aee: 91 1d adc r25, r1 - 1af0: 23 e0 ldi r18, 0x03 ; 3 - 1af2: 88 0f add r24, r24 - 1af4: 99 1f adc r25, r25 - 1af6: 2a 95 dec r18 - 1af8: e1 f7 brne .-8 ; 0x1af2 - 1afa: 80 5e subi r24, 0xE0 ; 224 - 1afc: 9d 4d sbci r25, 0xDD ; 221 - 1afe: 08 95 ret +00001d72 : + 1d72: 0f 93 push r16 + 1d74: cf 93 push r28 + 1d76: df 93 push r29 + 1d78: 1f 92 push r1 + 1d7a: cd b7 in r28, 0x3d ; 61 + 1d7c: de b7 in r29, 0x3e ; 62 + 1d7e: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1d82: 80 ff sbrs r24, 0 + 1d84: 65 c0 rjmp .+202 ; 0x1e50 + 1d86: 21 e0 ldi r18, 0x01 ; 1 + 1d88: 20 93 cc 04 sts 0x04CC, r18 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1d8c: 80 e2 ldi r24, 0x20 ; 32 + 1d8e: 92 e2 ldi r25, 0x22 ; 34 + 1d90: fc 01 movw r30, r24 + 1d92: 00 e8 ldi r16, 0x80 ; 128 + 1d94: 06 93 lac Z, r16 + 1d96: e8 e2 ldi r30, 0x28 ; 40 + 1d98: f2 e2 ldi r31, 0x22 ; 34 + 1d9a: 00 e8 ldi r16, 0x80 ; 128 + 1d9c: 06 93 lac Z, r16 + 1d9e: 20 93 ca 04 sts 0x04CA, r18 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 1da2: fc 01 movw r30, r24 + 1da4: 00 e1 ldi r16, 0x10 ; 16 + 1da6: 06 93 lac Z, r16 + 1da8: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 1dac: 88 23 and r24, r24 + 1dae: 29 f0 breq .+10 ; 0x1dba + 1db0: 83 50 subi r24, 0x03 ; 3 + 1db2: 82 30 cpi r24, 0x02 ; 2 + 1db4: 08 f4 brcc .+2 ; 0x1db8 + 1db6: 54 de rcall .-856 ; 0x1a60 + 1db8: 10 de rcall .-992 ; 0x19da + 1dba: 80 91 22 22 lds r24, 0x2222 ; 0x802222 + 1dbe: 90 91 23 22 lds r25, 0x2223 ; 0x802223 + 1dc2: 08 97 sbiw r24, 0x08 ; 8 + 1dc4: 09 f0 breq .+2 ; 0x1dc8 + 1dc6: 46 c0 rjmp .+140 ; 0x1e54 + 1dc8: 88 e0 ldi r24, 0x08 ; 8 + 1dca: e9 ec ldi r30, 0xC9 ; 201 + 1dcc: f1 e2 ldi r31, 0x21 ; 33 + 1dce: af e6 ldi r26, 0x6F ; 111 + 1dd0: b4 e2 ldi r27, 0x24 ; 36 + 1dd2: 01 90 ld r0, Z+ + 1dd4: 0d 92 st X+, r0 + 1dd6: 8a 95 dec r24 + 1dd8: e1 f7 brne .-8 ; 0x1dd2 + 1dda: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1dde: 80 62 ori r24, 0x20 ; 32 + 1de0: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1de4: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1de8: 80 62 ori r24, 0x20 ; 32 + 1dea: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1dee: 5e da rcall .-2884 ; 0x12ac + 1df0: 81 11 cpse r24, r1 + 1df2: 02 c0 rjmp .+4 ; 0x1df8 + 1df4: 19 de rcall .-974 ; 0x1a28 + 1df6: 2e c0 rjmp .+92 ; 0x1e54 + 1df8: 90 91 6f 24 lds r25, 0x246F ; 0x80246f + 1dfc: 97 ff sbrs r25, 7 + 1dfe: 0e c0 rjmp .+28 ; 0x1e1c + 1e00: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b + 1e04: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c + 1e08: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1e0c: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1e10: 92 e0 ldi r25, 0x02 ; 2 + 1e12: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d + 1e16: 89 83 std Y+1, r24 ; 0x01 + 1e18: 3e df rcall .-388 ; 0x1c96 + 1e1a: 08 c0 rjmp .+16 ; 0x1e2c + 1e1c: 20 91 75 24 lds r18, 0x2475 ; 0x802475 + 1e20: 30 91 76 24 lds r19, 0x2476 ; 0x802476 + 1e24: 23 2b or r18, r19 + 1e26: 21 f4 brne .+8 ; 0x1e30 + 1e28: 89 83 std Y+1, r24 ; 0x01 + 1e2a: 0c de rcall .-1000 ; 0x1a44 + 1e2c: 89 81 ldd r24, Y+1 ; 0x01 + 1e2e: 13 c0 rjmp .+38 ; 0x1e56 + 1e30: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b + 1e34: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c + 1e38: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1e3c: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1e40: 91 e0 ldi r25, 0x01 ; 1 + 1e42: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d + 1e46: e0 e2 ldi r30, 0x20 ; 32 + 1e48: f2 e2 ldi r31, 0x22 ; 34 + 1e4a: 02 e0 ldi r16, 0x02 ; 2 + 1e4c: 06 93 lac Z, r16 + 1e4e: 03 c0 rjmp .+6 ; 0x1e56 + 1e50: 80 e0 ldi r24, 0x00 ; 0 + 1e52: 01 c0 rjmp .+2 ; 0x1e56 + 1e54: 81 e0 ldi r24, 0x01 ; 1 + 1e56: 0f 90 pop r0 + 1e58: df 91 pop r29 + 1e5a: cf 91 pop r28 + 1e5c: 0f 91 pop r16 + 1e5e: 08 95 ret -00001b00 : - 1b00: 0f 93 push r16 - 1b02: e8 ec ldi r30, 0xC8 ; 200 - 1b04: f4 e0 ldi r31, 0x04 ; 4 - 1b06: 80 81 ld r24, Z - 1b08: 8f 7d andi r24, 0xDF ; 223 - 1b0a: 80 83 st Z, r24 - 1b0c: 80 81 ld r24, Z - 1b0e: 8f 7d andi r24, 0xDF ; 223 - 1b10: 80 83 st Z, r24 - 1b12: e8 e2 ldi r30, 0x28 ; 40 - 1b14: f2 e2 ldi r31, 0x22 ; 34 - 1b16: 02 e0 ldi r16, 0x02 ; 2 - 1b18: 05 93 las Z, r16 - 1b1a: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a - 1b1e: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b - 1b22: 00 e2 ldi r16, 0x20 ; 32 - 1b24: 06 93 lac Z, r16 - 1b26: 00 e4 ldi r16, 0x40 ; 64 - 1b28: 06 93 lac Z, r16 - 1b2a: e0 e2 ldi r30, 0x20 ; 32 - 1b2c: f2 e2 ldi r31, 0x22 ; 34 - 1b2e: 00 e2 ldi r16, 0x20 ; 32 - 1b30: 06 93 lac Z, r16 - 1b32: 00 e4 ldi r16, 0x40 ; 64 - 1b34: 06 93 lac Z, r16 - 1b36: ea e6 ldi r30, 0x6A ; 106 - 1b38: f4 e2 ldi r31, 0x24 ; 36 - 1b3a: 14 86 std Z+12, r1 ; 0x0c - 1b3c: 15 86 std Z+13, r1 ; 0x0d - 1b3e: 16 86 std Z+14, r1 ; 0x0e - 1b40: 17 86 std Z+15, r1 ; 0x0f - 1b42: 12 86 std Z+10, r1 ; 0x0a - 1b44: 13 86 std Z+11, r1 ; 0x0b - 1b46: 10 92 0d 22 sts 0x220D, r1 ; 0x80220d - 1b4a: 0f 91 pop r16 - 1b4c: 08 95 ret +00001e60 : + 1e60: cf 93 push r28 + 1e62: cf b7 in r28, 0x3f ; 63 + 1e64: f8 94 cli + 1e66: 81 e0 ldi r24, 0x01 ; 1 + 1e68: 8e dd rcall .-1252 ; 0x1986 + 1e6a: ea ec ldi r30, 0xCA ; 202 + 1e6c: f4 e0 ldi r31, 0x04 ; 4 + 1e6e: 80 e4 ldi r24, 0x40 ; 64 + 1e70: 80 83 st Z, r24 + 1e72: 80 e2 ldi r24, 0x20 ; 32 + 1e74: 80 83 st Z, r24 + 1e76: e1 ec ldi r30, 0xC1 ; 193 + 1e78: f4 e0 ldi r31, 0x04 ; 4 + 1e7a: 80 81 ld r24, Z + 1e7c: 81 60 ori r24, 0x01 ; 1 + 1e7e: 80 83 st Z, r24 + 1e80: a9 ec ldi r26, 0xC9 ; 201 + 1e82: b4 e0 ldi r27, 0x04 ; 4 + 1e84: 8c 91 ld r24, X + 1e86: 82 60 ori r24, 0x02 ; 2 + 1e88: 8c 93 st X, r24 + 1e8a: e8 ec ldi r30, 0xC8 ; 200 + 1e8c: f4 e0 ldi r31, 0x04 ; 4 + 1e8e: 80 81 ld r24, Z + 1e90: 80 64 ori r24, 0x40 ; 64 + 1e92: 80 83 st Z, r24 + 1e94: 8c 91 ld r24, X + 1e96: 81 60 ori r24, 0x01 ; 1 + 1e98: 8c 93 st X, r24 + 1e9a: 80 81 ld r24, Z + 1e9c: 80 68 ori r24, 0x80 ; 128 + 1e9e: 80 83 st Z, r24 + 1ea0: cf bf out 0x3f, r28 ; 63 + 1ea2: cf 91 pop r28 + 1ea4: 08 95 ret -00001b4e : - 1b4e: 0f 93 push r16 - 1b50: 85 e0 ldi r24, 0x05 ; 5 - 1b52: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 1b56: e9 e2 ldi r30, 0x29 ; 41 - 1b58: f2 e2 ldi r31, 0x22 ; 34 - 1b5a: 04 e0 ldi r16, 0x04 ; 4 - 1b5c: 05 93 las Z, r16 - 1b5e: e1 e2 ldi r30, 0x21 ; 33 - 1b60: f2 e2 ldi r31, 0x22 ; 34 - 1b62: 04 e0 ldi r16, 0x04 ; 4 - 1b64: 05 93 las Z, r16 - 1b66: 0f 91 pop r16 - 1b68: 08 95 ret - -00001b6a : - 1b6a: 0f 93 push r16 - 1b6c: 83 e0 ldi r24, 0x03 ; 3 - 1b6e: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 1b72: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a - 1b76: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b - 1b7a: e8 e2 ldi r30, 0x28 ; 40 - 1b7c: f2 e2 ldi r31, 0x22 ; 34 - 1b7e: 02 e0 ldi r16, 0x02 ; 2 - 1b80: 06 93 lac Z, r16 - 1b82: 0f 91 pop r16 - 1b84: 08 95 ret - -00001b86 : - 1b86: e0 91 76 24 lds r30, 0x2476 ; 0x802476 - 1b8a: f0 91 77 24 lds r31, 0x2477 ; 0x802477 - 1b8e: 30 97 sbiw r30, 0x00 ; 0 - 1b90: 09 f0 breq .+2 ; 0x1b94 - 1b92: 09 94 ijmp - 1b94: 08 95 ret - -00001b96 : - 1b96: 28 2f mov r18, r24 - 1b98: 2f 70 andi r18, 0x0F ; 15 - 1b9a: 08 2e mov r0, r24 - 1b9c: 00 0c add r0, r0 - 1b9e: 99 0b sbc r25, r25 - 1ba0: 39 2f mov r19, r25 - 1ba2: 33 1f adc r19, r19 - 1ba4: 33 27 eor r19, r19 - 1ba6: 33 1f adc r19, r19 - 1ba8: 83 2f mov r24, r19 - 1baa: 90 e0 ldi r25, 0x00 ; 0 - 1bac: 82 0f add r24, r18 - 1bae: 91 1d adc r25, r1 - 1bb0: 82 0f add r24, r18 - 1bb2: 91 1d adc r25, r1 - 1bb4: 02 97 sbiw r24, 0x02 ; 2 - 1bb6: 49 e0 ldi r20, 0x09 ; 9 - 1bb8: 48 9f mul r20, r24 - 1bba: 90 01 movw r18, r0 - 1bbc: 49 9f mul r20, r25 - 1bbe: 30 0d add r19, r0 - 1bc0: 11 24 eor r1, r1 - 1bc2: c9 01 movw r24, r18 - 1bc4: 8d 56 subi r24, 0x6D ; 109 - 1bc6: 9e 4d sbci r25, 0xDE ; 222 - 1bc8: 08 95 ret - -00001bca : - 1bca: 8f 92 push r8 - 1bcc: 9f 92 push r9 - 1bce: af 92 push r10 - 1bd0: bf 92 push r11 - 1bd2: df 92 push r13 - 1bd4: ef 92 push r14 - 1bd6: ff 92 push r15 - 1bd8: 0f 93 push r16 - 1bda: 1f 93 push r17 - 1bdc: cf 93 push r28 - 1bde: df 93 push r29 - 1be0: d8 2e mov r13, r24 - 1be2: d9 df rcall .-78 ; 0x1b96 - 1be4: ec 01 movw r28, r24 - 1be6: 8d 2d mov r24, r13 - 1be8: 74 df rcall .-280 ; 0x1ad2 - 1bea: 7c 01 movw r14, r24 - 1bec: dc 01 movw r26, r24 - 1bee: 11 96 adiw r26, 0x01 ; 1 - 1bf0: ec 91 ld r30, X - 1bf2: e7 70 andi r30, 0x07 ; 7 - 1bf4: e1 50 subi r30, 0x01 ; 1 - 1bf6: e7 30 cpi r30, 0x07 ; 7 - 1bf8: 40 f4 brcc .+16 ; 0x1c0a - 1bfa: f0 e0 ldi r31, 0x00 ; 0 - 1bfc: ee 0f add r30, r30 - 1bfe: ff 1f adc r31, r31 - 1c00: ee 54 subi r30, 0x4E ; 78 - 1c02: ff 4d sbci r31, 0xDF ; 223 - 1c04: 00 81 ld r16, Z - 1c06: 11 81 ldd r17, Z+1 ; 0x01 - 1c08: 02 c0 rjmp .+4 ; 0x1c0e - 1c0a: 08 e0 ldi r16, 0x08 ; 8 - 1c0c: 10 e0 ldi r17, 0x00 ; 0 - 1c0e: ed 81 ldd r30, Y+5 ; 0x05 - 1c10: fe 81 ldd r31, Y+6 ; 0x06 - 1c12: 2b 81 ldd r18, Y+3 ; 0x03 - 1c14: 3c 81 ldd r19, Y+4 ; 0x04 - 1c16: 48 81 ld r20, Y - 1c18: d7 01 movw r26, r14 - 1c1a: d7 fe sbrs r13, 7 - 1c1c: 48 c0 rjmp .+144 ; 0x1cae - 1c1e: 16 96 adiw r26, 0x06 ; 6 - 1c20: 8d 91 ld r24, X+ - 1c22: 9c 91 ld r25, X - 1c24: 17 97 sbiw r26, 0x07 ; 7 - 1c26: 8e 0f add r24, r30 - 1c28: 9f 1f adc r25, r31 - 1c2a: 8d 83 std Y+5, r24 ; 0x05 - 1c2c: 9e 83 std Y+6, r25 ; 0x06 - 1c2e: 82 17 cp r24, r18 - 1c30: 93 07 cpc r25, r19 - 1c32: 61 f1 breq .+88 ; 0x1c8c - 1c34: 28 1b sub r18, r24 - 1c36: 39 0b sbc r19, r25 - 1c38: 21 15 cp r18, r1 - 1c3a: b4 e0 ldi r27, 0x04 ; 4 - 1c3c: 3b 07 cpc r19, r27 - 1c3e: 38 f0 brcs .+14 ; 0x1c4e - 1c40: 2f ef ldi r18, 0xFF ; 255 - 1c42: 33 e0 ldi r19, 0x03 ; 3 - 1c44: c9 01 movw r24, r18 - 1c46: b8 01 movw r22, r16 - 1c48: 14 d5 rcall .+2600 ; 0x2672 <__udivmodhi4> - 1c4a: 28 1b sub r18, r24 - 1c4c: 39 0b sbc r19, r25 - 1c4e: 41 ff sbrs r20, 1 - 1c50: 0a c0 rjmp .+20 ; 0x1c66 - 1c52: c9 01 movw r24, r18 - 1c54: b8 01 movw r22, r16 - 1c56: 0d d5 rcall .+2586 ; 0x2672 <__udivmodhi4> - 1c58: ac 01 movw r20, r24 - 1c5a: 91 e0 ldi r25, 0x01 ; 1 - 1c5c: 45 2b or r20, r21 - 1c5e: 09 f0 breq .+2 ; 0x1c62 - 1c60: 90 e0 ldi r25, 0x00 ; 0 - 1c62: 89 2f mov r24, r25 - 1c64: 01 c0 rjmp .+2 ; 0x1c68 - 1c66: 80 e0 ldi r24, 0x00 ; 0 - 1c68: 98 81 ld r25, Y - 1c6a: 80 fb bst r24, 0 - 1c6c: 91 f9 bld r25, 1 - 1c6e: 98 83 st Y, r25 - 1c70: f7 01 movw r30, r14 - 1c72: 16 82 std Z+6, r1 ; 0x06 - 1c74: 17 82 std Z+7, r1 ; 0x07 - 1c76: 22 83 std Z+2, r18 ; 0x02 - 1c78: 33 83 std Z+3, r19 ; 0x03 - 1c7a: 29 81 ldd r18, Y+1 ; 0x01 - 1c7c: 3a 81 ldd r19, Y+2 ; 0x02 - 1c7e: 8d 81 ldd r24, Y+5 ; 0x05 - 1c80: 9e 81 ldd r25, Y+6 ; 0x06 - 1c82: 82 0f add r24, r18 - 1c84: 93 1f adc r25, r19 - 1c86: 84 83 std Z+4, r24 ; 0x04 - 1c88: 95 83 std Z+5, r25 ; 0x05 - 1c8a: 0e c0 rjmp .+28 ; 0x1ca8 - 1c8c: 41 ff sbrs r20, 1 - 1c8e: 71 c0 rjmp .+226 ; 0x1d72 - 1c90: 4d 7f andi r20, 0xFD ; 253 - 1c92: 48 83 st Y, r20 - 1c94: d7 01 movw r26, r14 - 1c96: 16 96 adiw r26, 0x06 ; 6 - 1c98: 1d 92 st X+, r1 - 1c9a: 1c 92 st X, r1 - 1c9c: 17 97 sbiw r26, 0x07 ; 7 - 1c9e: 12 96 adiw r26, 0x02 ; 2 - 1ca0: 1d 92 st X+, r1 - 1ca2: 1c 92 st X, r1 - 1ca4: 13 97 sbiw r26, 0x03 ; 3 - 1ca6: f7 01 movw r30, r14 - 1ca8: 02 e0 ldi r16, 0x02 ; 2 - 1caa: 06 93 lac Z, r16 - 1cac: 7b c0 rjmp .+246 ; 0x1da4 - 1cae: 12 96 adiw r26, 0x02 ; 2 - 1cb0: ad 90 ld r10, X+ - 1cb2: bc 90 ld r11, X - 1cb4: 13 97 sbiw r26, 0x03 ; 3 - 1cb6: 42 ff sbrs r20, 2 - 1cb8: 10 c0 rjmp .+32 ; 0x1cda - 1cba: 89 80 ldd r8, Y+1 ; 0x01 - 1cbc: 9a 80 ldd r9, Y+2 ; 0x02 - 1cbe: c9 01 movw r24, r18 - 1cc0: b8 01 movw r22, r16 - 1cc2: d7 d4 rcall .+2478 ; 0x2672 <__udivmodhi4> - 1cc4: b0 e4 ldi r27, 0x40 ; 64 - 1cc6: db 9e mul r13, r27 - 1cc8: b0 01 movw r22, r0 - 1cca: 11 24 eor r1, r1 - 1ccc: 6d 56 subi r22, 0x6D ; 109 - 1cce: 7f 4d sbci r23, 0xDF ; 223 - 1cd0: ac 01 movw r20, r24 - 1cd2: c4 01 movw r24, r8 - 1cd4: 8e 0f add r24, r30 - 1cd6: 9f 1f adc r25, r31 - 1cd8: e6 d4 rcall .+2508 ; 0x26a6 - 1cda: 8d 81 ldd r24, Y+5 ; 0x05 - 1cdc: 9e 81 ldd r25, Y+6 ; 0x06 - 1cde: 8a 0d add r24, r10 - 1ce0: 9b 1d adc r25, r11 - 1ce2: 8d 83 std Y+5, r24 ; 0x05 - 1ce4: 9e 83 std Y+6, r25 ; 0x06 - 1ce6: 2b 81 ldd r18, Y+3 ; 0x03 - 1ce8: 3c 81 ldd r19, Y+4 ; 0x04 - 1cea: 28 17 cp r18, r24 - 1cec: 39 07 cpc r19, r25 - 1cee: 10 f4 brcc .+4 ; 0x1cf4 - 1cf0: 2d 83 std Y+5, r18 ; 0x05 - 1cf2: 3e 83 std Y+6, r19 ; 0x06 - 1cf4: f7 01 movw r30, r14 - 1cf6: 86 81 ldd r24, Z+6 ; 0x06 - 1cf8: 97 81 ldd r25, Z+7 ; 0x07 - 1cfa: a8 16 cp r10, r24 - 1cfc: b9 06 cpc r11, r25 - 1cfe: c9 f5 brne .+114 ; 0x1d72 - 1d00: 8d 81 ldd r24, Y+5 ; 0x05 - 1d02: 9e 81 ldd r25, Y+6 ; 0x06 - 1d04: 82 17 cp r24, r18 - 1d06: 93 07 cpc r25, r19 - 1d08: a1 f1 breq .+104 ; 0x1d72 - 1d0a: 28 1b sub r18, r24 - 1d0c: 39 0b sbc r19, r25 - 1d0e: 21 15 cp r18, r1 - 1d10: f4 e0 ldi r31, 0x04 ; 4 - 1d12: 3f 07 cpc r19, r31 - 1d14: 10 f0 brcs .+4 ; 0x1d1a - 1d16: 2f ef ldi r18, 0xFF ; 255 - 1d18: 33 e0 ldi r19, 0x03 ; 3 - 1d1a: c9 01 movw r24, r18 - 1d1c: b8 01 movw r22, r16 - 1d1e: a9 d4 rcall .+2386 ; 0x2672 <__udivmodhi4> - 1d20: 28 1b sub r18, r24 - 1d22: 39 0b sbc r19, r25 - 1d24: d7 01 movw r26, r14 - 1d26: 12 96 adiw r26, 0x02 ; 2 - 1d28: 1d 92 st X+, r1 - 1d2a: 1c 92 st X, r1 - 1d2c: 13 97 sbiw r26, 0x03 ; 3 - 1d2e: 20 17 cp r18, r16 - 1d30: 31 07 cpc r19, r17 - 1d32: 78 f4 brcc .+30 ; 0x1d52 - 1d34: 88 81 ld r24, Y - 1d36: 84 60 ori r24, 0x04 ; 4 - 1d38: 88 83 st Y, r24 - 1d3a: b0 e4 ldi r27, 0x40 ; 64 - 1d3c: db 9e mul r13, r27 - 1d3e: c0 01 movw r24, r0 - 1d40: 11 24 eor r1, r1 - 1d42: 8d 56 subi r24, 0x6D ; 109 - 1d44: 9f 4d sbci r25, 0xDF ; 223 - 1d46: f7 01 movw r30, r14 - 1d48: 84 83 std Z+4, r24 ; 0x04 - 1d4a: 95 83 std Z+5, r25 ; 0x05 - 1d4c: 06 83 std Z+6, r16 ; 0x06 - 1d4e: 17 83 std Z+7, r17 ; 0x07 - 1d50: aa cf rjmp .-172 ; 0x1ca6 - 1d52: 49 81 ldd r20, Y+1 ; 0x01 - 1d54: 5a 81 ldd r21, Y+2 ; 0x02 - 1d56: 8d 81 ldd r24, Y+5 ; 0x05 - 1d58: 9e 81 ldd r25, Y+6 ; 0x06 - 1d5a: 84 0f add r24, r20 - 1d5c: 95 1f adc r25, r21 - 1d5e: d7 01 movw r26, r14 - 1d60: 14 96 adiw r26, 0x04 ; 4 - 1d62: 8d 93 st X+, r24 - 1d64: 9c 93 st X, r25 - 1d66: 15 97 sbiw r26, 0x05 ; 5 - 1d68: 16 96 adiw r26, 0x06 ; 6 - 1d6a: 2d 93 st X+, r18 - 1d6c: 3c 93 st X, r19 - 1d6e: 17 97 sbiw r26, 0x07 ; 7 - 1d70: 9a cf rjmp .-204 ; 0x1ca6 - 1d72: 88 81 ld r24, Y - 1d74: 80 ff sbrs r24, 0 - 1d76: 16 c0 rjmp .+44 ; 0x1da4 - 1d78: 8e 7f andi r24, 0xFE ; 254 - 1d7a: 88 83 st Y, r24 - 1d7c: ef 81 ldd r30, Y+7 ; 0x07 - 1d7e: f8 85 ldd r31, Y+8 ; 0x08 - 1d80: 30 97 sbiw r30, 0x00 ; 0 - 1d82: 81 f0 breq .+32 ; 0x1da4 - 1d84: 6d 81 ldd r22, Y+5 ; 0x05 - 1d86: 7e 81 ldd r23, Y+6 ; 0x06 - 1d88: 4d 2d mov r20, r13 - 1d8a: 80 e0 ldi r24, 0x00 ; 0 - 1d8c: df 91 pop r29 - 1d8e: cf 91 pop r28 - 1d90: 1f 91 pop r17 - 1d92: 0f 91 pop r16 - 1d94: ff 90 pop r15 - 1d96: ef 90 pop r14 - 1d98: df 90 pop r13 - 1d9a: bf 90 pop r11 - 1d9c: af 90 pop r10 - 1d9e: 9f 90 pop r9 - 1da0: 8f 90 pop r8 - 1da2: 09 94 ijmp - 1da4: df 91 pop r29 - 1da6: cf 91 pop r28 - 1da8: 1f 91 pop r17 - 1daa: 0f 91 pop r16 - 1dac: ff 90 pop r15 - 1dae: ef 90 pop r14 - 1db0: df 90 pop r13 - 1db2: bf 90 pop r11 - 1db4: af 90 pop r10 - 1db6: 9f 90 pop r9 - 1db8: 8f 90 pop r8 - 1dba: 08 95 ret - -00001dbc : - 1dbc: 0f 93 push r16 - 1dbe: cf 93 push r28 - 1dc0: df 93 push r29 - 1dc2: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 1dc6: 83 30 cpi r24, 0x03 ; 3 - 1dc8: 29 f4 brne .+10 ; 0x1dd4 - 1dca: dd de rcall .-582 ; 0x1b86 - 1dcc: df 91 pop r29 - 1dce: cf 91 pop r28 - 1dd0: 0f 91 pop r16 - 1dd2: 96 ce rjmp .-724 ; 0x1b00 - 1dd4: 20 91 09 22 lds r18, 0x2209 ; 0x802209 - 1dd8: 30 91 0a 22 lds r19, 0x220A ; 0x80220a - 1ddc: c0 91 74 24 lds r28, 0x2474 ; 0x802474 - 1de0: d0 91 75 24 lds r29, 0x2475 ; 0x802475 - 1de4: c2 1b sub r28, r18 - 1de6: d3 0b sbc r29, r19 - 1de8: 61 f5 brne .+88 ; 0x1e42 - 1dea: 80 91 0b 22 lds r24, 0x220B ; 0x80220b - 1dee: 90 91 0c 22 lds r25, 0x220C ; 0x80220c - 1df2: 82 0f add r24, r18 - 1df4: 93 1f adc r25, r19 - 1df6: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b - 1dfa: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c - 1dfe: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 1e02: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 1e06: 28 17 cp r18, r24 - 1e08: 39 07 cpc r19, r25 - 1e0a: 21 f0 breq .+8 ; 0x1e14 - 1e0c: 80 91 d2 20 lds r24, 0x20D2 ; 0x8020d2 - 1e10: 88 23 and r24, r24 - 1e12: 31 f0 breq .+12 ; 0x1e20 - 1e14: 84 e0 ldi r24, 0x04 ; 4 - 1e16: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 1e1a: e0 e2 ldi r30, 0x20 ; 32 - 1e1c: f2 e2 ldi r31, 0x22 ; 34 - 1e1e: 36 c0 rjmp .+108 ; 0x1e8c - 1e20: e0 91 78 24 lds r30, 0x2478 ; 0x802478 - 1e24: f0 91 79 24 lds r31, 0x2479 ; 0x802479 - 1e28: 30 97 sbiw r30, 0x00 ; 0 - 1e2a: 99 f0 breq .+38 ; 0x1e52 - 1e2c: 09 95 icall - 1e2e: 88 23 and r24, r24 - 1e30: 81 f0 breq .+32 ; 0x1e52 - 1e32: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1e36: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1e3a: c0 91 74 24 lds r28, 0x2474 ; 0x802474 - 1e3e: d0 91 75 24 lds r29, 0x2475 ; 0x802475 - 1e42: c0 34 cpi r28, 0x40 ; 64 - 1e44: d1 05 cpc r29, r1 - 1e46: 28 f0 brcs .+10 ; 0x1e52 - 1e48: 10 92 d2 20 sts 0x20D2, r1 ; 0x8020d2 - 1e4c: c0 e4 ldi r28, 0x40 ; 64 - 1e4e: d0 e0 ldi r29, 0x00 ; 0 - 1e50: 03 c0 rjmp .+6 ; 0x1e58 - 1e52: 81 e0 ldi r24, 0x01 ; 1 - 1e54: 80 93 d2 20 sts 0x20D2, r24 ; 0x8020d2 - 1e58: c0 93 2a 22 sts 0x222A, r28 ; 0x80222a - 1e5c: d0 93 2b 22 sts 0x222B, r29 ; 0x80222b - 1e60: 80 91 09 22 lds r24, 0x2209 ; 0x802209 - 1e64: 90 91 0a 22 lds r25, 0x220A ; 0x80220a - 1e68: 20 91 72 24 lds r18, 0x2472 ; 0x802472 - 1e6c: 30 91 73 24 lds r19, 0x2473 ; 0x802473 - 1e70: 28 0f add r18, r24 - 1e72: 39 1f adc r19, r25 - 1e74: 20 93 2c 22 sts 0x222C, r18 ; 0x80222c - 1e78: 30 93 2d 22 sts 0x222D, r19 ; 0x80222d - 1e7c: c8 0f add r28, r24 - 1e7e: d9 1f adc r29, r25 - 1e80: c0 93 09 22 sts 0x2209, r28 ; 0x802209 - 1e84: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a - 1e88: e8 e2 ldi r30, 0x28 ; 40 - 1e8a: f2 e2 ldi r31, 0x22 ; 34 - 1e8c: 02 e0 ldi r16, 0x02 ; 2 - 1e8e: 06 93 lac Z, r16 - 1e90: df 91 pop r29 - 1e92: cf 91 pop r28 - 1e94: 0f 91 pop r16 - 1e96: 08 95 ret - -00001e98 : - 1e98: 0f 93 push r16 - 1e9a: cf 93 push r28 - 1e9c: df 93 push r29 - 1e9e: 1f 92 push r1 - 1ea0: cd b7 in r28, 0x3d ; 61 - 1ea2: de b7 in r29, 0x3e ; 62 - 1ea4: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1ea8: 80 ff sbrs r24, 0 - 1eaa: 65 c0 rjmp .+202 ; 0x1f76 - 1eac: 21 e0 ldi r18, 0x01 ; 1 - 1eae: 20 93 cc 04 sts 0x04CC, r18 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1eb2: 80 e2 ldi r24, 0x20 ; 32 - 1eb4: 92 e2 ldi r25, 0x22 ; 34 - 1eb6: fc 01 movw r30, r24 - 1eb8: 00 e8 ldi r16, 0x80 ; 128 - 1eba: 06 93 lac Z, r16 - 1ebc: e8 e2 ldi r30, 0x28 ; 40 - 1ebe: f2 e2 ldi r31, 0x22 ; 34 - 1ec0: 00 e8 ldi r16, 0x80 ; 128 - 1ec2: 06 93 lac Z, r16 - 1ec4: 20 93 ca 04 sts 0x04CA, r18 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> +00001ea6 : + 1ea6: cf 93 push r28 + 1ea8: 10 92 60 00 sts 0x0060, r1 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> + 1eac: 80 e3 ldi r24, 0x30 ; 48 + 1eae: 7a d8 rcall .-3852 ; 0xfa4 + 1eb0: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1eb4: 80 64 ori r24, 0x40 ; 64 + 1eb6: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1eba: 81 e0 ldi r24, 0x01 ; 1 + 1ebc: 80 93 60 00 sts 0x0060, r24 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> + 1ec0: cf b7 in r28, 0x3f ; 63 + 1ec2: f8 94 cli + 1ec4: 80 e0 ldi r24, 0x00 ; 0 + 1ec6: 90 e0 ldi r25, 0x00 ; 0 1ec8: fc 01 movw r30, r24 - 1eca: 00 e1 ldi r16, 0x10 ; 16 - 1ecc: 06 93 lac Z, r16 - 1ece: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 1ed2: 88 23 and r24, r24 - 1ed4: 29 f0 breq .+10 ; 0x1ee0 - 1ed6: 83 50 subi r24, 0x03 ; 3 - 1ed8: 82 30 cpi r24, 0x02 ; 2 - 1eda: 08 f4 brcc .+2 ; 0x1ede - 1edc: 54 de rcall .-856 ; 0x1b86 - 1ede: 10 de rcall .-992 ; 0x1b00 - 1ee0: 80 91 22 22 lds r24, 0x2222 ; 0x802222 - 1ee4: 90 91 23 22 lds r25, 0x2223 ; 0x802223 - 1ee8: 08 97 sbiw r24, 0x08 ; 8 - 1eea: 09 f0 breq .+2 ; 0x1eee - 1eec: 46 c0 rjmp .+140 ; 0x1f7a - 1eee: 88 e0 ldi r24, 0x08 ; 8 - 1ef0: e9 ec ldi r30, 0xC9 ; 201 - 1ef2: f1 e2 ldi r31, 0x21 ; 33 - 1ef4: aa e6 ldi r26, 0x6A ; 106 - 1ef6: b4 e2 ldi r27, 0x24 ; 36 - 1ef8: 01 90 ld r0, Z+ - 1efa: 0d 92 st X+, r0 - 1efc: 8a 95 dec r24 - 1efe: e1 f7 brne .-8 ; 0x1ef8 - 1f00: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1f04: 80 62 ori r24, 0x20 ; 32 - 1f06: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1f0a: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1f0e: 80 62 ori r24, 0x20 ; 32 - 1f10: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1f14: 59 da rcall .-2894 ; 0x13c8 - 1f16: 81 11 cpse r24, r1 - 1f18: 02 c0 rjmp .+4 ; 0x1f1e - 1f1a: 19 de rcall .-974 ; 0x1b4e - 1f1c: 2e c0 rjmp .+92 ; 0x1f7a - 1f1e: 90 91 6a 24 lds r25, 0x246A ; 0x80246a - 1f22: 97 ff sbrs r25, 7 - 1f24: 0e c0 rjmp .+28 ; 0x1f42 - 1f26: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b - 1f2a: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c - 1f2e: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1f32: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1f36: 92 e0 ldi r25, 0x02 ; 2 - 1f38: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d - 1f3c: 89 83 std Y+1, r24 ; 0x01 - 1f3e: 3e df rcall .-388 ; 0x1dbc - 1f40: 08 c0 rjmp .+16 ; 0x1f52 - 1f42: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 1f46: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 1f4a: 23 2b or r18, r19 - 1f4c: 21 f4 brne .+8 ; 0x1f56 - 1f4e: 89 83 std Y+1, r24 ; 0x01 - 1f50: 0c de rcall .-1000 ; 0x1b6a - 1f52: 89 81 ldd r24, Y+1 ; 0x01 - 1f54: 13 c0 rjmp .+38 ; 0x1f7c - 1f56: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b - 1f5a: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c - 1f5e: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1f62: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1f66: 91 e0 ldi r25, 0x01 ; 1 - 1f68: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d - 1f6c: e0 e2 ldi r30, 0x20 ; 32 - 1f6e: f2 e2 ldi r31, 0x22 ; 34 - 1f70: 02 e0 ldi r16, 0x02 ; 2 - 1f72: 06 93 lac Z, r16 - 1f74: 03 c0 rjmp .+6 ; 0x1f7c - 1f76: 80 e0 ldi r24, 0x00 ; 0 - 1f78: 01 c0 rjmp .+2 ; 0x1f7c - 1f7a: 81 e0 ldi r24, 0x01 ; 1 - 1f7c: 0f 90 pop r0 - 1f7e: df 91 pop r29 - 1f80: cf 91 pop r28 - 1f82: 0f 91 pop r16 - 1f84: 08 95 ret + 1eca: 23 e0 ldi r18, 0x03 ; 3 + 1ecc: ee 0f add r30, r30 + 1ece: ff 1f adc r31, r31 + 1ed0: 2a 95 dec r18 + 1ed2: e1 f7 brne .-8 ; 0x1ecc + 1ed4: e0 5f subi r30, 0xF0 ; 240 + 1ed6: fd 4d sbci r31, 0xDD ; 221 + 1ed8: 11 8a std Z+17, r1 ; 0x11 + 1eda: 01 96 adiw r24, 0x01 ; 1 + 1edc: 88 30 cpi r24, 0x08 ; 8 + 1ede: 91 05 cpc r25, r1 + 1ee0: 99 f7 brne .-26 ; 0x1ec8 + 1ee2: 80 91 93 21 lds r24, 0x2193 ; 0x802193 + 1ee6: 8e 7f andi r24, 0xFE ; 254 + 1ee8: 80 93 93 21 sts 0x2193, r24 ; 0x802193 + 1eec: 80 91 9c 21 lds r24, 0x219C ; 0x80219c + 1ef0: 8e 7f andi r24, 0xFE ; 254 + 1ef2: 80 93 9c 21 sts 0x219C, r24 ; 0x80219c + 1ef6: 80 91 a5 21 lds r24, 0x21A5 ; 0x8021a5 + 1efa: 8e 7f andi r24, 0xFE ; 254 + 1efc: 80 93 a5 21 sts 0x21A5, r24 ; 0x8021a5 + 1f00: 80 91 ae 21 lds r24, 0x21AE ; 0x8021ae + 1f04: 8e 7f andi r24, 0xFE ; 254 + 1f06: 80 93 ae 21 sts 0x21AE, r24 ; 0x8021ae + 1f0a: 80 91 b7 21 lds r24, 0x21B7 ; 0x8021b7 + 1f0e: 8e 7f andi r24, 0xFE ; 254 + 1f10: 80 93 b7 21 sts 0x21B7, r24 ; 0x8021b7 + 1f14: 80 91 c0 21 lds r24, 0x21C0 ; 0x8021c0 + 1f18: 8e 7f andi r24, 0xFE ; 254 + 1f1a: 80 93 c0 21 sts 0x21C0, r24 ; 0x8021c0 + 1f1e: 6a e1 ldi r22, 0x1A ; 26 + 1f20: 70 e0 ldi r23, 0x00 ; 0 + 1f22: 82 e0 ldi r24, 0x02 ; 2 + 1f24: 08 dd rcall .-1520 ; 0x1936 + 1f26: 8f 3f cpi r24, 0xFF ; 255 + 1f28: 09 f4 brne .+2 ; 0x1f2c + 1f2a: 8f e1 ldi r24, 0x1F ; 31 + 1f2c: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 1f30: 6b e1 ldi r22, 0x1B ; 27 + 1f32: 70 e0 ldi r23, 0x00 ; 0 + 1f34: 82 e0 ldi r24, 0x02 ; 2 + 1f36: ff dc rcall .-1538 ; 0x1936 + 1f38: 8f 3f cpi r24, 0xFF ; 255 + 1f3a: 09 f4 brne .+2 ; 0x1f3e + 1f3c: 8f e1 ldi r24, 0x1F ; 31 + 1f3e: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 1f42: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1f46: 83 60 ori r24, 0x03 ; 3 + 1f48: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1f4c: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1f50: 80 68 ori r24, 0x80 ; 128 + 1f52: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1f56: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1f5a: 80 61 ori r24, 0x10 ; 16 + 1f5c: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1f60: 80 e2 ldi r24, 0x20 ; 32 + 1f62: 92 e2 ldi r25, 0x22 ; 34 + 1f64: 80 93 c6 04 sts 0x04C6, r24 ; 0x8004c6 <__TEXT_REGION_LENGTH__+0x7004c6> + 1f68: 90 93 c7 04 sts 0x04C7, r25 ; 0x8004c7 <__TEXT_REGION_LENGTH__+0x7004c7> + 1f6c: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1f70: 80 62 ori r24, 0x20 ; 32 + 1f72: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1f76: 8f ef ldi r24, 0xFF ; 255 + 1f78: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 1f7c: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1f80: 82 60 ori r24, 0x02 ; 2 + 1f82: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1f86: 10 92 64 22 sts 0x2264, r1 ; 0x802264 + 1f8a: 85 e0 ldi r24, 0x05 ; 5 + 1f8c: de dc rcall .-1604 ; 0x194a + 1f8e: 68 df rcall .-304 ; 0x1e60 + 1f90: cf bf out 0x3f, r28 ; 63 + 1f92: cf 91 pop r28 + 1f94: 08 95 ret -00001f86 : - 1f86: cf 93 push r28 - 1f88: cf b7 in r28, 0x3f ; 63 - 1f8a: f8 94 cli - 1f8c: 81 e0 ldi r24, 0x01 ; 1 - 1f8e: 8e dd rcall .-1252 ; 0x1aac - 1f90: ea ec ldi r30, 0xCA ; 202 - 1f92: f4 e0 ldi r31, 0x04 ; 4 - 1f94: 80 e4 ldi r24, 0x40 ; 64 - 1f96: 80 83 st Z, r24 - 1f98: 80 e2 ldi r24, 0x20 ; 32 - 1f9a: 80 83 st Z, r24 - 1f9c: e1 ec ldi r30, 0xC1 ; 193 - 1f9e: f4 e0 ldi r31, 0x04 ; 4 - 1fa0: 80 81 ld r24, Z - 1fa2: 81 60 ori r24, 0x01 ; 1 - 1fa4: 80 83 st Z, r24 - 1fa6: a9 ec ldi r26, 0xC9 ; 201 - 1fa8: b4 e0 ldi r27, 0x04 ; 4 - 1faa: 8c 91 ld r24, X - 1fac: 82 60 ori r24, 0x02 ; 2 - 1fae: 8c 93 st X, r24 - 1fb0: e8 ec ldi r30, 0xC8 ; 200 - 1fb2: f4 e0 ldi r31, 0x04 ; 4 - 1fb4: 80 81 ld r24, Z - 1fb6: 80 64 ori r24, 0x40 ; 64 - 1fb8: 80 83 st Z, r24 - 1fba: 8c 91 ld r24, X - 1fbc: 81 60 ori r24, 0x01 ; 1 - 1fbe: 8c 93 st X, r24 - 1fc0: 80 81 ld r24, Z - 1fc2: 80 68 ori r24, 0x80 ; 128 - 1fc4: 80 83 st Z, r24 - 1fc6: cf bf out 0x3f, r28 ; 63 - 1fc8: cf 91 pop r28 - 1fca: 08 95 ret +00001f96 : + 1f96: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 1f9a: 08 95 ret -00001fcc : - 1fcc: cf 93 push r28 - 1fce: 10 92 60 00 sts 0x0060, r1 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> - 1fd2: 80 e3 ldi r24, 0x30 ; 48 - 1fd4: 75 d8 rcall .-3862 ; 0x10c0 - 1fd6: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1fda: 80 64 ori r24, 0x40 ; 64 - 1fdc: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1fe0: 81 e0 ldi r24, 0x01 ; 1 - 1fe2: 80 93 60 00 sts 0x0060, r24 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> - 1fe6: cf b7 in r28, 0x3f ; 63 - 1fe8: f8 94 cli - 1fea: 80 e0 ldi r24, 0x00 ; 0 - 1fec: 90 e0 ldi r25, 0x00 ; 0 - 1fee: fc 01 movw r30, r24 - 1ff0: 23 e0 ldi r18, 0x03 ; 3 - 1ff2: ee 0f add r30, r30 - 1ff4: ff 1f adc r31, r31 - 1ff6: 2a 95 dec r18 - 1ff8: e1 f7 brne .-8 ; 0x1ff2 - 1ffa: e0 5f subi r30, 0xF0 ; 240 - 1ffc: fd 4d sbci r31, 0xDD ; 221 - 1ffe: 11 8a std Z+17, r1 ; 0x11 - 2000: 01 96 adiw r24, 0x01 ; 1 - 2002: 88 30 cpi r24, 0x08 ; 8 - 2004: 91 05 cpc r25, r1 - 2006: 99 f7 brne .-26 ; 0x1fee - 2008: 80 91 93 21 lds r24, 0x2193 ; 0x802193 - 200c: 8e 7f andi r24, 0xFE ; 254 - 200e: 80 93 93 21 sts 0x2193, r24 ; 0x802193 - 2012: 80 91 9c 21 lds r24, 0x219C ; 0x80219c - 2016: 8e 7f andi r24, 0xFE ; 254 - 2018: 80 93 9c 21 sts 0x219C, r24 ; 0x80219c - 201c: 80 91 a5 21 lds r24, 0x21A5 ; 0x8021a5 - 2020: 8e 7f andi r24, 0xFE ; 254 - 2022: 80 93 a5 21 sts 0x21A5, r24 ; 0x8021a5 - 2026: 80 91 ae 21 lds r24, 0x21AE ; 0x8021ae - 202a: 8e 7f andi r24, 0xFE ; 254 - 202c: 80 93 ae 21 sts 0x21AE, r24 ; 0x8021ae - 2030: 80 91 b7 21 lds r24, 0x21B7 ; 0x8021b7 - 2034: 8e 7f andi r24, 0xFE ; 254 - 2036: 80 93 b7 21 sts 0x21B7, r24 ; 0x8021b7 - 203a: 80 91 c0 21 lds r24, 0x21C0 ; 0x8021c0 - 203e: 8e 7f andi r24, 0xFE ; 254 - 2040: 80 93 c0 21 sts 0x21C0, r24 ; 0x8021c0 - 2044: 6a e1 ldi r22, 0x1A ; 26 - 2046: 70 e0 ldi r23, 0x00 ; 0 - 2048: 82 e0 ldi r24, 0x02 ; 2 - 204a: 08 dd rcall .-1520 ; 0x1a5c - 204c: 8f 3f cpi r24, 0xFF ; 255 - 204e: 09 f4 brne .+2 ; 0x2052 - 2050: 8f e1 ldi r24, 0x1F ; 31 - 2052: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 2056: 6b e1 ldi r22, 0x1B ; 27 - 2058: 70 e0 ldi r23, 0x00 ; 0 - 205a: 82 e0 ldi r24, 0x02 ; 2 - 205c: ff dc rcall .-1538 ; 0x1a5c - 205e: 8f 3f cpi r24, 0xFF ; 255 - 2060: 09 f4 brne .+2 ; 0x2064 - 2062: 8f e1 ldi r24, 0x1F ; 31 - 2064: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 2068: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 206c: 83 60 ori r24, 0x03 ; 3 - 206e: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 2072: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 2076: 80 68 ori r24, 0x80 ; 128 - 2078: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 207c: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 2080: 80 61 ori r24, 0x10 ; 16 - 2082: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 2086: 80 e2 ldi r24, 0x20 ; 32 - 2088: 92 e2 ldi r25, 0x22 ; 34 - 208a: 80 93 c6 04 sts 0x04C6, r24 ; 0x8004c6 <__TEXT_REGION_LENGTH__+0x7004c6> - 208e: 90 93 c7 04 sts 0x04C7, r25 ; 0x8004c7 <__TEXT_REGION_LENGTH__+0x7004c7> - 2092: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 2096: 80 62 ori r24, 0x20 ; 32 - 2098: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 209c: 8f ef ldi r24, 0xFF ; 255 - 209e: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 20a2: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 20a6: 82 60 ori r24, 0x02 ; 2 - 20a8: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 20ac: 10 92 64 22 sts 0x2264, r1 ; 0x802264 - 20b0: 85 e0 ldi r24, 0x05 ; 5 - 20b2: de dc rcall .-1604 ; 0x1a70 - 20b4: 68 df rcall .-304 ; 0x1f86 - 20b6: cf bf out 0x3f, r28 ; 63 - 20b8: cf 91 pop r28 - 20ba: 08 95 ret +00001f9c : + 1f9c: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 1fa0: 08 95 ret -000020bc : - 20bc: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 20c0: 08 95 ret +00001fa2 : + 1fa2: ef e6 ldi r30, 0x6F ; 111 + 1fa4: f4 e2 ldi r31, 0x24 ; 36 + 1fa6: 80 87 std Z+8, r24 ; 0x08 + 1fa8: 91 87 std Z+9, r25 ; 0x09 + 1faa: 62 87 std Z+10, r22 ; 0x0a + 1fac: 73 87 std Z+11, r23 ; 0x0b + 1fae: 08 95 ret -000020c2 : - 20c2: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 20c6: 08 95 ret +00001fb0 : + 1fb0: 0f 93 push r16 + 1fb2: 1f 93 push r17 + 1fb4: cf 93 push r28 + 1fb6: df 93 push r29 + 1fb8: 1f 92 push r1 + 1fba: cd b7 in r28, 0x3d ; 61 + 1fbc: de b7 in r29, 0x3e ; 62 + 1fbe: 8a 01 movw r16, r20 + 1fc0: 69 83 std Y+1, r22 ; 0x01 + 1fc2: f4 dc rcall .-1560 ; 0x19ac + 1fc4: fc 01 movw r30, r24 + 1fc6: 81 81 ldd r24, Z+1 ; 0x01 + 1fc8: 80 7c andi r24, 0xC0 ; 192 + 1fca: 69 81 ldd r22, Y+1 ; 0x01 + 1fcc: 81 11 cpse r24, r1 + 1fce: 3a c0 rjmp .+116 ; 0x2044 + 1fd0: 63 70 andi r22, 0x03 ; 3 + 1fd2: 61 30 cpi r22, 0x01 ; 1 + 1fd4: 19 f0 breq .+6 ; 0x1fdc + 1fd6: 20 f0 brcs .+8 ; 0x1fe0 + 1fd8: 80 e8 ldi r24, 0x80 ; 128 + 1fda: 03 c0 rjmp .+6 ; 0x1fe2 + 1fdc: 80 ec ldi r24, 0xC0 ; 192 + 1fde: 01 c0 rjmp .+2 ; 0x1fe2 + 1fe0: 80 e4 ldi r24, 0x40 ; 64 + 1fe2: 00 38 cpi r16, 0x80 ; 128 + 1fe4: 11 05 cpc r17, r1 + 1fe6: e9 f0 breq .+58 ; 0x2022 + 1fe8: 58 f4 brcc .+22 ; 0x2000 + 1fea: 00 32 cpi r16, 0x20 ; 32 + 1fec: 11 05 cpc r17, r1 + 1fee: a9 f0 breq .+42 ; 0x201a + 1ff0: 00 34 cpi r16, 0x40 ; 64 + 1ff2: 11 05 cpc r17, r1 + 1ff4: a1 f0 breq .+40 ; 0x201e + 1ff6: 00 31 cpi r16, 0x10 ; 16 + 1ff8: 11 05 cpc r17, r1 + 1ffa: c9 f4 brne .+50 ; 0x202e + 1ffc: 91 e0 ldi r25, 0x01 ; 1 + 1ffe: 18 c0 rjmp .+48 ; 0x2030 + 2000: 01 15 cp r16, r1 + 2002: 92 e0 ldi r25, 0x02 ; 2 + 2004: 19 07 cpc r17, r25 + 2006: 79 f0 breq .+30 ; 0x2026 + 2008: 0f 3f cpi r16, 0xFF ; 255 + 200a: 93 e0 ldi r25, 0x03 ; 3 + 200c: 19 07 cpc r17, r25 + 200e: 69 f0 breq .+26 ; 0x202a + 2010: 01 15 cp r16, r1 + 2012: 11 40 sbci r17, 0x01 ; 1 + 2014: 61 f4 brne .+24 ; 0x202e + 2016: 95 e0 ldi r25, 0x05 ; 5 + 2018: 0b c0 rjmp .+22 ; 0x2030 + 201a: 92 e0 ldi r25, 0x02 ; 2 + 201c: 09 c0 rjmp .+18 ; 0x2030 + 201e: 93 e0 ldi r25, 0x03 ; 3 + 2020: 07 c0 rjmp .+14 ; 0x2030 + 2022: 94 e0 ldi r25, 0x04 ; 4 + 2024: 05 c0 rjmp .+10 ; 0x2030 + 2026: 96 e0 ldi r25, 0x06 ; 6 + 2028: 03 c0 rjmp .+6 ; 0x2030 + 202a: 97 e0 ldi r25, 0x07 ; 7 + 202c: 01 c0 rjmp .+2 ; 0x2030 + 202e: 90 e0 ldi r25, 0x00 ; 0 + 2030: 11 82 std Z+1, r1 ; 0x01 + 2032: 26 e0 ldi r18, 0x06 ; 6 + 2034: 20 83 st Z, r18 + 2036: 98 2b or r25, r24 + 2038: 91 83 std Z+1, r25 ; 0x01 + 203a: 81 81 ldd r24, Z+1 ; 0x01 + 203c: 80 62 ori r24, 0x20 ; 32 + 203e: 81 83 std Z+1, r24 ; 0x01 + 2040: 81 e0 ldi r24, 0x01 ; 1 + 2042: 01 c0 rjmp .+2 ; 0x2046 + 2044: 80 e0 ldi r24, 0x00 ; 0 + 2046: 0f 90 pop r0 + 2048: df 91 pop r29 + 204a: cf 91 pop r28 + 204c: 1f 91 pop r17 + 204e: 0f 91 pop r16 + 2050: 08 95 ret -000020c8 : - 20c8: ea e6 ldi r30, 0x6A ; 106 - 20ca: f4 e2 ldi r31, 0x24 ; 36 - 20cc: 80 87 std Z+8, r24 ; 0x08 - 20ce: 91 87 std Z+9, r25 ; 0x09 - 20d0: 62 87 std Z+10, r22 ; 0x0a - 20d2: 73 87 std Z+11, r23 ; 0x0b - 20d4: 08 95 ret +00002052 : + 2052: ac dc rcall .-1704 ; 0x19ac + 2054: fc 01 movw r30, r24 + 2056: 81 81 ldd r24, Z+1 ; 0x01 + 2058: 82 fb bst r24, 2 + 205a: 88 27 eor r24, r24 + 205c: 80 f9 bld r24, 0 + 205e: 08 95 ret -000020d6 : - 20d6: 0f 93 push r16 - 20d8: 1f 93 push r17 - 20da: cf 93 push r28 - 20dc: df 93 push r29 - 20de: 1f 92 push r1 - 20e0: cd b7 in r28, 0x3d ; 61 - 20e2: de b7 in r29, 0x3e ; 62 - 20e4: 8a 01 movw r16, r20 - 20e6: 69 83 std Y+1, r22 ; 0x01 - 20e8: f4 dc rcall .-1560 ; 0x1ad2 - 20ea: fc 01 movw r30, r24 - 20ec: 81 81 ldd r24, Z+1 ; 0x01 - 20ee: 80 7c andi r24, 0xC0 ; 192 - 20f0: 69 81 ldd r22, Y+1 ; 0x01 - 20f2: 81 11 cpse r24, r1 - 20f4: 3a c0 rjmp .+116 ; 0x216a - 20f6: 63 70 andi r22, 0x03 ; 3 - 20f8: 61 30 cpi r22, 0x01 ; 1 - 20fa: 19 f0 breq .+6 ; 0x2102 - 20fc: 20 f0 brcs .+8 ; 0x2106 - 20fe: 80 e8 ldi r24, 0x80 ; 128 - 2100: 03 c0 rjmp .+6 ; 0x2108 - 2102: 80 ec ldi r24, 0xC0 ; 192 - 2104: 01 c0 rjmp .+2 ; 0x2108 - 2106: 80 e4 ldi r24, 0x40 ; 64 - 2108: 00 38 cpi r16, 0x80 ; 128 - 210a: 11 05 cpc r17, r1 - 210c: e9 f0 breq .+58 ; 0x2148 - 210e: 58 f4 brcc .+22 ; 0x2126 - 2110: 00 32 cpi r16, 0x20 ; 32 - 2112: 11 05 cpc r17, r1 - 2114: a9 f0 breq .+42 ; 0x2140 - 2116: 00 34 cpi r16, 0x40 ; 64 - 2118: 11 05 cpc r17, r1 - 211a: a1 f0 breq .+40 ; 0x2144 - 211c: 00 31 cpi r16, 0x10 ; 16 - 211e: 11 05 cpc r17, r1 - 2120: c9 f4 brne .+50 ; 0x2154 - 2122: 91 e0 ldi r25, 0x01 ; 1 - 2124: 18 c0 rjmp .+48 ; 0x2156 - 2126: 01 15 cp r16, r1 - 2128: 92 e0 ldi r25, 0x02 ; 2 - 212a: 19 07 cpc r17, r25 - 212c: 79 f0 breq .+30 ; 0x214c - 212e: 0f 3f cpi r16, 0xFF ; 255 - 2130: 93 e0 ldi r25, 0x03 ; 3 - 2132: 19 07 cpc r17, r25 - 2134: 69 f0 breq .+26 ; 0x2150 - 2136: 01 15 cp r16, r1 - 2138: 11 40 sbci r17, 0x01 ; 1 - 213a: 61 f4 brne .+24 ; 0x2154 - 213c: 95 e0 ldi r25, 0x05 ; 5 - 213e: 0b c0 rjmp .+22 ; 0x2156 - 2140: 92 e0 ldi r25, 0x02 ; 2 - 2142: 09 c0 rjmp .+18 ; 0x2156 - 2144: 93 e0 ldi r25, 0x03 ; 3 - 2146: 07 c0 rjmp .+14 ; 0x2156 - 2148: 94 e0 ldi r25, 0x04 ; 4 - 214a: 05 c0 rjmp .+10 ; 0x2156 - 214c: 96 e0 ldi r25, 0x06 ; 6 - 214e: 03 c0 rjmp .+6 ; 0x2156 - 2150: 97 e0 ldi r25, 0x07 ; 7 - 2152: 01 c0 rjmp .+2 ; 0x2156 - 2154: 90 e0 ldi r25, 0x00 ; 0 - 2156: 11 82 std Z+1, r1 ; 0x01 - 2158: 26 e0 ldi r18, 0x06 ; 6 - 215a: 20 83 st Z, r18 - 215c: 98 2b or r25, r24 - 215e: 91 83 std Z+1, r25 ; 0x01 - 2160: 81 81 ldd r24, Z+1 ; 0x01 - 2162: 80 62 ori r24, 0x20 ; 32 - 2164: 81 83 std Z+1, r24 ; 0x01 - 2166: 81 e0 ldi r24, 0x01 ; 1 - 2168: 01 c0 rjmp .+2 ; 0x216c - 216a: 80 e0 ldi r24, 0x00 ; 0 - 216c: 0f 90 pop r0 - 216e: df 91 pop r29 - 2170: cf 91 pop r28 - 2172: 1f 91 pop r17 - 2174: 0f 91 pop r16 - 2176: 08 95 ret +00002060 : + 2060: cf 93 push r28 + 2062: c8 2f mov r28, r24 + 2064: a3 dc rcall .-1722 ; 0x19ac + 2066: fc 01 movw r30, r24 + 2068: 81 81 ldd r24, Z+1 ; 0x01 + 206a: 82 ff sbrs r24, 2 + 206c: 0f c0 rjmp .+30 ; 0x208c + 206e: 91 81 ldd r25, Z+1 ; 0x01 + 2070: 9b 7f andi r25, 0xFB ; 251 + 2072: 91 83 std Z+1, r25 ; 0x01 + 2074: 8c 2f mov r24, r28 + 2076: fc dc rcall .-1544 ; 0x1a70 + 2078: fc 01 movw r30, r24 + 207a: 90 81 ld r25, Z + 207c: 90 ff sbrs r25, 0 + 207e: 06 c0 rjmp .+12 ; 0x208c + 2080: 9e 7f andi r25, 0xFE ; 254 + 2082: 90 83 st Z, r25 + 2084: 07 80 ldd r0, Z+7 ; 0x07 + 2086: f0 85 ldd r31, Z+8 ; 0x08 + 2088: e0 2d mov r30, r0 + 208a: 09 95 icall + 208c: 81 e0 ldi r24, 0x01 ; 1 + 208e: cf 91 pop r28 + 2090: 08 95 ret -00002178 : - 2178: ac dc rcall .-1704 ; 0x1ad2 - 217a: fc 01 movw r30, r24 - 217c: 81 81 ldd r24, Z+1 ; 0x01 - 217e: 82 fb bst r24, 2 - 2180: 88 27 eor r24, r24 - 2182: 80 f9 bld r24, 0 - 2184: 08 95 ret +00002092 : + 2092: 8f 92 push r8 + 2094: 9f 92 push r9 + 2096: af 92 push r10 + 2098: bf 92 push r11 + 209a: df 92 push r13 + 209c: ef 92 push r14 + 209e: ff 92 push r15 + 20a0: 0f 93 push r16 + 20a2: 1f 93 push r17 + 20a4: cf 93 push r28 + 20a6: df 93 push r29 + 20a8: 1f 92 push r1 + 20aa: cd b7 in r28, 0x3d ; 61 + 20ac: de b7 in r29, 0x3e ; 62 + 20ae: d8 2e mov r13, r24 + 20b0: 5a 01 movw r10, r20 + 20b2: 79 01 movw r14, r18 + 20b4: 69 83 std Y+1, r22 ; 0x01 + 20b6: dc dc rcall .-1608 ; 0x1a70 + 20b8: 4c 01 movw r8, r24 + 20ba: 8d 2d mov r24, r13 + 20bc: 77 dc rcall .-1810 ; 0x19ac + 20be: 9c 01 movw r18, r24 + 20c0: dc 01 movw r26, r24 + 20c2: 11 96 adiw r26, 0x01 ; 1 + 20c4: 8c 91 ld r24, X + 20c6: 11 97 sbiw r26, 0x01 ; 1 + 20c8: 80 7c andi r24, 0xC0 ; 192 + 20ca: 69 81 ldd r22, Y+1 ; 0x01 + 20cc: 88 23 and r24, r24 + 20ce: 09 f4 brne .+2 ; 0x20d2 + 20d0: 5e c0 rjmp .+188 ; 0x218e + 20d2: 11 96 adiw r26, 0x01 ; 1 + 20d4: 8c 91 ld r24, X + 20d6: 11 97 sbiw r26, 0x01 ; 1 + 20d8: 80 7c andi r24, 0xC0 ; 192 + 20da: 80 3c cpi r24, 0xC0 ; 192 + 20dc: 21 f0 breq .+8 ; 0x20e6 + 20de: 11 96 adiw r26, 0x01 ; 1 + 20e0: 8c 91 ld r24, X + 20e2: 82 fd sbrc r24, 2 + 20e4: 54 c0 rjmp .+168 ; 0x218e + 20e6: 9f b7 in r25, 0x3f ; 63 + 20e8: f8 94 cli + 20ea: f4 01 movw r30, r8 + 20ec: 80 81 ld r24, Z + 20ee: 80 ff sbrs r24, 0 + 20f0: 02 c0 rjmp .+4 ; 0x20f6 + 20f2: 9f bf out 0x3f, r25 ; 63 + 20f4: 4c c0 rjmp .+152 ; 0x218e + 20f6: 81 60 ori r24, 0x01 ; 1 + 20f8: 80 83 st Z, r24 + 20fa: 9f bf out 0x3f, r25 ; 63 + 20fc: f4 01 movw r30, r8 + 20fe: a1 82 std Z+1, r10 ; 0x01 + 2100: b2 82 std Z+2, r11 ; 0x02 + 2102: e3 82 std Z+3, r14 ; 0x03 + 2104: f4 82 std Z+4, r15 ; 0x04 + 2106: 15 82 std Z+5, r1 ; 0x05 + 2108: 16 82 std Z+6, r1 ; 0x06 + 210a: 07 83 std Z+7, r16 ; 0x07 + 210c: 10 87 std Z+8, r17 ; 0x08 + 210e: 91 e0 ldi r25, 0x01 ; 1 + 2110: 61 11 cpse r22, r1 + 2112: 04 c0 rjmp .+8 ; 0x211c + 2114: e1 14 cp r14, r1 + 2116: f1 04 cpc r15, r1 + 2118: 09 f0 breq .+2 ; 0x211c + 211a: 90 e0 ldi r25, 0x00 ; 0 + 211c: d4 01 movw r26, r8 + 211e: 8c 91 ld r24, X + 2120: 90 fb bst r25, 0 + 2122: 81 f9 bld r24, 1 + 2124: 8b 7f andi r24, 0xFB ; 251 + 2126: 8c 93 st X, r24 + 2128: d7 fe sbrs r13, 7 + 212a: 04 c0 rjmp .+8 ; 0x2134 + 212c: f9 01 movw r30, r18 + 212e: 16 82 std Z+6, r1 ; 0x06 + 2130: 17 82 std Z+7, r1 ; 0x07 + 2132: 29 c0 rjmp .+82 ; 0x2186 + 2134: d9 01 movw r26, r18 + 2136: 11 96 adiw r26, 0x01 ; 1 + 2138: 8c 91 ld r24, X + 213a: 11 97 sbiw r26, 0x01 ; 1 + 213c: 80 7c andi r24, 0xC0 ; 192 + 213e: 80 3c cpi r24, 0xC0 ; 192 + 2140: c9 f4 brne .+50 ; 0x2174 + 2142: 11 96 adiw r26, 0x01 ; 1 + 2144: ec 91 ld r30, X + 2146: e7 70 andi r30, 0x07 ; 7 + 2148: e1 50 subi r30, 0x01 ; 1 + 214a: e7 30 cpi r30, 0x07 ; 7 + 214c: 40 f4 brcc .+16 ; 0x215e + 214e: f0 e0 ldi r31, 0x00 ; 0 + 2150: ee 0f add r30, r30 + 2152: ff 1f adc r31, r31 + 2154: ee 54 subi r30, 0x4E ; 78 + 2156: ff 4d sbci r31, 0xDF ; 223 + 2158: 60 81 ld r22, Z + 215a: 71 81 ldd r23, Z+1 ; 0x01 + 215c: 02 c0 rjmp .+4 ; 0x2162 + 215e: 68 e0 ldi r22, 0x08 ; 8 + 2160: 70 e0 ldi r23, 0x00 ; 0 + 2162: c7 01 movw r24, r14 + 2164: f3 d1 rcall .+998 ; 0x254c <__udivmodhi4> + 2166: 89 2b or r24, r25 + 2168: 29 f0 breq .+10 ; 0x2174 + 216a: f4 01 movw r30, r8 + 216c: 80 81 ld r24, Z + 216e: 8e 7f andi r24, 0xFE ; 254 + 2170: 80 83 st Z, r24 + 2172: 0d c0 rjmp .+26 ; 0x218e + 2174: d9 01 movw r26, r18 + 2176: 12 96 adiw r26, 0x02 ; 2 + 2178: 1d 92 st X+, r1 + 217a: 1c 92 st X, r1 + 217c: 13 97 sbiw r26, 0x03 ; 3 + 217e: 16 96 adiw r26, 0x06 ; 6 + 2180: 1d 92 st X+, r1 + 2182: 1c 92 st X, r1 + 2184: 17 97 sbiw r26, 0x07 ; 7 + 2186: 8d 2d mov r24, r13 + 2188: 8d dc rcall .-1766 ; 0x1aa4 + 218a: 81 e0 ldi r24, 0x01 ; 1 + 218c: 01 c0 rjmp .+2 ; 0x2190 + 218e: 80 e0 ldi r24, 0x00 ; 0 + 2190: 0f 90 pop r0 + 2192: df 91 pop r29 + 2194: cf 91 pop r28 + 2196: 1f 91 pop r17 + 2198: 0f 91 pop r16 + 219a: ff 90 pop r15 + 219c: ef 90 pop r14 + 219e: df 90 pop r13 + 21a0: bf 90 pop r11 + 21a2: af 90 pop r10 + 21a4: 9f 90 pop r9 + 21a6: 8f 90 pop r8 + 21a8: 08 95 ret -00002186 : - 2186: cf 93 push r28 - 2188: c8 2f mov r28, r24 - 218a: a3 dc rcall .-1722 ; 0x1ad2 - 218c: fc 01 movw r30, r24 - 218e: 81 81 ldd r24, Z+1 ; 0x01 - 2190: 82 ff sbrs r24, 2 - 2192: 0f c0 rjmp .+30 ; 0x21b2 - 2194: 91 81 ldd r25, Z+1 ; 0x01 - 2196: 9b 7f andi r25, 0xFB ; 251 - 2198: 91 83 std Z+1, r25 ; 0x01 - 219a: 8c 2f mov r24, r28 - 219c: fc dc rcall .-1544 ; 0x1b96 - 219e: fc 01 movw r30, r24 - 21a0: 90 81 ld r25, Z - 21a2: 90 ff sbrs r25, 0 - 21a4: 06 c0 rjmp .+12 ; 0x21b2 - 21a6: 9e 7f andi r25, 0xFE ; 254 - 21a8: 90 83 st Z, r25 - 21aa: 07 80 ldd r0, Z+7 ; 0x07 - 21ac: f0 85 ldd r31, Z+8 ; 0x08 - 21ae: e0 2d mov r30, r0 - 21b0: 09 95 icall - 21b2: 81 e0 ldi r24, 0x01 ; 1 - 21b4: cf 91 pop r28 - 21b6: 08 95 ret +000021aa : + 21aa: ef 92 push r14 + 21ac: ff 92 push r15 + 21ae: 0f 93 push r16 + 21b0: cf 93 push r28 + 21b2: c8 2f mov r28, r24 + 21b4: fb db rcall .-2058 ; 0x19ac + 21b6: 7c 01 movw r14, r24 + 21b8: 8c 2f mov r24, r28 + 21ba: 5a dc rcall .-1868 ; 0x1a70 + 21bc: dc 01 movw r26, r24 + 21be: f7 01 movw r30, r14 + 21c0: 02 e0 ldi r16, 0x02 ; 2 + 21c2: 05 93 las Z, r16 + 21c4: 9c 91 ld r25, X + 21c6: 90 ff sbrs r25, 0 + 21c8: 1b c0 rjmp .+54 ; 0x2200 + 21ca: 9e 7f andi r25, 0xFE ; 254 + 21cc: 9c 93 st X, r25 + 21ce: 17 96 adiw r26, 0x07 ; 7 + 21d0: ed 91 ld r30, X+ + 21d2: fc 91 ld r31, X + 21d4: 18 97 sbiw r26, 0x08 ; 8 + 21d6: 30 97 sbiw r30, 0x00 ; 0 + 21d8: 99 f0 breq .+38 ; 0x2200 + 21da: d7 01 movw r26, r14 + 21dc: c7 ff sbrs r28, 7 + 21de: 05 c0 rjmp .+10 ; 0x21ea + 21e0: 16 96 adiw r26, 0x06 ; 6 + 21e2: 6d 91 ld r22, X+ + 21e4: 7c 91 ld r23, X + 21e6: 17 97 sbiw r26, 0x07 ; 7 + 21e8: 04 c0 rjmp .+8 ; 0x21f2 + 21ea: 12 96 adiw r26, 0x02 ; 2 + 21ec: 6d 91 ld r22, X+ + 21ee: 7c 91 ld r23, X + 21f0: 13 97 sbiw r26, 0x03 ; 3 + 21f2: 4c 2f mov r20, r28 + 21f4: 81 e0 ldi r24, 0x01 ; 1 + 21f6: cf 91 pop r28 + 21f8: 0f 91 pop r16 + 21fa: ff 90 pop r15 + 21fc: ef 90 pop r14 + 21fe: 09 94 ijmp + 2200: cf 91 pop r28 + 2202: 0f 91 pop r16 + 2204: ff 90 pop r15 + 2206: ef 90 pop r14 + 2208: 08 95 ret -000021b8 : - 21b8: 8f 92 push r8 - 21ba: 9f 92 push r9 - 21bc: af 92 push r10 - 21be: bf 92 push r11 - 21c0: df 92 push r13 - 21c2: ef 92 push r14 - 21c4: ff 92 push r15 - 21c6: 0f 93 push r16 - 21c8: 1f 93 push r17 - 21ca: cf 93 push r28 - 21cc: df 93 push r29 - 21ce: 1f 92 push r1 - 21d0: cd b7 in r28, 0x3d ; 61 - 21d2: de b7 in r29, 0x3e ; 62 - 21d4: d8 2e mov r13, r24 - 21d6: 5a 01 movw r10, r20 - 21d8: 79 01 movw r14, r18 - 21da: 69 83 std Y+1, r22 ; 0x01 - 21dc: dc dc rcall .-1608 ; 0x1b96 - 21de: 4c 01 movw r8, r24 - 21e0: 8d 2d mov r24, r13 - 21e2: 77 dc rcall .-1810 ; 0x1ad2 - 21e4: 9c 01 movw r18, r24 - 21e6: dc 01 movw r26, r24 - 21e8: 11 96 adiw r26, 0x01 ; 1 - 21ea: 8c 91 ld r24, X - 21ec: 11 97 sbiw r26, 0x01 ; 1 - 21ee: 80 7c andi r24, 0xC0 ; 192 - 21f0: 69 81 ldd r22, Y+1 ; 0x01 - 21f2: 88 23 and r24, r24 - 21f4: 09 f4 brne .+2 ; 0x21f8 - 21f6: 5e c0 rjmp .+188 ; 0x22b4 - 21f8: 11 96 adiw r26, 0x01 ; 1 - 21fa: 8c 91 ld r24, X - 21fc: 11 97 sbiw r26, 0x01 ; 1 - 21fe: 80 7c andi r24, 0xC0 ; 192 - 2200: 80 3c cpi r24, 0xC0 ; 192 - 2202: 21 f0 breq .+8 ; 0x220c - 2204: 11 96 adiw r26, 0x01 ; 1 - 2206: 8c 91 ld r24, X - 2208: 82 fd sbrc r24, 2 - 220a: 54 c0 rjmp .+168 ; 0x22b4 - 220c: 9f b7 in r25, 0x3f ; 63 - 220e: f8 94 cli - 2210: f4 01 movw r30, r8 - 2212: 80 81 ld r24, Z - 2214: 80 ff sbrs r24, 0 - 2216: 02 c0 rjmp .+4 ; 0x221c - 2218: 9f bf out 0x3f, r25 ; 63 - 221a: 4c c0 rjmp .+152 ; 0x22b4 - 221c: 81 60 ori r24, 0x01 ; 1 - 221e: 80 83 st Z, r24 - 2220: 9f bf out 0x3f, r25 ; 63 - 2222: f4 01 movw r30, r8 - 2224: a1 82 std Z+1, r10 ; 0x01 - 2226: b2 82 std Z+2, r11 ; 0x02 - 2228: e3 82 std Z+3, r14 ; 0x03 - 222a: f4 82 std Z+4, r15 ; 0x04 - 222c: 15 82 std Z+5, r1 ; 0x05 - 222e: 16 82 std Z+6, r1 ; 0x06 - 2230: 07 83 std Z+7, r16 ; 0x07 - 2232: 10 87 std Z+8, r17 ; 0x08 - 2234: 91 e0 ldi r25, 0x01 ; 1 - 2236: 61 11 cpse r22, r1 - 2238: 04 c0 rjmp .+8 ; 0x2242 - 223a: e1 14 cp r14, r1 - 223c: f1 04 cpc r15, r1 - 223e: 09 f0 breq .+2 ; 0x2242 - 2240: 90 e0 ldi r25, 0x00 ; 0 - 2242: d4 01 movw r26, r8 - 2244: 8c 91 ld r24, X - 2246: 90 fb bst r25, 0 - 2248: 81 f9 bld r24, 1 - 224a: 8b 7f andi r24, 0xFB ; 251 - 224c: 8c 93 st X, r24 - 224e: d7 fe sbrs r13, 7 - 2250: 04 c0 rjmp .+8 ; 0x225a - 2252: f9 01 movw r30, r18 - 2254: 16 82 std Z+6, r1 ; 0x06 - 2256: 17 82 std Z+7, r1 ; 0x07 - 2258: 29 c0 rjmp .+82 ; 0x22ac - 225a: d9 01 movw r26, r18 - 225c: 11 96 adiw r26, 0x01 ; 1 - 225e: 8c 91 ld r24, X - 2260: 11 97 sbiw r26, 0x01 ; 1 - 2262: 80 7c andi r24, 0xC0 ; 192 - 2264: 80 3c cpi r24, 0xC0 ; 192 - 2266: c9 f4 brne .+50 ; 0x229a - 2268: 11 96 adiw r26, 0x01 ; 1 - 226a: ec 91 ld r30, X - 226c: e7 70 andi r30, 0x07 ; 7 - 226e: e1 50 subi r30, 0x01 ; 1 - 2270: e7 30 cpi r30, 0x07 ; 7 - 2272: 40 f4 brcc .+16 ; 0x2284 - 2274: f0 e0 ldi r31, 0x00 ; 0 - 2276: ee 0f add r30, r30 - 2278: ff 1f adc r31, r31 - 227a: ee 54 subi r30, 0x4E ; 78 - 227c: ff 4d sbci r31, 0xDF ; 223 - 227e: 60 81 ld r22, Z - 2280: 71 81 ldd r23, Z+1 ; 0x01 - 2282: 02 c0 rjmp .+4 ; 0x2288 - 2284: 68 e0 ldi r22, 0x08 ; 8 - 2286: 70 e0 ldi r23, 0x00 ; 0 - 2288: c7 01 movw r24, r14 - 228a: f3 d1 rcall .+998 ; 0x2672 <__udivmodhi4> - 228c: 89 2b or r24, r25 - 228e: 29 f0 breq .+10 ; 0x229a - 2290: f4 01 movw r30, r8 - 2292: 80 81 ld r24, Z - 2294: 8e 7f andi r24, 0xFE ; 254 - 2296: 80 83 st Z, r24 - 2298: 0d c0 rjmp .+26 ; 0x22b4 - 229a: d9 01 movw r26, r18 - 229c: 12 96 adiw r26, 0x02 ; 2 - 229e: 1d 92 st X+, r1 - 22a0: 1c 92 st X, r1 - 22a2: 13 97 sbiw r26, 0x03 ; 3 - 22a4: 16 96 adiw r26, 0x06 ; 6 - 22a6: 1d 92 st X+, r1 - 22a8: 1c 92 st X, r1 - 22aa: 17 97 sbiw r26, 0x07 ; 7 - 22ac: 8d 2d mov r24, r13 - 22ae: 8d dc rcall .-1766 ; 0x1bca - 22b0: 81 e0 ldi r24, 0x01 ; 1 - 22b2: 01 c0 rjmp .+2 ; 0x22b6 - 22b4: 80 e0 ldi r24, 0x00 ; 0 - 22b6: 0f 90 pop r0 - 22b8: df 91 pop r29 - 22ba: cf 91 pop r28 - 22bc: 1f 91 pop r17 - 22be: 0f 91 pop r16 - 22c0: ff 90 pop r15 - 22c2: ef 90 pop r14 - 22c4: df 90 pop r13 - 22c6: bf 90 pop r11 - 22c8: af 90 pop r10 - 22ca: 9f 90 pop r9 - 22cc: 8f 90 pop r8 - 22ce: 08 95 ret +0000220a : + 220a: cf 93 push r28 + 220c: c8 2f mov r28, r24 + 220e: cd df rcall .-102 ; 0x21aa + 2210: 8c 2f mov r24, r28 + 2212: cc db rcall .-2152 ; 0x19ac + 2214: fc 01 movw r30, r24 + 2216: 11 82 std Z+1, r1 ; 0x01 + 2218: cf 91 pop r28 + 221a: 08 95 ret -000022d0 : - 22d0: ef 92 push r14 - 22d2: ff 92 push r15 - 22d4: 0f 93 push r16 - 22d6: cf 93 push r28 - 22d8: c8 2f mov r28, r24 - 22da: fb db rcall .-2058 ; 0x1ad2 - 22dc: 7c 01 movw r14, r24 - 22de: 8c 2f mov r24, r28 - 22e0: 5a dc rcall .-1868 ; 0x1b96 - 22e2: dc 01 movw r26, r24 - 22e4: f7 01 movw r30, r14 +0000221c : + 221c: 0f 93 push r16 + 221e: cf 93 push r28 + 2220: c8 2f mov r28, r24 + 2222: c4 db rcall .-2168 ; 0x19ac + 2224: fc 01 movw r30, r24 + 2226: 91 81 ldd r25, Z+1 ; 0x01 + 2228: 94 60 ori r25, 0x04 ; 4 + 222a: 91 83 std Z+1, r25 ; 0x01 + 222c: 01 e0 ldi r16, 0x01 ; 1 + 222e: 06 93 lac Z, r16 + 2230: 8c 2f mov r24, r28 + 2232: bb df rcall .-138 ; 0x21aa + 2234: 81 e0 ldi r24, 0x01 ; 1 + 2236: cf 91 pop r28 + 2238: 0f 91 pop r16 + 223a: 08 95 ret + +0000223c <__vector_125>: + 223c: 1f 92 push r1 + 223e: 0f 92 push r0 + 2240: 0f b6 in r0, 0x3f ; 63 + 2242: 0f 92 push r0 + 2244: 11 24 eor r1, r1 + 2246: 0f 93 push r16 + 2248: 2f 93 push r18 + 224a: 3f 93 push r19 + 224c: 4f 93 push r20 + 224e: 5f 93 push r21 + 2250: 6f 93 push r22 + 2252: 7f 93 push r23 + 2254: 8f 93 push r24 + 2256: 9f 93 push r25 + 2258: af 93 push r26 + 225a: bf 93 push r27 + 225c: ef 93 push r30 + 225e: ff 93 push r31 + 2260: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2264: 87 ff sbrs r24, 7 + 2266: 08 c0 rjmp .+16 ; 0x2278 <__vector_125+0x3c> + 2268: 80 e8 ldi r24, 0x80 ; 128 + 226a: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 226e: 0e 94 31 09 call 0x1262 ; 0x1262 + 2272: 0e 94 af 01 call 0x35e ; 0x35e + 2276: 86 c0 rjmp .+268 ; 0x2384 <__vector_125+0x148> + 2278: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 227c: 82 ff sbrs r24, 2 + 227e: 18 c0 rjmp .+48 ; 0x22b0 <__vector_125+0x74> + 2280: 84 e0 ldi r24, 0x04 ; 4 + 2282: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2286: 80 91 28 22 lds r24, 0x2228 ; 0x802228 + 228a: 86 ff sbrs r24, 6 + 228c: 7b c0 rjmp .+246 ; 0x2384 <__vector_125+0x148> + 228e: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2292: 81 fd sbrc r24, 1 + 2294: 77 c0 rjmp .+238 ; 0x2384 <__vector_125+0x148> + 2296: 6d dd rcall .-1318 ; 0x1d72 + 2298: 81 11 cpse r24, r1 + 229a: 74 c0 rjmp .+232 ; 0x2384 <__vector_125+0x148> + 229c: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 22a0: 81 30 cpi r24, 0x01 ; 1 + 22a2: 11 f4 brne .+4 ; 0x22a8 <__vector_125+0x6c> + 22a4: cf db rcall .-2146 ; 0x1a44 + 22a6: 6e c0 rjmp .+220 ; 0x2384 <__vector_125+0x148> + 22a8: 84 30 cpi r24, 0x04 ; 4 + 22aa: 09 f0 breq .+2 ; 0x22ae <__vector_125+0x72> + 22ac: 6b c0 rjmp .+214 ; 0x2384 <__vector_125+0x148> + 22ae: 21 c0 rjmp .+66 ; 0x22f2 <__vector_125+0xb6> + 22b0: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 22b4: 81 ff sbrs r24, 1 + 22b6: 26 c0 rjmp .+76 ; 0x2304 <__vector_125+0xc8> + 22b8: 82 e0 ldi r24, 0x02 ; 2 + 22ba: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 22be: 80 91 20 22 lds r24, 0x2220 ; 0x802220 + 22c2: 86 ff sbrs r24, 6 + 22c4: 5f c0 rjmp .+190 ; 0x2384 <__vector_125+0x148> + 22c6: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 22ca: 81 fd sbrc r24, 1 + 22cc: 5b c0 rjmp .+182 ; 0x2384 <__vector_125+0x148> + 22ce: 51 dd rcall .-1374 ; 0x1d72 + 22d0: 81 11 cpse r24, r1 + 22d2: 58 c0 rjmp .+176 ; 0x2384 <__vector_125+0x148> + 22d4: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 22d8: 82 30 cpi r24, 0x02 ; 2 + 22da: 41 f4 brne .+16 ; 0x22ec <__vector_125+0xb0> + 22dc: 84 e0 ldi r24, 0x04 ; 4 + 22de: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 22e2: e0 e2 ldi r30, 0x20 ; 32 + 22e4: f2 e2 ldi r31, 0x22 ; 34 22e6: 02 e0 ldi r16, 0x02 ; 2 - 22e8: 05 93 las Z, r16 - 22ea: 9c 91 ld r25, X - 22ec: 90 ff sbrs r25, 0 - 22ee: 1b c0 rjmp .+54 ; 0x2326 - 22f0: 9e 7f andi r25, 0xFE ; 254 - 22f2: 9c 93 st X, r25 - 22f4: 17 96 adiw r26, 0x07 ; 7 - 22f6: ed 91 ld r30, X+ - 22f8: fc 91 ld r31, X - 22fa: 18 97 sbiw r26, 0x08 ; 8 - 22fc: 30 97 sbiw r30, 0x00 ; 0 - 22fe: 99 f0 breq .+38 ; 0x2326 - 2300: d7 01 movw r26, r14 - 2302: c7 ff sbrs r28, 7 - 2304: 05 c0 rjmp .+10 ; 0x2310 - 2306: 16 96 adiw r26, 0x06 ; 6 - 2308: 6d 91 ld r22, X+ - 230a: 7c 91 ld r23, X - 230c: 17 97 sbiw r26, 0x07 ; 7 - 230e: 04 c0 rjmp .+8 ; 0x2318 - 2310: 12 96 adiw r26, 0x02 ; 2 - 2312: 6d 91 ld r22, X+ - 2314: 7c 91 ld r23, X - 2316: 13 97 sbiw r26, 0x03 ; 3 - 2318: 4c 2f mov r20, r28 - 231a: 81 e0 ldi r24, 0x01 ; 1 - 231c: cf 91 pop r28 - 231e: 0f 91 pop r16 - 2320: ff 90 pop r15 - 2322: ef 90 pop r14 - 2324: 09 94 ijmp - 2326: cf 91 pop r28 - 2328: 0f 91 pop r16 - 232a: ff 90 pop r15 - 232c: ef 90 pop r14 - 232e: 08 95 ret + 22e8: 06 93 lac Z, r16 + 22ea: 4c c0 rjmp .+152 ; 0x2384 <__vector_125+0x148> + 22ec: 83 30 cpi r24, 0x03 ; 3 + 22ee: 09 f0 breq .+2 ; 0x22f2 <__vector_125+0xb6> + 22f0: 49 c0 rjmp .+146 ; 0x2384 <__vector_125+0x148> + 22f2: e9 e2 ldi r30, 0x29 ; 41 + 22f4: f2 e2 ldi r31, 0x22 ; 34 + 22f6: 04 e0 ldi r16, 0x04 ; 4 + 22f8: 05 93 las Z, r16 + 22fa: e1 e2 ldi r30, 0x21 ; 33 + 22fc: f2 e2 ldi r31, 0x22 ; 34 + 22fe: 04 e0 ldi r16, 0x04 ; 4 + 2300: 05 93 las Z, r16 + 2302: 40 c0 rjmp .+128 ; 0x2384 <__vector_125+0x148> + 2304: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2308: 84 ff sbrs r24, 4 + 230a: 25 c0 rjmp .+74 ; 0x2356 <__vector_125+0x11a> + 230c: 80 e1 ldi r24, 0x10 ; 16 + 230e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2312: 81 e0 ldi r24, 0x01 ; 1 + 2314: 4a df rcall .-364 ; 0x21aa + 2316: 81 e8 ldi r24, 0x81 ; 129 + 2318: 48 df rcall .-368 ; 0x21aa + 231a: 82 e0 ldi r24, 0x02 ; 2 + 231c: 46 df rcall .-372 ; 0x21aa + 231e: 82 e8 ldi r24, 0x82 ; 130 + 2320: 44 df rcall .-376 ; 0x21aa + 2322: 0e 94 15 09 call 0x122a ; 0x122a + 2326: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 232a: 10 92 21 22 sts 0x2221, r1 ; 0x802221 + 232e: 96 e0 ldi r25, 0x06 ; 6 + 2330: 90 93 20 22 sts 0x2220, r25 ; 0x802220 + 2334: 83 e4 ldi r24, 0x43 ; 67 + 2336: 80 93 21 22 sts 0x2221, r24 ; 0x802221 + 233a: 10 92 29 22 sts 0x2229, r1 ; 0x802229 + 233e: 90 93 28 22 sts 0x2228, r25 ; 0x802228 + 2342: 80 93 29 22 sts 0x2229, r24 ; 0x802229 + 2346: 89 ec ldi r24, 0xC9 ; 201 + 2348: 91 e2 ldi r25, 0x21 ; 33 + 234a: 80 93 24 22 sts 0x2224, r24 ; 0x802224 + 234e: 90 93 25 22 sts 0x2225, r25 ; 0x802225 + 2352: 43 db rcall .-2426 ; 0x19da + 2354: 17 c0 rjmp .+46 ; 0x2384 <__vector_125+0x148> + 2356: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 235a: 86 ff sbrs r24, 6 + 235c: 08 c0 rjmp .+16 ; 0x236e <__vector_125+0x132> + 235e: 80 e4 ldi r24, 0x40 ; 64 + 2360: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2364: 80 e0 ldi r24, 0x00 ; 0 + 2366: 0f db rcall .-2530 ; 0x1986 + 2368: 0e 94 ad 01 call 0x35a ; 0x35a + 236c: 0b c0 rjmp .+22 ; 0x2384 <__vector_125+0x148> + 236e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2372: 85 ff sbrs r24, 5 + 2374: 07 c0 rjmp .+14 ; 0x2384 <__vector_125+0x148> + 2376: 80 e2 ldi r24, 0x20 ; 32 + 2378: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 237c: 81 e0 ldi r24, 0x01 ; 1 + 237e: 03 db rcall .-2554 ; 0x1986 + 2380: 0e 94 ae 01 call 0x35c ; 0x35c + 2384: ff 91 pop r31 + 2386: ef 91 pop r30 + 2388: bf 91 pop r27 + 238a: af 91 pop r26 + 238c: 9f 91 pop r25 + 238e: 8f 91 pop r24 + 2390: 7f 91 pop r23 + 2392: 6f 91 pop r22 + 2394: 5f 91 pop r21 + 2396: 4f 91 pop r20 + 2398: 3f 91 pop r19 + 239a: 2f 91 pop r18 + 239c: 0f 91 pop r16 + 239e: 0f 90 pop r0 + 23a0: 0f be out 0x3f, r0 ; 63 + 23a2: 0f 90 pop r0 + 23a4: 1f 90 pop r1 + 23a6: 18 95 reti -00002330 : - 2330: cf 93 push r28 - 2332: c8 2f mov r28, r24 - 2334: cd df rcall .-102 ; 0x22d0 - 2336: 8c 2f mov r24, r28 - 2338: cc db rcall .-2152 ; 0x1ad2 - 233a: fc 01 movw r30, r24 - 233c: 11 82 std Z+1, r1 ; 0x01 - 233e: cf 91 pop r28 - 2340: 08 95 ret +000023a8 <__vector_126>: + 23a8: 1f 92 push r1 + 23aa: 0f 92 push r0 + 23ac: 0f b6 in r0, 0x3f ; 63 + 23ae: 0f 92 push r0 + 23b0: 11 24 eor r1, r1 + 23b2: 0f 93 push r16 + 23b4: 1f 93 push r17 + 23b6: 2f 93 push r18 + 23b8: 3f 93 push r19 + 23ba: 4f 93 push r20 + 23bc: 5f 93 push r21 + 23be: 6f 93 push r22 + 23c0: 7f 93 push r23 + 23c2: 8f 93 push r24 + 23c4: 9f 93 push r25 + 23c6: af 93 push r26 + 23c8: bf 93 push r27 + 23ca: cf 93 push r28 + 23cc: df 93 push r29 + 23ce: ef 93 push r30 + 23d0: ff 93 push r31 + 23d2: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 23d6: 81 ff sbrs r24, 1 + 23d8: 1a c0 rjmp .+52 ; 0x240e <__vector_126+0x66> + 23da: 82 e0 ldi r24, 0x02 ; 2 + 23dc: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 23e0: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 23e4: 81 95 neg r24 + 23e6: 88 0f add r24, r24 + 23e8: e0 e2 ldi r30, 0x20 ; 32 + 23ea: f2 e2 ldi r31, 0x22 ; 34 + 23ec: e8 1b sub r30, r24 + 23ee: f1 09 sbc r31, r1 + 23f0: 20 81 ld r18, Z + 23f2: 31 81 ldd r19, Z+1 ; 0x01 + 23f4: 20 52 subi r18, 0x20 ; 32 + 23f6: 32 42 sbci r19, 0x22 ; 34 + 23f8: 83 e0 ldi r24, 0x03 ; 3 + 23fa: 36 95 lsr r19 + 23fc: 27 95 ror r18 + 23fe: 8a 95 dec r24 + 2400: e1 f7 brne .-8 ; 0x23fa <__vector_126+0x52> + 2402: 82 2f mov r24, r18 + 2404: 86 95 lsr r24 + 2406: 20 fd sbrc r18, 0 + 2408: 06 c0 rjmp .+12 ; 0x2416 <__vector_126+0x6e> + 240a: c0 e0 ldi r28, 0x00 ; 0 + 240c: 05 c0 rjmp .+10 ; 0x2418 <__vector_126+0x70> + 240e: b1 dc rcall .-1694 ; 0x1d72 + 2410: 88 23 and r24, r24 + 2412: 19 f3 breq .-58 ; 0x23da <__vector_126+0x32> + 2414: 86 c0 rjmp .+268 ; 0x2522 <__vector_126+0x17a> + 2416: c0 e8 ldi r28, 0x80 ; 128 + 2418: c8 0f add r28, r24 + 241a: 8c 2f mov r24, r28 + 241c: c7 da rcall .-2674 ; 0x19ac + 241e: fc 01 movw r30, r24 + 2420: 20 81 ld r18, Z + 2422: 25 ff sbrs r18, 5 + 2424: 7e c0 rjmp .+252 ; 0x2522 <__vector_126+0x17a> + 2426: 00 e2 ldi r16, 0x20 ; 32 + 2428: 06 93 lac Z, r16 + 242a: c1 11 cpse r28, r1 + 242c: 74 c0 rjmp .+232 ; 0x2516 <__vector_126+0x16e> + 242e: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 2432: 84 30 cpi r24, 0x04 ; 4 + 2434: 19 f4 brne .+6 ; 0x243c <__vector_126+0x94> + 2436: 14 db rcall .-2520 ; 0x1a60 + 2438: d0 da rcall .-2656 ; 0x19da + 243a: 73 c0 rjmp .+230 ; 0x2522 <__vector_126+0x17a> + 243c: 00 91 22 22 lds r16, 0x2222 ; 0x802222 + 2440: 10 91 23 22 lds r17, 0x2223 ; 0x802223 + 2444: 80 91 79 24 lds r24, 0x2479 ; 0x802479 + 2448: 90 91 7a 24 lds r25, 0x247A ; 0x80247a + 244c: c0 91 09 22 lds r28, 0x2209 ; 0x802209 + 2450: d0 91 0a 22 lds r29, 0x220A ; 0x80220a + 2454: 9e 01 movw r18, r28 + 2456: 20 0f add r18, r16 + 2458: 31 1f adc r19, r17 + 245a: 82 17 cp r24, r18 + 245c: 93 07 cpc r25, r19 + 245e: 18 f4 brcc .+6 ; 0x2466 <__vector_126+0xbe> + 2460: 8c 01 movw r16, r24 + 2462: 0c 1b sub r16, r28 + 2464: 1d 0b sbc r17, r29 + 2466: 80 91 77 24 lds r24, 0x2477 ; 0x802477 + 246a: 90 91 78 24 lds r25, 0x2478 ; 0x802478 + 246e: a8 01 movw r20, r16 + 2470: 69 ec ldi r22, 0xC9 ; 201 + 2472: 71 e2 ldi r23, 0x21 ; 33 + 2474: 8c 0f add r24, r28 + 2476: 9d 1f adc r25, r29 + 2478: 83 d0 rcall .+262 ; 0x2580 + 247a: c0 0f add r28, r16 + 247c: d1 1f adc r29, r17 + 247e: c0 93 09 22 sts 0x2209, r28 ; 0x802209 + 2482: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a + 2486: 00 34 cpi r16, 0x40 ; 64 + 2488: 11 05 cpc r17, r1 + 248a: 69 f4 brne .+26 ; 0x24a6 <__vector_126+0xfe> + 248c: 80 91 0b 22 lds r24, 0x220B ; 0x80220b + 2490: 90 91 0c 22 lds r25, 0x220C ; 0x80220c + 2494: 8c 0f add r24, r28 + 2496: 9d 1f adc r25, r29 + 2498: 20 91 75 24 lds r18, 0x2475 ; 0x802475 + 249c: 30 91 76 24 lds r19, 0x2476 ; 0x802476 + 24a0: 82 17 cp r24, r18 + 24a2: 93 07 cpc r25, r19 + 24a4: 88 f0 brcs .+34 ; 0x24c8 <__vector_126+0x120> + 24a6: c0 93 79 24 sts 0x2479, r28 ; 0x802479 + 24aa: d0 93 7a 24 sts 0x247A, r29 ; 0x80247a + 24ae: e0 91 7d 24 lds r30, 0x247D ; 0x80247d + 24b2: f0 91 7e 24 lds r31, 0x247E ; 0x80247e + 24b6: 30 97 sbiw r30, 0x00 ; 0 + 24b8: 29 f0 breq .+10 ; 0x24c4 <__vector_126+0x11c> + 24ba: 09 95 icall + 24bc: 81 11 cpse r24, r1 + 24be: 02 c0 rjmp .+4 ; 0x24c4 <__vector_126+0x11c> + 24c0: b3 da rcall .-2714 ; 0x1a28 + 24c2: 2f c0 rjmp .+94 ; 0x2522 <__vector_126+0x17a> + 24c4: bf da rcall .-2690 ; 0x1a44 + 24c6: 2d c0 rjmp .+90 ; 0x2522 <__vector_126+0x17a> + 24c8: 80 91 79 24 lds r24, 0x2479 ; 0x802479 + 24cc: 90 91 7a 24 lds r25, 0x247A ; 0x80247a + 24d0: 8c 17 cp r24, r28 + 24d2: 9d 07 cpc r25, r29 + 24d4: d9 f4 brne .+54 ; 0x250c <__vector_126+0x164> + 24d6: e0 91 7d 24 lds r30, 0x247D ; 0x80247d + 24da: f0 91 7e 24 lds r31, 0x247E ; 0x80247e + 24de: 30 97 sbiw r30, 0x00 ; 0 + 24e0: 79 f3 breq .-34 ; 0x24c0 <__vector_126+0x118> + 24e2: 09 95 icall + 24e4: 88 23 and r24, r24 + 24e6: 61 f3 breq .-40 ; 0x24c0 <__vector_126+0x118> + 24e8: 20 91 0b 22 lds r18, 0x220B ; 0x80220b + 24ec: 30 91 0c 22 lds r19, 0x220C ; 0x80220c + 24f0: 80 91 09 22 lds r24, 0x2209 ; 0x802209 + 24f4: 90 91 0a 22 lds r25, 0x220A ; 0x80220a + 24f8: 82 0f add r24, r18 + 24fa: 93 1f adc r25, r19 + 24fc: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b + 2500: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c + 2504: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 2508: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 250c: e0 e2 ldi r30, 0x20 ; 32 + 250e: f2 e2 ldi r31, 0x22 ; 34 + 2510: 02 e0 ldi r16, 0x02 ; 2 + 2512: 06 93 lac Z, r16 + 2514: 06 c0 rjmp .+12 ; 0x2522 <__vector_126+0x17a> + 2516: c0 38 cpi r28, 0x80 ; 128 + 2518: 11 f4 brne .+4 ; 0x251e <__vector_126+0x176> + 251a: bd db rcall .-2182 ; 0x1c96 + 251c: 02 c0 rjmp .+4 ; 0x2522 <__vector_126+0x17a> + 251e: 8c 2f mov r24, r28 + 2520: c1 da rcall .-2686 ; 0x1aa4 + 2522: ff 91 pop r31 + 2524: ef 91 pop r30 + 2526: df 91 pop r29 + 2528: cf 91 pop r28 + 252a: bf 91 pop r27 + 252c: af 91 pop r26 + 252e: 9f 91 pop r25 + 2530: 8f 91 pop r24 + 2532: 7f 91 pop r23 + 2534: 6f 91 pop r22 + 2536: 5f 91 pop r21 + 2538: 4f 91 pop r20 + 253a: 3f 91 pop r19 + 253c: 2f 91 pop r18 + 253e: 1f 91 pop r17 + 2540: 0f 91 pop r16 + 2542: 0f 90 pop r0 + 2544: 0f be out 0x3f, r0 ; 63 + 2546: 0f 90 pop r0 + 2548: 1f 90 pop r1 + 254a: 18 95 reti -00002342 : - 2342: 0f 93 push r16 - 2344: cf 93 push r28 - 2346: c8 2f mov r28, r24 - 2348: c4 db rcall .-2168 ; 0x1ad2 - 234a: fc 01 movw r30, r24 - 234c: 91 81 ldd r25, Z+1 ; 0x01 - 234e: 94 60 ori r25, 0x04 ; 4 - 2350: 91 83 std Z+1, r25 ; 0x01 - 2352: 01 e0 ldi r16, 0x01 ; 1 - 2354: 06 93 lac Z, r16 - 2356: 8c 2f mov r24, r28 - 2358: bb df rcall .-138 ; 0x22d0 - 235a: 81 e0 ldi r24, 0x01 ; 1 - 235c: cf 91 pop r28 - 235e: 0f 91 pop r16 - 2360: 08 95 ret +0000254c <__udivmodhi4>: + 254c: aa 1b sub r26, r26 + 254e: bb 1b sub r27, r27 + 2550: 51 e1 ldi r21, 0x11 ; 17 + 2552: 07 c0 rjmp .+14 ; 0x2562 <__udivmodhi4_ep> -00002362 <__vector_125>: - 2362: 1f 92 push r1 - 2364: 0f 92 push r0 - 2366: 0f b6 in r0, 0x3f ; 63 - 2368: 0f 92 push r0 - 236a: 11 24 eor r1, r1 - 236c: 0f 93 push r16 - 236e: 2f 93 push r18 - 2370: 3f 93 push r19 - 2372: 4f 93 push r20 - 2374: 5f 93 push r21 - 2376: 6f 93 push r22 - 2378: 7f 93 push r23 - 237a: 8f 93 push r24 - 237c: 9f 93 push r25 - 237e: af 93 push r26 - 2380: bf 93 push r27 - 2382: ef 93 push r30 - 2384: ff 93 push r31 - 2386: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 238a: 87 ff sbrs r24, 7 - 238c: 08 c0 rjmp .+16 ; 0x239e <__vector_125+0x3c> - 238e: 80 e8 ldi r24, 0x80 ; 128 - 2390: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 2394: 0e 94 bf 09 call 0x137e ; 0x137e - 2398: 0e 94 a0 01 call 0x340 ; 0x340 - 239c: 86 c0 rjmp .+268 ; 0x24aa <__vector_125+0x148> - 239e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 23a2: 82 ff sbrs r24, 2 - 23a4: 18 c0 rjmp .+48 ; 0x23d6 <__vector_125+0x74> - 23a6: 84 e0 ldi r24, 0x04 ; 4 - 23a8: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 23ac: 80 91 28 22 lds r24, 0x2228 ; 0x802228 - 23b0: 86 ff sbrs r24, 6 - 23b2: 7b c0 rjmp .+246 ; 0x24aa <__vector_125+0x148> - 23b4: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 23b8: 81 fd sbrc r24, 1 - 23ba: 77 c0 rjmp .+238 ; 0x24aa <__vector_125+0x148> - 23bc: 6d dd rcall .-1318 ; 0x1e98 - 23be: 81 11 cpse r24, r1 - 23c0: 74 c0 rjmp .+232 ; 0x24aa <__vector_125+0x148> - 23c2: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 23c6: 81 30 cpi r24, 0x01 ; 1 - 23c8: 11 f4 brne .+4 ; 0x23ce <__vector_125+0x6c> - 23ca: cf db rcall .-2146 ; 0x1b6a - 23cc: 6e c0 rjmp .+220 ; 0x24aa <__vector_125+0x148> - 23ce: 84 30 cpi r24, 0x04 ; 4 - 23d0: 09 f0 breq .+2 ; 0x23d4 <__vector_125+0x72> - 23d2: 6b c0 rjmp .+214 ; 0x24aa <__vector_125+0x148> - 23d4: 21 c0 rjmp .+66 ; 0x2418 <__vector_125+0xb6> - 23d6: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 23da: 81 ff sbrs r24, 1 - 23dc: 26 c0 rjmp .+76 ; 0x242a <__vector_125+0xc8> - 23de: 82 e0 ldi r24, 0x02 ; 2 - 23e0: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 23e4: 80 91 20 22 lds r24, 0x2220 ; 0x802220 - 23e8: 86 ff sbrs r24, 6 - 23ea: 5f c0 rjmp .+190 ; 0x24aa <__vector_125+0x148> - 23ec: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 23f0: 81 fd sbrc r24, 1 - 23f2: 5b c0 rjmp .+182 ; 0x24aa <__vector_125+0x148> - 23f4: 51 dd rcall .-1374 ; 0x1e98 - 23f6: 81 11 cpse r24, r1 - 23f8: 58 c0 rjmp .+176 ; 0x24aa <__vector_125+0x148> - 23fa: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 23fe: 82 30 cpi r24, 0x02 ; 2 - 2400: 41 f4 brne .+16 ; 0x2412 <__vector_125+0xb0> - 2402: 84 e0 ldi r24, 0x04 ; 4 - 2404: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 2408: e0 e2 ldi r30, 0x20 ; 32 - 240a: f2 e2 ldi r31, 0x22 ; 34 - 240c: 02 e0 ldi r16, 0x02 ; 2 - 240e: 06 93 lac Z, r16 - 2410: 4c c0 rjmp .+152 ; 0x24aa <__vector_125+0x148> - 2412: 83 30 cpi r24, 0x03 ; 3 - 2414: 09 f0 breq .+2 ; 0x2418 <__vector_125+0xb6> - 2416: 49 c0 rjmp .+146 ; 0x24aa <__vector_125+0x148> - 2418: e9 e2 ldi r30, 0x29 ; 41 - 241a: f2 e2 ldi r31, 0x22 ; 34 - 241c: 04 e0 ldi r16, 0x04 ; 4 - 241e: 05 93 las Z, r16 - 2420: e1 e2 ldi r30, 0x21 ; 33 - 2422: f2 e2 ldi r31, 0x22 ; 34 - 2424: 04 e0 ldi r16, 0x04 ; 4 - 2426: 05 93 las Z, r16 - 2428: 40 c0 rjmp .+128 ; 0x24aa <__vector_125+0x148> - 242a: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 242e: 84 ff sbrs r24, 4 - 2430: 25 c0 rjmp .+74 ; 0x247c <__vector_125+0x11a> - 2432: 80 e1 ldi r24, 0x10 ; 16 - 2434: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 2438: 81 e0 ldi r24, 0x01 ; 1 - 243a: 4a df rcall .-364 ; 0x22d0 - 243c: 81 e8 ldi r24, 0x81 ; 129 - 243e: 48 df rcall .-368 ; 0x22d0 - 2440: 82 e0 ldi r24, 0x02 ; 2 - 2442: 46 df rcall .-372 ; 0x22d0 - 2444: 82 e8 ldi r24, 0x82 ; 130 - 2446: 44 df rcall .-376 ; 0x22d0 - 2448: 0e 94 a3 09 call 0x1346 ; 0x1346 - 244c: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 2450: 10 92 21 22 sts 0x2221, r1 ; 0x802221 - 2454: 96 e0 ldi r25, 0x06 ; 6 - 2456: 90 93 20 22 sts 0x2220, r25 ; 0x802220 - 245a: 83 e4 ldi r24, 0x43 ; 67 - 245c: 80 93 21 22 sts 0x2221, r24 ; 0x802221 - 2460: 10 92 29 22 sts 0x2229, r1 ; 0x802229 - 2464: 90 93 28 22 sts 0x2228, r25 ; 0x802228 - 2468: 80 93 29 22 sts 0x2229, r24 ; 0x802229 - 246c: 89 ec ldi r24, 0xC9 ; 201 - 246e: 91 e2 ldi r25, 0x21 ; 33 - 2470: 80 93 24 22 sts 0x2224, r24 ; 0x802224 - 2474: 90 93 25 22 sts 0x2225, r25 ; 0x802225 - 2478: 43 db rcall .-2426 ; 0x1b00 - 247a: 17 c0 rjmp .+46 ; 0x24aa <__vector_125+0x148> - 247c: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2480: 86 ff sbrs r24, 6 - 2482: 08 c0 rjmp .+16 ; 0x2494 <__vector_125+0x132> - 2484: 80 e4 ldi r24, 0x40 ; 64 - 2486: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 248a: 80 e0 ldi r24, 0x00 ; 0 - 248c: 0f db rcall .-2530 ; 0x1aac - 248e: 0e 94 9e 01 call 0x33c ; 0x33c - 2492: 0b c0 rjmp .+22 ; 0x24aa <__vector_125+0x148> - 2494: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2498: 85 ff sbrs r24, 5 - 249a: 07 c0 rjmp .+14 ; 0x24aa <__vector_125+0x148> - 249c: 80 e2 ldi r24, 0x20 ; 32 - 249e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 24a2: 81 e0 ldi r24, 0x01 ; 1 - 24a4: 03 db rcall .-2554 ; 0x1aac - 24a6: 0e 94 9f 01 call 0x33e ; 0x33e - 24aa: ff 91 pop r31 - 24ac: ef 91 pop r30 - 24ae: bf 91 pop r27 - 24b0: af 91 pop r26 - 24b2: 9f 91 pop r25 - 24b4: 8f 91 pop r24 - 24b6: 7f 91 pop r23 - 24b8: 6f 91 pop r22 - 24ba: 5f 91 pop r21 - 24bc: 4f 91 pop r20 - 24be: 3f 91 pop r19 - 24c0: 2f 91 pop r18 - 24c2: 0f 91 pop r16 - 24c4: 0f 90 pop r0 - 24c6: 0f be out 0x3f, r0 ; 63 - 24c8: 0f 90 pop r0 - 24ca: 1f 90 pop r1 - 24cc: 18 95 reti +00002554 <__udivmodhi4_loop>: + 2554: aa 1f adc r26, r26 + 2556: bb 1f adc r27, r27 + 2558: a6 17 cp r26, r22 + 255a: b7 07 cpc r27, r23 + 255c: 10 f0 brcs .+4 ; 0x2562 <__udivmodhi4_ep> + 255e: a6 1b sub r26, r22 + 2560: b7 0b sbc r27, r23 -000024ce <__vector_126>: - 24ce: 1f 92 push r1 - 24d0: 0f 92 push r0 - 24d2: 0f b6 in r0, 0x3f ; 63 - 24d4: 0f 92 push r0 - 24d6: 11 24 eor r1, r1 - 24d8: 0f 93 push r16 - 24da: 1f 93 push r17 - 24dc: 2f 93 push r18 - 24de: 3f 93 push r19 - 24e0: 4f 93 push r20 - 24e2: 5f 93 push r21 - 24e4: 6f 93 push r22 - 24e6: 7f 93 push r23 - 24e8: 8f 93 push r24 - 24ea: 9f 93 push r25 - 24ec: af 93 push r26 - 24ee: bf 93 push r27 - 24f0: cf 93 push r28 - 24f2: df 93 push r29 - 24f4: ef 93 push r30 - 24f6: ff 93 push r31 - 24f8: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 24fc: 81 ff sbrs r24, 1 - 24fe: 1a c0 rjmp .+52 ; 0x2534 <__vector_126+0x66> - 2500: 82 e0 ldi r24, 0x02 ; 2 - 2502: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2506: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 250a: 81 95 neg r24 - 250c: 88 0f add r24, r24 - 250e: e0 e2 ldi r30, 0x20 ; 32 - 2510: f2 e2 ldi r31, 0x22 ; 34 - 2512: e8 1b sub r30, r24 - 2514: f1 09 sbc r31, r1 - 2516: 20 81 ld r18, Z - 2518: 31 81 ldd r19, Z+1 ; 0x01 - 251a: 20 52 subi r18, 0x20 ; 32 - 251c: 32 42 sbci r19, 0x22 ; 34 - 251e: 83 e0 ldi r24, 0x03 ; 3 - 2520: 36 95 lsr r19 - 2522: 27 95 ror r18 - 2524: 8a 95 dec r24 - 2526: e1 f7 brne .-8 ; 0x2520 <__vector_126+0x52> - 2528: 82 2f mov r24, r18 - 252a: 86 95 lsr r24 - 252c: 20 fd sbrc r18, 0 - 252e: 06 c0 rjmp .+12 ; 0x253c <__vector_126+0x6e> - 2530: c0 e0 ldi r28, 0x00 ; 0 - 2532: 05 c0 rjmp .+10 ; 0x253e <__vector_126+0x70> - 2534: b1 dc rcall .-1694 ; 0x1e98 - 2536: 88 23 and r24, r24 - 2538: 19 f3 breq .-58 ; 0x2500 <__vector_126+0x32> - 253a: 86 c0 rjmp .+268 ; 0x2648 <__vector_126+0x17a> - 253c: c0 e8 ldi r28, 0x80 ; 128 - 253e: c8 0f add r28, r24 - 2540: 8c 2f mov r24, r28 - 2542: c7 da rcall .-2674 ; 0x1ad2 - 2544: fc 01 movw r30, r24 - 2546: 20 81 ld r18, Z - 2548: 25 ff sbrs r18, 5 - 254a: 7e c0 rjmp .+252 ; 0x2648 <__vector_126+0x17a> - 254c: 00 e2 ldi r16, 0x20 ; 32 - 254e: 06 93 lac Z, r16 - 2550: c1 11 cpse r28, r1 - 2552: 74 c0 rjmp .+232 ; 0x263c <__vector_126+0x16e> - 2554: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 2558: 84 30 cpi r24, 0x04 ; 4 - 255a: 19 f4 brne .+6 ; 0x2562 <__vector_126+0x94> - 255c: 14 db rcall .-2520 ; 0x1b86 - 255e: d0 da rcall .-2656 ; 0x1b00 - 2560: 73 c0 rjmp .+230 ; 0x2648 <__vector_126+0x17a> - 2562: 00 91 22 22 lds r16, 0x2222 ; 0x802222 - 2566: 10 91 23 22 lds r17, 0x2223 ; 0x802223 - 256a: 80 91 74 24 lds r24, 0x2474 ; 0x802474 - 256e: 90 91 75 24 lds r25, 0x2475 ; 0x802475 - 2572: c0 91 09 22 lds r28, 0x2209 ; 0x802209 - 2576: d0 91 0a 22 lds r29, 0x220A ; 0x80220a - 257a: 9e 01 movw r18, r28 - 257c: 20 0f add r18, r16 - 257e: 31 1f adc r19, r17 - 2580: 82 17 cp r24, r18 - 2582: 93 07 cpc r25, r19 - 2584: 18 f4 brcc .+6 ; 0x258c <__vector_126+0xbe> - 2586: 8c 01 movw r16, r24 - 2588: 0c 1b sub r16, r28 - 258a: 1d 0b sbc r17, r29 - 258c: 80 91 72 24 lds r24, 0x2472 ; 0x802472 - 2590: 90 91 73 24 lds r25, 0x2473 ; 0x802473 - 2594: a8 01 movw r20, r16 - 2596: 69 ec ldi r22, 0xC9 ; 201 - 2598: 71 e2 ldi r23, 0x21 ; 33 - 259a: 8c 0f add r24, r28 - 259c: 9d 1f adc r25, r29 - 259e: 83 d0 rcall .+262 ; 0x26a6 - 25a0: c0 0f add r28, r16 - 25a2: d1 1f adc r29, r17 - 25a4: c0 93 09 22 sts 0x2209, r28 ; 0x802209 - 25a8: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a - 25ac: 00 34 cpi r16, 0x40 ; 64 - 25ae: 11 05 cpc r17, r1 - 25b0: 69 f4 brne .+26 ; 0x25cc <__vector_126+0xfe> - 25b2: 80 91 0b 22 lds r24, 0x220B ; 0x80220b - 25b6: 90 91 0c 22 lds r25, 0x220C ; 0x80220c - 25ba: 8c 0f add r24, r28 - 25bc: 9d 1f adc r25, r29 - 25be: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 25c2: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 25c6: 82 17 cp r24, r18 - 25c8: 93 07 cpc r25, r19 - 25ca: 88 f0 brcs .+34 ; 0x25ee <__vector_126+0x120> - 25cc: c0 93 74 24 sts 0x2474, r28 ; 0x802474 - 25d0: d0 93 75 24 sts 0x2475, r29 ; 0x802475 - 25d4: e0 91 78 24 lds r30, 0x2478 ; 0x802478 - 25d8: f0 91 79 24 lds r31, 0x2479 ; 0x802479 - 25dc: 30 97 sbiw r30, 0x00 ; 0 - 25de: 29 f0 breq .+10 ; 0x25ea <__vector_126+0x11c> - 25e0: 09 95 icall - 25e2: 81 11 cpse r24, r1 - 25e4: 02 c0 rjmp .+4 ; 0x25ea <__vector_126+0x11c> - 25e6: b3 da rcall .-2714 ; 0x1b4e - 25e8: 2f c0 rjmp .+94 ; 0x2648 <__vector_126+0x17a> - 25ea: bf da rcall .-2690 ; 0x1b6a - 25ec: 2d c0 rjmp .+90 ; 0x2648 <__vector_126+0x17a> - 25ee: 80 91 74 24 lds r24, 0x2474 ; 0x802474 - 25f2: 90 91 75 24 lds r25, 0x2475 ; 0x802475 - 25f6: 8c 17 cp r24, r28 - 25f8: 9d 07 cpc r25, r29 - 25fa: d9 f4 brne .+54 ; 0x2632 <__vector_126+0x164> - 25fc: e0 91 78 24 lds r30, 0x2478 ; 0x802478 - 2600: f0 91 79 24 lds r31, 0x2479 ; 0x802479 - 2604: 30 97 sbiw r30, 0x00 ; 0 - 2606: 79 f3 breq .-34 ; 0x25e6 <__vector_126+0x118> - 2608: 09 95 icall - 260a: 88 23 and r24, r24 - 260c: 61 f3 breq .-40 ; 0x25e6 <__vector_126+0x118> - 260e: 20 91 0b 22 lds r18, 0x220B ; 0x80220b - 2612: 30 91 0c 22 lds r19, 0x220C ; 0x80220c - 2616: 80 91 09 22 lds r24, 0x2209 ; 0x802209 - 261a: 90 91 0a 22 lds r25, 0x220A ; 0x80220a - 261e: 82 0f add r24, r18 - 2620: 93 1f adc r25, r19 - 2622: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b - 2626: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c - 262a: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 262e: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 2632: e0 e2 ldi r30, 0x20 ; 32 - 2634: f2 e2 ldi r31, 0x22 ; 34 - 2636: 02 e0 ldi r16, 0x02 ; 2 - 2638: 06 93 lac Z, r16 - 263a: 06 c0 rjmp .+12 ; 0x2648 <__vector_126+0x17a> - 263c: c0 38 cpi r28, 0x80 ; 128 - 263e: 11 f4 brne .+4 ; 0x2644 <__vector_126+0x176> - 2640: bd db rcall .-2182 ; 0x1dbc - 2642: 02 c0 rjmp .+4 ; 0x2648 <__vector_126+0x17a> - 2644: 8c 2f mov r24, r28 - 2646: c1 da rcall .-2686 ; 0x1bca - 2648: ff 91 pop r31 - 264a: ef 91 pop r30 - 264c: df 91 pop r29 - 264e: cf 91 pop r28 - 2650: bf 91 pop r27 - 2652: af 91 pop r26 - 2654: 9f 91 pop r25 - 2656: 8f 91 pop r24 - 2658: 7f 91 pop r23 - 265a: 6f 91 pop r22 - 265c: 5f 91 pop r21 - 265e: 4f 91 pop r20 - 2660: 3f 91 pop r19 - 2662: 2f 91 pop r18 - 2664: 1f 91 pop r17 - 2666: 0f 91 pop r16 - 2668: 0f 90 pop r0 - 266a: 0f be out 0x3f, r0 ; 63 - 266c: 0f 90 pop r0 - 266e: 1f 90 pop r1 - 2670: 18 95 reti +00002562 <__udivmodhi4_ep>: + 2562: 88 1f adc r24, r24 + 2564: 99 1f adc r25, r25 + 2566: 5a 95 dec r21 + 2568: a9 f7 brne .-22 ; 0x2554 <__udivmodhi4_loop> + 256a: 80 95 com r24 + 256c: 90 95 com r25 + 256e: bc 01 movw r22, r24 + 2570: cd 01 movw r24, r26 + 2572: 08 95 ret -00002672 <__udivmodhi4>: - 2672: aa 1b sub r26, r26 - 2674: bb 1b sub r27, r27 - 2676: 51 e1 ldi r21, 0x11 ; 17 - 2678: 07 c0 rjmp .+14 ; 0x2688 <__udivmodhi4_ep> +00002574 <__tablejump2__>: + 2574: ee 0f add r30, r30 + 2576: ff 1f adc r31, r31 + 2578: 05 90 lpm r0, Z+ + 257a: f4 91 lpm r31, Z + 257c: e0 2d mov r30, r0 + 257e: 09 94 ijmp -0000267a <__udivmodhi4_loop>: - 267a: aa 1f adc r26, r26 - 267c: bb 1f adc r27, r27 - 267e: a6 17 cp r26, r22 - 2680: b7 07 cpc r27, r23 - 2682: 10 f0 brcs .+4 ; 0x2688 <__udivmodhi4_ep> - 2684: a6 1b sub r26, r22 - 2686: b7 0b sbc r27, r23 +00002580 : + 2580: fb 01 movw r30, r22 + 2582: dc 01 movw r26, r24 + 2584: 02 c0 rjmp .+4 ; 0x258a + 2586: 01 90 ld r0, Z+ + 2588: 0d 92 st X+, r0 + 258a: 41 50 subi r20, 0x01 ; 1 + 258c: 50 40 sbci r21, 0x00 ; 0 + 258e: d8 f7 brcc .-10 ; 0x2586 + 2590: 08 95 ret -00002688 <__udivmodhi4_ep>: - 2688: 88 1f adc r24, r24 - 268a: 99 1f adc r25, r25 - 268c: 5a 95 dec r21 - 268e: a9 f7 brne .-22 ; 0x267a <__udivmodhi4_loop> - 2690: 80 95 com r24 - 2692: 90 95 com r25 - 2694: bc 01 movw r22, r24 - 2696: cd 01 movw r24, r26 - 2698: 08 95 ret +00002592 <_exit>: + 2592: f8 94 cli -0000269a <__tablejump2__>: - 269a: ee 0f add r30, r30 - 269c: ff 1f adc r31, r31 - 269e: 05 90 lpm r0, Z+ - 26a0: f4 91 lpm r31, Z - 26a2: e0 2d mov r30, r0 - 26a4: 09 94 ijmp - -000026a6 : - 26a6: fb 01 movw r30, r22 - 26a8: dc 01 movw r26, r24 - 26aa: 02 c0 rjmp .+4 ; 0x26b0 - 26ac: 01 90 ld r0, Z+ - 26ae: 0d 92 st X+, r0 - 26b0: 41 50 subi r20, 0x01 ; 1 - 26b2: 50 40 sbci r21, 0x00 ; 0 - 26b4: d8 f7 brcc .-10 ; 0x26ac - 26b6: 08 95 ret - -000026b8 <_exit>: - 26b8: f8 94 cli - -000026ba <__stop_program>: - 26ba: ff cf rjmp .-2 ; 0x26ba <__stop_program> +00002594 <__stop_program>: + 2594: ff cf rjmp .-2 ; 0x2594 <__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 e8cb9f81..79bde368 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map @@ -16,12 +16,28 @@ c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/.. Allocating common symbols Common symbol size file +precalc_DMA_CH1_DESTADDR1_b2_state_equals_1 + 0x1 src/main.o +precalc_DMA_CH1_DESTADDR0_b2_state_equals_0 + 0x1 src/main.o debug_counter 0x4 src/main.o +precalc_DMA_CH0_DESTADDR1_b1_state_equals_1 + 0x1 src/main.o +precalc_DMA_CH0_DESTADDR1_b1_state_equals_0 + 0x1 src/main.o dacBuf_CH1 0x200 src/main.o +precalc_DMA_CH1_DESTADDR1_b2_state_equals_0 + 0x1 src/main.o udd_g_ctrlreq 0x10 src/main.o sleepmgr_locks 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o +precalc_DMA_CH0_DESTADDR0_b1_state_equals_0 + 0x1 src/main.o +precalc_DMA_CH0_DESTADDR0_b1_state_equals_1 + 0x1 src/main.o dacBuf_CH2 0x200 src/main.o isoBuf 0x5dc src/main.o +precalc_DMA_CH1_DESTADDR0_b2_state_equals_1 + 0x1 src/main.o Discarded input sections @@ -399,7 +415,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0x26bc +.text 0x00000000 0x2596 *(.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 @@ -408,48 +424,46 @@ END GROUP *(.progmem.gcc*) .progmem.gcc_sw_table.main_sof_action 0x000001fc 0x10 src/main.o - .progmem.gcc_sw_table.__vector_6 - 0x0000020c 0x10 src/tiny_dma.o .progmem.gcc_sw_table.udc_process_setup - 0x0000021c 0x30 src/ASF/common/services/usb/udc/udc.o - 0x0000024c . = ALIGN (0x2) - 0x0000024c __trampolines_start = . + 0x0000020c 0x30 src/ASF/common/services/usb/udc/udc.o + 0x0000023c . = ALIGN (0x2) + 0x0000023c __trampolines_start = . *(.trampolines) - .trampolines 0x0000024c 0x0 linker stubs + .trampolines 0x0000023c 0x0 linker stubs *(.trampolines*) - 0x0000024c __trampolines_end = . + 0x0000023c __trampolines_end = . *libprintf_flt.a:*(.progmem.data) *libc.a:*(.progmem.data) *(.progmem*) - 0x0000024c . = ALIGN (0x2) + 0x0000023c . = ALIGN (0x2) *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) - 0x0000024c __ctors_start = . + 0x0000023c __ctors_start = . *(.ctors) - 0x0000024c __ctors_end = . - 0x0000024c __dtors_start = . + 0x0000023c __ctors_end = . + 0x0000023c __dtors_start = . *(.dtors) - 0x0000024c __dtors_end = . + 0x0000023c __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) - .init0 0x0000024c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o - 0x0000024c __init + .init0 0x0000023c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + 0x0000023c __init *(.init0) *(.init1) *(.init1) *(.init2) - .init2 0x0000024c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + .init2 0x0000023c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o *(.init2) *(.init3) *(.init3) *(.init4) - .init4 0x00000258 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_copy_data.o) - 0x00000258 __do_copy_data - .init4 0x0000026e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_clear_bss.o) - 0x0000026e __do_clear_bss + .init4 0x00000248 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_copy_data.o) + 0x00000248 __do_copy_data + .init4 0x0000025e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_clear_bss.o) + 0x0000025e __do_clear_bss *(.init4) *(.init5) *(.init5) @@ -460,408 +474,408 @@ END GROUP *(.init8) *(.init8) *(.init9) - .init9 0x0000027e 0x6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + .init9 0x0000026e 0x6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o *(.init9) *(.text) - .text 0x00000284 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o - 0x00000284 __vector_38 - 0x00000284 __vector_104 - 0x00000284 __vector_22 - 0x00000284 __vector_63 - 0x00000284 __vector_28 - 0x00000284 __vector_67 - 0x00000284 __vector_1 - 0x00000284 __vector_119 - 0x00000284 __vector_32 - 0x00000284 __vector_75 - 0x00000284 __vector_71 - 0x00000284 __vector_91 - 0x00000284 __vector_34 - 0x00000284 __vector_62 - 0x00000284 __vector_77 - 0x00000284 __vector_102 - 0x00000284 __vector_12 - 0x00000284 __vector_55 - 0x00000284 __vector_69 - 0x00000284 __vector_81 - 0x00000284 __vector_90 - 0x00000284 __vector_46 - 0x00000284 __bad_interrupt - 0x00000284 __vector_122 - 0x00000284 __vector_72 - 0x00000284 __vector_114 - 0x00000284 __vector_110 - 0x00000284 __vector_31 - 0x00000284 __vector_92 - 0x00000284 __vector_35 - 0x00000284 __vector_78 - 0x00000284 __vector_74 - 0x00000284 __vector_117 - 0x00000284 __vector_39 - 0x00000284 __vector_107 - 0x00000284 __vector_3 - 0x00000284 __vector_105 - 0x00000284 __vector_98 - 0x00000284 __vector_23 - 0x00000284 __vector_68 - 0x00000284 __vector_30 - 0x00000284 __vector_73 - 0x00000284 __vector_45 - 0x00000284 __vector_25 - 0x00000284 __vector_93 - 0x00000284 __vector_61 - 0x00000284 __vector_11 - 0x00000284 __vector_54 - 0x00000284 __vector_99 - 0x00000284 __vector_13 - 0x00000284 __vector_17 - 0x00000284 __vector_19 - 0x00000284 __vector_56 - 0x00000284 __vector_49 - 0x00000284 __vector_123 - 0x00000284 __vector_41 - 0x00000284 __vector_86 - 0x00000284 __vector_100 - 0x00000284 __vector_101 - 0x00000284 __vector_64 - 0x00000284 __vector_88 - 0x00000284 __vector_109 - 0x00000284 __vector_43 - 0x00000284 __vector_27 - 0x00000284 __vector_5 - 0x00000284 __vector_113 - 0x00000284 __vector_33 - 0x00000284 __vector_76 - 0x00000284 __vector_115 - 0x00000284 __vector_47 - 0x00000284 __vector_52 - 0x00000284 __vector_37 - 0x00000284 __vector_95 - 0x00000284 __vector_103 - 0x00000284 __vector_96 - 0x00000284 __vector_89 - 0x00000284 __vector_108 - 0x00000284 __vector_4 - 0x00000284 __vector_44 - 0x00000284 __vector_82 - 0x00000284 __vector_106 - 0x00000284 __vector_118 - 0x00000284 __vector_51 - 0x00000284 __vector_2 - 0x00000284 __vector_21 - 0x00000284 __vector_15 - 0x00000284 __vector_66 - 0x00000284 __vector_36 - 0x00000284 __vector_79 - 0x00000284 __vector_58 - 0x00000284 __vector_70 - 0x00000284 __vector_29 - 0x00000284 __vector_60 - 0x00000284 __vector_121 - 0x00000284 __vector_40 - 0x00000284 __vector_85 - 0x00000284 __vector_94 - 0x00000284 __vector_26 - 0x00000284 __vector_48 - 0x00000284 __vector_124 - 0x00000284 __vector_116 - 0x00000284 __vector_112 - 0x00000284 __vector_111 - 0x00000284 __vector_80 - 0x00000284 __vector_14 - 0x00000284 __vector_84 - 0x00000284 __vector_57 - 0x00000284 __vector_53 - 0x00000284 __vector_10 - 0x00000284 __vector_50 - 0x00000284 __vector_16 - 0x00000284 __vector_59 - 0x00000284 __vector_18 - 0x00000284 __vector_97 - 0x00000284 __vector_20 - 0x00000284 __vector_42 - 0x00000284 __vector_87 - 0x00000284 __vector_65 - 0x00000284 __vector_120 - 0x00000286 . = ALIGN (0x2) + .text 0x00000274 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + 0x00000274 __vector_38 + 0x00000274 __vector_104 + 0x00000274 __vector_22 + 0x00000274 __vector_63 + 0x00000274 __vector_28 + 0x00000274 __vector_67 + 0x00000274 __vector_1 + 0x00000274 __vector_119 + 0x00000274 __vector_32 + 0x00000274 __vector_75 + 0x00000274 __vector_71 + 0x00000274 __vector_91 + 0x00000274 __vector_34 + 0x00000274 __vector_62 + 0x00000274 __vector_77 + 0x00000274 __vector_102 + 0x00000274 __vector_12 + 0x00000274 __vector_55 + 0x00000274 __vector_69 + 0x00000274 __vector_81 + 0x00000274 __vector_90 + 0x00000274 __vector_46 + 0x00000274 __bad_interrupt + 0x00000274 __vector_122 + 0x00000274 __vector_72 + 0x00000274 __vector_114 + 0x00000274 __vector_110 + 0x00000274 __vector_31 + 0x00000274 __vector_92 + 0x00000274 __vector_35 + 0x00000274 __vector_78 + 0x00000274 __vector_74 + 0x00000274 __vector_117 + 0x00000274 __vector_39 + 0x00000274 __vector_107 + 0x00000274 __vector_3 + 0x00000274 __vector_105 + 0x00000274 __vector_98 + 0x00000274 __vector_23 + 0x00000274 __vector_68 + 0x00000274 __vector_30 + 0x00000274 __vector_73 + 0x00000274 __vector_45 + 0x00000274 __vector_25 + 0x00000274 __vector_93 + 0x00000274 __vector_61 + 0x00000274 __vector_11 + 0x00000274 __vector_54 + 0x00000274 __vector_99 + 0x00000274 __vector_13 + 0x00000274 __vector_17 + 0x00000274 __vector_19 + 0x00000274 __vector_56 + 0x00000274 __vector_49 + 0x00000274 __vector_123 + 0x00000274 __vector_41 + 0x00000274 __vector_86 + 0x00000274 __vector_100 + 0x00000274 __vector_101 + 0x00000274 __vector_64 + 0x00000274 __vector_88 + 0x00000274 __vector_109 + 0x00000274 __vector_43 + 0x00000274 __vector_27 + 0x00000274 __vector_5 + 0x00000274 __vector_113 + 0x00000274 __vector_33 + 0x00000274 __vector_76 + 0x00000274 __vector_115 + 0x00000274 __vector_47 + 0x00000274 __vector_52 + 0x00000274 __vector_37 + 0x00000274 __vector_95 + 0x00000274 __vector_103 + 0x00000274 __vector_96 + 0x00000274 __vector_89 + 0x00000274 __vector_108 + 0x00000274 __vector_4 + 0x00000274 __vector_44 + 0x00000274 __vector_82 + 0x00000274 __vector_106 + 0x00000274 __vector_118 + 0x00000274 __vector_51 + 0x00000274 __vector_2 + 0x00000274 __vector_21 + 0x00000274 __vector_15 + 0x00000274 __vector_66 + 0x00000274 __vector_36 + 0x00000274 __vector_79 + 0x00000274 __vector_58 + 0x00000274 __vector_70 + 0x00000274 __vector_29 + 0x00000274 __vector_60 + 0x00000274 __vector_121 + 0x00000274 __vector_40 + 0x00000274 __vector_85 + 0x00000274 __vector_94 + 0x00000274 __vector_26 + 0x00000274 __vector_48 + 0x00000274 __vector_124 + 0x00000274 __vector_116 + 0x00000274 __vector_112 + 0x00000274 __vector_111 + 0x00000274 __vector_80 + 0x00000274 __vector_14 + 0x00000274 __vector_84 + 0x00000274 __vector_57 + 0x00000274 __vector_53 + 0x00000274 __vector_10 + 0x00000274 __vector_50 + 0x00000274 __vector_16 + 0x00000274 __vector_59 + 0x00000274 __vector_18 + 0x00000274 __vector_97 + 0x00000274 __vector_20 + 0x00000274 __vector_42 + 0x00000274 __vector_87 + 0x00000274 __vector_65 + 0x00000274 __vector_120 + 0x00000276 . = ALIGN (0x2) *(.text.*) .text.tiny_dig_setup - 0x00000286 0xe src/tiny_dig.o - 0x00000286 tiny_dig_setup + 0x00000276 0xe src/tiny_dig.o + 0x00000276 tiny_dig_setup .text.board_init - 0x00000294 0x2 src/ASF/common/boards/user_board/init.o - 0x00000294 board_init + 0x00000284 0x2 src/ASF/common/boards/user_board/init.o + 0x00000284 board_init .text.iso_callback - 0x00000296 0x20 src/main.o - 0x00000296 iso_callback + 0x00000286 0x20 src/main.o + 0x00000286 iso_callback .text.iso_callback2 - 0x000002b6 0x20 src/main.o - 0x000002b6 iso_callback2 + 0x000002a6 0x20 src/main.o + 0x000002a6 iso_callback2 .text.iso_callback3 - 0x000002d6 0x20 src/main.o - 0x000002d6 iso_callback3 + 0x000002c6 0x20 src/main.o + 0x000002c6 iso_callback3 .text.startup.main - 0x000002f6 0x46 src/main.o - 0x000002f6 main + 0x000002e6 0x74 src/main.o + 0x000002e6 main .text.main_suspend_action - 0x0000033c 0x2 src/main.o - 0x0000033c main_suspend_action + 0x0000035a 0x2 src/main.o + 0x0000035a main_suspend_action .text.main_resume_action - 0x0000033e 0x2 src/main.o - 0x0000033e main_resume_action + 0x0000035c 0x2 src/main.o + 0x0000035c main_resume_action .text.main_sof_action - 0x00000340 0x42 src/main.o - 0x00000340 main_sof_action + 0x0000035e 0x46 src/main.o + 0x0000035e main_sof_action .text.main_vendor_enable - 0x00000382 0x34 src/main.o - 0x00000382 main_vendor_enable + 0x000003a4 0x34 src/main.o + 0x000003a4 main_vendor_enable .text.main_vendor_disable - 0x000003b6 0x6 src/main.o - 0x000003b6 main_vendor_disable + 0x000003d8 0x6 src/main.o + 0x000003d8 main_vendor_disable .text.main_setup_out_received - 0x000003bc 0x4 src/main.o - 0x000003bc main_setup_out_received + 0x000003de 0x4 src/main.o + 0x000003de main_setup_out_received .text.main_setup_in_received - 0x000003c0 0x4 src/main.o - 0x000003c0 main_setup_in_received + 0x000003e2 0x4 src/main.o + 0x000003e2 main_setup_in_received .text.tiny_adc_ch0setup - 0x000003c4 0x2c src/tiny_adc.o - 0x000003c4 tiny_adc_ch0setup + 0x000003e6 0x2c src/tiny_adc.o + 0x000003e6 tiny_adc_ch0setup .text.tiny_adc_ch1setup - 0x000003f0 0x14 src/tiny_adc.o - 0x000003f0 tiny_adc_ch1setup + 0x00000412 0x14 src/tiny_adc.o + 0x00000412 tiny_adc_ch1setup .text.tiny_adc_pid_setup - 0x00000404 0x14 src/tiny_adc.o - 0x00000404 tiny_adc_pid_setup + 0x00000426 0x14 src/tiny_adc.o + 0x00000426 tiny_adc_pid_setup .text.ReadCalibrationByte - 0x00000418 0x12 src/tiny_adc.o - 0x00000418 ReadCalibrationByte + 0x0000043a 0x12 src/tiny_adc.o + 0x0000043a ReadCalibrationByte .text.tiny_adc_setup - 0x0000042a 0x5e src/tiny_adc.o - 0x0000042a tiny_adc_setup + 0x0000044c 0x5e src/tiny_adc.o + 0x0000044c tiny_adc_setup .text.tiny_dac_setup - 0x00000488 0x48 src/tiny_dac.o - 0x00000488 tiny_dac_setup + 0x000004aa 0x48 src/tiny_dac.o + 0x000004aa tiny_dac_setup .text.tiny_dma_setup - 0x000004d0 0x12 src/tiny_dma.o - 0x000004d0 tiny_dma_setup + 0x000004f2 0x12 src/tiny_dma.o + 0x000004f2 tiny_dma_setup .text.tiny_dma_flush - 0x000004e2 0x24 src/tiny_dma.o - 0x000004e2 tiny_dma_flush + 0x00000504 0x2a src/tiny_dma.o + 0x00000504 tiny_dma_flush .text.tiny_dma_set_mode_0 - 0x00000506 0xe6 src/tiny_dma.o - 0x00000506 tiny_dma_set_mode_0 + 0x0000052e 0xe6 src/tiny_dma.o + 0x0000052e tiny_dma_set_mode_0 .text.tiny_dma_loop_mode_0 - 0x000005ec 0x2 src/tiny_dma.o - 0x000005ec tiny_dma_loop_mode_0 + 0x00000614 0x2 src/tiny_dma.o + 0x00000614 tiny_dma_loop_mode_0 .text.tiny_dma_set_mode_1 - 0x000005ee 0xf0 src/tiny_dma.o - 0x000005ee tiny_dma_set_mode_1 + 0x00000616 0xf0 src/tiny_dma.o + 0x00000616 tiny_dma_set_mode_1 .text.tiny_dma_loop_mode_1 - 0x000006de 0x2 src/tiny_dma.o - 0x000006de tiny_dma_loop_mode_1 + 0x00000706 0x2 src/tiny_dma.o + 0x00000706 tiny_dma_loop_mode_1 .text.tiny_dma_set_mode_2 - 0x000006e0 0xea src/tiny_dma.o - 0x000006e0 tiny_dma_set_mode_2 + 0x00000708 0xee src/tiny_dma.o + 0x00000708 tiny_dma_set_mode_2 .text.tiny_dma_loop_mode_2 - 0x000007ca 0x2 src/tiny_dma.o - 0x000007ca tiny_dma_loop_mode_2 + 0x000007f6 0x2 src/tiny_dma.o + 0x000007f6 tiny_dma_loop_mode_2 .text.tiny_dma_set_mode_3 - 0x000007cc 0xf8 src/tiny_dma.o - 0x000007cc tiny_dma_set_mode_3 + 0x000007f8 0xf8 src/tiny_dma.o + 0x000007f8 tiny_dma_set_mode_3 .text.tiny_dma_loop_mode_3 - 0x000008c4 0x2 src/tiny_dma.o - 0x000008c4 tiny_dma_loop_mode_3 + 0x000008f0 0x2 src/tiny_dma.o + 0x000008f0 tiny_dma_loop_mode_3 .text.tiny_dma_set_mode_4 - 0x000008c6 0xec src/tiny_dma.o - 0x000008c6 tiny_dma_set_mode_4 + 0x000008f2 0xec src/tiny_dma.o + 0x000008f2 tiny_dma_set_mode_4 .text.tiny_dma_loop_mode_4 - 0x000009b2 0x2 src/tiny_dma.o - 0x000009b2 tiny_dma_loop_mode_4 + 0x000009de 0x2 src/tiny_dma.o + 0x000009de tiny_dma_loop_mode_4 .text.tiny_dma_set_mode_5 - 0x000009b4 0x90 src/tiny_dma.o - 0x000009b4 tiny_dma_set_mode_5 + 0x000009e0 0x90 src/tiny_dma.o + 0x000009e0 tiny_dma_set_mode_5 .text.tiny_dma_set_mode_6 - 0x00000a44 0xc4 src/tiny_dma.o - 0x00000a44 tiny_dma_set_mode_6 + 0x00000a70 0xc4 src/tiny_dma.o + 0x00000a70 tiny_dma_set_mode_6 .text.tiny_dma_loop_mode_6 - 0x00000b08 0x2 src/tiny_dma.o - 0x00000b08 tiny_dma_loop_mode_6 + 0x00000b34 0x2 src/tiny_dma.o + 0x00000b34 tiny_dma_loop_mode_6 .text.tiny_dma_set_mode_7 - 0x00000b0a 0xc4 src/tiny_dma.o - 0x00000b0a tiny_dma_set_mode_7 + 0x00000b36 0xc4 src/tiny_dma.o + 0x00000b36 tiny_dma_set_mode_7 .text.tiny_dma_loop_mode_7 - 0x00000bce 0x2 src/tiny_dma.o - 0x00000bce tiny_dma_loop_mode_7 + 0x00000bfa 0x2 src/tiny_dma.o + 0x00000bfa tiny_dma_loop_mode_7 .text.__vector_6 - 0x00000bd0 0xbc src/tiny_dma.o - 0x00000bd0 __vector_6 + 0x00000bfc 0x6c src/tiny_dma.o + 0x00000bfc __vector_6 .text.__vector_7 - 0x00000c8c 0x8e src/tiny_dma.o - 0x00000c8c __vector_7 + 0x00000c68 0x6c src/tiny_dma.o + 0x00000c68 __vector_7 .text.__vector_8 - 0x00000d1a 0x82 src/tiny_dma.o - 0x00000d1a __vector_8 + 0x00000cd4 0x14 src/tiny_dma.o + 0x00000cd4 __vector_8 .text.__vector_9 - 0x00000d9c 0x82 src/tiny_dma.o - 0x00000d9c __vector_9 + 0x00000ce8 0x14 src/tiny_dma.o + 0x00000ce8 __vector_9 .text.tiny_timer_setup - 0x00000e1e 0x84 src/tiny_timer.o - 0x00000e1e tiny_timer_setup + 0x00000cfc 0x8a src/tiny_timer.o + 0x00000cfc tiny_timer_setup .text.__vector_83 - 0x00000ea2 0xc6 src/tiny_timer.o - 0x00000ea2 __vector_83 + 0x00000d86 0xc6 src/tiny_timer.o + 0x00000d86 __vector_83 .text.tiny_uart_setup - 0x00000f68 0x30 src/tiny_uart.o - 0x00000f68 tiny_uart_setup + 0x00000e4c 0x30 src/tiny_uart.o + 0x00000e4c tiny_uart_setup .text.tiny_spi_setup - 0x00000f98 0x1c src/tiny_uart.o - 0x00000f98 tiny_spi_setup + 0x00000e7c 0x1c src/tiny_uart.o + 0x00000e7c tiny_spi_setup .text.__vector_24 - 0x00000fb4 0x16 src/tiny_uart.o - 0x00000fb4 __vector_24 + 0x00000e98 0x16 src/tiny_uart.o + 0x00000e98 __vector_24 .text.osc_enable_autocalibration.constprop.4 - 0x00000fca 0x38 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000eae 0x38 src/ASF/common/services/clock/xmega/sysclk.o .text.sysclk_init - 0x00001002 0xa6 src/ASF/common/services/clock/xmega/sysclk.o - 0x00001002 sysclk_init + 0x00000ee6 0xa6 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000ee6 sysclk_init .text.sysclk_enable_module - 0x000010a8 0x18 src/ASF/common/services/clock/xmega/sysclk.o - 0x000010a8 sysclk_enable_module + 0x00000f8c 0x18 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000f8c sysclk_enable_module .text.sysclk_enable_usb - 0x000010c0 0x40 src/ASF/common/services/clock/xmega/sysclk.o - 0x000010c0 sysclk_enable_usb + 0x00000fa4 0x40 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000fa4 sysclk_enable_usb .text.udi_vendor_getsetting - 0x00001100 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001100 udi_vendor_getsetting + 0x00000fe4 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00000fe4 udi_vendor_getsetting .text.udi_vendor_disable - 0x00001106 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001106 udi_vendor_disable + 0x00000fea 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00000fea udi_vendor_disable .text.udi_vendor_enable - 0x00001112 0x14 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001112 udi_vendor_enable + 0x00000ff6 0x14 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00000ff6 udi_vendor_enable .text.udi_vendor_setup - 0x00001126 0x38 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001126 udi_vendor_setup + 0x0000100a 0x38 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000100a udi_vendor_setup .text.udi_vendor_iso_in_run - 0x0000115e 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x0000115e udi_vendor_iso_in_run + 0x00001042 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001042 udi_vendor_iso_in_run .text.udi_vendor_iso_in_run2 - 0x00001176 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001176 udi_vendor_iso_in_run2 + 0x0000105a 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000105a udi_vendor_iso_in_run2 .text.udi_vendor_iso_in_run3 - 0x0000118e 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x0000118e udi_vendor_iso_in_run3 + 0x00001072 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001072 udi_vendor_iso_in_run3 .text.udc_valid_address - 0x000011a6 0x8 src/ASF/common/services/usb/udc/udc.o + 0x0000108a 0x8 src/ASF/common/services/usb/udc/udc.o .text.udc_update_iface_desc - 0x000011ae 0x66 src/ASF/common/services/usb/udc/udc.o + 0x00001092 0x66 src/ASF/common/services/usb/udc/udc.o .text.udc_next_desc_in_iface.constprop.3 - 0x00001214 0x40 src/ASF/common/services/usb/udc/udc.o + 0x000010f8 0x40 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_enable - 0x00001254 0x66 src/ASF/common/services/usb/udc/udc.o + 0x00001138 0x66 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_disable - 0x000012ba 0x80 src/ASF/common/services/usb/udc/udc.o + 0x0000119e 0x80 src/ASF/common/services/usb/udc/udc.o .text.udc_get_interface_desc - 0x0000133a 0xa src/ASF/common/services/usb/udc/udc.o - 0x0000133a udc_get_interface_desc + 0x0000121e 0xa src/ASF/common/services/usb/udc/udc.o + 0x0000121e udc_get_interface_desc .text.udc_start - 0x00001344 0x2 src/ASF/common/services/usb/udc/udc.o - 0x00001344 udc_start + 0x00001228 0x2 src/ASF/common/services/usb/udc/udc.o + 0x00001228 udc_start .text.udc_reset - 0x00001346 0x38 src/ASF/common/services/usb/udc/udc.o - 0x00001346 udc_reset + 0x0000122a 0x38 src/ASF/common/services/usb/udc/udc.o + 0x0000122a udc_reset .text.udc_sof_notify - 0x0000137e 0x4a src/ASF/common/services/usb/udc/udc.o - 0x0000137e udc_sof_notify + 0x00001262 0x4a src/ASF/common/services/usb/udc/udc.o + 0x00001262 udc_sof_notify .text.udc_process_setup - 0x000013c8 0x688 src/ASF/common/services/usb/udc/udc.o - 0x000013c8 udc_process_setup + 0x000012ac 0x67e src/ASF/common/services/usb/udc/udc.o + 0x000012ac udc_process_setup .text.ccp_write_io - 0x00001a50 0xc src/ASF/xmega/drivers/cpu/ccp.o - 0x00001a50 ccp_write_io + 0x0000192a 0xc src/ASF/xmega/drivers/cpu/ccp.o + 0x0000192a ccp_write_io .text.nvm_read_byte - 0x00001a5c 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o - 0x00001a5c nvm_read_byte + 0x00001936 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o + 0x00001936 nvm_read_byte .text.sleepmgr_lock_mode - 0x00001a70 0x1e src/ASF/xmega/drivers/usb/usb_device.o + 0x0000194a 0x1e src/ASF/xmega/drivers/usb/usb_device.o .text.sleepmgr_unlock_mode - 0x00001a8e 0x1e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001968 0x1e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_sleep_mode - 0x00001aac 0x26 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001986 0x26 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_ctrl - 0x00001ad2 0x2e src/ASF/xmega/drivers/usb/usb_device.o + 0x000019ac 0x2e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_init - 0x00001b00 0x4e src/ASF/xmega/drivers/usb/usb_device.o + 0x000019da 0x4e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_stall_data - 0x00001b4e 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a28 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_send_zlp_in - 0x00001b6a 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a44 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_endofrequest - 0x00001b86 0x10 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a60 0x10 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_job - 0x00001b96 0x34 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a70 0x34 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_trans_complet - 0x00001bca 0x1f2 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001aa4 0x1f2 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_in_sent - 0x00001dbc 0xdc src/ASF/xmega/drivers/usb/usb_device.o + 0x00001c96 0xdc src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_interrupt_tc_setup - 0x00001e98 0xee src/ASF/xmega/drivers/usb/usb_device.o + 0x00001d72 0xee src/ASF/xmega/drivers/usb/usb_device.o .text.udd_attach - 0x00001f86 0x46 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001f86 udd_attach + 0x00001e60 0x46 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001e60 udd_attach .text.udd_enable - 0x00001fcc 0xf0 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001fcc udd_enable + 0x00001ea6 0xf0 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001ea6 udd_enable .text.udd_set_address - 0x000020bc 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x000020bc udd_set_address + 0x00001f96 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001f96 udd_set_address .text.udd_getaddress - 0x000020c2 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x000020c2 udd_getaddress + 0x00001f9c 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001f9c udd_getaddress .text.udd_set_setup_payload - 0x000020c8 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x000020c8 udd_set_setup_payload + 0x00001fa2 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x00001fa2 udd_set_setup_payload .text.udd_ep_alloc - 0x000020d6 0xa2 src/ASF/xmega/drivers/usb/usb_device.o - 0x000020d6 udd_ep_alloc + 0x00001fb0 0xa2 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001fb0 udd_ep_alloc .text.udd_ep_is_halted - 0x00002178 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x00002178 udd_ep_is_halted + 0x00002052 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x00002052 udd_ep_is_halted .text.udd_ep_clear_halt - 0x00002186 0x32 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002186 udd_ep_clear_halt + 0x00002060 0x32 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002060 udd_ep_clear_halt .text.udd_ep_run - 0x000021b8 0x118 src/ASF/xmega/drivers/usb/usb_device.o - 0x000021b8 udd_ep_run + 0x00002092 0x118 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002092 udd_ep_run .text.udd_ep_abort - 0x000022d0 0x60 src/ASF/xmega/drivers/usb/usb_device.o - 0x000022d0 udd_ep_abort + 0x000021aa 0x60 src/ASF/xmega/drivers/usb/usb_device.o + 0x000021aa udd_ep_abort .text.udd_ep_free - 0x00002330 0x12 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002330 udd_ep_free + 0x0000220a 0x12 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000220a udd_ep_free .text.udd_ep_set_halt - 0x00002342 0x20 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002342 udd_ep_set_halt + 0x0000221c 0x20 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000221c udd_ep_set_halt .text.__vector_125 - 0x00002362 0x16c src/ASF/xmega/drivers/usb/usb_device.o - 0x00002362 __vector_125 + 0x0000223c 0x16c src/ASF/xmega/drivers/usb/usb_device.o + 0x0000223c __vector_125 .text.__vector_126 - 0x000024ce 0x1a4 src/ASF/xmega/drivers/usb/usb_device.o - 0x000024ce __vector_126 + 0x000023a8 0x1a4 src/ASF/xmega/drivers/usb/usb_device.o + 0x000023a8 __vector_126 .text.libgcc.div - 0x00002672 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) - 0x00002672 __udivmodhi4 - .text.libgcc 0x0000269a 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) - 0x0000269a __tablejump2__ + 0x0000254c 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) + 0x0000254c __udivmodhi4 + .text.libgcc 0x00002574 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) + 0x00002574 __tablejump2__ .text.avr-libc - 0x000026a6 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) - 0x000026a6 memcpy - 0x000026b8 . = ALIGN (0x2) + 0x00002580 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) + 0x00002580 memcpy + 0x00002592 . = ALIGN (0x2) *(.fini9) - .fini9 0x000026b8 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) - 0x000026b8 _exit - 0x000026b8 exit + .fini9 0x00002592 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) + 0x00002592 _exit + 0x00002592 exit *(.fini9) *(.fini8) *(.fini8) @@ -880,11 +894,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000026b8 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 0x00002592 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) - 0x000026bc _etext = . + 0x00002596 _etext = . -.data 0x00802000 0xc0 load address 0x000026bc +.data 0x00802000 0xc0 load address 0x00002596 0x00802000 PROVIDE (__data_start, .) *(.data) *(.data*) @@ -935,7 +949,7 @@ END GROUP 0x008020c0 _edata = . 0x008020c0 PROVIDE (__data_end, .) -.bss 0x008020c0 0xb9c +.bss 0x008020c0 0xba5 0x008020c0 PROVIDE (__bss_start, .) *(.bss) *(.bss*) @@ -954,7 +968,7 @@ END GROUP 0x008020c4 main_b_vendor_enable .bss.udi_vendor_alternate_setting 0x008020c5 0x1 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .bss.udc_ep_status.5522 + .bss.udc_ep_status.5530 0x008020c6 0x2 src/ASF/common/services/usb/udc/udc.o .bss.udc_ptr_iface 0x008020c8 0x2 src/ASF/common/services/usb/udc/udc.o @@ -986,23 +1000,31 @@ END GROUP 0x00802264 0x1 src/ASF/xmega/drivers/usb/usb_device.o *(COMMON) *fill* 0x00802265 0x1 - COMMON 0x00802266 0x9f0 src/main.o - 0x00802266 debug_counter - 0x0080226a dacBuf_CH1 - 0x0080246a udd_g_ctrlreq - 0x0080247a dacBuf_CH2 - 0x0080267a isoBuf - COMMON 0x00802c56 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - 0x00802c56 sleepmgr_locks - 0x00802c5c PROVIDE (__bss_end, .) - 0x000026bc __data_load_start = LOADADDR (.data) - 0x0000277c __data_load_end = (__data_load_start + SIZEOF (.data)) + COMMON 0x00802266 0x9f9 src/main.o + 0x00802266 precalc_DMA_CH1_DESTADDR1_b2_state_equals_1 + 0x00802267 precalc_DMA_CH1_DESTADDR0_b2_state_equals_0 + 0x00802268 debug_counter + 0x0080226c precalc_DMA_CH0_DESTADDR1_b1_state_equals_1 + 0x0080226d precalc_DMA_CH0_DESTADDR1_b1_state_equals_0 + 0x0080226e dacBuf_CH1 + 0x0080246e precalc_DMA_CH1_DESTADDR1_b2_state_equals_0 + 0x0080246f udd_g_ctrlreq + 0x0080247f precalc_DMA_CH0_DESTADDR0_b1_state_equals_0 + 0x00802480 precalc_DMA_CH0_DESTADDR0_b1_state_equals_1 + 0x00802481 dacBuf_CH2 + 0x00802682 isoBuf + 0x00802c5e precalc_DMA_CH1_DESTADDR0_b2_state_equals_1 + COMMON 0x00802c5f 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + 0x00802c5f sleepmgr_locks + 0x00802c65 PROVIDE (__bss_end, .) + 0x00002596 __data_load_start = LOADADDR (.data) + 0x00002656 __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00802c5c 0x0 +.noinit 0x00802c65 0x0 [!provide] PROVIDE (__noinit_start, .) *(.noinit*) [!provide] PROVIDE (__noinit_end, .) - 0x00802c5c _end = . + 0x00802c65 _end = . [!provide] PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 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 78ea287f..0741c10e 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec @@ -1,634 +1,616 @@ S01500005553425F42554C4B5F544553542E73726563F9 -S113000025C100003FC100003DC100003BC100000C -S113001039C1000037C10000DBC5000037C600004D -S11300207CC60000BBC600002DC100002BC100002F -S113003029C1000027C1000025C1000023C1000020 -S113004021C100001FC100001DC100001BC1000030 -S113005019C1000017C1000015C1000013C1000040 -S1130060A9C700000FC100000DC100000BC10000B2 -S113007009C1000007C1000005C1000003C1000060 -S113008001C10000FFC00000FDC00000FBC0000073 -S1130090F9C00000F7C00000F5C00000F3C0000084 -S11300A0F1C00000EFC00000EDC00000EBC0000094 -S11300B0E9C00000E7C00000E5C00000E3C00000A4 -S11300C0E1C00000DFC00000DDC00000DBC00000B4 -S11300D0D9C00000D7C00000D5C00000D3C00000C4 -S11300E0D1C00000CFC00000CDC00000CBC00000D4 -S11300F0C9C00000C7C00000C5C00000C3C00000E4 -S1130100C1C00000BFC00000BDC00000BBC00000F3 -S1130110B9C00000B7C00000B5C00000B3C0000003 -S1130120B1C00000AFC00000ADC00000ABC0000013 -S1130130A9C00000A7C00000A5C00000A3C0000023 -S1130140A1C000009FC000009DC00000AAC600001E -S113015099C0000097C0000095C0000093C0000043 -S113016091C000008FC000008DC000008BC0000053 -S113017089C0000087C0000085C0000083C0000063 -S113018081C000007FC000007DC000007BC0000073 -S113019079C0000077C0000075C0000073C0000083 -S11301A071C000006FC000006DC000006BC0000093 -S11301B069C0000067C0000065C0000063C00000A3 -S11301C061C000005FC000005DC000005BC00000B3 -S11301D059C0000057C0000055C0000053C00000C3 -S11301E051C000004FC000004DC000004BC00000D3 -S11301F049C000000C94B1110C946712AC01AE011B -S1130200B001B201B401B901B601B8010506050691 -S1130210050605060506380610061006180A1A0A09 -S1130220410A740A7D0A820AD40AD90A960AA10AE2 -S1130230AF0AB10AB30ABD0AC70AD20A8E0A990ADA -S1130240A30AB10AB30AB50ABF0AC90A11241FBE18 -S1130250CFEFCDBFDFE2DEBF10E2A0E0B0E2ECEB17 -S1130260F6E202C005900D92A03CB107D9F72CE24A -S1130270A0ECB0E201C01D92AC35B207E1F73BD06F -S11302800C945C13BDCEE0E8F6E08FE0808385E05B -S11302908483089508954091C1202EEE32E0429F58 -S11302A0C001439F900D11244BE451E06AEF70E0CC -S11302B08658994D54C74091C1202EEE32E0429F9A -S11302C0C001439F900D11244BE551E06AEF70E0AB -S11302D08C58984D50C74091C1202EEE32E0429F79 -S11302E0C001439F900D11244BE651E06AEF70E08A -S11302F08259974D4CC787E08093A200789481D6A9 -S1130300C9DF0E94A209C0D0E3D060E080E08DD0B4 -S113031079D08CE06DD083D527D63ED6B4DF0000EB -S113032000000000000000000000000000000000C9 -S113033000000000000000000000F1CF08950895BF -S1130340E09100208E2F90E08830910590F4FC011C -S1130350E250FF4F0C944D1349D10BC0C0D109C0DA -S113036034D207C0AFD205C024D303C0CDD301C05B -S11303702ED49091C32081E0911180E08093C1201C -S1130380089581E08093C4204BE451E06EEE72E066 -S11303908AE796E2E4D64BE551E06EEE72E084E73C -S11303A097E2E9D64BE651E06EEE72E08EE698E213 -S11303B0EED681E008951092C420089581E0089556 -S11303C081E0089510922002982F9C719368909375 -S11303D0200287FF03C090E182E002C090E080E049 -S11303E0892B8093210210922202109226020895F2 -S11303F0E0E0F2E010AA836880AB80E181AB12AA4E -S113040016AA0895E0E0F2E010A683E880A78FE240 -S113041081A712A616A60895AAECB1E092E09C93D7 -S1130420E82FF0E084911C920895909171009D7FD3 -S11304309093710010920002623011F09CE101C0AF -S11304409EE19093010290E490930202811102C014 -S113045080E401C080EC80930302613011F083E0FA -S113046001C082E08093040280E2D6DF80930C0214 -S113047081E2D2DF80930D021092180210921902C9 -S113048081E080930002BECFCF93DF93E0E7F0E0FA -S113049082818B7F8283C0E2D3E08DE0888380E415 -S11304A0898389E08A8383E3B7DF888782E3B4DFC3 -S11304B0898787E3B1DF8A8786E3AEDF8B87E0E253 -S11304C0F6E08081836080831482DF91CF91089568 -S11304D0E0E7F0E080818E7F808383E880930001F1 -S11304E00895E0E0F1E0108A80E4808B10A280A3FC -S11304F010AA80ABE0E4F1E0108280831092C32064 -S11305001092C220089510920020EBDFE0E0F1E0A9 -S113051016AA94E290AB11AA49E542AB32E033ABA0 -S1130520609102207091032064AB75AB6AE774E2BA -S113053060AF71AF12AE8BE384AF83E080933D0173 -S113054010923E0120A9206820AB10924601A0E43D -S1130550B1E09C9310924101409342018093430186 -S1130560409104205091052040934401509345014B -S11305704AE652E2409348015093490110924A01DD -S113058029E320934C0180934D0110924E012C914C -S113059020682C93108A20E4208B24E0208B818B0C -S11305A081E9828B80E1838B47E751E0448B558B53 -S11305B0908F318F128E4091C3202EEE32E0429FF5 -S11305C0C001439F900D11248658994D848F40910A -S11305D0C320429FC001439F900D11248658994D1A -S11305E0958F168E80898068808B08950895CF93A7 -S11305F0DF9381E08093002074DFE0E0F1E010AA53 -S113060080E480AB94E090AB11AA12AA5BE453ABF4 -S113061014AA15AA16AA21E030E220AF31AF12AE17 -S113062040EA44AF38E030933D0110923E0180A986 -S1130630806A80AB85E58093A00810924601A0E40F -S1130640B1E0D4E2DC931092410189E58093420148 -S1130650C2E0C09343016091022070910320609333 -S11306604401709345016AE774E260934801709312 -S1130670490110924A018BE380934C0183E08093FB -S11306804D0110924E012C9120682C93908B818BFC -S1130690A1E9A28B20E1238B67E771E0648B758B62 -S11306A0D08FC18F128ECAE7D6E2C48FD58F168E33 -S11306B020892068208B90A381A3A2A353A364A3C1 -S11306C075A340A731A712A681EF97E284A795A747 -S11306D016A680A1806880A3DF91CF910895089524 -S11306E0CF93F894C2E0C0930020FBDEE0E0F1E099 -S11306F016AA94E290AB11AA39E532AB83E083AB3E -S1130700409104205091052044AB55AB4AE652E297 -S113071040AF51AF12AE29E324AF80933D01109254 -S11307203E0120A9206820AB10924601A0E4B1E06C -S11307309C931092410130934201C0934301209154 -S113074002203091032020934401309345012AE78D -S113075034E2209348013093490110924A012BE37B -S113076020934C0180934D0110924E012C912068EE -S11307702C9354E0508B818B41E9428B20E1238BF5 -S113078027E731E0248B358B908FC18F128E6AE777 -S113079076E2648F758F168E90899068908B50A343 -S11307A081A342A382E183A324A335A384E380A786 -S11307B0C1A712A681EF97E284A795A716A680A1E8 -S11307C0806880A37894CF9108950895CF93C3E06F -S11307D0C093002086DEE0E0F1E010A250E450A3D4 -S11307E044E040A311A212A23BE433A314A215A235 -S11307F016A281E090E280A791A712A620EA24A77E -S113080098E095A716A680A1806A80A385E58093C9 -S1130810A00816AA74E270AB11AA69E562ABC3AB77 -S1130820A0910420B0910520A4ABB5ABAAE6B2E236 -S1130830A0AFB1AF12AE89E384AFC0933D01109273 -S11308403E0180A9806880AB10924601A0E4B1E02B -S11308507C93109241016093420182E080934301B2 -S113086060910220709103206093440170934501CC -S11308706AE774E2609348017093490110924A0157 -S11308808BE380934C01C0934D0110924E018C91E7 -S113089080688C93108A508B408BC18B81E9828B4A -S11308A0338B47E751E0448B558B208F918F128E09 -S11308B08AE796E2848F958F168E80898068808B74 -S11308C0CF9108950895CF93C4E0C093002009DE2A -S11308D0E0E0F1E010A280E480A3C0A311A212A280 -S11308E04BE443A314A215A216A281E090E280A7D0 -S11308F091A712A660EA64A788E085A716A690A12E -S1130900906A90A395E59093A00810924601A0E404 -S1130910B1E094E29C931092410199E590934201D5 -S113092092E0909343012091022030910320209380 -S11309304401309345012AE734E22093480130937F -S1130940490110924A019BE390934C0193E09093E8 -S11309504D0110924E012C9120682C93C08B918BE9 -S113096031E9328B438B47E751E0448B558B608FE1 -S1130970818F128E6AE776E2648F758F168E2089D6 -S11309802068208BC0AB91AB32AB9AE493AB44AB01 -S113099055AB93EC90AF81AF12AE81EF97E284AF89 -S11309A090933D0110923E0180A9806880ABCF9165 -S11309B00895089585E08093002093DDE0E0F1E060 -S11309C016AA34E230AB11AA29E522AB83E083AB4B -S11309D0409104205091052044AB55AB4AE652E2C5 -S11309E040AF51AF12AE99E394AF80933D011092A2 -S11309F03E0190A9906890AB10924601E0E4F1E0CA -S1130A00308310924101209342018093430120914D -S1130A1004203091052020934401309345012AE7B6 -S1130A2034E2209348013093490110924A019BE338 -S1130A3090934C0180934D0110924E018081806807 -S1130A408083089586E0809300204BDDE0E0F1E0B0 -S1130A5016AA94E290AB11AA39E532AB83E083ABDA -S1130A60409104205091052044AB55AB4AE652E234 -S1130A7040AF51AF12AE29E324AF80933D011092F1 -S1130A803E0120A9206820AB10924601A0E4B1E009 -S1130A909C93109241013093420132E03093430120 -S1130AA0409102205091032040934401509345010A -S1130AB04AE754E2409348015093490110924A0195 -S1130AC02BE320934C0180934D0110924E012C9105 -S1130AD020682C93108A20E4208B24E0208B818BC7 -S1130AE081E9828B80E1838B4EEE52E0448B558BFF -S1130AF0908F318F128E8AE796E2848F958F168EAF -S1130B0080898068808B0895089587E08093002011 -S1130B10E8DCE0E0F1E016AA94E290AB11AA39E532 -S1130B2032AB83E083AB409104205091052044AB69 -S1130B3055AB4AE652E240AF51AF12AE29E324AFBF -S1130B4080933D0110923E0120A9206820AB1092B1 -S1130B504601A0E4B1E09C9310924101309342011C -S1130B6032E030934301409102205091032040939E -S1130B704401509345014AE754E24093480150939D -S1130B80490110924A012BE320934C0180934D01BB -S1130B9010924E012C9120682C93108A20E4208B13 -S1130BA025E0208B818B81E9828B80E1838B4EEE63 -S1130BB052E0448B558B908F318F128E8AE796E2E8 -S1130BC0848F958F168E80898068808B0895089510 -S1130BD01F920F920FB60F9211242F933F934F93AE -S1130BE08F939F93AF93BF93EF93FF9381E0809391 -S1130BF00301E09100208E2F90E088309105C0F52C -S1130C00FC01EA5FFE4F0C944D1387E791E080935B -S1130C101401909315014091C3202EEE32E008C0D8 -S1130C202EEE32E020931401309315014091C3203D -S1130C30429FC001439F900D11248658994D809383 -S1130C401C014091C320429FC001439F900D112479 -S1130C508658994D90931D0180911001806880936E -S1130C6010019091C32081E0911180E08093C32012 -S1130C70FF91EF91BF91AF919F918F914F913F91D0 -S1130C802F910F900FBE0F901F9018951F920F92E7 -S1130C900FB60F9211242F933F934F938F939F93EB -S1130CA082E08093030180910020813011F0823032 -S1130CB051F587E791E080932401909325014091B9 -S1130CC0C2202EEE32E0429FC001439F900D1124BA -S1130CD08F50984D80932C014091C220429FC001B7 -S1130CE0439F900D11248F50984D90932D01809126 -S1130CF020018068809320019091C22081E09111AD -S1130D0080E08093C2209F918F914F913F912F91CA -S1130D100F900FBE0F901F9018951F920F920FB651 -S1130D200F9211242F933F934F938F939F9384E0BB -S1130D308093030187E791E0809334019093350118 -S1130D404091C2202EEE32E0429FC001439F900D9D -S1130D5011248F50984D80933C014091C220429FB2 -S1130D60C001439F900D11248F50984D90933D01E5 -S1130D70809130018068809330019091C22081E09D -S1130D80911180E08093C2209F918F914F913F9168 -S1130D902F910F900FBE0F901F9018951F920F92D6 -S1130DA00FB60F9211242F933F934F938F939F93DA -S1130DB088E08093030187E791E080934401909356 -S1130DC045014091C2202EEE32E0429FC001439F74 -S1130DD0900D11248F50984D80934C014091C22066 -S1130DE0429FC001439F900D11248F50984D9093C2 -S1130DF04D01809140018068809340019091C22010 -S1130E0081E0911180E08093C2209F918F914F9156 -S1130E103F912F910F900FBE0F901F901895E0E710 -S1130E20F0E083818C7F838384818C7F84838081C1 -S1130E308D7F8083E0E8F1E080EC8283128688EC89 -S1130E4081831186A0E0B8E034E03C9323E011965E -S1130E502C93119714961C92149785ED91E0969615 -S1130E608D939C93979716961C921697E0E4F8E05E -S1130E7030832183148286A397A31682E0E6F6E0EA -S1130E80808180618083E0E4F9E083E181831482DE -S1130E9082E08683A6A3B7A310A611A681E080836F -S1130EA008951F920F920FB60F9211242F933F9320 -S1130EB04F935F938F939F93CF93DF931F92CDB7FD -S1130EC0DEB78FEF80934C0980910020873031F496 -S1130ED080912C02898390912D0202C090912C0262 -S1130EE08091C020891B2091680930916909823062 -S1130EF08CF02A3F374070F42091680930916909D9 -S1130F0089301CF481E090E002C086E090E0820F1A -S1130F10931F18C020916809309169098F3FB4F478 -S1130F202730310598F02091680930916909883F8C -S1130F301CF081E090E002C086E090E0A901481B2B -S1130F40590BCA0180937809909379090F90DF9126 -S1130F50CF919F918F915F914F913F912F910F90DE -S1130F600FBE0F901F901895E0E7F0E083818F7E0D -S1130F708383E0E4F6E080818A6A80838FEF848350 -S1130F8088E5828BE0EAF8E084EC858383E086835D -S1130F90178288E184830895E0E7F0E08381877F06 -S1130FA08383E0ECF8E080E48083118288E5809319 -S1130FB0550608951F920F920FB60F921124000048 -S1130FC00F900FBE0F901F9018959FB7F894A0E54F -S1130FD0B0E016968C911697897F16968C93169787 -S1130FE0E0E6F0E080E885838BEB868316968C91AF -S1130FF01697846016968C938081816080839FBF4E -S11310000895CF93DF9300D000D0CDB7DEB78FEF34 -S113101080937000809371008093720080937300BA -S113102080937400809375008093760064E081E47B -S113103090E00ED56CE170E082E010D58C836DE118 -S113104070E082E00BD58B838B819C81019621F427 -S113105080E493E28B839C838B819C8189839A8334 -S1131060809362008A81809363009FB7F894809193 -S113107050008260809350009FBF8091510081FF97 -S1131080FCCFA3DF61E080E490E0E2D49FB7F89462 -S1131090809150008E7F809350009FBF2496CDBFD7 -S11310A0DEBFDF91CF9108959FB7F894E82FF0E069 -S11310B0E059FF4F60958081682360839FBF089546 -S11310C0CF93863011F0C0E001C0C8E18091510097 -S11310D081FD0DC09FB7F894809150008260809389 -S11310E050009FBF8091510081FFFCCF6EDF6C2FB9 -S11310F0636084E490E0ACD460E480E0CF91D4CF2A -S11311008091C52008958091C520813009F453C988 -S1131110089513D1FC0183818093C520811101C0FE -S113112030C981E0089590916A24892F807697FFD1 -S113113007C0803491F480916B2481110EC040C9A2 -S1131140803459F480916B24811107C080917024FC -S113115090917124892B09F031C980E008950F938F -S11311601F939B018A01AC0160E081E80E94DC10BE -S11311701F910F9108950F931F939B018A01AC0156 -S113118060E082E80E94DC101F910F9108950F9394 -S11311901F939B018A01AC0160E083E80E94DC108C -S11311A01F910F91089580916C248F7787C7909138 -S11311B0CC20911102C080E00895E091CA20F09102 -S11311C0CB200190F081E02D94818917A0F7E09362 -S11311D0C820F093C920228133812E0F3F1FE217CC -S11311E0F30798F49181943061F49281891309C0D2 -S11311F09381691306C0E093C820F093C92081E06D -S113120008959081E90FF11DEACFE093C820F0938F -S1131210C920D1CFE091CA20F091CB200190F08178 -S1131220E02D228133812E0F3F1FFC014081E40F0A -S1131230F11DE217F30748F48181843031F08530E1 -S113124039F08081E80FF11DF4CF80E090E008953B -S1131250CF0108951F93CF93DF93182FA8DF88231E -S113126039F1C091C820D091C920CE01D3DFEC015F -S1131270892B41F04C815D816B818A812CD781114E -S1131280F4CF16C0E091CA20F091CB2092818381E3 -S1131290E92FF82FE10FF11DE10FF11D0190F0810D -S11312A0E02D0190F081E02DDF91CF911F91099401 -S11312B080E0DF91CF911F910895EF92FF921F93E9 -S11312C0CF93DF93C82F60E072DF811102C010E07A -S11312D02DC0E091CA20F091CB2092818381E92F27 -S11312E0F82FEC0FF11DEC0FF11DE080F180D70118 -S11312F01696ED91FC9117970995682F8C2F57DF5F -S1131300182F882321F3C091C820D091C920CE0181 -S113131081DFEC01892B21F08A810E949811F7CF9B -S1131320D7011296ED91FC9113970995812FDF91C6 -S1131330CF911F91FF90EF9008958091C8209091D4 -S1131340C920089543C6CF938091CC20811108C051 -S11313501092CC201092D0201092D120CF910895D9 -S1131360C0E0E091CA20F091CB200190F081E02D03 -S11313708481C81768F78C2FA0DFCF5FF2CFCF939B -S11313808091CC208823F1F0C0E0E091CA20F09154 -S1131390CB20A081B18114968C91C81798F49281C6 -S11313A08381E92FF82FEC0FF11DEC0FF11D019053 -S11313B0F081E02D0084F185E02D309709F0099546 -S11313C0CF5FE3CFCF910895EF92FF920F931F93D6 -S11313D0CF93DF931F92CDB7DEB71092742410928F -S11313E07524109276241092772410927824109207 -S11313F0792480916A2487FF07C02091702430915A -S11314007124232B09F41BC3982F9076903409F090 -S1131410D7C0E0916B248E2F90E0FC01E05AF109D3 -S1131420E830F10508F09AC2E25FFE4F0C944D13C8 -S1131430000003C31092000880916C2490916D24E5 -S1131440809336089093370880916E248F70809330 -S1131450000860917024709171248AE692E234D677 -S11314602091042030910520809170249091712462 -S11314702817390709F4E1C28093042090930520CA -S113148026C01092400880916C2490916D24809322 -S113149076089093770880916E248F70809340082B -S11314A060917024709171248AE794E20DD62091A2 -S11314B00220309103208091702490917124281788 -S11314C0390709F4BAC28093022090930320E09173 -S11314D000208E2F90E08830910508F0AEC2FC0108 -S11314E0EA5EFE4F0C944D1310926809109269093C -S11314F080916C248093C020A0C280916C2480933E -S113150024069BC2E0916C24F0916D24E830F1052F -S113151008F024C2E25EFE4F0C944D1360E080E0BC -S11315200E94150280916E240E94E2010E948302AF -S113153084C260E080E00E94150280916E240E94C3 -S1131540E20155D87AC261E081E00E9415028091DF -S11315506E240E94E20180916F240E94F801C0D899 -S11315606CC234D96AC2AFD968C260E080E00E941C -S1131570150280916E240E94E2011CDA5EC261E0D1 -S113158080E00E94150280916E240E94E2015ADAE2 -S113159054C262E080E00E94150280916E2480684B -S11315A00E94E201B2DA49C280916C2480938406DD -S11315B044C2E9E7F0E091E088EDF89484BF9083B9 -S11315C09111CCC187FFFDC020917024309171240A -S11315D02115310509F4C2C18F7109F09FC08091B2 -S11315E06B24863071F0883009F48EC08111B6C145 -S11315F02230310509F0B2C162E070E080ED90E282 -S11316008BC080916C2490916D24292F3327223034 -S11316103105A1F064F42130310509F09FC18091B6 -S1131620102090911120DC016C9170E05BC023309C -S1131630310589F12F30310509F190C1E091102075 -S1131640F09111202189821708F088C19927880F09 -S1131650991F880F991FE0911220F0911320E80F31 -S1131660F91F80819181FC01628173812DD5E09104 -S11316707224F091732482E0818335C08091142018 -S113168090911520009709F469C1DC0112966D91BF -S11316907C91139727C099278130910569F038F020 -S11316A0029709F05BC168E18AE890E208C064E04F -S11316B070E08EEA90E216C069E083EA90E2282F97 -S11316C0AAE5B0E2FC01819190E08D939D938E2F69 -S11316D0821B8617C0F3660F6E5F6093582070E01C -S11316E088E590E2F1D48091702490917124209146 -S11316F07424309175248217930708F09EC1809357 -S113170074249093752499C12130310509F026C1C0 -S113171061E070E08CEC90E2D7D48FC18130C9F5E0 -S113172080916B248A3009F019C12130310509F008 -S113173015C18091CC20882309F410C1E0906E2457 -S1131740F0906F240091CA201091CB20D801ED9124 -S1131750FC918481E81608F001C160E08E2D27DD3C -S1131760882309F4FBC0FF24EE0CFF1CF8018281DE -S113177093818E0D9F1DDC01ED91FC910680F78114 -S1131780E02D09958093CE2061E070E08EEC90E22C -S1131790C3CF823009F0E2C080916B248111DEC096 -S11317A02230310509F0DAC080916E24E5D490E04E -S11317B08093C6209093C72062E070E086EC90E2AC -S11317C0ABCF8F7109F07DC080916B24833009F415 -S11317D0C5C018F48130A1F0C1C0853019F089303A -S11317E039F1BCC08091702490917124892B09F047 -S11317F0B5C083ED98E080937624909377241DC13F -S11318008091702490917124892B09F0A7C0809154 -S11318106C2490916D24019709F0A0C08091D02090 -S11318209091D1208D7F8093D0209093D12005C1B9 -S11318308091702490917124892B09F08FC041D438 -S1131840882309F48BC020916C2430916D243327B4 -S1131850E0911020F0911120818990E08217930784 -S113186008F47CC070DD80916C2490916D24809389 -S1131870CC20882309F4E1C099278150904C880F2B -S1131880991F880F991F2091122030911320820FE5 -S1131890931F8093CA209093CB2010E0E091CA203C -S11318A0F091CB200190F081E02D8481181708F08D -S11318B0C4C060E0812FCEDC882309F44FC01F5FD1 -S11318C0EDCF8130F1F480916B248B3009F046C068 -S11318D08091702490917124892B09F03FC08091EC -S11318E0CC20882309F43AC010916E2460916C24B2 -S11318F0812F6983E2DC6981882381F1812FAADC4D -S11319002BC0823059F580916B24813019F08330DB -S113191089F024C08091702490917124892BF1F472 -S113192080916C2490916D24892BC1F480916E2454 -S11319302AD412C08091702490917124892B71F45F -S113194080916C2490916D24892B41F480916E24B4 -S1131950BFD480916E24F5D481116FC080916A2424 -S11319608F718130B9F58091CC20882399F1E09072 -S11319706E24F0906F240091CA201091CB20D801DE -S1131980ED91FC918481E81628F560E08E2D0FDC42 -S1131990882301F1F701FF27EE0FFF1FD8011296EC -S11319A08D919C911397E80FF91F00811181D80143 -S11319B01696ED91FC9117970995682F8E2DF7DBFC -S11319C0882341F0D8011496ED91FC91159709955F -S11319D0811133C080916A248F71823081F58091A6 -S11319E0CC20882361F1F12CE091CA20F091CB2026 -S11319F0A081B18114968C91F81608F592818381A7 -S1131A00E92FF82FEF0DF11DEF0DF11D008111816C -S1131A10D8011696ED91FC9117970995682F8F2D93 -S1131A20C6DB882361F0D8011496ED91FC911597DB -S1131A300995811102C0F394D7CF81E001C080E001 -S1131A400F90DF91CF911F910F91FF90EF90089528 -S1131A501BBEFC0128ED24BF608308954091CA0198 -S1131A60E62FF72F8093CA0184914093CA01089509 -S1131A70E82FF0E0EA5AF34D80818F3F09F4FFCF5D -S1131A809FB7F89480818F5F80839FBF0895E82F6C -S1131A90F0E0EA5AF34D8081811101C0FFCF9FB776 -S1131AA0F8948081815080839FBF0895CF93C82F7D -S1131AB080916422C11105C0882339F081E0E7DFF9 -S1131AC004C0811102C081E0D3DFC0936422CF91AE -S1131AD00895282F2F70082E000C990B392F331FCF -S1131AE03327331F832F90E0820F911D820F911DA6 -S1131AF023E0880F991F2A95E1F7805E9D4D089594 -S1131B000F93E8ECF4E080818F7D808380818F7D6A -S1131B108083E8E2F2E202E0059310922A22109216 -S1131B202B2200E2069300E40693E0E2F2E200E2F4 -S1131B30069300E40693EAE6F4E214861586168614 -S1131B4017861286138610920D220F9108950F9313 -S1131B5085E080930D22E9E2F2E204E00593E1E2FC -S1131B60F2E204E005930F9108950F9383E08093CC -S1131B700D2210922A2210922B22E8E2F2E202E0D5 -S1131B8006930F910895E0917624F091772430978D -S1131B9009F009940895282F2F70082E000C990B32 -S1131BA0392F331F3327331F832F90E0820F911D6A -S1131BB0820F911D029749E0489F9001499F300D83 -S1131BC01124C9018D569E4D08958F929F92AF9214 -S1131BD0BF92DF92EF92FF920F931F93CF93DF9305 -S1131BE0D82ED9DFEC018D2D74DF7C01DC01119638 -S1131BF0EC91E770E150E73040F4F0E0EE0FFF1FA6 -S1131C00EE54FF4D0081118102C008E010E0ED8127 -S1131C10FE812B813C814881D701D7FE48C01696AE -S1131C208D919C9117978E0F9F1F8D839E83821792 -S1131C30930761F1281B390B2115B4E03B0738F0F9 -S1131C402FEF33E0C901B80114D5281B390B41FF2C -S1131C500AC0C901B8010DD5AC0191E0452B09F0CA -S1131C6090E0892F01C080E0988180FB91F99883EE -S1131C70F701168217822283338329813A818D8169 -S1131C809E81820F931F848395830EC041FF71C090 -S1131C904D7F4883D70116961D921C921797129672 -S1131CA01D921C921397F70102E006937BC01296D3 -S1131CB0AD90BC90139742FF10C089809A80C901EF -S1131CC0B801D7D4B0E4DB9EB00111246D567F4D2A -S1131CD0AC01C4018E0F9F1FE6D48D819E818A0DB5 -S1131CE09B1D8D839E832B813C812817390710F41B -S1131CF02D833E83F70186819781A816B906C9F51D -S1131D008D819E8182179307A1F1281B390B211520 -S1131D10F4E03F0710F02FEF33E0C901B801A9D474 -S1131D20281B390BD70112961D921C92139720176A -S1131D30310778F4888184608883B0E4DB9EC00135 -S1131D4011248D569F4DF701848395830683178351 -S1131D50AACF49815A818D819E81840F951FD70115 -S1131D6014968D939C93159716962D933C931797E1 -S1131D709ACF888180FF16C08E7F8883EF81F88593 -S1131D80309781F06D817E814D2D80E0DF91CF9180 -S1131D901F910F91FF90EF90DF90BF90AF909F90B5 -S1131DA08F900994DF91CF911F910F91FF90EF9045 -S1131DB0DF90BF90AF909F908F9008950F93CF9333 -S1131DC0DF9380910D22833029F4DDDEDF91CF9102 -S1131DD00F9196CE2091092230910A22C091742449 -S1131DE0D0917524C21BD30B61F580910B22909185 -S1131DF00C22820F931F80930B2290930C2220912C -S1131E007024309171242817390721F08091D22051 -S1131E10882331F084E080930D22E0E2F2E236C0C0 -S1131E20E0917824F0917924309799F009958823EA -S1131E3081F01092092210920A22C0917424D09148 -S1131E407524C034D10528F01092D220C0E4D0E02B -S1131E5003C081E08093D220C0932A22D0932B2206 -S1131E608091092290910A22209172243091732446 -S1131E70280F391F20932C2230932D22C80FD91FED -S1131E80C0930922D0930A22E8E2F2E202E0069328 -S1131E90DF91CF910F9108950F93CF93DF931F920A -S1131EA0CDB7DEB78091CC0480FF65C021E02093DC -S1131EB0CC0480E292E2FC0100E80693E8E2F2E25C -S1131EC000E806932093CA04FC0100E10693809184 -S1131ED00D22882329F08350823008F454DE10DE6A -S1131EE08091222290912322089709F046C088E02D -S1131EF0E9ECF1E2AAE6B4E201900D928A95E1F7E9 -S1131F008091C80480628093C8048091C804806270 -S1131F108093C80459DA811102C019DE2EC0909151 -S1131F206A2497FF0EC010920B2210920C2210927A -S1131F30092210920A2292E090930D2289833EDFB7 -S1131F4008C02091702430917124232B21F48983BB -S1131F500CDE898113C010920B2210920C22109275 -S1131F60092210920A2291E090930D22E0E2F2E21B -S1131F7002E0069303C080E001C081E00F90DF918E -S1131F80CF910F910895CF93CFB7F89481E08EDD70 -S1131F90EAECF4E080E4808380E28083E1ECF4E026 -S1131FA0808181608083A9ECB4E08C9182608C9301 -S1131FB0E8ECF4E08081806480838C9181608C9370 -S1131FC0808180688083CFBFCF910895CF93109292 -S1131FD0600080E375D88091C00480648093C0045D -S1131FE081E080936000CFB7F89480E090E0FC013A -S1131FF023E0EE0FFF1F2A95E1F7E05FFD4D118A04 -S113200001968830910599F7809193218E7F809372 -S1132010932180919C218E7F80939C218091A52186 -S11320208E7F8093A5218091AE218E7F8093AE21F7 -S11320308091B7218E7F8093B7218091C0218E7FBC -S11320408093C0216AE170E082E008DD8F3F09F4EB -S11320508FE18093FA046BE170E082E0FFDC8F3F54 -S113206009F48FE18093FB048091C0048360809322 -S1132070C0048091C00480688093C0048091C0042F -S113208080618093C00480E292E28093C6049093BE -S1132090C7048091C00480628093C0048FEF809352 -S11320A0C5048091C80482608093C804109264229D -S11320B085E0DEDC68DFCFBFCF9108958093C30451 -S11320C008958091C3040895EAE6F4E28087918735 -S11320D06287738708950F931F93CF93DF931F92A3 -S11320E0CDB7DEB78A016983F4DCFC018181807C91 -S11320F0698181113AC06370613019F020F080E881 -S113210003C080EC01C080E400381105E9F058F404 -S113211000321105A9F000341105A1F000311105B8 -S1132120C9F491E018C0011592E0190779F00F3F46 -S113213093E0190769F00115114061F495E00BC0B3 -S113214092E009C093E007C094E005C096E003C0A4 -S113215097E001C090E0118226E02083982B9183C0 -S113216081818062818381E001C080E00F90DF91F2 -S1132170CF911F910F910895ACDCFC01818182FB0A -S1132180882780F90895CF93C82FA3DCFC018181AF -S113219082FF0FC091819B7F91838C2FFCDCFC011B -S11321A0908190FF06C09E7F90830780F085E02D8C -S11321B0099581E0CF9108958F929F92AF92BF923B -S11321C0DF92EF92FF920F931F93CF93DF931F92AF -S11321D0CDB7DEB7D82E5A0179016983DCDC4C0116 -S11321E08D2D77DC9C01DC0111968C911197807CFC -S11321F06981882309F45EC011968C911197807CC3 -S1132200803C21F011968C9182FD54C09FB7F894C4 -S1132210F401808180FF02C09FBF4CC08160808335 -S11322209FBFF401A182B282E382F48215821682F6 -S11322300783108791E0611104C0E114F10409F0EF -S113224090E0D4018C9190FB81F98B7F8C93D7FE25 -S113225004C0F9011682178229C0D90111968C9104 -S11322601197807C803CC9F41196EC91E770E150A1 -S1132270E73040F4F0E0EE0FFF1FEE54FF4D6081B5 -S1132280718102C068E070E0C701F3D1892B29F0A5 -S1132290F40180818E7F80830DC0D90112961D9236 -S11322A01C92139716961D921C9217978D2D8DDCF8 -S11322B081E001C080E00F90DF91CF911F910F91D9 -S11322C0FF90EF90DF90BF90AF909F908F90089514 -S11322D0EF92FF920F93CF93C82FFBDB7C018C2FDF -S11322E05ADCDC01F70102E005939C9190FF1BC0CE -S11322F09E7F9C931796ED91FC911897309799F0D7 -S1132300D701C7FF05C016966D917C91179704C03D -S113231012966D917C9113974C2F81E0CF910F9180 -S1132320FF90EF900994CF910F91FF90EF90089553 -S1132330CF93C82FCDDF8C2FCCDBFC011182CF9142 -S113234008950F93CF93C82FC4DBFC01918194604F -S1132350918301E006938C2FBBDF81E0CF910F9135 -S113236008951F920F920FB60F9211240F932F937B -S11323703F934F935F936F937F938F939F93AF9309 -S1132380BF93EF93FF938091CB0487FF08C080E84D -S11323908093CA040E94BF090E94A00186C0809154 -S11323A0CB0482FF18C084E08093CA048091282261 -S11323B086FF7BC08091CC0481FD77C06DDD8111E7 -S11323C074C080910D22813011F4CFDB6EC0843053 -S11323D009F06BC021C08091CB0481FF26C082E04C -S11323E08093CA048091202286FF5FC08091CC0430 -S11323F081FD5BC051DD811158C080910D22823076 -S113240041F484E080930D22E0E2F2E202E00693DC -S11324104CC0833009F049C0E9E2F2E204E00593DC -S1132420E1E2F2E204E0059340C08091CB0484FF32 -S113243025C080E18093CA0481E04ADF81E848DF57 -S113244082E046DF82E844DF0E94A3091092C304BD -S11324501092212296E09093202283E480932122FB -S113246010922922909328228093292289EC91E2C8 -S1132470809324229093252243DB17C08091CB04C0 -S113248086FF08C080E48093CA0480E00FDB0E94CA -S11324909E010BC08091CB0485FF07C080E280932E -S11324A0CA0481E003DB0E949F01FF91EF91BF9179 -S11324B0AF919F918F917F916F915F914F913F91D8 -S11324C02F910F910F900FBE0F901F9018951F9290 -S11324D00F920FB60F9211240F931F932F933F93D4 -S11324E04F935F936F937F938F939F93AF93BF9318 -S11324F0CF93DF93EF93FF938091CC0481FF1AC0B5 -S113250082E08093CC048091C5048195880FE0E239 -S1132510F2E2E81BF109208131812052324283E04A -S1132520369527958A95E1F7822F869520FD06C07A -S1132530C0E005C0B1DC882319F386C0C0E8C80F29 -S11325408C2FC7DAFC01208125FF7EC000E20693B0 -S1132550C11174C080910D22843019F414DBD0DAD7 -S113256073C00091222210912322809174249091AF -S11325707524C0910922D0910A229E01200F311F97 -S11325808217930718F48C010C1B1D0B8091722485 -S113259090917324A80169EC71E28C0F9D1F83D084 -S11325A0C00FD11FC0930922D0930A220034110511 -S11325B069F480910B2290910C228C0F9D1F209125 -S11325C07024309171248217930788F0C093742487 -S11325D0D0937524E0917824F0917924309729F0F0 -S11325E00995811102C0B3DA2FC0BFDA2DC08091E2 -S11325F07424909175248C179D07D9F4E091782464 -S1132600F0917924309779F30995882361F3209127 -S11326100B2230910C228091092290910A22820F80 -S1132620931F80930B2290930C22109209221092F4 -S11326300A22E0E2F2E202E0069306C0C03811F496 -S1132640BDDB02C08C2FC1DAFF91EF91DF91CF91F6 -S1132650BF91AF919F918F917F916F915F914F91B6 -S11326603F912F911F910F910F900FBE0F901F90CC -S11326701895AA1BBB1B51E107C0AA1FBB1FA617B5 -S1132680B70710F0A61BB70B881F991F5A95A9F717 -S113269080959095BC01CD010895EE0FFF1F059024 -S11326A0F491E02D0994FB01DC0102C001900D922C -S10F26B041505040D8F70895F894FFCF33 -S11326BCFF55800080008908830893088008000077 -S11326CC4420162000001C201A2006200902270092 -S11326DC01010080FA0904000003FFFFFF00070555 -S11326EC8101000101070582010001010705830135 -S11326FC000101001201000200000040EB0300A0E5 -S113270C00020102000100000003000000000000B0 -S113271C00000000000000000000000000000000A9 -S113272C0000000000000000000000000000000099 -S113273C00000000000000000000555342476F6287 -S113274C696E6461722044756D6D79204465766997 -S113275C6365005461706972546563680000040316 -S113276C0904100020004000800000010002FF0357 +S11300001DC1000037C1000035C1000033C100002C +S113001031C100002FC10000F1C5000025C6000059 +S113002059C6000061C6000025C1000023C10000BC +S113003021C100001FC100001DC100001BC1000040 +S113004019C1000017C1000015C1000013C1000050 +S113005011C100000FC100000DC100000BC1000060 +S11300601BC7000007C1000005C1000003C1000058 +S113007001C10000FFC00000FDC00000FBC0000083 +S1130080F9C00000F7C00000F5C00000F3C0000094 +S1130090F1C00000EFC00000EDC00000EBC00000A4 +S11300A0E9C00000E7C00000E5C00000E3C00000B4 +S11300B0E1C00000DFC00000DDC00000DBC00000C4 +S11300C0D9C00000D7C00000D5C00000D3C00000D4 +S11300D0D1C00000CFC00000CDC00000CBC00000E4 +S11300E0C9C00000C7C00000C5C00000C3C00000F4 +S11300F0C1C00000BFC00000BDC00000BBC0000004 +S1130100B9C00000B7C00000B5C00000B3C0000013 +S1130110B1C00000AFC00000ADC00000ABC0000023 +S1130120A9C00000A7C00000A5C00000A3C0000033 +S1130130A1C000009FC000009DC000009BC0000043 +S113014099C0000097C0000095C000001CC60000C4 +S113015091C000008FC000008DC000008BC0000063 +S113016089C0000087C0000085C0000083C0000073 +S113017081C000007FC000007DC000007BC0000083 +S113018079C0000077C0000075C0000073C0000093 +S113019071C000006FC000006DC000006BC00000A3 +S11301A069C0000067C0000065C0000063C00000B3 +S11301B061C000005FC000005DC000005BC00000C3 +S11301C059C0000057C0000055C0000053C00000D3 +S11301D051C000004FC000004DC000004BC00000E3 +S11301E049C0000047C0000045C0000043C00000F3 +S11301F041C000000C941E110C94D411BB01BD012C +S1130200BF01C101C301C801C501C7018A098C0925 +S1130210B309E609EF09F409410A460A070A100A74 +S11302201D0A1F0A210A2A0A340A3F0A000A090A77 +S1130230120A1F0A210A230A2C0A360A11241FBE95 +S1130240CFEFCDBFDFE2DEBF10E2A0E0B0E2E6E92F +S1130250F5E202C005900D92A03CB107D9F72CE25B +S1130260A0ECB0E201C01D92A536B207E1F73BD085 +S11302700C94C912C5CEE0E8F6E08FE0808385E0F7 +S11302808483089508954091C1202EEE32E0429F68 +S1130290C001439F900D112443E451E06AEF70E0E4 +S11302A08E57994DCEC64091C1202EEE32E0429F2A +S11302B0C001439F900D112443E551E06AEF70E0C3 +S11302C08458984DCAC64091C1202EEE32E0429F18 +S11302D0C001439F900D112443E651E06AEF70E0A2 +S11302E08A58974DC6C687E08093A2007894FBD5C0 +S11302F0C9DF9AD7DAD0FDD060E080E0A7D093D0F0 +S11303008CE087D0FBD4A2D5B9D5B5DF22E836E29C +S113031020937F2480E799E28093802430936D2298 +S113032090936C2229EF37E22093672287EE9AE2BA +S113033080935E2C30936E2490936622000000001C +S113034000000000000000000000000000000000A9 +S11303500000000000000000F1CF08950895E0912E +S113036000208E2F90E08830910590F4FC01E2503B +S1130370FF4F0C94BA124ED10BC0C5D109C03BD269 +S113038007C0B6D205C02BD303C0D4D301C035D423 +S1130390F8949091C12081E0911180E08093C12074 +S11303A07894089581E08093C42043E451E06EEE94 +S11303B072E082E896E245D643E551E06EEE72E0E3 +S11303C08CE797E24AD643E651E06EEE72E086E7A8 +S11303D098E24FD681E008951092C420089581E0F8 +S11303E0089581E0089510922002982F9C719368DB +S11303F09093200287FF03C090E182E002C090E066 +S113040080E0892B8093210210922202109226020E +S11304100895E0E0F2E010AA836880AB80E181AB4C +S113042012AA16AA0895E0E0F2E010A683E880A7D5 +S11304308FE281A712A616A60895AAECB1E092E075 +S11304409C93E82FF0E084911C92089590917100A0 +S11304509D7F9093710010920002623011F09CE134 +S113046001C09EE19093010290E4909302028111F5 +S113047002C080E401C080EC80930302613011F07B +S113048083E001C082E08093040280E2D6DF80939F +S11304900C0281E2D2DF80930D02109218021092B6 +S11304A0190281E080930002BECFCF93DF93E0E78F +S11304B0F0E082818B7F8283C0E2D3E08DE0888389 +S11304C080E4898389E08A8383E3B7DF888782E3D2 +S11304D0B4DF898787E3B1DF8A8786E3AEDF8B8762 +S11304E0E0E2F6E08081836080831482DF91CF9123 +S11304F00895E0E7F0E080818E7F808382E8809336 +S113050000010895E0E0F1E0108A80E4808B10A2FD +S113051080A310AA80ABE0E4F1E010828083109203 +S1130520C3201092C22081E08093C12008951092CC +S11305300020E8DFE0E0F1E016AA94E290AB11AA13 +S113054049E542AB32E033AB609102207091032065 +S113055064AB75AB61E874E260AF71AF12AE8BE36C +S113056084AF83E080933D0110923E0120A920686E +S113057020AB10924601A0E4B1E09C93109241019B +S113058040934201809343014091042050910520FF +S113059040934401509345014EE652E24093480192 +S11305A05093490110924A0129E320934C0180930E +S11305B04D0110924E012C9120682C93108A20E456 +S11305C0208B24E0208B818B81E9828B80E1838BDB +S11305D047E751E0448B558B908F318F128E4091B9 +S11305E0C3202EEE32E0429FC001439F900D1124A0 +S11305F08E57994D848F4091C320429FC001439FE1 +S1130600900D11248E57994D958F168E8089806890 +S1130610808B08950895CF93DF9381E08093002029 +S113062071DFE0E0F1E010AA80E480AB94E090ABED +S113063011AA12AA5BE453AB14AA15AA16AA21E0C4 +S113064030E220AF31AF12AE40EA44AF38E030932D +S11306503D0110923E0180A9806A80AB85E58093BC +S1130660A00810924601A0E4B1E0D4E2DC93109219 +S1130670410189E580934201C2E0C0934301609146 +S1130680022070910320609344017093450161E856 +S113069074E2609348017093490110924A018BE31C +S11306A080934C0183E080934D0110924E012C9174 +S11306B020682C93908B818BA1E9A28B20E1238B62 +S11306C067E771E0648B758BD08FC18F128EC2E89F +S11306D0D6E2C48FD58F168E20892068208B90A3F4 +S11306E081A3A2A353A364A375A340A731A712A611 +S11306F089EF97E284A795A716A680A1806880A3B6 +S1130700DF91CF9108950895CF93F894C2E0C093F8 +S11307100020F8DEE0E0F1E016AA94E290AB11AA22 +S113072039E532AB83E083AB40910420509105203E +S113073044AB55AB4EE652E240AF51AF12AE29E3A3 +S113074024AF80933D0110923E0120A9206820AB84 +S113075010924601A0E4B1E09C93109241013093C1 +S11307604201809343012091022030910320209381 +S113077044013093450121E834E220934801309349 +S1130780490110924A012BE320934C0180934D01BF +S113079010924E012C9120682C9354E0508B818B45 +S11307A041E9428BC38B27E731E0248B358B908F53 +S11307B0C18F128E62E876E2648F758F168E50A315 +S11307C081A342A381E083A324A335A384E380A768 +S11307D0C1A712A689EF97E284A795A716A68089D8 +S11307E08068808B00C000C0000080A1806880A366 +S11307F07894CF9108950895CF93C3E0C0930020D7 +S113080081DEE0E0F1E010A250E450A344E040A314 +S113081011A212A23BE433A314A215A216A281E0F2 +S113082090E280A791A712A620EA24A798E095A7B2 +S113083016A680A1806A80A385E58093A00816AAE5 +S113084074E270AB11AA69E562ABC3ABA09104205A +S1130850B0910520A4ABB5ABAEE6B2E2A0AFB1AFA8 +S113086012AE89E384AFC0933D0110923E0180A98A +S1130870806880AB10924601A0E4B1E07C931092B2 +S113088041016093420182E0809343016091022020 +S113089070910320609344017093450161E874E210 +S11308A0609348017093490110924A018BE380934D +S11308B04C01C0934D0110924E018C9180688C9331 +S11308C0108A508B408BC18B81E9828B338B47E735 +S11308D051E0448B558B208F918F128E82E896E2E3 +S11308E0848F958F168E80898068808BCF91089530 +S11308F00895CF93C4E0C093002004DEE0E0F1E06B +S113090010A280E480A3C0A311A212A24BE443A3CB +S113091014A215A216A281E090E280A791A712A6C4 +S113092060EA64A788E085A716A690A1906A90A3C0 +S113093095E59093A00810924601A0E4B1E094E2FA +S11309409C931092410199E59093420192E0909317 +S113095043012091022030910320209344013093DD +S1130960450121E834E22093480130934901109273 +S11309704A019BE390934C0193E090934D011092B4 +S11309804E012C9120682C93C08B918B31E9328BD2 +S1130990438B47E751E0448B558B608F818F128ED8 +S11309A062E876E2648F758F168E20892068208B2A +S11309B0C0AB91AB32AB9AE493AB44AB55AB93EC85 +S11309C090AF81AF12AE89EF97E284AF90933D016F +S11309D010923E0180A9806880ABCF91089508955C +S11309E085E0809300208EDDE0E0F1E016AA34E299 +S11309F030AB11AA29E522AB83E083AB40910420FC +S1130A005091052044AB55AB4EE652E240AF51AF96 +S1130A1012AE99E394AF80933D0110923E0190A9E8 +S1130A20906890AB10924601E0E4F1E030831092BC +S1130A30410120934201809343012091042030918D +S1130A400520209344013093450121E834E22093AA +S1130A5048013093490110924A019BE390934C0161 +S1130A6080934D0110924E018081806880830895A7 +S1130A7086E08093002046DDE0E0F1E016AA94E2EF +S1130A8090AB11AA39E532AB83E083AB40910420EB +S1130A905091052044AB55AB4EE652E240AF51AF06 +S1130AA012AE29E324AF80933D0110923E0120A9A8 +S1130AB0206820AB10924601A0E4B1E09C93109210 +S1130AC041013093420132E03093430140910220CE +S1130AD050910320409344015093450141E854E26E +S1130AE0409348015093490110924A012BE320930B +S1130AF04C0180934D0110924E012C9120682C934F +S1130B00108A20E4208B24E0208B818B81E9828B66 +S1130B1080E1838B4EEE52E0448B558B908F318F66 +S1130B20128E82E896E2848F958F168E8089806873 +S1130B30808B0895089587E080930020E3DCE0E053 +S1130B40F1E016AA94E290AB11AA39E532AB83E046 +S1130B5083AB409104205091052044AB55AB4EE645 +S1130B6052E240AF51AF12AE29E324AF80933D016E +S1130B7010923E0120A9206820AB10924601A0E407 +S1130B80B1E09C93109241013093420132E03093E2 +S1130B90430140910220509103204093440150931B +S1130BA0450141E854E240934801509349011092B1 +S1130BB04A012BE320934C0180934D0110924E0186 +S1130BC02C9120682C93108A20E4208B25E0208B24 +S1130BD0818B81E9828B80E1838B4EEE52E0448BE2 +S1130BE0558B908F318F128E82E896E2848F958F89 +S1130BF0168E80898068808B089508951F920F92C5 +S1130C000FB60F9211248F939F9387E791E08093FF +S1130C101401909315018091C320882339F08091A9 +S1130C20802480931C0180916C2206C080917F24D3 +S1130C3080931C0180916D2280931D01809110018D +S1130C408068809310019091C32081E0911180E02D +S1130C508093C32081E0809303019F918F910F9033 +S1130C600FBE0F901F9018951F920F920FB60F9200 +S1130C7011248F939F9387E791E0809324019093AD +S1130C8025018091C220882339F080915E2C8093C5 +S1130C902C018091662206C08091672280932C01EA +S1130CA080916E2480932D0180912001806880932F +S1130CB020019091C22081E0911180E08093C220B4 +S1130CC082E0809303019F918F910F900FBE0F904C +S1130CD01F9018951F920F920FB60F9211240F9028 +S1130CE00FBE0F901F9018951F920F920FB60F9280 +S1130CF011240F900FBE0F901F901895E0E7F0E0BD +S1130D0083818C7F838384818C7F848380818D7FA6 +S1130D108083E0E8F1E080EC8283128680E28183C4 +S1130D20118682E280831086A0E0B8E034E03C9330 +S1130D3023E011962C93119714961C92149785ED29 +S1130D4091E096968D939C93979716961C9216977E +S1130D50E0E4F8E030832183148286A397A316820B +S1130D60E0E6F6E0808180618083E0E4F9E083E1FD +S1130D708183148282E08683A6A3B7A310A611A65A +S1130D8081E0808308951F920F920FB60F92112471 +S1130D902F933F934F935F938F939F93CF93DF93BF +S1130DA01F92CDB7DEB78FEF80934C09809100205E +S1130DB0873031F480912C02898390912D0202C0F6 +S1130DC090912C028091C020891B20916809309158 +S1130DD0690982308CF02A3F374070F42091680909 +S1130DE03091690989301CF481E090E002C086E00A +S1130DF090E0820F931F18C020916809309169090F +S1130E008F3FB4F42730310598F020916809309170 +S1130E106909883F1CF081E090E002C086E090E020 +S1130E20A901481B590BCA01809378099093790949 +S1130E300F90DF91CF919F918F915F914F913F914F +S1130E402F910F900FBE0F901F901895E0E7F0E0E0 +S1130E5083818F7E8383E0E4F6E080818A6A8083E5 +S1130E608FEF848388E5828BE0EAF8E084EC858365 +S1130E7083E08683178288E184830895E0E7F0E0C5 +S1130E808381877F8383E0ECF8E080E480831182B0 +S1130E9088E58093550608951F920F920FB60F921E +S1130EA0112400000F900FBE0F901F9018959FB74C +S1130EB0F894A0E5B0E016968C911697897F169663 +S1130EC08C931697E0E6F0E080E885838BEB8683CD +S1130ED016968C911697846016968C938081816007 +S1130EE080839FBF0895CF93DF9300D000D0CDB708 +S1130EF0DEB78FEF8093700080937100809372004F +S1130F0080937300809374008093750080937600BF +S1130F1064E081E490E009D56CE170E082E00BD5F7 +S1130F208C836DE170E082E006D58B838B819C819C +S1130F30019621F480E493E28B839C838B819C81D2 +S1130F4089839A83809362008A81809363009FB728 +S1130F50F894809150008260809350009FBF8091EC +S1130F60510081FFFCCFA3DF61E080E490E0DDD499 +S1130F709FB7F894809150008E7F809350009FBF5C +S1130F802496CDBFDEBFDF91CF9108959FB7F8942B +S1130F90E82FF0E0E059FF4F60958081682360837B +S1130FA09FBF0895CF93863011F0C0E001C0C8E11F +S1130FB08091510081FD0DC09FB7F894809150003D +S1130FC08260809350009FBF8091510081FFFCCFCD +S1130FD06EDF6C2F636084E490E0A7D460E480E06B +S1130FE0CF91D4CF8091C52008958091C5208130C0 +S1130FF009F4F2C9089513D1FC0183818093C520BB +S1131000811101C0CFC981E0089590916F24892F87 +S1131010807697FF07C0803491F480917024811109 +S11310200EC0DFC9803459F480917024811107C047 +S11310308091752490917624892B09F0D0C980E0A1 +S113104008950F931F939B018A01AC0160E081E82E +S11310500E9449101F910F9108950F931F939B01B4 +S11310608A01AC0160E082E80E9449101F910F914F +S113107008950F931F939B018A01AC0160E083E8FC +S11310800E9449101F910F910895809171248F77C8 +S113109082C79091CC20911102C080E00895E09124 +S11310A0CA20F091CB200190F081E02D9481891722 +S11310B0A0F7E093C820F093C920228133812E0F3A +S11310C03F1FE217F30798F49181943061F4928101 +S11310D0891309C09381691306C0E093C820F09373 +S11310E0C92081E008959081E90FF11DEACFE093D2 +S11310F0C820F093C920D1CFE091CA20F091CB2031 +S11311000190F081E02D228133812E0F3F1FFC01DD +S11311104081E40FF11DE217F30748F48181843024 +S113112031F0853039F08081E80FF11DF4CF80E093 +S113113090E00895CF0108951F93CF93DF93182F64 +S1131140A8DF882339F1C091C820D091C920CE01ED +S1131150D3DFEC01892B41F04C815D816B818A8165 +S113116027D78111F4CF16C0E091CA20F091CB208B +S113117092818381E92FF82FE10FF11DE10FF11D19 +S11311800190F081E02D0190F081E02DDF91CF916D +S11311901F91099480E0DF91CF911F910895EF9200 +S11311A0FF921F93CF93DF93C82F60E072DF81110A +S11311B002C010E02DC0E091CA20F091CB209281B2 +S11311C08381E92FF82FEC0FF11DEC0FF11DE08066 +S11311D0F180D7011696ED91FC9117970995682F28 +S11311E08C2F57DF182F882321F3C091C820D0916A +S11311F0C920CE0181DFEC01892B21F08A810E9474 +S11312000511F7CFD7011296ED91FC91139709952B +S1131210812FDF91CF911F91FF90EF9008958091DE +S1131220C8209091C92008953EC6CF938091CC20C8 +S1131230811108C01092CC201092D0201092D1209D +S1131240CF910895C0E0E091CA20F091CB200190A5 +S1131250F081E02D8481C81768F78C2FA0DFCF5F61 +S1131260F2CFCF938091CC208823F1F0C0E0E091BD +S1131270CA20F091CB20A081B18114968C91C8171B +S113128098F492818381E92FF82FEC0FF11DEC0F74 +S1131290F11D0190F081E02D0084F185E02D30975F +S11312A009F00995CF5FE3CFCF910895EF92FF92B4 +S11312B00F931F93CF93DF931F92CDB7DEB7109296 +S11312C0792410927A2410927B2410927C24109218 +S11312D07D2410927E2480916F2487FF07C0209183 +S11312E0752430917624232B09F416C3982F907615 +S11312F0903409F0D2C0E09170248E2F90E0FC016C +S1131300E05AF109E830F10508F095C2EA5FFE4FB2 +S11313100C94BA120000FEC210920008809171244D +S113132090917224809336089093370880917324A7 +S11313308F708093000860917524709176248EE6F6 +S113134092E22FD6209104203091052080917524BB +S1131350909176242817390709F4DCC2809304207D +S11313609093052026C0109240088091712490919A +S113137072248093760890937708809173248F70F9 +S113138080934008609175247091762481E894E2FA +S113139008D62091022030910320809175249091E9 +S11313A076242817390709F4B5C280930220909354 +S11313B00320E09100208E2F90E08830910508F002 +S11313C0A9C2FC01E25FFE4F0C94BA1210926809A4 +S11313D010926909809171248093C0209BC28091EE +S11313E071248093240696C2E0917124F0917224B2 +S11313F0E830F10508F01FC2EA5EFE4F0C94BA1201 +S113140060E080E023D8809173240E94F3018FD898 +S113141081C260E080E01AD8809173240E94F301B5 +S1131420FAD878C261E081E011D8809173240E94D7 +S1131430F301809174240E94090266D96BC2DCD93D +S113144069C257DA67C260E080E000D880917324F3 +S11314500E94F301C5DA5EC261E080E00E942602C8 +S1131460809173240E94F30103DB54C262E080E0A4 +S11314700E9426028091732480680E94F3015BDB42 +S113148049C2809171248093840644C2E9E7F0E064 +S113149091E088EDF89484BF90839111CCC187FFCB +S11314A0FDC020917524309176242115310509F46D +S11314B0C2C18F7109F09FC080917024863071F091 +S11314C0883009F48EC08111B6C12230310509F08B +S11314D0B2C162E070E080ED90E28BC08091712433 +S11314E090917224292F332722303105A1F064F41E +S11314F02130310509F09FC1809110209091112075 +S1131500DC016C9170E05BC02330310589F12F3030 +S1131510310509F190C1E0911020F0911120218949 +S1131520821708F088C19927880F991F880F991F7F +S1131530E0911220F0911320E80FF91F808191812E +S1131540FC01628173812DD5E0917724F091782498 +S113155082E0818335C080911420909115200097FA +S113156009F469C1DC0112966D917C91139727C02F +S113157099278130910569F038F0029709F05BC131 +S113158068E18AE890E208C064E070E08EEA90E2E4 +S113159016C069E083EA90E2282FAAE5B0E2FC01D4 +S11315A0819190E08D939D938E2F821B8617C0F3BB +S11315B0660F6E5F6093582070E088E590E2F1D486 +S11315C080917524909176242091792430917A2405 +S11315D08217930708F09EC18093792490937A240C +S11315E099C12130310509F026C161E070E08CEC2D +S11315F090E2D7D48FC18130C9F5809170248A30AC +S113160009F019C12130310509F015C18091CC20B0 +S1131610882309F410C1E0907324F090742400919D +S1131620CA201091CB20D801ED91FC918481E81659 +S113163008F001C160E08E2D2CDD882309F4FBC085 +S1131640FF24EE0CFF1CF801828193818E0D9F1DF7 +S1131650DC01ED91FC910680F781E02D09958093E2 +S1131660CE2061E070E08EEC90E2C3CF823009F0CE +S1131670E2C0809170248111DEC02230310509F06E +S1131680DAC080917324E5D490E08093C6209093CF +S1131690C72062E070E086EC90E2ABCF8F7109F076 +S11316A07DC080917024833009F4C5C018F4813062 +S11316B0A1F0C1C0853019F0893039F1BCC08091E6 +S11316C0752490917624892B09F0B5C085E498E0BF +S11316D080937B2490937C241DC1809175249091E8 +S11316E07624892B09F0A7C08091712490917224EB +S11316F0019709F0A0C08091D0209091D1208D7FD6 +S11317008093D0209093D12005C18091752490912D +S11317107624892B09F08FC041D4882309F48BC027 +S113172020917124309172243327E0911020F0919C +S11317301120818990E08217930708F47CC075DD3D +S113174080917124909172248093CC20882309F491 +S1131750E1C099278150904C880F991F880F991FD9 +S11317602091122030911320820F931F8093CA205E +S11317709093CB2010E0E091CA20F091CB2001900F +S1131780F081E02D8481181708F0C4C060E0812F37 +S1131790D3DC882309F44FC01F5FEDCF8130F1F40F +S11317A0809170248B3009F046C08091752490910B +S11317B07624892B09F03FC08091CC20882309F43A +S11317C03AC01091732460917124812F6983E7DCFE +S11317D06981882381F1812FAFDC2BC0823059F5D8 +S11317E080917024813019F0833089F024C0809175 +S11317F0752490917624892BF1F480917124909131 +S11318007224892BC1F4809173242AD412C080914C +S1131810752490917624892B71F480917124909190 +S11318207224892B41F480917324BFD48091732452 +S1131830F5D481116FC080916F248F718130B9F517 +S11318408091CC20882399F1E0907324F090742443 +S11318500091CA201091CB20D801ED91FC91848194 +S1131860E81628F560E08E2D14DC882301F1F701D9 +S1131870FF27EE0FFF1FD80112968D919C911397AD +S1131880E80FF91F00811181D8011696ED91FC91A2 +S113189017970995682F8E2DFCDB882341F0D8011A +S11318A01496ED91FC9115970995811133C080919F +S11318B06F248F71823081F58091CC20882361F16F +S11318C0F12CE091CA20F091CB20A081B181149633 +S11318D08C91F81608F592818381E92FF82FEF0D8A +S11318E0F11DEF0DF11D00811181D8011696ED91C6 +S11318F0FC9117970995682F8F2DCBDB882361F016 +S1131900D8011496ED91FC9115970995811102C0A7 +S1131910F394D7CF81E001C080E00F90DF91CF91A5 +S11319201F910F91FF90EF9008951BBEFC0128EDCD +S113193024BF608308954091CA01E62FF72F809356 +S1131940CA0184914093CA010895E82FF0E0E15A56 +S1131950F34D80818F3F09F4FFCF9FB7F8948081C6 +S11319608F5F80839FBF0895E82FF0E0E15AF34D25 +S11319708081811101C0FFCF9FB7F894808181508D +S113198080839FBF0895CF93C82F80916422C11193 +S113199005C0882339F081E0E7DF04C0811102C06B +S11319A081E0D3DFC0936422CF910895282F2F7054 +S11319B0082E000C990B392F331F3327331F832F25 +S11319C090E0820F911D820F911D23E0880F991FD3 +S11319D02A95E1F7805E9D4D08950F93E8ECF4E0BD +S11319E080818F7D808380818F7D8083E8E2F2E235 +S11319F002E0059310922A2210922B2200E2069311 +S1131A0000E40693E0E2F2E200E2069300E40693C7 +S1131A10EFE6F4E214861586168617861286138678 +S1131A2010920D220F9108950F9385E080930D225B +S1131A30E9E2F2E204E00593E1E2F2E204E0059374 +S1131A400F9108950F9383E080930D2210922A2220 +S1131A5010922B22E8E2F2E202E006930F9108953D +S1131A60E0917B24F0917C24309709F00994089547 +S1131A70282F2F70082E000C990B392F331F332772 +S1131A80331F832F90E0820F911D820F911D0297C7 +S1131A9049E0489F9001499F300D1124C9018D569A +S1131AA09E4D08958F929F92AF92BF92DF92EF92D4 +S1131AB0FF920F931F93CF93DF93D82ED9DFEC01BE +S1131AC08D2D74DF7C01DC011196EC91E770E150FF +S1131AD0E73040F4F0E0EE0FFF1FEE54FF4D0081BD +S1131AE0118102C008E010E0ED81FE812B813C8170 +S1131AF04881D701D7FE48C016968D919C911797BF +S1131B008E0F9F1F8D839E838217930761F1281B7D +S1131B10390B2115B4E03B0738F02FEF33E0C9014E +S1131B20B80114D5281B390B41FF0AC0C901B801FB +S1131B300DD5AC0191E0452B09F090E0892F01C04F +S1131B4080E0988180FB91F99883F70116821782CF +S1131B502283338329813A818D819E81820F931F51 +S1131B60848395830EC041FF71C04D7F4883D701A4 +S1131B7016961D921C92179712961D921C921397FB +S1131B80F70102E006937BC01296AD90BC901397C8 +S1131B9042FF10C089809A80C901B801D7D4B0E44B +S1131BA0DB9EB00111246D567F4DAC01C4018E0F34 +S1131BB09F1FE6D48D819E818A0D9B1D8D839E83FC +S1131BC02B813C812817390710F42D833E83F701BC +S1131BD086819781A816B906C9F58D819E818217E1 +S1131BE09307A1F1281B390B2115F4E03F0710F0EE +S1131BF02FEF33E0C901B801A9D4281B390BD70151 +S1131C0012961D921C9213972017310778F488813D +S1131C1084608883B0E4DB9EC00111248D569F4DFF +S1131C20F7018483958306831783AACF49815A8158 +S1131C308D819E81840F951FD70114968D939C935B +S1131C40159716962D933C9317979ACF888180FF0A +S1131C5016C08E7F8883EF81F885309781F06D817F +S1131C607E814D2D80E0DF91CF911F910F91FF90E8 +S1131C70EF90DF90BF90AF909F908F900994DF9189 +S1131C80CF911F910F91FF90EF90DF90BF90AF9095 +S1131C909F908F9008950F93CF93DF9380910D229F +S1131CA0833029F4DDDEDF91CF910F9196CE209120 +S1131CB0092230910A22C0917924D0917A24C21B3E +S1131CC0D30B61F580910B2290910C22820F931F0C +S1131CD080930B2290930C222091752430917624CA +S1131CE02817390721F08091D220882331F084E02D +S1131CF080930D22E0E2F2E236C0E0917D24F0917F +S1131D007E24309799F00995882381F01092092256 +S1131D1010920A22C0917924D0917A24C034D1053A +S1131D2028F01092D220C0E4D0E003C081E0809378 +S1131D30D220C0932A22D0932B2280910922909101 +S1131D400A222091772430917824280F391F209378 +S1131D502C2230932D22C80FD91FC0930922D0936F +S1131D600A22E8E2F2E202E00693DF91CF910F91BA +S1131D7008950F93CF93DF931F92CDB7DEB7809171 +S1131D80CC0480FF65C021E02093CC0480E292E281 +S1131D90FC0100E80693E8E2F2E200E806932093EF +S1131DA0CA04FC0100E1069380910D22882329F0E6 +S1131DB08350823008F454DE10DE80912222909108 +S1131DC02322089709F046C088E0E9ECF1E2AFE687 +S1131DD0B4E201900D928A95E1F78091C804806283 +S1131DE08093C8048091C80480628093C8045EDA3A +S1131DF0811102C019DE2EC090916F2497FF0EC08E +S1131E0010920B2210920C221092092210920A2294 +S1131E1092E090930D2289833EDF08C020917524BF +S1131E2030917624232B21F489830CDE898113C01D +S1131E3010920B2210920C221092092210920A2264 +S1131E4091E090930D22E0E2F2E202E0069303C0F7 +S1131E5080E001C081E00F90DF91CF910F91089550 +S1131E60CF93CFB7F89481E08EDDEAECF4E080E420 +S1131E70808380E28083E1ECF4E080818160808370 +S1131E80A9ECB4E08C9182608C93E8ECF4E080815E +S1131E90806480838C9181608C938081806880834E +S1131EA0CFBFCF910895CF931092600080E37AD88A +S1131EB08091C00480648093C00481E080936000BA +S1131EC0CFB7F89480E090E0FC0123E0EE0FFF1F11 +S1131ED02A95E1F7E05FFD4D118A0196883091055E +S1131EE099F7809193218E7F8093932180919C21F7 +S1131EF08E7F80939C218091A5218E7F8093A52144 +S1131F008091AE218E7F8093AE218091B7218E7F08 +S1131F108093B7218091C0218E7F8093C0216AE194 +S1131F2070E082E008DD8F3F09F48FE18093FA04CA +S1131F306BE170E082E0FFDC8F3F09F48FE1809376 +S1131F40FB048091C00483608093C0048091C0042A +S1131F5080688093C0048091C00480618093C00431 +S1131F6080E292E28093C6049093C7048091C004F7 +S1131F7080628093C0048FEF8093C5048091C8046D +S1131F8082608093C8041092642285E0DEDC68DFFE +S1131F90CFBFCF9108958093C30408958091C30463 +S1131FA00895EFE6F4E28087918762877387089546 +S1131FB00F931F93CF93DF931F92CDB7DEB78A01A0 +S1131FC06983F4DCFC018181807C698181113AC0E0 +S1131FD06370613019F020F080E803C080EC01C028 +S1131FE080E400381105E9F058F400321105A9F035 +S1131FF000341105A1F000311105C9F491E018C0B5 +S1132000011592E0190779F00F3F93E0190769F081 +S11320100115114061F495E00BC092E009C093E012 +S113202007C094E005C096E003C097E001C090E0CB +S1132030118226E02083982B9183818180628183A1 +S113204081E001C080E00F90DF91CF911F910F914B +S11320500895ACDCFC01818182FB882780F9089516 +S1132060CF93C82FA3DCFC01818182FF0FC0918133 +S11320709B7F91838C2FFCDCFC01908190FF06C038 +S11320809E7F90830780F085E02D099581E0CF91B4 +S113209008958F929F92AF92BF92DF92EF92FF9238 +S11320A00F931F93CF93DF931F92CDB7DEB7D82E34 +S11320B05A0179016983DCDC4C018D2D77DC9C01AC +S11320C0DC0111968C911197807C6981882309F435 +S11320D05EC011968C911197807C803C21F0119602 +S11320E08C9182FD54C09FB7F894F401808180FFE5 +S11320F002C09FBF4CC0816080839FBFF401A18256 +S1132100B282E382F482158216820783108791E0FB +S1132110611104C0E114F10409F090E0D4018C9140 +S113212090FB81F98B7F8C93D7FE04C0F901168252 +S1132130178229C0D90111968C911197807C803C1B +S1132140C9F41196EC91E770E150E73040F4F0E007 +S1132150EE0FFF1FEE54FF4D6081718102C068E0F5 +S113216070E0C701F3D1892B29F0F40180818E7FBF +S113217080830DC0D90112961D921C921397169656 +S11321801D921C9217978D2D8DDC81E001C080E09B +S11321900F90DF91CF911F910F91FF90EF90DF90FF +S11321A0BF90AF909F908F900895EF92FF920F93FE +S11321B0CF93C82FFBDB7C018C2F5ADCDC01F701A9 +S11321C002E005939C9190FF1BC09E7F9C93179601 +S11321D0ED91FC911897309799F0D701C7FF05C08E +S11321E016966D917C91179704C012966D917C910F +S11321F013974C2F81E0CF910F91FF90EF900994AA +S1132200CF910F91FF90EF900895CF93C82FCDDF1A +S11322108C2FCCDBFC011182CF9108950F93CF93C7 +S1132220C82FC4DBFC0191819460918301E0069383 +S11322308C2FBBDF81E0CF910F9108951F920F92F5 +S11322400FB60F9211240F932F933F934F935F93E5 +S11322506F937F938F939F93AF93BF93EF93FF936A +S11322608091CB0487FF08C080E88093CA040E9451 +S113227031090E94AF0186C08091CB0482FF18C04F +S113228084E08093CA048091282286FF7BC08091D9 +S1132290CC0481FD77C06DDD811174C080910D2265 +S11322A0813011F4CFDB6EC0843009F06BC021C0E3 +S11322B08091CB0481FF26C082E08093CA04809180 +S11322C0202286FF5FC08091CC0481FD5BC051DD7C +S11322D0811158C080910D22823041F484E08093B2 +S11322E00D22E0E2F2E202E006934CC0833009F0F2 +S11322F049C0E9E2F2E204E00593E1E2F2E204E03B +S1132300059340C08091CB0484FF25C080E1809375 +S1132310CA0481E04ADF81E848DF82E046DF82E8E0 +S113232044DF0E9415091092C3041092212296E002 +S11323309093202283E48093212210922922909367 +S113234028228093292289EC91E28093242290937D +S1132350252243DB17C08091CB0486FF08C080E4AC +S11323608093CA0480E00FDB0E94AD010BC0809112 +S1132370CB0485FF07C080E28093CA0481E003DBBD +S11323800E94AE01FF91EF91BF91AF919F918F9108 +S11323907F916F915F914F913F912F910F910F908A +S11323A00FBE0F901F9018951F920F920FB60F92A9 +S11323B011240F931F932F933F934F935F936F9326 +S11323C07F938F939F93AF93BF93CF93DF93EF93B9 +S11323D0FF938091CC0481FF1AC082E08093CC04E7 +S11323E08091C5048195880FE0E2F2E2E81BF109CF +S11323F0208131812052324283E0369527958A9597 +S1132400E1F7822F869520FD06C0C0E005C0B1DC4F +S1132410882319F386C0C0E8C80F8C2FC7DAFC01E3 +S1132420208125FF7EC000E20693C11174C0809113 +S11324300D22843019F414DBD0DA73C00091222207 +S1132440109123228091792490917A24C0910922B9 +S1132450D0910A229E01200F311F8217930718F48E +S11324608C010C1B1D0B8091772490917824A8017A +S113247069EC71E28C0F9D1F83D0C00FD11FC093F4 +S11324800922D0930A220034110569F480910B22A9 +S113249090910C228C0F9D1F2091752430917624ED +S11324A08217930788F0C0937924D0937A24E0911B +S11324B07D24F0917E24309729F00995811102C082 +S11324C0B3DA2FC0BFDA2DC08091792490917A2499 +S11324D08C179D07D9F4E0917D24F0917E243097E8 +S11324E079F30995882361F320910B2230910C2212 +S11324F08091092290910A22820F931F80930B22CC +S113250090930C221092092210920A22E0E2F2E245 +S113251002E0069306C0C03811F4BDDB02C08C2F64 +S1132520C1DAFF91EF91DF91CF91BF91AF919F916C +S11325308F917F916F915F914F913F912F911F9157 +S11325400F910F900FBE0F901F901895AA1BBB1BE5 +S113255051E107C0AA1FBB1FA617B70710F0A61B9F +S1132560B70B881F991F5A95A9F780959095BC01C0 +S1132570CD010895EE0FFF1F0590F491E02D09940D +S1132580FB01DC0102C001900D9241505040D8F78C +S10925900895F894FFCF4A +S1132596FF5580008000FB07F5070508F2070000D9 +S11325A64420162000001C201A20062009022700B9 +S11325B601010080FA0904000003FFFFFF0007057C +S11325C6810100010107058201000101070583015C +S11325D6000101001201000200000040EB0300A00C +S11325E600020102000100000003000000000000D8 +S11325F600000000000000000000000000000000D1 +S113260600000000000000000000000000000000C0 +S113261600000000000000000000555342476F62AE +S1132626696E6461722044756D6D792044657669BE +S1132636636500546170697254656368000004033D +S11326460904100020004000800000010002FF037E S9030000FC diff --git a/AVR Code/USB_BULK_TEST/Release/src/ASF/common/services/usb/udc/udc.o b/AVR Code/USB_BULK_TEST/Release/src/ASF/common/services/usb/udc/udc.o index 598a5bc419e0c69c5ca45e8d4d972c15f4d3182c..b661232e967cee17d78ea779945e1c1256795517 100644 GIT binary patch delta 23 ccmeB4?n&NoPk_nTVDke3ElCi~qt(C;0BUmwod5s; delta 23 ccmeB4?n&NoPk_nDX!8RBElCi~qt(C;0BVH?p8x;= diff --git a/AVR Code/USB_BULK_TEST/Release/src/main.o b/AVR Code/USB_BULK_TEST/Release/src/main.o index 05545476c13c6ab9706f3d94fd4cd030b163f851..27c4f8a131f3c004056a8b7f39c7fed3d77ce9a9 100644 GIT binary patch delta 1798 zcma)6TWkzb82)E=wn}=Lo!zdYWtDEVwAn?dyT-PPYJ_chXl%RHq@fXY2@lxqlMtlq z)D!W9kRXvwJW1nG;#v{a&}6-MLPSVJ;`04xW}D6^>A(5U`M&Rb=gfc3nVnnJ$tC>( zwcDF2yH^v)gfam^l+5&JlITOoe&ocuNa=G@-|CI;1N|wYzD&xKl(UWvq#KncmvUBI z)E*@iBI5MWm*3X_#`7Tu|LNeBs@>n>;C&8$+rdXvO5o8%(8-`Y`p5ub@_Ztf$)o5D zDj?nBT%?C)QHjObr6U(Q_<9F#aqzt^^Z7hqE|72-1|0mRgAZDKCFUFW4O!eQu#DbY zJV%cE=!eBM$^B#`7$HnyI#mMjWZn&5$#QGlT(FoLt#Oulywx^7gW7F;ChfEF66&=$ zpRk8YDSpx>%%;<}2?4rb<8$c}I2Xfr#06Xjm$zo|yOy6Vyom=|dhL``O5(u5uFj60 z&RAq?U2H>RC>E*T5v_|vwufTzaO}|Gj>BECuHGXZJ%?f;n!GpsPjA@1ZsNZSJIwGp z7Y>gvc=7)Wp2!=|?(W|Uqlif_{I@quB2(ZKBe_E&J@us;52usUt}2POxPqK=z6_%E z$SD?%0Bf~q5DiH7e8Lqr0<(v46R@@d4PqNox(HZk4Eusght&@<>pmP-v?HAQ~wFxd8QH(U|C8QE` zE|0mp*{t(+5M{`$J|EcF$STnSWLB>NHh9a38e~=v0UMiGC0dHi>fvP|hPf%?)5s32 zW_=491lOo>C5Yy9QT|R%eV!-wdz#had@+cwJzo?URrvnCQ@o1d34-j H9T|TBZFxbL delta 988 zcmZ9KO=uHA6vy98(%R;G*KBqZ+Zq#^m4f0IMf|8SQn3;w#e)!}YZQ?l{J{1kLR0T* z(wB>$RHH~iK?!)Vdhk|yD|iq*1i^zhD=6xvzL`$M-M2jE{pLUKV|TW?`}ww7nm1zg z%xj$5*pGv3G*YVr%(m-VwOvJk)^%3&vD3KZU!DOnPOd`;ZZbg~4#T|S67A^_ftQNK zqQNFuR4j60JPa2rlb5!i1IIa8a*jDp zE7mi~@MGXh&)J>M)O2O~JiZNnXx$4vV7+C^_eB6kkVW?n9uOq~EOPyz455z}p9YYp zb%0zS!HKAuJVYVcR`QNIM6sU7TcjQq8eJ`UM;)eEFW|eV89yR4fC9NcEh2zo>udCs zpDzZm5I@2FL7bzd7{t%kf|95lp#_3)D0^&l9;{X5v diff --git a/AVR Code/USB_BULK_TEST/Release/src/tiny_dma.d b/AVR Code/USB_BULK_TEST/Release/src/tiny_dma.d index 66b04bec..b8574731 100644 --- a/AVR Code/USB_BULK_TEST/Release/src/tiny_dma.d +++ b/AVR Code/USB_BULK_TEST/Release/src/tiny_dma.d @@ -64,7 +64,10 @@ src/tiny_dma.d src/tiny_dma.o: ../src/tiny_dma.c ../src/tiny_dma.h \ ../src/ASF/common/services/usb/udc/udd.h \ ../src/ASF/common/services/usb/class/vendor/device/udi_vendor.h \ ../src/ASF/xmega/utils/status_codes.h ../src/globals.h ../src/tiny_adc.h \ - ../src/tiny_uart.h + ../src/tiny_uart.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h ../src/tiny_dma.h: @@ -215,3 +218,9 @@ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\ ../src/tiny_adc.h: ../src/tiny_uart.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: 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 7eb26a62ad0646866760b4d9964b3de61e1568c3..3f6633afba20d471c1db01a5333229b30f3883b0 100644 GIT binary patch delta 2181 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 gS=AXMCI@~ delta 97 zcmbQh)4?-AfiYmBqA_d7o5p6rjq&M>lNYdXOuoQ)fw5)tLZ)mc#+J#vtjdf#CL6M< lGX_kK1d?@=8-e7T$t!{6hRGLM)g>-4F)-9IAOItj2>{jQ81(=E diff --git a/AVR Code/USB_BULK_TEST/src/globals.h b/AVR Code/USB_BULK_TEST/src/globals.h index 50242ba7..078300b8 100644 --- a/AVR Code/USB_BULK_TEST/src/globals.h +++ b/AVR Code/USB_BULK_TEST/src/globals.h @@ -47,4 +47,16 @@ extern volatile char PSU_target; extern volatile unsigned char test_byte; +extern volatile unsigned char precalc_DMA_CH0_DESTADDR0_b1_state_equals_0; +extern volatile unsigned char precalc_DMA_CH0_DESTADDR0_b1_state_equals_1; +extern volatile unsigned char precalc_DMA_CH0_DESTADDR1_b1_state_equals_0; +extern volatile unsigned char precalc_DMA_CH0_DESTADDR1_b1_state_equals_1; + +extern volatile unsigned char precalc_DMA_CH1_DESTADDR0_b2_state_equals_0; +extern volatile unsigned char precalc_DMA_CH1_DESTADDR0_b2_state_equals_1; +extern volatile unsigned char precalc_DMA_CH1_DESTADDR1_b2_state_equals_0; +extern volatile unsigned char precalc_DMA_CH1_DESTADDR1_b2_state_equals_1; + + + #endif /* GLOBALS_H_ */ \ No newline at end of file diff --git a/AVR Code/USB_BULK_TEST/src/main.c b/AVR Code/USB_BULK_TEST/src/main.c index e0b56d88..e1cee03f 100644 --- a/AVR Code/USB_BULK_TEST/src/main.c +++ b/AVR Code/USB_BULK_TEST/src/main.c @@ -36,6 +36,18 @@ uint32_t debug_counter; unsigned char tripleUsbSuccess = 0; +volatile unsigned char precalc_DMA_CH0_DESTADDR0_b1_state_equals_0; +volatile unsigned char precalc_DMA_CH0_DESTADDR0_b1_state_equals_1; +volatile unsigned char precalc_DMA_CH0_DESTADDR1_b1_state_equals_0; +volatile unsigned char precalc_DMA_CH0_DESTADDR1_b1_state_equals_1; + +volatile unsigned char precalc_DMA_CH1_DESTADDR0_b2_state_equals_0; +volatile unsigned char precalc_DMA_CH1_DESTADDR0_b2_state_equals_1; +volatile unsigned char precalc_DMA_CH1_DESTADDR1_b2_state_equals_0; +volatile unsigned char precalc_DMA_CH1_DESTADDR1_b2_state_equals_1; + + + int main(void){ irq_initialize_vectors(); cpu_irq_enable(); @@ -55,6 +67,18 @@ int main(void){ //USARTC0.DATA = 0x55; //asm("nop"); + + precalc_DMA_CH0_DESTADDR0_b1_state_equals_0 = (( (uint16_t) &isoBuf[0 * PACKET_SIZE]) >> 0) & 0xFF; + precalc_DMA_CH0_DESTADDR0_b1_state_equals_1 = (( (uint16_t) &isoBuf[1 * PACKET_SIZE]) >> 0) & 0xFF; + precalc_DMA_CH0_DESTADDR1_b1_state_equals_0 = (( (uint16_t) &isoBuf[0 * PACKET_SIZE]) >> 8) & 0xFF; + precalc_DMA_CH0_DESTADDR1_b1_state_equals_1 = (( (uint16_t) &isoBuf[1 * PACKET_SIZE]) >> 8) & 0xFF; + + precalc_DMA_CH1_DESTADDR0_b2_state_equals_0 = (( (uint16_t) &isoBuf[0 * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; + precalc_DMA_CH1_DESTADDR0_b2_state_equals_1 = (( (uint16_t) &isoBuf[1 * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; + precalc_DMA_CH1_DESTADDR1_b2_state_equals_0 = (( (uint16_t) &isoBuf[0 * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; + precalc_DMA_CH1_DESTADDR1_b2_state_equals_1 = (( (uint16_t) &isoBuf[1 * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; + + while (true) { debug_counter++; if(debug_counter > 100000000){ @@ -120,7 +144,9 @@ void main_sof_action(void) default: break; } - usb_state = !b1_state; + cli(); + usb_state = !usb_state; + sei(); return; } @@ -150,19 +176,19 @@ 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[usb_state * PACKET_SIZE], 250, iso_callback); - //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[0], PACKET_SIZE, iso_callback); + //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[!usb_state * PACKET_SIZE], PACKET_SIZE, iso_callback); return; } void iso_callback2(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_t ep){ udi_vendor_iso_in_run2((uint8_t *)&isoBuf[usb_state * PACKET_SIZE + 250], 250, iso_callback2); - //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[0], PACKET_SIZE, iso_callback); + //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[!usb_state * PACKET_SIZE + 250], PACKET_SIZE, iso_callback); return; } void iso_callback3(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_t ep){ udi_vendor_iso_in_run3((uint8_t *)&isoBuf[usb_state * PACKET_SIZE + 500], 250, iso_callback3); - //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[0], PACKET_SIZE, iso_callback); + //if((int8_t) USB.FIFORP > -16) udi_vendor_iso_in_run((uint8_t *)&isoBuf[!usb_state * PACKET_SIZE + 500], PACKET_SIZE, iso_callback); return; } diff --git a/AVR Code/USB_BULK_TEST/src/tiny_dma.c b/AVR Code/USB_BULK_TEST/src/tiny_dma.c index 148be35d..b4ef1e75 100644 --- a/AVR Code/USB_BULK_TEST/src/tiny_dma.c +++ b/AVR Code/USB_BULK_TEST/src/tiny_dma.c @@ -9,12 +9,13 @@ #include "tiny_adc.h" #include "tiny_uart.h" #include "globals.h" +#include void tiny_dma_setup(void){ //Turn on DMA PR.PRGEN &=0b111111110; //Turn on DMA clk - DMA.CTRL = DMA_ENABLE_bm | DMA_PRIMODE_CH0123_gc; + DMA.CTRL = DMA_ENABLE_bm | DMA_PRIMODE_CH01RR23_gc; } void tiny_dma_flush(void){ DMA.CH0.CTRLA = 0x00; @@ -31,6 +32,7 @@ void tiny_dma_flush(void){ b1_state = 0; b2_state = 0; + usb_state = 0; } void tiny_dma_set_mode_0(void){ @@ -216,7 +218,7 @@ void tiny_dma_set_mode_2(void){ 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.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_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 @@ -233,7 +235,7 @@ void tiny_dma_set_mode_2(void){ DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! DMA.CH0.CTRLB = 0x03; //No interrupt! 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. - DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 + DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from ADCA channel 0 DMA.CH0.TRFCNT = HALFPACKET_SIZE; DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC @@ -243,14 +245,11 @@ void tiny_dma_set_mode_2(void){ DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; DMA.CH0.DESTADDR2 = 0x00; - - //Must enable last for REPCNT won't work! - DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - + DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! DMA.CH1.CTRLB = 0x03; //No interrupt! 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. - DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH2_gc; //Triggered from ADCA channel 0 + DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH0_gc; //Triggered from ADCA channel 0 DMA.CH1.TRFCNT = HALFPACKET_SIZE; DMA.CH1.SRCADDR0 = (( (uint16_t) &ADCA.CH2.RESL) >> 0) & 0xFF; //Source address is ADC @@ -261,6 +260,9 @@ void tiny_dma_set_mode_2(void){ DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; DMA.CH1.DESTADDR2 = 0x00; + //Must enable last for REPCNT won't work! + DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + _delay_us(5); //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! sei(); @@ -632,7 +634,25 @@ void tiny_dma_loop_mode_7(void){ } ISR(DMA_CH0_vect){ + DMA.CH0.TRFCNT = HALFPACKET_SIZE; + if(b1_state){ + DMA.CH0.DESTADDR0 = precalc_DMA_CH0_DESTADDR0_b1_state_equals_1; + DMA.CH0.DESTADDR1 = precalc_DMA_CH0_DESTADDR1_b1_state_equals_1; + } else { + DMA.CH0.DESTADDR0 = precalc_DMA_CH0_DESTADDR0_b1_state_equals_0; + DMA.CH0.DESTADDR1 = precalc_DMA_CH0_DESTADDR1_b1_state_equals_0; + } + //Must enable last for REPCNT won't work! + asm("nop"); + asm("nop"); + + + DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + EVSYS.STROBE = 0x02; + b1_state = !b1_state; DMA.INTFLAGS = 0x01; + + /* switch(global_mode){ case 0: DMA.CH0.TRFCNT = HALFPACKET_SIZE; @@ -694,10 +714,30 @@ ISR(DMA_CH0_vect){ //////////////////////////////////////// break; } + */ } ISR(DMA_CH1_vect){ + DMA.CH1.TRFCNT = HALFPACKET_SIZE; + + if(b2_state){ + DMA.CH1.DESTADDR0 = precalc_DMA_CH1_DESTADDR0_b2_state_equals_1; + DMA.CH1.DESTADDR1 = precalc_DMA_CH1_DESTADDR1_b2_state_equals_1; + } else { + DMA.CH1.DESTADDR0 = precalc_DMA_CH1_DESTADDR0_b2_state_equals_0; + DMA.CH1.DESTADDR1 = precalc_DMA_CH1_DESTADDR1_b2_state_equals_0; + } + //Must enable last for REPCNT won't work! + asm("nop"); + asm("nop"); + + + DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + EVSYS.STROBE = 0x01; + b2_state = !b2_state; DMA.INTFLAGS = 0x02; + + /* switch(global_mode){ case 0: //////////////////////////////////////// @@ -715,7 +755,13 @@ ISR(DMA_CH1_vect){ DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; //Must enable last for REPCNT won't work! - DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + if(ADCA_CH2_INTFLAGS){ + DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + EVSYS.STROBE = 0x01; + } + else{ + DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + } b2_state = !b2_state; break; case 3: @@ -734,23 +780,24 @@ ISR(DMA_CH1_vect){ //////////////////////////////////////// break; } + */ } ISR(DMA_CH2_vect){ - DMA.INTFLAGS = 0x04; + /*DMA.INTFLAGS = 0x04; DMA.CH2.TRFCNT = HALFPACKET_SIZE; DMA.CH2.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf DMA.CH2.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - b2_state = !b2_state; + b2_state = !b2_state;*/ } ISR(DMA_CH3_vect){ - DMA.INTFLAGS = 0x08; + /*DMA.INTFLAGS = 0x08; DMA.CH3.TRFCNT = HALFPACKET_SIZE; DMA.CH3.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf DMA.CH3.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 8) & 0xFF; //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - b2_state = !b2_state; + b2_state = !b2_state;*/ } diff --git a/AVR Code/USB_BULK_TEST/src/tiny_timer.c b/AVR Code/USB_BULK_TEST/src/tiny_timer.c index 95c8a9df..9eaccd18 100644 --- a/AVR Code/USB_BULK_TEST/src/tiny_timer.c +++ b/AVR Code/USB_BULK_TEST/src/tiny_timer.c @@ -21,8 +21,12 @@ void tiny_timer_setup(void){ EVSYS.CH2MUX = TCDAC_OVF; EVSYS.CH2CTRL = 0x00; //No filtering or Quadrature stuff - EVSYS.CH1MUX = TCDAC_AUX_OVF; + EVSYS.CH1MUX = EVSYS_CHMUX_ADCA_CH0_gc; EVSYS.CH1CTRL = 0x00; //No filtering or Quadrature stuff + + EVSYS.CH0MUX = EVSYS_CHMUX_ADCA_CH2_gc; + EVSYS.CH0CTRL = 0x00; //No filtering or Quadrature stuff + //Waveform (50Hz sin wave) TC_DAC.CTRLA = 0x04; //Some clk setting - not 100% sure since it was SW generated diff --git a/Desktop Interface/Labrador.pro.user b/Desktop Interface/Labrador.pro.user index eab0c113..4d3522f6 100644 --- a/Desktop Interface/Labrador.pro.user +++ b/Desktop Interface/Labrador.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -292,7 +292,7 @@ Labrador.pro false - + C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface/bin 3768 false true diff --git a/Desktop Interface/bin/Labrador.exe b/Desktop Interface/bin/Labrador.exe index 5bf3e8d901e99d5dc5e40a919e318c81a86f761f..b27e81b23db1ff7a68b0f0281b0f6b5688505dc6 100644 GIT binary patch delta 57 zcmZp;qSbIkYl8$MQ(Snn6l1#-BM37AF*6Xe05K~NvjH(X5OV-A=XNPZu4gL%rVb5c delta 57 zcmZp;qSbIkYl8$M6Q5VJ6l1#-BM37AF*6Xe05K~NvjH(X5OV-A=XNPZu4gL%l?V+7