Forum: Mikrocontroller und Digitale Elektronik RNmega2560 via Bootloader programmieren


von N. G. (newgeneration) Benutzerseite


Lesenswert?

Hi Leute,

eine mehr oder weniger kurze Frage, bei der ich mir aber nicht sicher 
bin, dass sie mir hier einer beantworten kann.

Infos:
ich hab von einem Freund ein RN-mega2560 bekommen und wollte diesen nun 
über den den vorcompilierten Bootloader von robotikhardware.de 
programmieren. Ich nutze eigentlich AVR-Studio 4 oder 6 also wäre es 
praktisch, wenn man den mega2560 direkt über das Studio ansprechen 
könnte.
Hier der Link zum Shop, dort ist auch der bootloader zum download:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=64&products_id=162
ich Ich habe zwar auch ISP-Hardware, aber der USBBootloader wäre mir 
lieber.

Dazu noch eine andere Frage: kann man das hex-File irgendwie wieder 
disassemblieren? so, dass man grob die funktionsweise zu sehen bekommt?
ich hoffe es gibt hier Personen mit diesem speziellen Wissen

mfG
N. G.

von Erstaunt (Gast)


Lesenswert?

Puh 60 Euro!? fuer sowas?
Das ist hard.
Eine einfache TQFP100 Adapterplatine, einen Quarz und aufgeflashten 
USBaspLoader waeren wohl um einiges preiswerter.
(Und wuerden vermutlich besser funktionieren.)

von Georg G. (df2au)


Lesenswert?

N. G. schrieb:
> Dazu noch eine andere Frage: kann man das hex-File irgendwie wieder
> disassemblieren?

Ja, das kann man. Abhängig davon, in welcher Sprache das ursprüngliche 
Programm geschrieben war, dauert es aber recht lange, bis man die 
Abläufe verstanden hat. Für Anfänger ist es eine meist unlösbare 
Aufgabe.

von N. G. (newgeneration) Benutzerseite


Lesenswert?

Erstaunt schrieb:
> Puh 60 Euro!? fuer sowas
Ja, hast du recht, aber es ist um einiges leichter so was einzustecken 
als beim bricken vom MCU die 100 mikro-smd-pins umzulöten.
und ich zahls ja nicht.

Georg G. schrieb:
> Für Anfänger ist es eine meist unlösbare
> Aufgabe.
Ich bin was AVR angeht kein Anfänger(ja sagen alle, werden wir ja sehen, 
obs stimmt), aber was disassemblieren angeht hast du voll ACK.
Ursprungssprache ist mir leider nicht bekannt, tippe aber auf bascom, da 
robotikhardware dies hauptsächlich verwendet.

von Erstaunt (Gast)


Lesenswert?

1.) HEX file in ELF konvertieren:
1
 avr-objcopy -I ihex -O elf32-avr datei.hex datei.elf

2.) alle Sektionen der ELF disassemblieren (weil in der hex nicht mehr 
bekannt war, was .text und was .data war)
[code] avr-objdump -D datei.elf [\code]

MfG

von Erstaunt (Gast)


Lesenswert?

1.) HEX file in ELF konvertieren:
1
 avr-objcopy -I ihex -O elf32-avr datei.hex datei.elf

2.) alle Sektionen der ELF disassemblieren (weil in der hex nicht mehr 
bekannt war, was .text und was .data war)
1
 avr-objdump -D datei.elf

MfG

von N. G. (newgeneration) Benutzerseite


Lesenswert?

danke, das teste ich gleich mal

von Grendel (Gast)


Lesenswert?

Erstaunt schrieb:
> Puh 60 Euro!? fuer sowas?

Das Modul ist schon seit 2006 unverändert im Verkauf soweit ich mich 
erinnern kann, der Preis wurde nie an die neuen Verhältnisse (Arduino) 
angepasst - geht auch gar nicht wenn die Stückzahl nicht hoch genug ist.
(btw. Roboternetz.de wäre die richtige Adresse für alle Fragen zu dem 
Modul)

von N. G. (newgeneration) Benutzerseite


Lesenswert?

So, hier mal der Output:
1
   3f800:  8f ef         ldi  r24, 0xFF  ; 255
2
   3f802:  8d bf         out  0x3d, r24  ; 61
3
   3f804:  c8 ed         ldi  r28, 0xD8  ; 216
4
   3f806:  e0 ea         ldi  r30, 0xA0  ; 160
5
   3f808:  4e 2e         mov  r4, r30
6
   3f80a:  81 e2         ldi  r24, 0x21  ; 33
7
   3f80c:  8e bf         out  0x3e, r24  ; 62
8
   3f80e:  d1 e2         ldi  r29, 0x21  ; 33
9
   3f810:  f1 e2         ldi  r31, 0x21  ; 33
10
   3f812:  5f 2e         mov  r5, r31
11
   3f814:  ee ef         ldi  r30, 0xFE  ; 254
12
   3f816:  ff e1         ldi  r31, 0x1F  ; 31
13
   3f818:  a0 e0         ldi  r26, 0x00  ; 0
14
   3f81a:  b2 e0         ldi  r27, 0x02  ; 2
15
   3f81c:  88 27         eor  r24, r24
16
   3f81e:  8d 93         st  X+, r24
17
   3f820:  31 97         sbiw  r30, 0x01  ; 1
18
   3f822:  e9 f7         brne  .-6        ;  0x3f81e
19
   3f824:  89 e1         ldi  r24, 0x19  ; 25
20
   3f826:  80 93 c4 00   sts  0x00C4, r24
21
   3f82a:  80 e0         ldi  r24, 0x00  ; 0
22
   3f82c:  80 93 c5 00   sts  0x00C5, r24
23
   3f830:  88 e1         ldi  r24, 0x18  ; 24
24
   3f832:  80 93 c1 00   sts  0x00C1, r24
25
   3f836:  66 24         eor  r6, r6
26
   3f838:  89 e1         ldi  r24, 0x19  ; 25
27
   3f83a:  80 93 34 01   sts  0x0134, r24
28
   3f83e:  80 e0         ldi  r24, 0x00  ; 0
29
   3f840:  80 93 35 01   sts  0x0135, r24
30
   3f844:  86 e0         ldi  r24, 0x06  ; 6
31
   3f846:  80 93 32 01   sts  0x0132, r24
32
   3f84a:  88 e1         ldi  r24, 0x18  ; 24
33
   3f84c:  80 93 31 01   sts  0x0131, r24
34
   3f850:  f8 94         cli
35
   3f852:  55 9a         sbi  0x0a, 5  ; 10
36
   3f854:  5d 9a         sbi  0x0b, 5  ; 11
37
   3f856:  55 9a         sbi  0x0a, 5  ; 10
38
   3f858:  5d 9a         sbi  0x0b, 5  ; 11
39
   3f85a:  a6 e9         ldi  r26, 0x96  ; 150
40
   3f85c:  b2 e0         ldi  r27, 0x02  ; 2
41
   3f85e:  ee ea         ldi  r30, 0xAE  ; 174
42
   3f860:  fe ef         ldi  r31, 0xFE  ; 254
43
   3f862:  0f 94 38 ff   call  0x3fe70  ;  0x3fe70
44
   3f866:  0f 94 16 ff   call  0x3fe2c  ;  0x3fe2c
45
   3f86a:  85 e0         ldi  r24, 0x05  ; 5
46
   3f86c:  80 93 02 02   sts  0x0202, r24
47
   3f870:  0f 94 af fe   call  0x3fd5e  ;  0x3fd5e
48
   3f874:  a1 e0         ldi  r26, 0x01  ; 1
49
   3f876:  b2 e0         ldi  r27, 0x02  ; 2
50
   3f878:  8c 93         st  X, r24
51
   3f87a:  a1 e0         ldi  r26, 0x01  ; 1
52
   3f87c:  b2 e0         ldi  r27, 0x02  ; 2
53
   3f87e:  8c 91         ld  r24, X
54
   3f880:  0f 94 d8 fe   call  0x3fdb0  ;  0x3fdb0
55
   3f884:  00 91 01 02   lds  r16, 0x0201
56
   3f888:  0b 37         cpi  r16, 0x7B  ; 123
57
   3f88a:  11 f0         breq  .+4        ;  0x3f890
58
   3f88c:  0d 94 4f fc   jmp  0x3f89e  ;  0x3f89e
59
   3f890:  80 e0         ldi  r24, 0x00  ; 0
60
   3f892:  80 93 94 02   sts  0x0294, r24
61
   3f896:  0d 94 8b fc   jmp  0x3f916  ;  0x3f916
62
   3f89a:  0d 94 6f fc   jmp  0x3f8de  ;  0x3f8de
63
   3f89e:  00 91 01 02   lds  r16, 0x0201
64
   3f8a2:  0c 37         cpi  r16, 0x7C  ; 124
65
   3f8a4:  11 f0         breq  .+4        ;  0x3f8aa
66
   3f8a6:  0d 94 5c fc   jmp  0x3f8b8  ;  0x3f8b8
67
   3f8aa:  81 e0         ldi  r24, 0x01  ; 1
68
   3f8ac:  80 93 94 02   sts  0x0294, r24
69
   3f8b0:  0d 94 8b fc   jmp  0x3f916  ;  0x3f916
70
   3f8b4:  0d 94 6f fc   jmp  0x3f8de  ;  0x3f8de
71
   3f8b8:  00 91 01 02   lds  r16, 0x0201
72
   3f8bc:  00 30         cpi  r16, 0x00  ; 0
73
   3f8be:  11 f4         brne  .+4        ;  0x3f8c4
74
   3f8c0:  0d 94 6f fc   jmp  0x3f8de  ;  0x3f8de
75
   3f8c4:  80 91 02 02   lds  r24, 0x0202
76
   3f8c8:  81 50         subi  r24, 0x01  ; 1
77
   3f8ca:  80 93 02 02   sts  0x0202, r24
78
   3f8ce:  00 91 02 02   lds  r16, 0x0202
79
   3f8d2:  00 30         cpi  r16, 0x00  ; 0
80
   3f8d4:  11 f4         brne  .+4        ;  0x3f8da
81
   3f8d6:  0d 94 6f fc   jmp  0x3f8de  ;  0x3f8de
82
   3f8da:  0d 94 38 fc   jmp  0x3f870  ;  0x3f870
83
   3f8de:  81 e0         ldi  r24, 0x01  ; 1
84
   3f8e0:  80 93 88 02   sts  0x0288, r24
85
   3f8e4:  00 91 88 02   lds  r16, 0x0288
86
   3f8e8:  0a 30         cpi  r16, 0x0A  ; 10
87
   3f8ea:  18 f0         brcs  .+6        ;  0x3f8f2
88
   3f8ec:  11 f0         breq  .+4        ;  0x3f8f2
89
   3f8ee:  0d 94 89 fc   jmp  0x3f912  ;  0x3f912
90
   3f8f2:  8b b1         in  r24, 0x0b  ; 11
91
   3f8f4:  90 e2         ldi  r25, 0x20  ; 32
92
   3f8f6:  89 27         eor  r24, r25
93
   3f8f8:  8b b9         out  0x0b, r24  ; 11
94
   3f8fa:  84 e6         ldi  r24, 0x64  ; 100
95
   3f8fc:  90 e0         ldi  r25, 0x00  ; 0
96
   3f8fe:  0f 94 e8 fe   call  0x3fdd0  ;  0x3fdd0
97
   3f902:  a8 e8         ldi  r26, 0x88  ; 136
98
   3f904:  b2 e0         ldi  r27, 0x02  ; 2
99
   3f906:  8c 91         ld  r24, X
100
   3f908:  8f 5f         subi  r24, 0xFF  ; 255
101
   3f90a:  8c 93         st  X, r24
102
   3f90c:  10 f4         brcc  .+4        ;  0x3f912
103
   3f90e:  0d 94 72 fc   jmp  0x3f8e4  ;  0x3f8e4
104
   3f912:  0c 94 00 00   jmp  0  ;  0x0
105
   3f916:  0f 94 af fe   call  0x3fd5e  ;  0x3fd5e
106
   3f91a:  a1 e0         ldi  r26, 0x01  ; 1
107
   3f91c:  b2 e0         ldi  r27, 0x02  ; 2
108
   3f91e:  8c 93         st  X, r24
109
   3f920:  00 91 01 02   lds  r16, 0x0201
110
   3f924:  00 30         cpi  r16, 0x00  ; 0
111
   3f926:  11 f0         breq  .+4        ;  0x3f92c
112
   3f928:  0d 94 8b fc   jmp  0x3f916  ;  0x3f916
113
   3f92c:  81 e0         ldi  r24, 0x01  ; 1
114
   3f92e:  80 93 88 02   sts  0x0288, r24
115
   3f932:  00 91 88 02   lds  r16, 0x0288
116
   3f936:  03 30         cpi  r16, 0x03  ; 3
117
   3f938:  18 f0         brcs  .+6        ;  0x3f940
118
   3f93a:  11 f0         breq  .+4        ;  0x3f940
119
   3f93c:  0d 94 b0 fc   jmp  0x3f960  ;  0x3f960
120
   3f940:  8b b1         in  r24, 0x0b  ; 11
121
   3f942:  90 e2         ldi  r25, 0x20  ; 32
122
   3f944:  89 27         eor  r24, r25
123
   3f946:  8b b9         out  0x0b, r24  ; 11
124
   3f948:  82 e3         ldi  r24, 0x32  ; 50
125
   3f94a:  90 e0         ldi  r25, 0x00  ; 0
126
   3f94c:  0f 94 e8 fe   call  0x3fdd0  ;  0x3fdd0
127
   3f950:  a8 e8         ldi  r26, 0x88  ; 136
128
   3f952:  b2 e0         ldi  r27, 0x02  ; 2
129
   3f954:  8c 91         ld  r24, X
130
   3f956:  8f 5f         subi  r24, 0xFF  ; 255
131
   3f958:  8c 93         st  X, r24
132
   3f95a:  10 f4         brcc  .+4        ;  0x3f960
133
   3f95c:  0d 94 99 fc   jmp  0x3f932  ;  0x3f932
134
   3f960:  00 91 94 02   lds  r16, 0x0294
135
   3f964:  00 30         cpi  r16, 0x00  ; 0
136
   3f966:  11 f0         breq  .+4        ;  0x3f96c
137
   3f968:  0d 94 c0 fc   jmp  0x3f980  ;  0x3f980
138
   3f96c:  83 e0         ldi  r24, 0x03  ; 3
139
   3f96e:  80 93 89 02   sts  0x0289, r24
140
   3f972:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
141
   3f976:  81 e1         ldi  r24, 0x11  ; 17
142
   3f978:  80 93 89 02   sts  0x0289, r24
143
   3f97c:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
144
   3f980:  8a e0         ldi  r24, 0x0A  ; 10
145
   3f982:  80 93 02 02   sts  0x0202, r24
146
   3f986:  80 e0         ldi  r24, 0x00  ; 0
147
   3f988:  80 93 95 02   sts  0x0295, r24
148
   3f98c:  80 e0         ldi  r24, 0x00  ; 0
149
   3f98e:  80 93 87 02   sts  0x0287, r24
150
   3f992:  85 e1         ldi  r24, 0x15  ; 21
151
   3f994:  0f 94 d8 fe   call  0x3fdb0  ;  0x3fdb0
152
   3f998:  0f 94 af fe   call  0x3fd5e  ;  0x3fd5e
153
   3f99c:  a1 e0         ldi  r26, 0x01  ; 1
154
   3f99e:  b2 e0         ldi  r27, 0x02  ; 2
155
   3f9a0:  8c 93         st  X, r24
156
   3f9a2:  00 91 01 02   lds  r16, 0x0201
157
   3f9a6:  01 30         cpi  r16, 0x01  ; 1
158
   3f9a8:  11 f0         breq  .+4        ;  0x3f9ae
159
   3f9aa:  0d 94 4b fd   jmp  0x3fa96  ;  0x3fa96
160
   3f9ae:  a4 e0         ldi  r26, 0x04  ; 4
161
   3f9b0:  b2 e0         ldi  r27, 0x02  ; 2
162
   3f9b2:  8c 91         ld  r24, X
163
   3f9b4:  8f 5f         subi  r24, 0xFF  ; 255
164
   3f9b6:  8c 93         st  X, r24
165
   3f9b8:  81 e0         ldi  r24, 0x01  ; 1
166
   3f9ba:  80 93 87 02   sts  0x0287, r24
167
   3f9be:  0f 94 af fe   call  0x3fd5e  ;  0x3fd5e
168
   3f9c2:  a3 e0         ldi  r26, 0x03  ; 3
169
   3f9c4:  b2 e0         ldi  r27, 0x02  ; 2
170
   3f9c6:  8c 93         st  X, r24
171
   3f9c8:  00 91 87 02   lds  r16, 0x0287
172
   3f9cc:  40 91 03 02   lds  r20, 0x0203
173
   3f9d0:  04 0f         add  r16, r20
174
   3f9d2:  a7 e8         ldi  r26, 0x87  ; 135
175
   3f9d4:  b2 e0         ldi  r27, 0x02  ; 2
176
   3f9d6:  0c 93         st  X, r16
177
   3f9d8:  0f 94 af fe   call  0x3fd5e  ;  0x3fd5e
178
   3f9dc:  a5 e0         ldi  r26, 0x05  ; 5
179
   3f9de:  b2 e0         ldi  r27, 0x02  ; 2
180
   3f9e0:  8c 93         st  X, r24
181
   3f9e2:  00 91 87 02   lds  r16, 0x0287
182
   3f9e6:  40 91 05 02   lds  r20, 0x0205
183
   3f9ea:  04 0f         add  r16, r20
184
   3f9ec:  a7 e8         ldi  r26, 0x87  ; 135
185
   3f9ee:  b2 e0         ldi  r27, 0x02  ; 2
186
   3f9f0:  0c 93         st  X, r16
187
   3f9f2:  81 e0         ldi  r24, 0x01  ; 1
188
   3f9f4:  80 93 88 02   sts  0x0288, r24
189
   3f9f8:  00 91 88 02   lds  r16, 0x0288
190
   3f9fc:  00 38         cpi  r16, 0x80  ; 128
191
   3f9fe:  18 f0         brcs  .+6        ;  0x3fa06
192
   3fa00:  11 f0         breq  .+4        ;  0x3fa06
193
   3fa02:  0d 94 25 fd   jmp  0x3fa4a  ;  0x3fa4a
194
   3fa06:  0f 94 af fe   call  0x3fd5e  ;  0x3fd5e
195
   3fa0a:  a8 e8         ldi  r26, 0x88  ; 136
196
   3fa0c:  b2 e0         ldi  r27, 0x02  ; 2
197
   3fa0e:  ad 90         ld  r10, X+
198
   3fa10:  bb 24         eor  r11, r11
199
   3fa12:  a6 e0         ldi  r26, 0x06  ; 6
200
   3fa14:  b2 e0         ldi  r27, 0x02  ; 2
201
   3fa16:  aa 0d         add  r26, r10
202
   3fa18:  bb 1d         adc  r27, r11
203
   3fa1a:  8c 93         st  X, r24
204
   3fa1c:  00 91 87 02   lds  r16, 0x0287
205
   3fa20:  a8 e8         ldi  r26, 0x88  ; 136
206
   3fa22:  b2 e0         ldi  r27, 0x02  ; 2
207
   3fa24:  ad 90         ld  r10, X+
208
   3fa26:  bb 24         eor  r11, r11
209
   3fa28:  a6 e0         ldi  r26, 0x06  ; 6
210
   3fa2a:  b2 e0         ldi  r27, 0x02  ; 2
211
   3fa2c:  aa 0d         add  r26, r10
212
   3fa2e:  bb 1d         adc  r27, r11
213
   3fa30:  4c 91         ld  r20, X
214
   3fa32:  04 0f         add  r16, r20
215
   3fa34:  a7 e8         ldi  r26, 0x87  ; 135
216
   3fa36:  b2 e0         ldi  r27, 0x02  ; 2
217
   3fa38:  0c 93         st  X, r16
218
   3fa3a:  a8 e8         ldi  r26, 0x88  ; 136
219
   3fa3c:  b2 e0         ldi  r27, 0x02  ; 2
220
   3fa3e:  8c 91         ld  r24, X
221
   3fa40:  8f 5f         subi  r24, 0xFF  ; 255
222
   3fa42:  8c 93         st  X, r24
223
   3fa44:  10 f4         brcc  .+4        ;  0x3fa4a
224
   3fa46:  0d 94 fc fc   jmp  0x3f9f8  ;  0x3f9f8
225
   3fa4a:  0f 94 af fe   call  0x3fd5e  ;  0x3fd5e
226
   3fa4e:  a6 e0         ldi  r26, 0x06  ; 6
227
   3fa50:  b2 e0         ldi  r27, 0x02  ; 2
228
   3fa52:  8c 93         st  X, r24
229
   3fa54:  40 91 03 02   lds  r20, 0x0203
230
   3fa58:  00 91 04 02   lds  r16, 0x0204
231
   3fa5c:  04 17         cp  r16, r20
232
   3fa5e:  11 f0         breq  .+4        ;  0x3fa64
233
   3fa60:  0d 94 46 fd   jmp  0x3fa8c  ;  0x3fa8c
234
   3fa64:  40 91 87 02   lds  r20, 0x0287
235
   3fa68:  00 91 06 02   lds  r16, 0x0206
236
   3fa6c:  04 17         cp  r16, r20
237
   3fa6e:  11 f0         breq  .+4        ;  0x3fa74
238
   3fa70:  0d 94 41 fd   jmp  0x3fa82  ;  0x3fa82
239
   3fa74:  0f 94 c8 fd   call  0x3fb90  ;  0x3fb90
240
   3fa78:  86 e0         ldi  r24, 0x06  ; 6
241
   3fa7a:  0f 94 d8 fe   call  0x3fdb0  ;  0x3fdb0
242
   3fa7e:  0d 94 44 fd   jmp  0x3fa88  ;  0x3fa88
243
   3fa82:  85 e1         ldi  r24, 0x15  ; 21
244
   3fa84:  0f 94 d8 fe   call  0x3fdb0  ;  0x3fdb0
245
   3fa88:  0d 94 49 fd   jmp  0x3fa92  ;  0x3fa92
246
   3fa8c:  85 e1         ldi  r24, 0x15  ; 21
247
   3fa8e:  0f 94 d8 fe   call  0x3fdb0  ;  0x3fdb0
248
   3fa92:  0d 94 ae fd   jmp  0x3fb5c  ;  0x3fb5c
249
   3fa96:  04 30         cpi  r16, 0x04  ; 4
250
   3fa98:  11 f0         breq  .+4        ;  0x3fa9e
251
   3fa9a:  0d 94 94 fd   jmp  0x3fb28  ;  0x3fb28
252
   3fa9e:  a0 e9         ldi  r26, 0x90  ; 144
253
   3faa0:  b2 e0         ldi  r27, 0x02  ; 2
254
   3faa2:  0d 91         ld  r16, X+
255
   3faa4:  1c 91         ld  r17, X
256
   3faa6:  00 30         cpi  r16, 0x00  ; 0
257
   3faa8:  50 e0         ldi  r21, 0x00  ; 0
258
   3faaa:  15 07         cpc  r17, r21
259
   3faac:  18 f0         brcs  .+6        ;  0x3fab4
260
   3faae:  11 f0         breq  .+4        ;  0x3fab4
261
   3fab0:  0d 94 5c fd   jmp  0x3fab8  ;  0x3fab8
262
   3fab4:  0d 94 6a fd   jmp  0x3fad4  ;  0x3fad4
263
   3fab8:  a0 e9         ldi  r26, 0x90  ; 144
264
   3faba:  b2 e0         ldi  r27, 0x02  ; 2
265
   3fabc:  0f 94 24 ff   call  0x3fe48  ;  0x3fe48
266
   3fac0:  85 e0         ldi  r24, 0x05  ; 5
267
   3fac2:  80 93 89 02   sts  0x0289, r24
268
   3fac6:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
269
   3faca:  81 e1         ldi  r24, 0x11  ; 17
270
   3facc:  80 93 89 02   sts  0x0289, r24
271
   3fad0:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
272
   3fad4:  86 e0         ldi  r24, 0x06  ; 6
273
   3fad6:  0f 94 d8 fe   call  0x3fdb0  ;  0x3fdb0
274
   3fada:  81 e0         ldi  r24, 0x01  ; 1
275
   3fadc:  80 93 88 02   sts  0x0288, r24
276
   3fae0:  00 91 88 02   lds  r16, 0x0288
277
   3fae4:  05 30         cpi  r16, 0x05  ; 5
278
   3fae6:  18 f0         brcs  .+6        ;  0x3faee
279
   3fae8:  11 f0         breq  .+4        ;  0x3faee
280
   3faea:  0d 94 87 fd   jmp  0x3fb0e  ;  0x3fb0e
281
   3faee:  8b b1         in  r24, 0x0b  ; 11
282
   3faf0:  90 e2         ldi  r25, 0x20  ; 32
283
   3faf2:  89 27         eor  r24, r25
284
   3faf4:  8b b9         out  0x0b, r24  ; 11
285
   3faf6:  84 e6         ldi  r24, 0x64  ; 100
286
   3faf8:  90 e0         ldi  r25, 0x00  ; 0
287
   3fafa:  0f 94 e8 fe   call  0x3fdd0  ;  0x3fdd0
288
   3fafe:  a8 e8         ldi  r26, 0x88  ; 136
289
   3fb00:  b2 e0         ldi  r27, 0x02  ; 2
290
   3fb02:  8c 91         ld  r24, X
291
   3fb04:  8f 5f         subi  r24, 0xFF  ; 255
292
   3fb06:  8c 93         st  X, r24
293
   3fb08:  10 f4         brcc  .+4        ;  0x3fb0e
294
   3fb0a:  0d 94 70 fd   jmp  0x3fae0  ;  0x3fae0
295
   3fb0e:  5d 9a         sbi  0x0b, 5  ; 11
296
   3fb10:  84 e1         ldi  r24, 0x14  ; 20
297
   3fb12:  90 e0         ldi  r25, 0x00  ; 0
298
   3fb14:  0f 94 e8 fe   call  0x3fdd0  ;  0x3fdd0
299
   3fb18:  84 e1         ldi  r24, 0x14  ; 20
300
   3fb1a:  90 e0         ldi  r25, 0x00  ; 0
301
   3fb1c:  0f 94 e8 fe   call  0x3fdd0  ;  0x3fdd0
302
   3fb20:  0c 94 00 00   jmp  0  ;  0x0
303
   3fb24:  0d 94 ae fd   jmp  0x3fb5c  ;  0x3fb5c
304
   3fb28:  08 31         cpi  r16, 0x18  ; 24
305
   3fb2a:  11 f0         breq  .+4        ;  0x3fb30
306
   3fb2c:  0d 94 9c fd   jmp  0x3fb38  ;  0x3fb38
307
   3fb30:  0c 94 00 00   jmp  0  ;  0x0
308
   3fb34:  0d 94 ae fd   jmp  0x3fb5c  ;  0x3fb5c
309
   3fb38:  0b 37         cpi  r16, 0x7B  ; 123
310
   3fb3a:  11 f0         breq  .+4        ;  0x3fb40
311
   3fb3c:  0d 94 a4 fd   jmp  0x3fb48  ;  0x3fb48
312
   3fb40:  0d 94 b0 fd   jmp  0x3fb60  ;  0x3fb60
313
   3fb44:  0d 94 ae fd   jmp  0x3fb5c  ;  0x3fb5c
314
   3fb48:  0c 37         cpi  r16, 0x7C  ; 124
315
   3fb4a:  11 f0         breq  .+4        ;  0x3fb50
316
   3fb4c:  0d 94 ac fd   jmp  0x3fb58  ;  0x3fb58
317
   3fb50:  0d 94 b0 fd   jmp  0x3fb60  ;  0x3fb60
318
   3fb54:  0d 94 ae fd   jmp  0x3fb5c  ;  0x3fb5c
319
   3fb58:  0d 94 b0 fd   jmp  0x3fb60  ;  0x3fb60
320
   3fb5c:  0d 94 cc fc   jmp  0x3f998  ;  0x3f998
321
   3fb60:  00 91 02 02   lds  r16, 0x0202
322
   3fb64:  00 30         cpi  r16, 0x00  ; 0
323
   3fb66:  18 f0         brcs  .+6        ;  0x3fb6e
324
   3fb68:  11 f0         breq  .+4        ;  0x3fb6e
325
   3fb6a:  0d 94 b9 fd   jmp  0x3fb72  ;  0x3fb72
326
   3fb6e:  0d 94 c4 fd   jmp  0x3fb88  ;  0x3fb88
327
   3fb72:  88 ee         ldi  r24, 0xE8  ; 232
328
   3fb74:  93 e0         ldi  r25, 0x03  ; 3
329
   3fb76:  0f 94 e8 fe   call  0x3fdd0  ;  0x3fdd0
330
   3fb7a:  80 91 02 02   lds  r24, 0x0202
331
   3fb7e:  81 50         subi  r24, 0x01  ; 1
332
   3fb80:  80 93 02 02   sts  0x0202, r24
333
   3fb84:  0d 94 c6 fd   jmp  0x3fb8c  ;  0x3fb8c
334
   3fb88:  0c 94 00 00   jmp  0  ;  0x0
335
   3fb8c:  0d 94 c3 fc   jmp  0x3f986  ;  0x3f986
336
   3fb90:  00 91 94 02   lds  r16, 0x0294
337
   3fb94:  00 30         cpi  r16, 0x00  ; 0
338
   3fb96:  11 f0         breq  .+4        ;  0x3fb9c
339
   3fb98:  0d 94 3b fe   jmp  0x3fc76  ;  0x3fc76
340
   3fb9c:  81 e0         ldi  r24, 0x01  ; 1
341
   3fb9e:  80 93 88 02   sts  0x0288, r24
342
   3fba2:  00 91 88 02   lds  r16, 0x0288
343
   3fba6:  00 38         cpi  r16, 0x80  ; 128
344
   3fba8:  18 f0         brcs  .+6        ;  0x3fbb0
345
   3fbaa:  11 f0         breq  .+4        ;  0x3fbb0
346
   3fbac:  0d 94 39 fe   jmp  0x3fc72  ;  0x3fc72
347
   3fbb0:  a8 e8         ldi  r26, 0x88  ; 136
348
   3fbb2:  b2 e0         ldi  r27, 0x02  ; 2
349
   3fbb4:  ad 90         ld  r10, X+
350
   3fbb6:  bb 24         eor  r11, r11
351
   3fbb8:  a6 e0         ldi  r26, 0x06  ; 6
352
   3fbba:  b2 e0         ldi  r27, 0x02  ; 2
353
   3fbbc:  aa 0d         add  r26, r10
354
   3fbbe:  bb 1d         adc  r27, r11
355
   3fbc0:  8c 91         ld  r24, X
356
   3fbc2:  80 93 8e 02   sts  0x028E, r24
357
   3fbc6:  a8 e8         ldi  r26, 0x88  ; 136
358
   3fbc8:  b2 e0         ldi  r27, 0x02  ; 2
359
   3fbca:  ad 90         ld  r10, X+
360
   3fbcc:  bb 24         eor  r11, r11
361
   3fbce:  a7 e0         ldi  r26, 0x07  ; 7
362
   3fbd0:  b2 e0         ldi  r27, 0x02  ; 2
363
   3fbd2:  aa 0d         add  r26, r10
364
   3fbd4:  bb 1d         adc  r27, r11
365
   3fbd6:  8c 91         ld  r24, X
366
   3fbd8:  80 93 8f 02   sts  0x028F, r24
367
   3fbdc:  00 90 8e 02   lds  r0, 0x028E
368
   3fbe0:  10 90 8f 02   lds  r1, 0x028F
369
   3fbe4:  81 e0         ldi  r24, 0x01  ; 1
370
   3fbe6:  80 93 89 02   sts  0x0289, r24
371
   3fbea:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
372
   3fbee:  a0 e9         ldi  r26, 0x90  ; 144
373
   3fbf0:  b2 e0         ldi  r27, 0x02  ; 2
374
   3fbf2:  0d 91         ld  r16, X+
375
   3fbf4:  1c 91         ld  r17, X
376
   3fbf6:  42 e0         ldi  r20, 0x02  ; 2
377
   3fbf8:  50 e0         ldi  r21, 0x00  ; 0
378
   3fbfa:  04 0f         add  r16, r20
379
   3fbfc:  15 1f         adc  r17, r21
380
   3fbfe:  a0 e9         ldi  r26, 0x90  ; 144
381
   3fc00:  b2 e0         ldi  r27, 0x02  ; 2
382
   3fc02:  0d 93         st  X+, r16
383
   3fc04:  1c 93         st  X, r17
384
   3fc06:  a0 e9         ldi  r26, 0x90  ; 144
385
   3fc08:  b2 e0         ldi  r27, 0x02  ; 2
386
   3fc0a:  0d 91         ld  r16, X+
387
   3fc0c:  1c 91         ld  r17, X
388
   3fc0e:  00 30         cpi  r16, 0x00  ; 0
389
   3fc10:  51 e0         ldi  r21, 0x01  ; 1
390
   3fc12:  15 07         cpc  r17, r21
391
   3fc14:  11 f0         breq  .+4        ;  0x3fc1a
392
   3fc16:  0d 94 31 fe   jmp  0x3fc62  ;  0x3fc62
393
   3fc1a:  a0 e9         ldi  r26, 0x90  ; 144
394
   3fc1c:  b2 e0         ldi  r27, 0x02  ; 2
395
   3fc1e:  0f 94 24 ff   call  0x3fe48  ;  0x3fe48
396
   3fc22:  85 e0         ldi  r24, 0x05  ; 5
397
   3fc24:  80 93 89 02   sts  0x0289, r24
398
   3fc28:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
399
   3fc2c:  81 e1         ldi  r24, 0x11  ; 17
400
   3fc2e:  80 93 89 02   sts  0x0289, r24
401
   3fc32:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
402
   3fc36:  a2 e9         ldi  r26, 0x92  ; 146
403
   3fc38:  b2 e0         ldi  r27, 0x02  ; 2
404
   3fc3a:  0d 91         ld  r16, X+
405
   3fc3c:  1c 91         ld  r17, X
406
   3fc3e:  41 e0         ldi  r20, 0x01  ; 1
407
   3fc40:  50 e0         ldi  r21, 0x00  ; 0
408
   3fc42:  04 0f         add  r16, r20
409
   3fc44:  15 1f         adc  r17, r21
410
   3fc46:  a2 e9         ldi  r26, 0x92  ; 146
411
   3fc48:  b2 e0         ldi  r27, 0x02  ; 2
412
   3fc4a:  0d 93         st  X+, r16
413
   3fc4c:  1c 93         st  X, r17
414
   3fc4e:  83 e0         ldi  r24, 0x03  ; 3
415
   3fc50:  80 93 89 02   sts  0x0289, r24
416
   3fc54:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
417
   3fc58:  81 e1         ldi  r24, 0x11  ; 17
418
   3fc5a:  80 93 89 02   sts  0x0289, r24
419
   3fc5e:  0f 94 76 fe   call  0x3fcec  ;  0x3fcec
420
   3fc62:  a8 e8         ldi  r26, 0x88  ; 136
421
   3fc64:  b2 e0         ldi  r27, 0x02  ; 2
422
   3fc66:  8c 91         ld  r24, X
423
   3fc68:  8e 5f         subi  r24, 0xFE  ; 254
424
   3fc6a:  8c 93         st  X, r24
425
   3fc6c:  10 f4         brcc  .+4        ;  0x3fc72
426
   3fc6e:  0d 94 d1 fd   jmp  0x3fba2  ;  0x3fba2
427
   3fc72:  0d 94 69 fe   jmp  0x3fcd2  ;  0x3fcd2
428
   3fc76:  81 e0         ldi  r24, 0x01  ; 1
429
   3fc78:  80 93 88 02   sts  0x0288, r24
430
   3fc7c:  00 91 88 02   lds  r16, 0x0288
431
   3fc80:  00 38         cpi  r16, 0x80  ; 128
432
   3fc82:  18 f0         brcs  .+6        ;  0x3fc8a
433
   3fc84:  11 f0         breq  .+4        ;  0x3fc8a
434
   3fc86:  0d 94 69 fe   jmp  0x3fcd2  ;  0x3fcd2
435
   3fc8a:  a0 e9         ldi  r26, 0x90  ; 144
436
   3fc8c:  b2 e0         ldi  r27, 0x02  ; 2
437
   3fc8e:  ed 91         ld  r30, X+
438
   3fc90:  fc 91         ld  r31, X
439
   3fc92:  a8 e8         ldi  r26, 0x88  ; 136
440
   3fc94:  b2 e0         ldi  r27, 0x02  ; 2
441
   3fc96:  ad 90         ld  r10, X+
442
   3fc98:  bb 24         eor  r11, r11
443
   3fc9a:  a6 e0         ldi  r26, 0x06  ; 6
444
   3fc9c:  b2 e0         ldi  r27, 0x02  ; 2
445
   3fc9e:  aa 0d         add  r26, r10
446
   3fca0:  bb 1d         adc  r27, r11
447
   3fca2:  91 e0         ldi  r25, 0x01  ; 1
448
   3fca4:  7b e7         ldi  r23, 0x7B  ; 123
449
   3fca6:  0f 94 49 ff   call  0x3fe92  ;  0x3fe92
450
   3fcaa:  a0 e9         ldi  r26, 0x90  ; 144
451
   3fcac:  b2 e0         ldi  r27, 0x02  ; 2
452
   3fcae:  0d 91         ld  r16, X+
453
   3fcb0:  1c 91         ld  r17, X
454
   3fcb2:  41 e0         ldi  r20, 0x01  ; 1
455
   3fcb4:  50 e0         ldi  r21, 0x00  ; 0
456
   3fcb6:  04 0f         add  r16, r20
457
   3fcb8:  15 1f         adc  r17, r21
458
   3fcba:  a0 e9         ldi  r26, 0x90  ; 144
459
   3fcbc:  b2 e0         ldi  r27, 0x02  ; 2
460
   3fcbe:  0d 93         st  X+, r16
461
   3fcc0:  1c 93         st  X, r17
462
   3fcc2:  a8 e8         ldi  r26, 0x88  ; 136
463
   3fcc4:  b2 e0         ldi  r27, 0x02  ; 2
464
   3fcc6:  8c 91         ld  r24, X
465
   3fcc8:  8f 5f         subi  r24, 0xFF  ; 255
466
   3fcca:  8c 93         st  X, r24
467
   3fccc:  10 f4         brcc  .+4        ;  0x3fcd2
468
   3fcce:  0d 94 3e fe   jmp  0x3fc7c  ;  0x3fc7c
469
   3fcd2:  8b b1         in  r24, 0x0b  ; 11
470
   3fcd4:  90 e2         ldi  r25, 0x20  ; 32
471
   3fcd6:  89 27         eor  r24, r25
472
   3fcd8:  8b b9         out  0x0b, r24  ; 11
473
   3fcda:  8a e0         ldi  r24, 0x0A  ; 10
474
   3fcdc:  90 e0         ldi  r25, 0x00  ; 0
475
   3fcde:  0f 94 e8 fe   call  0x3fdd0  ;  0x3fdd0
476
   3fce2:  8b b1         in  r24, 0x0b  ; 11
477
   3fce4:  90 e2         ldi  r25, 0x20  ; 32
478
   3fce6:  89 27         eor  r24, r25
479
   3fce8:  8b b9         out  0x0b, r24  ; 11
480
   3fcea:  08 95         ret
481
   3fcec:  87 b7         in  r24, 0x37  ; 55
482
   3fcee:  80 fd         sbrc  r24, 0
483
   3fcf0:  fd cf         rjmp  .-6        ;  0x3fcec
484
   3fcf2:  f9 99         sbic  0x1f, 1  ; 31
485
   3fcf4:  fe cf         rjmp  .-4        ;  0x3fcf2
486
   3fcf6:  a2 e9         ldi  r26, 0x92  ; 146
487
   3fcf8:  b2 e0         ldi  r27, 0x02  ; 2
488
   3fcfa:  8d 91         ld  r24, X+
489
   3fcfc:  9c 91         ld  r25, X
490
   3fcfe:  aa e8         ldi  r26, 0x8A  ; 138
491
   3fd00:  b2 e0         ldi  r27, 0x02  ; 2
492
   3fd02:  8d 93         st  X+, r24
493
   3fd04:  9d 93         st  X+, r25
494
   3fd06:  88 27         eor  r24, r24
495
   3fd08:  8d 93         st  X+, r24
496
   3fd0a:  8c 93         st  X, r24
497
   3fd0c:  98 e0         ldi  r25, 0x08  ; 8
498
   3fd0e:  aa e8         ldi  r26, 0x8A  ; 138
499
   3fd10:  b2 e0         ldi  r27, 0x02  ; 2
500
   3fd12:  0f 94 f7 fe   call  0x3fdee  ;  0x3fdee
501
   3fd16:  aa e8         ldi  r26, 0x8A  ; 138
502
   3fd18:  b2 e0         ldi  r27, 0x02  ; 2
503
   3fd1a:  0d 91         ld  r16, X+
504
   3fd1c:  1d 91         ld  r17, X+
505
   3fd1e:  2d 91         ld  r18, X+
506
   3fd20:  3c 91         ld  r19, X
507
   3fd22:  a0 e9         ldi  r26, 0x90  ; 144
508
   3fd24:  b2 e0         ldi  r27, 0x02  ; 2
509
   3fd26:  4d 91         ld  r20, X+
510
   3fd28:  5c 91         ld  r21, X
511
   3fd2a:  66 27         eor  r22, r22
512
   3fd2c:  77 27         eor  r23, r23
513
   3fd2e:  0f 94 3b ff   call  0x3fe76  ;  0x3fe76
514
   3fd32:  aa e8         ldi  r26, 0x8A  ; 138
515
   3fd34:  b2 e0         ldi  r27, 0x02  ; 2
516
   3fd36:  0d 93         st  X+, r16
517
   3fd38:  1d 93         st  X+, r17
518
   3fd3a:  2d 93         st  X+, r18
519
   3fd3c:  3d 93         st  X+, r19
520
   3fd3e:  e0 91 8a 02   lds  r30, 0x028A
521
   3fd42:  f0 91 8b 02   lds  r31, 0x028B
522
   3fd46:  80 91 8c 02   lds  r24, 0x028C
523
   3fd4a:  80 93 5b 00   sts  0x005B, r24
524
   3fd4e:  a9 e8         ldi  r26, 0x89  ; 137
525
   3fd50:  b2 e0         ldi  r27, 0x02  ; 2
526
   3fd52:  8c 91         ld  r24, X
527
   3fd54:  87 bf         out  0x37, r24  ; 55
528
   3fd56:  e8 95         spm
529
   3fd58:  00 00         nop
530
   3fd5a:  00 00         nop
531
   3fd5c:  08 95         ret
532
   3fd5e:  7f 93         push  r23
533
   3fd60:  0f 93         push  r16
534
   3fd62:  1f 93         push  r17
535
   3fd64:  2f 93         push  r18
536
   3fd66:  3f 93         push  r19
537
   3fd68:  af 93         push  r26
538
   3fd6a:  bf 93         push  r27
539
   3fd6c:  a6 e9         ldi  r26, 0x96  ; 150
540
   3fd6e:  b2 e0         ldi  r27, 0x02  ; 2
541
   3fd70:  0d 91         ld  r16, X+
542
   3fd72:  1d 91         ld  r17, X+
543
   3fd74:  2d 91         ld  r18, X+
544
   3fd76:  3d 91         ld  r19, X+
545
   3fd78:  80 91 30 01   lds  r24, 0x0130
546
   3fd7c:  87 ff         sbrs  r24, 7
547
   3fd7e:  01 c0         rjmp  .+2        ;  0x3fd82
548
   3fd80:  0b c0         rjmp  .+22       ;  0x3fd98
549
   3fd82:  88 27         eor  r24, r24
550
   3fd84:  80 2b         or  r24, r16
551
   3fd86:  81 2b         or  r24, r17
552
   3fd88:  82 2b         or  r24, r18
553
   3fd8a:  83 2b         or  r24, r19
554
   3fd8c:  41 f0         breq  .+16       ;  0x3fd9e
555
   3fd8e:  01 50         subi  r16, 0x01  ; 1
556
   3fd90:  10 40         sbci  r17, 0x00  ; 0
557
   3fd92:  20 40         sbci  r18, 0x00  ; 0
558
   3fd94:  30 40         sbci  r19, 0x00  ; 0
559
   3fd96:  f0 cf         rjmp  .-32       ;  0x3fd78
560
   3fd98:  80 91 36 01   lds  r24, 0x0136
561
   3fd9c:  01 c0         rjmp  .+2        ;  0x3fda0
562
   3fd9e:  88 27         eor  r24, r24
563
   3fda0:  bf 91         pop  r27
564
   3fda2:  af 91         pop  r26
565
   3fda4:  3f 91         pop  r19
566
   3fda6:  2f 91         pop  r18
567
   3fda8:  1f 91         pop  r17
568
   3fdaa:  0f 91         pop  r16
569
   3fdac:  7f 91         pop  r23
570
   3fdae:  08 95         ret
571
   3fdb0:  90 91 30 01   lds  r25, 0x0130
572
   3fdb4:  95 ff         sbrs  r25, 5
573
   3fdb6:  fc cf         rjmp  .-8        ;  0x3fdb0
574
   3fdb8:  80 93 36 01   sts  0x0136, r24
575
   3fdbc:  08 95         ret
576
   3fdbe:  31 97         sbiw  r30, 0x01  ; 1
577
   3fdc0:  f1 f7         brne  .-4        ;  0x3fdbe
578
   3fdc2:  08 95         ret
579
   3fdc4:  68 94         set
580
   3fdc6:  62 f8         bld  r6, 2
581
   3fdc8:  08 95         ret
582
   3fdca:  e8 94         clt
583
   3fdcc:  62 f8         bld  r6, 2
584
   3fdce:  08 95         ret
585
   3fdd0:  ef 93         push  r30
586
   3fdd2:  ff 93         push  r31
587
   3fdd4:  ee 27         eor  r30, r30
588
   3fdd6:  e8 2b         or  r30, r24
589
   3fdd8:  e9 2b         or  r30, r25
590
   3fdda:  31 f0         breq  .+12       ;  0x3fde8
591
   3fddc:  e0 ea         ldi  r30, 0xA0  ; 160
592
   3fdde:  ff e0         ldi  r31, 0x0F  ; 15
593
   3fde0:  31 97         sbiw  r30, 0x01  ; 1
594
   3fde2:  f1 f7         brne  .-4        ;  0x3fde0
595
   3fde4:  01 97         sbiw  r24, 0x01  ; 1
596
   3fde6:  d1 f7         brne  .-12       ;  0x3fddc
597
   3fde8:  ff 91         pop  r31
598
   3fdea:  ef 91         pop  r30
599
   3fdec:  08 95         ret
600
   3fdee:  90 30         cpi  r25, 0x00  ; 0
601
   3fdf0:  71 f0         breq  .+28       ;  0x3fe0e
602
   3fdf2:  0d 91         ld  r16, X+
603
   3fdf4:  1d 91         ld  r17, X+
604
   3fdf6:  2d 91         ld  r18, X+
605
   3fdf8:  3c 91         ld  r19, X
606
   3fdfa:  00 0f         add  r16, r16
607
   3fdfc:  11 1f         adc  r17, r17
608
   3fdfe:  22 1f         adc  r18, r18
609
   3fe00:  33 1f         adc  r19, r19
610
   3fe02:  9a 95         dec  r25
611
   3fe04:  d1 f7         brne  .-12       ;  0x3fdfa
612
   3fe06:  3c 93         st  X, r19
613
   3fe08:  2e 93         st  -X, r18
614
   3fe0a:  1e 93         st  -X, r17
615
   3fe0c:  0e 93         st  -X, r16
616
   3fe0e:  08 95         ret
617
   3fe10:  d8 95         elpm
618
   3fe12:  31 96         adiw  r30, 0x01  ; 1
619
   3fe14:  28 f4         brcc  .+10       ;  0x3fe20
620
   3fe16:  8f 93         push  r24
621
   3fe18:  8b b7         in  r24, 0x3b  ; 59
622
   3fe1a:  83 95         inc  r24
623
   3fe1c:  8b bf         out  0x3b, r24  ; 59
624
   3fe1e:  8f 91         pop  r24
625
   3fe20:  00 20         and  r0, r0
626
   3fe22:  08 95         ret
627
   3fe24:  91 e0         ldi  r25, 0x01  ; 1
628
   3fe26:  05 c0         rjmp  .+10       ;  0x3fe32
629
   3fe28:  92 e0         ldi  r25, 0x02  ; 2
630
   3fe2a:  03 c0         rjmp  .+6        ;  0x3fe32
631
   3fe2c:  94 e0         ldi  r25, 0x04  ; 4
632
   3fe2e:  01 c0         rjmp  .+2        ;  0x3fe32
633
   3fe30:  98 e0         ldi  r25, 0x08  ; 8
634
   3fe32:  28 f4         brcc  .+10       ;  0x3fe3e
635
   3fe34:  8f 93         push  r24
636
   3fe36:  8b b7         in  r24, 0x3b  ; 59
637
   3fe38:  83 95         inc  r24
638
   3fe3a:  8b bf         out  0x3b, r24  ; 59
639
   3fe3c:  8f 91         pop  r24
640
   3fe3e:  e8 df         rcall  .-48       ;  0x3fe10
641
   3fe40:  0d 92         st  X+, r0
642
   3fe42:  9a 95         dec  r25
643
   3fe44:  e1 f7         brne  .-8        ;  0x3fe3e
644
   3fe46:  08 95         ret
645
   3fe48:  82 e0         ldi  r24, 0x02  ; 2
646
   3fe4a:  01 c0         rjmp  .+2        ;  0x3fe4e
647
   3fe4c:  84 e0         ldi  r24, 0x04  ; 4
648
   3fe4e:  99 27         eor  r25, r25
649
   3fe50:  9d 93         st  X+, r25
650
   3fe52:  8a 95         dec  r24
651
   3fe54:  e9 f7         brne  .-6        ;  0x3fe50
652
   3fe56:  08 95         ret
653
   3fe58:  0f 93         push  r16
654
   3fe5a:  01 e0         ldi  r16, 0x01  ; 1
655
   3fe5c:  0b bf         out  0x3b, r16  ; 59
656
   3fe5e:  0f 91         pop  r16
657
   3fe60:  88 94         clc
658
   3fe62:  08 95         ret
659
   3fe64:  0f 93         push  r16
660
   3fe66:  00 27         eor  r16, r16
661
   3fe68:  f9 cf         rjmp  .-14       ;  0x3fe5c
662
   3fe6a:  0f 93         push  r16
663
   3fe6c:  02 e0         ldi  r16, 0x02  ; 2
664
   3fe6e:  f6 cf         rjmp  .-20       ;  0x3fe5c
665
   3fe70:  0f 93         push  r16
666
   3fe72:  03 e0         ldi  r16, 0x03  ; 3
667
   3fe74:  f3 cf         rjmp  .-26       ;  0x3fe5c
668
   3fe76:  04 0f         add  r16, r20
669
   3fe78:  15 1f         adc  r17, r21
670
   3fe7a:  26 1f         adc  r18, r22
671
   3fe7c:  37 1f         adc  r19, r23
672
   3fe7e:  08 95         ret
673
   3fe80:  f9 99         sbic  0x1f, 1  ; 31
674
   3fe82:  fe cf         rjmp  .-4        ;  0x3fe80
675
   3fe84:  e1 bd         out  0x21, r30  ; 33
676
   3fe86:  f2 bd         out  0x22, r31  ; 34
677
   3fe88:  31 96         adiw  r30, 0x01  ; 1
678
   3fe8a:  08 95         ret
679
   3fe8c:  91 e0         ldi  r25, 0x01  ; 1
680
   3fe8e:  01 c0         rjmp  .+2        ;  0x3fe92
681
   3fe90:  92 e0         ldi  r25, 0x02  ; 2
682
   3fe92:  7b 37         cpi  r23, 0x7B  ; 123
683
   3fe94:  51 f4         brne  .+20       ;  0x3feaa
684
   3fe96:  7f b7         in  r23, 0x3f  ; 63
685
   3fe98:  f8 94         cli
686
   3fe9a:  f2 df         rcall  .-28       ;  0x3fe80
687
   3fe9c:  8d 91         ld  r24, X+
688
   3fe9e:  80 bd         out  0x20, r24  ; 32
689
   3fea0:  fa 9a         sbi  0x1f, 2  ; 31
690
   3fea2:  f9 9a         sbi  0x1f, 1  ; 31
691
   3fea4:  9a 95         dec  r25
692
   3fea6:  c9 f7         brne  .-14       ;  0x3fe9a
693
   3fea8:  7f bf         out  0x3f, r23  ; 63
694
   3feaa:  77 27         eor  r23, r23
695
   3feac:  08 95         ret
696
   3feae:  40 0d         add  r20, r0
697
   3feb0:  03 00         .word  0x0003  ; ????
kann mir den jmd erklären. So gut is mein Assembler nicht, kann nur 
grundzüge.

von N.G. (Gast)


Lesenswert?

Eigentlich is das ja der usb-bootloader, bedeutet das, dass hier über 
usb kommuniziert wird, oder über ein anderes protokoll, wahrscheinlich 
rs232?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.