Statistics
| Revision:

root / demos / john / projects / libdragonfly / dio.lst @ 1693

History | View | Annotate | Download (31.4 KB)

1
   1               		.file	"dio.c"
2
   2               		.arch atmega128
3
   3               	__SREG__ = 0x3f
4
   4               	__SP_H__ = 0x3e
5
   5               	__SP_L__ = 0x3d
6
   6               	__tmp_reg__ = 0
7
   7               	__zero_reg__ = 1
8
   8               		.global __do_copy_data
9
   9               		.global __do_clear_bss
10
  17               	.Ltext0:
11
  18               	.global	digital_input
12
  20               	digital_input:
13
  21               	.LFB2:
14
  22               	.LM1:
15
  23               	/* prologue: frame size=0 */
16
  24               	/* prologue end (size=0) */
17
  25               	.LVL0:
18
  26               	.LM2:
19
  27 0000 AC01      		movw r20,r24
20
  28               	.LVL1:
21
  29 0002 4770      		andi r20,lo8(7)
22
  30 0004 5070      		andi r21,hi8(7)
23
  31               	.LM3:
24
  32 0006 9C01      		movw r18,r24
25
  33 0008 83E0      		ldi r24,3
26
  34 000a 3595      	1:	asr r19
27
  35 000c 2795      		ror r18
28
  36 000e 8A95      		dec r24
29
  37 0010 01F4      		brne 1b
30
  38               	.LVL2:
31
  39 0012 2430      		cpi r18,4
32
  40 0014 3105      		cpc r19,__zero_reg__
33
  41 0016 01F4      		brne .+2
34
  42 0018 00C0      		rjmp .L6
35
  43               	.LM4:
36
  44 001a 2530      		cpi r18,5
37
  45 001c 3105      		cpc r19,__zero_reg__
38
  46 001e 04F4      		brge .L10
39
  47 0020 2230      		cpi r18,2
40
  48 0022 3105      		cpc r19,__zero_reg__
41
  49 0024 01F0      		breq .L4
42
  50 0026 2330      		cpi r18,3
43
  51 0028 3105      		cpc r19,__zero_reg__
44
  52 002a 04F4      		brge .L5
45
  53 002c 2130      		cpi r18,1
46
  54 002e 3105      		cpc r19,__zero_reg__
47
  55 0030 01F4      		brne .L2
48
  56 0032 00C0      		rjmp .L3
49
  57               	.L10:
50
  58 0034 2630      		cpi r18,6
51
  59 0036 3105      		cpc r19,__zero_reg__
52
  60 0038 01F4      		brne .+2
53
  61 003a 00C0      		rjmp .L8
54
  62 003c 2630      		cpi r18,6
55
  63 003e 3105      		cpc r19,__zero_reg__
56
  64 0040 04F0      		brlt .L7
57
  65 0042 2730      		cpi r18,7
58
  66 0044 3105      		cpc r19,__zero_reg__
59
  67 0046 01F4      		brne .+2
60
  68 0048 00C0      		rjmp .L9
61
  69               	.L2:
62
  70 004a 8FEF      		ldi r24,lo8(-1)
63
  71 004c 9FEF      		ldi r25,hi8(-1)
64
  72 004e 0895      		ret
65
  73               	.L3:
66
  74               	.LM5:
67
  75 0050 8AB3      		in r24,58-0x20
68
  76 0052 042E      		mov r0,r20
69
  77 0054 00C0      		rjmp 2f
70
  78 0056 220F      	1:	lsl r18
71
  79 0058 331F      		rol r19
72
  80 005a 0A94      	2:	dec r0
73
  81 005c 02F4      		brpl 1b
74
  82 005e 922F      		mov r25,r18
75
  83 0060 9095      		com r25
76
  84 0062 8923      		and r24,r25
77
  85 0064 8ABB      		out 58-0x20,r24
78
  86               	.LM6:
79
  87 0066 89B3      		in r24,57-0x20
80
  88 0068 00C0      		rjmp .L15
81
  89               	.L4:
82
  90               	.LM7:
83
  91 006a 87B3      		in r24,55-0x20
84
  92 006c 21E0      		ldi r18,lo8(1)
85
  93 006e 30E0      		ldi r19,hi8(1)
86
  94 0070 042E      		mov r0,r20
87
  95 0072 00C0      		rjmp 2f
88
  96 0074 220F      	1:	lsl r18
89
  97 0076 331F      		rol r19
90
  98 0078 0A94      	2:	dec r0
91
  99 007a 02F4      		brpl 1b
92
 100 007c 2095      		com r18
93
 101 007e 8223      		and r24,r18
94
 102 0080 87BB      		out 55-0x20,r24
95
 103               	.LM8:
96
 104 0082 86B3      		in r24,54-0x20
97
 105 0084 00C0      		rjmp .L15
98
 106               	.L5:
99
 107               	.LM9:
100
 108 0086 84B3      		in r24,52-0x20
101
 109 0088 21E0      		ldi r18,lo8(1)
102
 110 008a 30E0      		ldi r19,hi8(1)
103
 111 008c 042E      		mov r0,r20
104
 112 008e 00C0      		rjmp 2f
105
 113 0090 220F      	1:	lsl r18
106
 114 0092 331F      		rol r19
107
 115 0094 0A94      	2:	dec r0
108
 116 0096 02F4      		brpl 1b
109
 117 0098 2095      		com r18
110
 118 009a 8223      		and r24,r18
111
 119 009c 84BB      		out 52-0x20,r24
112
 120               	.LM10:
113
 121 009e 83B3      		in r24,51-0x20
114
 122 00a0 00C0      		rjmp .L15
115
 123               	.L6:
116
 124               	.LM11:
117
 125 00a2 81B3      		in r24,49-0x20
118
 126 00a4 21E0      		ldi r18,lo8(1)
119
 127 00a6 30E0      		ldi r19,hi8(1)
120
 128 00a8 042E      		mov r0,r20
121
 129 00aa 00C0      		rjmp 2f
122
 130 00ac 220F      	1:	lsl r18
123
 131 00ae 331F      		rol r19
124
 132 00b0 0A94      	2:	dec r0
125
 133 00b2 02F4      		brpl 1b
126
 134 00b4 2095      		com r18
127
 135 00b6 8223      		and r24,r18
128
 136 00b8 81BB      		out 49-0x20,r24
129
 137               	.LM12:
130
 138 00ba 80B3      		in r24,48-0x20
131
 139 00bc 00C0      		rjmp .L15
132
 140               	.L7:
133
 141               	.LM13:
134
 142 00be 82B1      		in r24,34-0x20
135
 143 00c0 21E0      		ldi r18,lo8(1)
136
 144 00c2 30E0      		ldi r19,hi8(1)
137
 145 00c4 042E      		mov r0,r20
138
 146 00c6 00C0      		rjmp 2f
139
 147 00c8 220F      	1:	lsl r18
140
 148 00ca 331F      		rol r19
141
 149 00cc 0A94      	2:	dec r0
142
 150 00ce 02F4      		brpl 1b
143
 151 00d0 2095      		com r18
144
 152 00d2 8223      		and r24,r18
145
 153 00d4 82B9      		out 34-0x20,r24
146
 154               	.LM14:
147
 155 00d6 81B1      		in r24,33-0x20
148
 156 00d8 00C0      		rjmp .L15
149
 157               	.L8:
150
 158               	.LM15:
151
 159 00da 4430      		cpi r20,4
152
 160 00dc 5105      		cpc r21,__zero_reg__
153
 161 00de 04F0      		brlt .L12
154
 162               	.LM16:
155
 163 00e0 84B7      		in r24,84-0x20
156
 164 00e2 8068      		ori r24,lo8(-128)
157
 165 00e4 84BF      		out 84-0x20,r24
158
 166               	.LM17:
159
 167 00e6 84B7      		in r24,84-0x20
160
 168 00e8 8068      		ori r24,lo8(-128)
161
 169 00ea 84BF      		out 84-0x20,r24
162
 170               	.L12:
163
 171               	.LM18:
164
 172 00ec 8091 6100 		lds r24,97
165
 173 00f0 21E0      		ldi r18,lo8(1)
166
 174 00f2 30E0      		ldi r19,hi8(1)
167
 175 00f4 042E      		mov r0,r20
168
 176 00f6 00C0      		rjmp 2f
169
 177 00f8 220F      	1:	lsl r18
170
 178 00fa 331F      		rol r19
171
 179 00fc 0A94      	2:	dec r0
172
 180 00fe 02F4      		brpl 1b
173
 181 0100 2095      		com r18
174
 182 0102 8223      		and r24,r18
175
 183 0104 8093 6100 		sts 97,r24
176
 184               	.LM19:
177
 185 0108 80B1      		in r24,32-0x20
178
 186               	.L15:
179
 187               	.LM20:
180
 188 010a 9927      		clr r25
181
 189 010c 00C0      		rjmp 2f
182
 190 010e 9595      	1:	asr r25
183
 191 0110 8795      		ror r24
184
 192 0112 4A95      	2:	dec r20
185
 193 0114 02F4      		brpl 1b
186
 194 0116 8170      		andi r24,lo8(1)
187
 195 0118 9070      		andi r25,hi8(1)
188
 196 011a 0895      		ret
189
 197               	.L9:
190
 198               	.LM21:
191
 199 011c 8091 6400 		lds r24,100
192
 200 0120 21E0      		ldi r18,lo8(1)
193
 201 0122 30E0      		ldi r19,hi8(1)
194
 202 0124 042E      		mov r0,r20
195
 203 0126 00C0      		rjmp 2f
196
 204 0128 220F      	1:	lsl r18
197
 205 012a 331F      		rol r19
198
 206 012c 0A94      	2:	dec r0
199
 207 012e 02F4      		brpl 1b
200
 208 0130 2095      		com r18
201
 209 0132 8223      		and r24,r18
202
 210 0134 8093 6400 		sts 100,r24
203
 211               	.LM22:
204
 212 0138 8091 6300 		lds r24,99
205
 213               	.LM23:
206
 214 013c 9927      		clr r25
207
 215 013e 00C0      		rjmp 2f
208
 216 0140 9595      	1:	asr r25
209
 217 0142 8795      		ror r24
210
 218 0144 4A95      	2:	dec r20
211
 219 0146 02F4      		brpl 1b
212
 220 0148 8170      		andi r24,lo8(1)
213
 221 014a 9070      		andi r25,hi8(1)
214
 222               	.LM24:
215
 223 014c 0895      		ret
216
 224               	/* epilogue: frame size=0 */
217
 225               	/* epilogue: noreturn */
218
 226               	/* epilogue end (size=0) */
219
 227               	/* function digital_input size 169 (169) */
220
 228               	.LFE2:
221
 230               	.global	digital_pull_up
222
 232               	digital_pull_up:
223
 233               	.LFB3:
224
 234               	.LM25:
225
 235               	/* prologue: frame size=0 */
226
 236               	/* prologue end (size=0) */
227
 237               	.LVL3:
228
 238               	.LM26:
229
 239 014e AC01      		movw r20,r24
230
 240               	.LVL4:
231
 241 0150 4770      		andi r20,lo8(7)
232
 242 0152 5070      		andi r21,hi8(7)
233
 243               	.LM27:
234
 244 0154 9C01      		movw r18,r24
235
 245 0156 93E0      		ldi r25,3
236
 246 0158 3595      	1:	asr r19
237
 247 015a 2795      		ror r18
238
 248 015c 9A95      		dec r25
239
 249 015e 01F4      		brne 1b
240
 250 0160 2430      		cpi r18,4
241
 251 0162 3105      		cpc r19,__zero_reg__
242
 252 0164 01F0      		breq .L21
243
 253               	.LM28:
244
 254 0166 2530      		cpi r18,5
245
 255 0168 3105      		cpc r19,__zero_reg__
246
 256 016a 04F4      		brge .L25
247
 257 016c 2230      		cpi r18,2
248
 258 016e 3105      		cpc r19,__zero_reg__
249
 259 0170 01F0      		breq .L19
250
 260 0172 2330      		cpi r18,3
251
 261 0174 3105      		cpc r19,__zero_reg__
252
 262 0176 04F4      		brge .L20
253
 263 0178 2130      		cpi r18,1
254
 264 017a 3105      		cpc r19,__zero_reg__
255
 265 017c 01F0      		breq .+2
256
 266 017e 00C0      		rjmp .L26
257
 267 0180 00C0      		rjmp .L18
258
 268               	.L25:
259
 269 0182 2630      		cpi r18,6
260
 270 0184 3105      		cpc r19,__zero_reg__
261
 271 0186 01F4      		brne .+2
262
 272 0188 00C0      		rjmp .L23
263
 273 018a 2630      		cpi r18,6
264
 274 018c 3105      		cpc r19,__zero_reg__
265
 275 018e 04F0      		brlt .L22
266
 276 0190 2730      		cpi r18,7
267
 277 0192 3105      		cpc r19,__zero_reg__
268
 278 0194 01F0      		breq .+2
269
 279 0196 00C0      		rjmp .L26
270
 280 0198 00C0      		rjmp .L24
271
 281               	.L18:
272
 282               	.LM29:
273
 283 019a 8BB3      		in r24,59-0x20
274
 284               	.LVL5:
275
 285 019c 00C0      		rjmp 2f
276
 286 019e 220F      	1:	lsl r18
277
 287 01a0 331F      		rol r19
278
 288 01a2 4A95      	2:	dec r20
279
 289 01a4 02F4      		brpl 1b
280
 290 01a6 822B      		or r24,r18
281
 291 01a8 8BBB      		out 59-0x20,r24
282
 292 01aa 0895      		ret
283
 293               	.LVL6:
284
 294               	.L19:
285
 295               	.LM30:
286
 296 01ac 28B3      		in r18,56-0x20
287
 297 01ae 81E0      		ldi r24,lo8(1)
288
 298 01b0 90E0      		ldi r25,hi8(1)
289
 299               	.LVL7:
290
 300 01b2 00C0      		rjmp 2f
291
 301 01b4 880F      	1:	lsl r24
292
 302 01b6 991F      		rol r25
293
 303 01b8 4A95      	2:	dec r20
294
 304 01ba 02F4      		brpl 1b
295
 305 01bc 282B      		or r18,r24
296
 306 01be 28BB      		out 56-0x20,r18
297
 307 01c0 0895      		ret
298
 308               	.LVL8:
299
 309               	.L20:
300
 310               	.LM31:
301
 311 01c2 25B3      		in r18,53-0x20
302
 312 01c4 81E0      		ldi r24,lo8(1)
303
 313 01c6 90E0      		ldi r25,hi8(1)
304
 314               	.LVL9:
305
 315 01c8 00C0      		rjmp 2f
306
 316 01ca 880F      	1:	lsl r24
307
 317 01cc 991F      		rol r25
308
 318 01ce 4A95      	2:	dec r20
309
 319 01d0 02F4      		brpl 1b
310
 320 01d2 282B      		or r18,r24
311
 321 01d4 25BB      		out 53-0x20,r18
312
 322 01d6 0895      		ret
313
 323               	.LVL10:
314
 324               	.L21:
315
 325               	.LM32:
316
 326 01d8 22B3      		in r18,50-0x20
317
 327 01da 81E0      		ldi r24,lo8(1)
318
 328 01dc 90E0      		ldi r25,hi8(1)
319
 329               	.LVL11:
320
 330 01de 00C0      		rjmp 2f
321
 331 01e0 880F      	1:	lsl r24
322
 332 01e2 991F      		rol r25
323
 333 01e4 4A95      	2:	dec r20
324
 334 01e6 02F4      		brpl 1b
325
 335 01e8 282B      		or r18,r24
326
 336 01ea 22BB      		out 50-0x20,r18
327
 337 01ec 0895      		ret
328
 338               	.LVL12:
329
 339               	.L22:
330
 340               	.LM33:
331
 341 01ee 23B1      		in r18,35-0x20
332
 342 01f0 81E0      		ldi r24,lo8(1)
333
 343 01f2 90E0      		ldi r25,hi8(1)
334
 344               	.LVL13:
335
 345 01f4 00C0      		rjmp 2f
336
 346 01f6 880F      	1:	lsl r24
337
 347 01f8 991F      		rol r25
338
 348 01fa 4A95      	2:	dec r20
339
 349 01fc 02F4      		brpl 1b
340
 350 01fe 282B      		or r18,r24
341
 351 0200 23B9      		out 35-0x20,r18
342
 352 0202 0895      		ret
343
 353               	.LVL14:
344
 354               	.L23:
345
 355               	.LM34:
346
 356 0204 2091 6200 		lds r18,98
347
 357 0208 81E0      		ldi r24,lo8(1)
348
 358 020a 90E0      		ldi r25,hi8(1)
349
 359               	.LVL15:
350
 360 020c 00C0      		rjmp 2f
351
 361 020e 880F      	1:	lsl r24
352
 362 0210 991F      		rol r25
353
 363 0212 4A95      	2:	dec r20
354
 364 0214 02F4      		brpl 1b
355
 365 0216 282B      		or r18,r24
356
 366 0218 2093 6200 		sts 98,r18
357
 367 021c 0895      		ret
358
 368               	.LVL16:
359
 369               	.L24:
360
 370               	.LM35:
361
 371 021e 2091 6500 		lds r18,101
362
 372 0222 81E0      		ldi r24,lo8(1)
363
 373 0224 90E0      		ldi r25,hi8(1)
364
 374               	.LVL17:
365
 375 0226 00C0      		rjmp 2f
366
 376 0228 880F      	1:	lsl r24
367
 377 022a 991F      		rol r25
368
 378 022c 4A95      	2:	dec r20
369
 379 022e 02F4      		brpl 1b
370
 380 0230 282B      		or r18,r24
371
 381 0232 2093 6500 		sts 101,r18
372
 382               	.LVL18:
373
 383               	.L26:
374
 384 0236 0895      		ret
375
 385               	/* epilogue: frame size=0 */
376
 386               	/* epilogue: noreturn */
377
 387               	/* epilogue end (size=0) */
378
 388               	/* function digital_pull_up size 124 (124) */
379
 389               	.LFE3:
380
 391               	.global	digital_output
381
 393               	digital_output:
382
 394               	.LFB4:
383
 395               	.LM36:
384
 396               	/* prologue: frame size=0 */
385
 397               	/* prologue end (size=0) */
386
 398               	.LVL19:
387
 399               	.LM37:
388
 400 0238 AC01      		movw r20,r24
389
 401               	.LVL20:
390
 402 023a 4770      		andi r20,lo8(7)
391
 403 023c 5070      		andi r21,hi8(7)
392
 404 023e 9C01      		movw r18,r24
393
 405 0240 53E0      		ldi r21,3
394
 406 0242 3595      	1:	asr r19
395
 407 0244 2795      		ror r18
396
 408 0246 5A95      		dec r21
397
 409 0248 01F4      		brne 1b
398
 410               	.LM38:
399
 411 024a 672B      		or r22,r23
400
 412 024c 01F0      		breq .+2
401
 413 024e 00C0      		rjmp .L28
402
 414               	.LM39:
403
 415 0250 2430      		cpi r18,4
404
 416 0252 3105      		cpc r19,__zero_reg__
405
 417 0254 01F4      		brne .+2
406
 418 0256 00C0      		rjmp .L34
407
 419 0258 2530      		cpi r18,5
408
 420 025a 3105      		cpc r19,__zero_reg__
409
 421 025c 04F4      		brge .L38
410
 422 025e 2230      		cpi r18,2
411
 423 0260 3105      		cpc r19,__zero_reg__
412
 424 0262 01F0      		breq .L32
413
 425 0264 2330      		cpi r18,3
414
 426 0266 3105      		cpc r19,__zero_reg__
415
 427 0268 04F4      		brge .L33
416
 428 026a 2130      		cpi r18,1
417
 429 026c 3105      		cpc r19,__zero_reg__
418
 430 026e 01F0      		breq .+2
419
 431 0270 00C0      		rjmp .L47
420
 432 0272 00C0      		rjmp .L31
421
 433               	.L38:
422
 434 0274 2630      		cpi r18,6
423
 435 0276 3105      		cpc r19,__zero_reg__
424
 436 0278 01F4      		brne .+2
425
 437 027a 00C0      		rjmp .L36
426
 438 027c 2630      		cpi r18,6
427
 439 027e 3105      		cpc r19,__zero_reg__
428
 440 0280 04F4      		brge .+2
429
 441 0282 00C0      		rjmp .L35
430
 442 0284 2730      		cpi r18,7
431
 443 0286 3105      		cpc r19,__zero_reg__
432
 444 0288 01F0      		breq .+2
433
 445 028a 00C0      		rjmp .L47
434
 446 028c 00C0      		rjmp .L37
435
 447               	.L31:
436
 448               	.LM40:
437
 449 028e 8AB3      		in r24,58-0x20
438
 450               	.LVL21:
439
 451 0290 00C0      		rjmp 2f
440
 452 0292 220F      	1:	lsl r18
441
 453 0294 331F      		rol r19
442
 454 0296 4A95      	2:	dec r20
443
 455 0298 02F4      		brpl 1b
444
 456 029a 822B      		or r24,r18
445
 457 029c 8ABB      		out 58-0x20,r24
446
 458               	.LM41:
447
 459 029e 8BB3      		in r24,59-0x20
448
 460 02a0 2095      		com r18
449
 461 02a2 8223      		and r24,r18
450
 462 02a4 00C0      		rjmp .L48
451
 463               	.LVL22:
452
 464               	.L32:
453
 465               	.LM42:
454
 466 02a6 87B3      		in r24,55-0x20
455
 467               	.LVL23:
456
 468 02a8 21E0      		ldi r18,lo8(1)
457
 469 02aa 30E0      		ldi r19,hi8(1)
458
 470 02ac 00C0      		rjmp 2f
459
 471 02ae 220F      	1:	lsl r18
460
 472 02b0 331F      		rol r19
461
 473 02b2 4A95      	2:	dec r20
462
 474 02b4 02F4      		brpl 1b
463
 475 02b6 822B      		or r24,r18
464
 476 02b8 87BB      		out 55-0x20,r24
465
 477               	.LM43:
466
 478 02ba 88B3      		in r24,56-0x20
467
 479 02bc 2095      		com r18
468
 480 02be 8223      		and r24,r18
469
 481 02c0 00C0      		rjmp .L53
470
 482               	.LVL24:
471
 483               	.L33:
472
 484               	.LM44:
473
 485 02c2 84B3      		in r24,52-0x20
474
 486               	.LVL25:
475
 487 02c4 21E0      		ldi r18,lo8(1)
476
 488 02c6 30E0      		ldi r19,hi8(1)
477
 489 02c8 00C0      		rjmp 2f
478
 490 02ca 220F      	1:	lsl r18
479
 491 02cc 331F      		rol r19
480
 492 02ce 4A95      	2:	dec r20
481
 493 02d0 02F4      		brpl 1b
482
 494 02d2 822B      		or r24,r18
483
 495 02d4 84BB      		out 52-0x20,r24
484
 496               	.LM45:
485
 497 02d6 85B3      		in r24,53-0x20
486
 498 02d8 2095      		com r18
487
 499 02da 8223      		and r24,r18
488
 500 02dc 00C0      		rjmp .L52
489
 501               	.LVL26:
490
 502               	.L34:
491
 503               	.LM46:
492
 504 02de 81B3      		in r24,49-0x20
493
 505               	.LVL27:
494
 506 02e0 21E0      		ldi r18,lo8(1)
495
 507 02e2 30E0      		ldi r19,hi8(1)
496
 508 02e4 00C0      		rjmp 2f
497
 509 02e6 220F      	1:	lsl r18
498
 510 02e8 331F      		rol r19
499
 511 02ea 4A95      	2:	dec r20
500
 512 02ec 02F4      		brpl 1b
501
 513 02ee 822B      		or r24,r18
502
 514 02f0 81BB      		out 49-0x20,r24
503
 515               	.LM47:
504
 516 02f2 82B3      		in r24,50-0x20
505
 517 02f4 2095      		com r18
506
 518 02f6 8223      		and r24,r18
507
 519 02f8 00C0      		rjmp .L49
508
 520               	.LVL28:
509
 521               	.L35:
510
 522               	.LM48:
511
 523 02fa 82B1      		in r24,34-0x20
512
 524               	.LVL29:
513
 525 02fc 21E0      		ldi r18,lo8(1)
514
 526 02fe 30E0      		ldi r19,hi8(1)
515
 527 0300 00C0      		rjmp 2f
516
 528 0302 220F      	1:	lsl r18
517
 529 0304 331F      		rol r19
518
 530 0306 4A95      	2:	dec r20
519
 531 0308 02F4      		brpl 1b
520
 532 030a 822B      		or r24,r18
521
 533 030c 82B9      		out 34-0x20,r24
522
 534               	.LM49:
523
 535 030e 83B1      		in r24,35-0x20
524
 536 0310 2095      		com r18
525
 537 0312 8223      		and r24,r18
526
 538 0314 00C0      		rjmp .L50
527
 539               	.LVL30:
528
 540               	.L36:
529
 541               	.LM50:
530
 542 0316 8091 6100 		lds r24,97
531
 543               	.LVL31:
532
 544 031a 21E0      		ldi r18,lo8(1)
533
 545 031c 30E0      		ldi r19,hi8(1)
534
 546 031e 00C0      		rjmp 2f
535
 547 0320 220F      	1:	lsl r18
536
 548 0322 331F      		rol r19
537
 549 0324 4A95      	2:	dec r20
538
 550 0326 02F4      		brpl 1b
539
 551 0328 822B      		or r24,r18
540
 552 032a 8093 6100 		sts 97,r24
541
 553               	.LM51:
542
 554 032e 8091 6200 		lds r24,98
543
 555 0332 2095      		com r18
544
 556 0334 8223      		and r24,r18
545
 557 0336 00C0      		rjmp .L51
546
 558               	.LVL32:
547
 559               	.L37:
548
 560               	.LM52:
549
 561 0338 8091 6400 		lds r24,100
550
 562               	.LVL33:
551
 563 033c 21E0      		ldi r18,lo8(1)
552
 564 033e 30E0      		ldi r19,hi8(1)
553
 565 0340 00C0      		rjmp 2f
554
 566 0342 220F      	1:	lsl r18
555
 567 0344 331F      		rol r19
556
 568 0346 4A95      	2:	dec r20
557
 569 0348 02F4      		brpl 1b
558
 570 034a 822B      		or r24,r18
559
 571 034c 8093 6400 		sts 100,r24
560
 572               	.LM53:
561
 573 0350 8091 6500 		lds r24,101
562
 574 0354 2095      		com r18
563
 575 0356 8223      		and r24,r18
564
 576 0358 8093 6500 		sts 101,r24
565
 577 035c 0895      		ret
566
 578               	.LVL34:
567
 579               	.L28:
568
 580               	.LM54:
569
 581 035e 2430      		cpi r18,4
570
 582 0360 3105      		cpc r19,__zero_reg__
571
 583 0362 01F4      		brne .+2
572
 584 0364 00C0      		rjmp .L42
573
 585 0366 2530      		cpi r18,5
574
 586 0368 3105      		cpc r19,__zero_reg__
575
 587 036a 04F4      		brge .L46
576
 588 036c 2230      		cpi r18,2
577
 589 036e 3105      		cpc r19,__zero_reg__
578
 590 0370 01F0      		breq .L40
579
 591 0372 2330      		cpi r18,3
580
 592 0374 3105      		cpc r19,__zero_reg__
581
 593 0376 04F4      		brge .L41
582
 594 0378 2130      		cpi r18,1
583
 595 037a 3105      		cpc r19,__zero_reg__
584
 596 037c 01F0      		breq .+2
585
 597 037e 00C0      		rjmp .L47
586
 598 0380 00C0      		rjmp .L39
587
 599               	.L46:
588
 600 0382 2630      		cpi r18,6
589
 601 0384 3105      		cpc r19,__zero_reg__
590
 602 0386 01F4      		brne .+2
591
 603 0388 00C0      		rjmp .L44
592
 604 038a 2630      		cpi r18,6
593
 605 038c 3105      		cpc r19,__zero_reg__
594
 606 038e 04F4      		brge .+2
595
 607 0390 00C0      		rjmp .L43
596
 608 0392 2730      		cpi r18,7
597
 609 0394 3105      		cpc r19,__zero_reg__
598
 610 0396 01F0      		breq .+2
599
 611 0398 00C0      		rjmp .L47
600
 612 039a 00C0      		rjmp .L45
601
 613               	.L39:
602
 614               	.LM55:
603
 615 039c 8AB3      		in r24,58-0x20
604
 616               	.LVL35:
605
 617 039e 00C0      		rjmp 2f
606
 618 03a0 220F      	1:	lsl r18
607
 619 03a2 331F      		rol r19
608
 620 03a4 4A95      	2:	dec r20
609
 621 03a6 02F4      		brpl 1b
610
 622 03a8 822B      		or r24,r18
611
 623 03aa 8ABB      		out 58-0x20,r24
612
 624               	.LM56:
613
 625 03ac 8BB3      		in r24,59-0x20
614
 626 03ae 822B      		or r24,r18
615
 627               	.L48:
616
 628 03b0 8BBB      		out 59-0x20,r24
617
 629 03b2 0895      		ret
618
 630               	.LVL36:
619
 631               	.L40:
620
 632               	.LM57:
621
 633 03b4 87B3      		in r24,55-0x20
622
 634               	.LVL37:
623
 635 03b6 21E0      		ldi r18,lo8(1)
624
 636 03b8 30E0      		ldi r19,hi8(1)
625
 637 03ba 00C0      		rjmp 2f
626
 638 03bc 220F      	1:	lsl r18
627
 639 03be 331F      		rol r19
628
 640 03c0 4A95      	2:	dec r20
629
 641 03c2 02F4      		brpl 1b
630
 642 03c4 822B      		or r24,r18
631
 643 03c6 87BB      		out 55-0x20,r24
632
 644               	.LM58:
633
 645 03c8 88B3      		in r24,56-0x20
634
 646 03ca 822B      		or r24,r18
635
 647               	.L53:
636
 648 03cc 88BB      		out 56-0x20,r24
637
 649 03ce 0895      		ret
638
 650               	.LVL38:
639
 651               	.L41:
640
 652               	.LM59:
641
 653 03d0 84B3      		in r24,52-0x20
642
 654               	.LVL39:
643
 655 03d2 21E0      		ldi r18,lo8(1)
644
 656 03d4 30E0      		ldi r19,hi8(1)
645
 657 03d6 00C0      		rjmp 2f
646
 658 03d8 220F      	1:	lsl r18
647
 659 03da 331F      		rol r19
648
 660 03dc 4A95      	2:	dec r20
649
 661 03de 02F4      		brpl 1b
650
 662 03e0 822B      		or r24,r18
651
 663 03e2 84BB      		out 52-0x20,r24
652
 664               	.LM60:
653
 665 03e4 85B3      		in r24,53-0x20
654
 666 03e6 822B      		or r24,r18
655
 667               	.L52:
656
 668 03e8 85BB      		out 53-0x20,r24
657
 669 03ea 0895      		ret
658
 670               	.LVL40:
659
 671               	.L42:
660
 672               	.LM61:
661
 673 03ec 81B3      		in r24,49-0x20
662
 674               	.LVL41:
663
 675 03ee 21E0      		ldi r18,lo8(1)
664
 676 03f0 30E0      		ldi r19,hi8(1)
665
 677 03f2 00C0      		rjmp 2f
666
 678 03f4 220F      	1:	lsl r18
667
 679 03f6 331F      		rol r19
668
 680 03f8 4A95      	2:	dec r20
669
 681 03fa 02F4      		brpl 1b
670
 682 03fc 822B      		or r24,r18
671
 683 03fe 81BB      		out 49-0x20,r24
672
 684               	.LM62:
673
 685 0400 82B3      		in r24,50-0x20
674
 686 0402 822B      		or r24,r18
675
 687               	.L49:
676
 688 0404 82BB      		out 50-0x20,r24
677
 689 0406 0895      		ret
678
 690               	.LVL42:
679
 691               	.L43:
680
 692               	.LM63:
681
 693 0408 82B1      		in r24,34-0x20
682
 694               	.LVL43:
683
 695 040a 21E0      		ldi r18,lo8(1)
684
 696 040c 30E0      		ldi r19,hi8(1)
685
 697 040e 00C0      		rjmp 2f
686
 698 0410 220F      	1:	lsl r18
687
 699 0412 331F      		rol r19
688
 700 0414 4A95      	2:	dec r20
689
 701 0416 02F4      		brpl 1b
690
 702 0418 822B      		or r24,r18
691
 703 041a 82B9      		out 34-0x20,r24
692
 704               	.LM64:
693
 705 041c 83B1      		in r24,35-0x20
694
 706 041e 822B      		or r24,r18
695
 707               	.L50:
696
 708 0420 83B9      		out 35-0x20,r24
697
 709 0422 0895      		ret
698
 710               	.LVL44:
699
 711               	.L44:
700
 712               	.LM65:
701
 713 0424 8091 6100 		lds r24,97
702
 714               	.LVL45:
703
 715 0428 21E0      		ldi r18,lo8(1)
704
 716 042a 30E0      		ldi r19,hi8(1)
705
 717 042c 00C0      		rjmp 2f
706
 718 042e 220F      	1:	lsl r18
707
 719 0430 331F      		rol r19
708
 720 0432 4A95      	2:	dec r20
709
 721 0434 02F4      		brpl 1b
710
 722 0436 822B      		or r24,r18
711
 723 0438 8093 6100 		sts 97,r24
712
 724               	.LM66:
713
 725 043c 8091 6200 		lds r24,98
714
 726 0440 822B      		or r24,r18
715
 727               	.L51:
716
 728 0442 8093 6200 		sts 98,r24
717
 729 0446 0895      		ret
718
 730               	.LVL46:
719
 731               	.L45:
720
 732               	.LM67:
721
 733 0448 8091 6400 		lds r24,100
722
 734               	.LVL47:
723
 735 044c 21E0      		ldi r18,lo8(1)
724
 736 044e 30E0      		ldi r19,hi8(1)
725
 737 0450 00C0      		rjmp 2f
726
 738 0452 220F      	1:	lsl r18
727
 739 0454 331F      		rol r19
728
 740 0456 4A95      	2:	dec r20
729
 741 0458 02F4      		brpl 1b
730
 742 045a 822B      		or r24,r18
731
 743 045c 8093 6400 		sts 100,r24
732
 744               	.LM68:
733
 745 0460 8091 6500 		lds r24,101
734
 746 0464 822B      		or r24,r18
735
 747 0466 8093 6500 		sts 101,r24
736
 748               	.LVL48:
737
 749               	.L47:
738
 750 046a 0895      		ret
739
 751               	/* epilogue: frame size=0 */
740
 752               	/* epilogue: noreturn */
741
 753               	/* epilogue end (size=0) */
742
 754               	/* function digital_output size 294 (294) */
743
 755               	.LFE4:
744
 757               	.global	button1_read
745
 759               	button1_read:
746
 760               	.LFB5:
747
 761               	.LM69:
748
 762               	/* prologue: frame size=0 */
749
 763               	/* prologue end (size=0) */
750
 764               	.LM70:
751
 765 046c E4E6      		ldi r30,lo8(100)
752
 766 046e F0E0      		ldi r31,hi8(100)
753
 767 0470 8081      		ld r24,Z
754
 768 0472 8E7F      		andi r24,lo8(-2)
755
 769 0474 8083      		st Z,r24
756
 770               	.LM71:
757
 771 0476 E5E6      		ldi r30,lo8(101)
758
 772 0478 F0E0      		ldi r31,hi8(101)
759
 773 047a 8081      		ld r24,Z
760
 774 047c 8160      		ori r24,lo8(1)
761
 775 047e 8083      		st Z,r24
762
 776               	.LM72:
763
 777 0480 8091 6300 		lds r24,99
764
 778 0484 9927      		clr r25
765
 779 0486 8095      		com r24
766
 780 0488 9095      		com r25
767
 781               	.LM73:
768
 782 048a 8170      		andi r24,lo8(1)
769
 783 048c 9070      		andi r25,hi8(1)
770
 784               	/* epilogue: frame size=0 */
771
 785 048e 0895      		ret
772
 786               	/* epilogue end (size=1) */
773
 787               	/* function button1_read size 18 (17) */
774
 788               	.LFE5:
775
 790               	.global	button1_click
776
 792               	button1_click:
777
 793               	.LFB7:
778
 794               	.LM74:
779
 795               	/* prologue: frame size=0 */
780
 796               	/* prologue end (size=0) */
781
 797               	.LM75:
782
 798 0490 0E94 0000 		call button1_read
783
 799 0494 892B      		or r24,r25
784
 800 0496 01F4      		brne .L62
785
 801               	.LM76:
786
 802 0498 80E0      		ldi r24,lo8(0)
787
 803 049a 90E0      		ldi r25,hi8(0)
788
 804 049c 0895      		ret
789
 805               	.L62:
790
 806               	.LM77:
791
 807 049e 0E94 0000 		call button1_read
792
 808 04a2 892B      		or r24,r25
793
 809 04a4 01F4      		brne .L62
794
 810 04a6 81E0      		ldi r24,lo8(1)
795
 811 04a8 90E0      		ldi r25,hi8(1)
796
 812               	.LM78:
797
 813 04aa 0895      		ret
798
 814               	/* epilogue: frame size=0 */
799
 815               	/* epilogue: noreturn */
800
 816               	/* epilogue end (size=0) */
801
 817               	/* function button1_click size 14 (14) */
802
 818               	.LFE7:
803
 820               	.global	button2_read
804
 822               	button2_read:
805
 823               	.LFB8:
806
 824               	.LM79:
807
 825               	/* prologue: frame size=0 */
808
 826               	/* prologue end (size=0) */
809
 827               	.LM80:
810
 828 04ac E4E6      		ldi r30,lo8(100)
811
 829 04ae F0E0      		ldi r31,hi8(100)
812
 830 04b0 8081      		ld r24,Z
813
 831 04b2 8D7F      		andi r24,lo8(-3)
814
 832 04b4 8083      		st Z,r24
815
 833               	.LM81:
816
 834 04b6 E5E6      		ldi r30,lo8(101)
817
 835 04b8 F0E0      		ldi r31,hi8(101)
818
 836 04ba 8081      		ld r24,Z
819
 837 04bc 8260      		ori r24,lo8(2)
820
 838 04be 8083      		st Z,r24
821
 839               	.LM82:
822
 840 04c0 8091 6300 		lds r24,99
823
 841 04c4 9927      		clr r25
824
 842 04c6 9695      		lsr r25
825
 843 04c8 8795      		ror r24
826
 844 04ca 8095      		com r24
827
 845 04cc 9095      		com r25
828
 846               	.LM83:
829
 847 04ce 8170      		andi r24,lo8(1)
830
 848 04d0 9070      		andi r25,hi8(1)
831
 849               	/* epilogue: frame size=0 */
832
 850 04d2 0895      		ret
833
 851               	/* epilogue end (size=1) */
834
 852               	/* function button2_read size 20 (19) */
835
 853               	.LFE8:
836
 855               	.global	button2_click
837
 857               	button2_click:
838
 858               	.LFB10:
839
 859               	.LM84:
840
 860               	/* prologue: frame size=0 */
841
 861               	/* prologue end (size=0) */
842
 862               	.LM85:
843
 863 04d4 0E94 0000 		call button2_read
844
 864 04d8 892B      		or r24,r25
845
 865 04da 01F4      		brne .L73
846
 866               	.LM86:
847
 867 04dc 80E0      		ldi r24,lo8(0)
848
 868 04de 90E0      		ldi r25,hi8(0)
849
 869 04e0 0895      		ret
850
 870               	.L73:
851
 871               	.LM87:
852
 872 04e2 0E94 0000 		call button2_read
853
 873 04e6 892B      		or r24,r25
854
 874 04e8 01F4      		brne .L73
855
 875 04ea 81E0      		ldi r24,lo8(1)
856
 876 04ec 90E0      		ldi r25,hi8(1)
857
 877               	.LM88:
858
 878 04ee 0895      		ret
859
 879               	/* epilogue: frame size=0 */
860
 880               	/* epilogue: noreturn */
861
 881               	/* epilogue end (size=0) */
862
 882               	/* function button2_click size 14 (14) */
863
 883               	.LFE10:
864
 885               	.global	button2_wait
865
 887               	button2_wait:
866
 888               	.LFB9:
867
 889               	.LM89:
868
 890               	/* prologue: frame size=0 */
869
 891               	/* prologue end (size=0) */
870
 892 04f0 00C0      		rjmp .L77
871
 893               	.L78:
872
 894               	.LM90:
873
 895 04f2 8FE0      		ldi r24,lo8(15)
874
 896 04f4 90E0      		ldi r25,hi8(15)
875
 897 04f6 0E94 0000 		call delay_ms
876
 898               	.L77:
877
 899               	.LM91:
878
 900 04fa 0E94 0000 		call button2_read
879
 901 04fe 892B      		or r24,r25
880
 902 0500 01F0      		breq .L78
881
 903               	/* epilogue: frame size=0 */
882
 904 0502 0895      		ret
883
 905               	/* epilogue end (size=1) */
884
 906               	/* function button2_wait size 10 (9) */
885
 907               	.LFE9:
886
 909               	.global	button1_wait
887
 911               	button1_wait:
888
 912               	.LFB6:
889
 913               	.LM92:
890
 914               	/* prologue: frame size=0 */
891
 915               	/* prologue end (size=0) */
892
 916 0504 00C0      		rjmp .L82
893
 917               	.L83:
894
 918               	.LM93:
895
 919 0506 8FE0      		ldi r24,lo8(15)
896
 920 0508 90E0      		ldi r25,hi8(15)
897
 921 050a 0E94 0000 		call delay_ms
898
 922               	.L82:
899
 923               	.LM94:
900
 924 050e 0E94 0000 		call button1_read
901
 925 0512 892B      		or r24,r25
902
 926 0514 01F0      		breq .L83
903
 927               	/* epilogue: frame size=0 */
904
 928 0516 0895      		ret
905
 929               	/* epilogue end (size=1) */
906
 930               	/* function button1_wait size 10 (9) */
907
 931               	.LFE6:
908
 1021               	.Letext0:
909
DEFINED SYMBOLS
910
                            *ABS*:00000000 dio.c
911
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:3      *ABS*:0000003f __SREG__
912
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:4      *ABS*:0000003e __SP_H__
913
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:5      *ABS*:0000003d __SP_L__
914
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:6      *ABS*:00000000 __tmp_reg__
915
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:7      *ABS*:00000001 __zero_reg__
916
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:20     .text:00000000 digital_input
917
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:232    .text:0000014e digital_pull_up
918
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:393    .text:00000238 digital_output
919
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:759    .text:0000046c button1_read
920
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:792    .text:00000490 button1_click
921
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:822    .text:000004ac button2_read
922
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:857    .text:000004d4 button2_click
923
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:887    .text:000004f0 button2_wait
924
F:\DOCUME~1\Evan\LOCALS~1\Temp/cczALWWs.s:911    .text:00000504 button1_wait
925

    
926
UNDEFINED SYMBOLS
927
__do_copy_data
928
__do_clear_bss
929
delay_ms