-
Notifications
You must be signed in to change notification settings - Fork 0
/
naputin.lst
789 lines (788 loc) · 26.2 KB
/
naputin.lst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
1 .file "naputin.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
15 .Ltext0:
16 .section .text.__vector_23,"ax",@progbits
17 .global __vector_23
19 __vector_23:
20 .LFB7:
21 .LSM0:
22 0000 1F92 push __zero_reg__
23 0002 0F92 push r0
24 0004 0FB6 in r0,__SREG__
25 0006 0F92 push r0
26 0008 1124 clr __zero_reg__
27 000a 2F93 push r18
28 000c 3F93 push r19
29 000e 4F93 push r20
30 0010 5F93 push r21
31 0012 6F93 push r22
32 0014 7F93 push r23
33 0016 8F93 push r24
34 0018 9F93 push r25
35 001a AF93 push r26
36 001c BF93 push r27
37 001e EF93 push r30
38 0020 FF93 push r31
39 /* prologue: Signal */
40 /* frame size = 0 */
41 .LSM1:
42 0022 8091 0000 lds r24,idle_count
43 0026 9091 0000 lds r25,(idle_count)+1
44 002a 0196 adiw r24,1
45 002c 9093 0000 sts (idle_count)+1,r25
46 0030 8093 0000 sts idle_count,r24
47 .LSM2:
48 0034 895E subi r24,lo8(489)
49 0036 9140 sbci r25,hi8(489)
50 0038 00F0 brlo .L3
51 .LSM3:
52 003a 1092 0000 sts (idle_count)+1,__zero_reg__
53 003e 1092 0000 sts idle_count,__zero_reg__
54 .LSM4:
55 0042 0E94 0000 call usb_keyboard_send
56 .L3:
57 /* epilogue start */
58 .LSM5:
59 0046 FF91 pop r31
60 0048 EF91 pop r30
61 004a BF91 pop r27
62 004c AF91 pop r26
63 004e 9F91 pop r25
64 0050 8F91 pop r24
65 0052 7F91 pop r23
66 0054 6F91 pop r22
67 0056 5F91 pop r21
68 0058 4F91 pop r20
69 005a 3F91 pop r19
70 005c 2F91 pop r18
71 005e 0F90 pop r0
72 0060 0FBE out __SREG__,r0
73 0062 0F90 pop r0
74 0064 1F90 pop __zero_reg__
75 0066 1895 reti
76 .LFE7:
78 .section .text.main,"ax",@progbits
79 .global main
81 main:
82 .LFB6:
83 .LSM6:
84 0000 2F92 push r2
85 0002 3F92 push r3
86 0004 4F92 push r4
87 0006 5F92 push r5
88 0008 6F92 push r6
89 000a 7F92 push r7
90 000c 8F92 push r8
91 000e 9F92 push r9
92 0010 AF92 push r10
93 0012 BF92 push r11
94 0014 CF92 push r12
95 0016 DF92 push r13
96 0018 EF92 push r14
97 001a FF92 push r15
98 001c 0F93 push r16
99 001e 1F93 push r17
100 0020 DF93 push r29
101 0022 CF93 push r28
102 0024 CDB7 in r28,__SP_L__
103 0026 DEB7 in r29,__SP_H__
104 0028 C45B subi r28,lo8(-(-180))
105 002a D040 sbci r29,hi8(-(-180))
106 002c 0FB6 in __tmp_reg__,__SREG__
107 002e F894 cli
108 0030 DEBF out __SP_H__,r29
109 0032 0FBE out __SREG__,__tmp_reg__
110 0034 CDBF out __SP_L__,r28
111 /* prologue: function */
112 /* frame size = 180 */
113 .LSM7:
114 0036 80E8 ldi r24,lo8(-128)
115 0038 8093 6100 sts 97,r24
116 003c 1092 6100 sts 97,__zero_reg__
117 .LSM8:
118 0040 0E94 0000 call usb_init
119 .L5:
120 .LSM9:
121 0044 0E94 0000 call usb_configured
122 0048 8823 tst r24
123 004a 01F0 breq .L5
124 004c 80E1 ldi r24,lo8(10000)
125 004e 97E2 ldi r25,hi8(10000)
126 .LVL0:
127 .LBB67:
128 .LBB68:
129 .LBB69:
130 .LBB70:
131 .LSM10:
132 0050 20E9 ldi r18,lo8(400)
133 0052 31E0 ldi r19,hi8(400)
134 .L6:
135 0054 F901 movw r30,r18
136 .LVL1:
137 /* #APP */
138 ; 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
139 0056 3197 1: sbiw r30,1
140 0058 01F4 brne 1b
141 ; 0 "" 2
142 /* #NOAPP */
143 .LBE70:
144 .LBE69:
145 .LSM11:
146 005a 0197 sbiw r24,1
147 .LSM12:
148 005c 01F4 brne .L6
149 .LBE68:
150 .LBE67:
151 .LSM13:
152 005e 14BC out 68-32,__zero_reg__
153 .LSM14:
154 0060 85E0 ldi r24,lo8(5)
155 .LVL2:
156 0062 85BD out 69-32,r24
157 .LSM15:
158 0064 81E0 ldi r24,lo8(1)
159 0066 8093 6E00 sts 110,r24
160 .LSM16:
161 006a 8FE8 ldi r24,lo8(-113)
162 006c 84B9 out 36-32,r24
163 .LSM17:
164 006e 8FE3 ldi r24,lo8(63)
165 0070 87B9 out 39-32,r24
166 .LSM18:
167 0072 83E3 ldi r24,lo8(51)
168 0074 8AB9 out 42-32,r24
169 .LSM19:
170 0076 8CE0 ldi r24,lo8(12)
171 0078 80BB out 48-32,r24
172 .LSM20:
173 007a 289A sbi 37-32,0
174 007c 88EE ldi r24,lo8(1000)
175 007e 93E0 ldi r25,hi8(1000)
176 .LVL3:
177 .LBB71:
178 .LBB72:
179 .LBB73:
180 .LBB74:
181 .LSM21:
182 0080 20E9 ldi r18,lo8(400)
183 0082 31E0 ldi r19,hi8(400)
184 .L7:
185 0084 F901 movw r30,r18
186 .LVL4:
187 /* #APP */
188 ; 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
189 0086 3197 1: sbiw r30,1
190 0088 01F4 brne 1b
191 ; 0 "" 2
192 /* #NOAPP */
193 .LBE74:
194 .LBE73:
195 .LSM22:
196 008a 0197 sbiw r24,1
197 .LSM23:
198 008c 01F4 brne .L7
199 .LBE72:
200 .LBE71:
201 .LSM24:
202 008e 2898 cbi 37-32,0
203 0090 84EF ldi r24,lo8(500)
204 0092 91E0 ldi r25,hi8(500)
205 .LVL5:
206 .LBB75:
207 .LBB76:
208 .LBB77:
209 .LBB78:
210 .LSM25:
211 0094 20E9 ldi r18,lo8(400)
212 0096 31E0 ldi r19,hi8(400)
213 .L8:
214 0098 F901 movw r30,r18
215 .LVL6:
216 /* #APP */
217 ; 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
218 009a 3197 1: sbiw r30,1
219 009c 01F4 brne 1b
220 ; 0 "" 2
221 /* #NOAPP */
222 .LBE78:
223 .LBE77:
224 .LSM26:
225 009e 0197 sbiw r24,1
226 .LSM27:
227 00a0 01F4 brne .L8
228 .LBE76:
229 .LBE75:
230 .LSM28:
231 00a2 289A sbi 37-32,0
232 00a4 88EE ldi r24,lo8(1000)
233 00a6 93E0 ldi r25,hi8(1000)
234 .LVL7:
235 .LBB79:
236 .LBB80:
237 .LBB81:
238 .LBB82:
239 .LSM29:
240 00a8 20E9 ldi r18,lo8(400)
241 00aa 31E0 ldi r19,hi8(400)
242 .L9:
243 00ac F901 movw r30,r18
244 .LVL8:
245 /* #APP */
246 ; 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
247 00ae 3197 1: sbiw r30,1
248 00b0 01F4 brne 1b
249 ; 0 "" 2
250 /* #NOAPP */
251 .LBE82:
252 .LBE81:
253 .LSM30:
254 00b2 0197 sbiw r24,1
255 .LSM31:
256 00b4 01F4 brne .L9
257 .LBE80:
258 .LBE79:
259 .LSM32:
260 00b6 8AE5 ldi r24,lo8(90)
261 .LVL9:
262 00b8 DE01 movw r26,r28
263 00ba 1196 adiw r26,1
264 00bc FD01 movw r30,r26
265 .LVL10:
266 00be 982F mov r25,r24
267 00c0 1192 st Z+,__zero_reg__
268 00c2 9A95 dec r25
269 00c4 01F4 brne .-6
270 .LSM33:
271 00c6 9E01 movw r18,r28
272 00c8 255A subi r18,lo8(-(91))
273 00ca 3F4F sbci r19,hi8(-(91))
274 00cc F901 movw r30,r18
275 00ce 1192 st Z+,__zero_reg__
276 00d0 8A95 dec r24
277 00d2 01F4 brne .-6
278 .LSM34:
279 00d4 2898 cbi 37-32,0
280 00d6 7724 clr r7
281 .LVL11:
282 .LSM35:
283 00d8 3324 clr r3
284 00da 3A94 dec r3
285 .LSM36:
286 00dc 2224 clr r2
287 00de 2394 inc r2
288 .LBB83:
289 .LBB84:
290 .LBB85:
291 .LBB86:
292 .LBB87:
293 .LSM37:
294 00e0 90E9 ldi r25,lo8(400)
295 00e2 492E mov r4,r25
296 00e4 91E0 ldi r25,hi8(400)
297 00e6 592E mov r5,r25
298 .LVL12:
299 .L28:
300 .LBE87:
301 .LBE86:
302 .LBE85:
303 .LBE84:
304 .LBE83:
305 .LSM38:
306 00e8 FEEF ldi r31,lo8(-2)
307 00ea F5B9 out 37-32,r31
308 .LSM39:
309 00ec 38B8 out 40-32,r3
310 .LSM40:
311 00ee 3BB8 out 43-32,r3
312 .LSM41:
313 00f0 31BA out 49-32,r3
314 .LSM42:
315 00f2 95B1 in r25,37-32
316 00f4 8091 0000 lds r24,keyboard_leds
317 00f8 8695 lsr r24
318 00fa 8170 andi r24,lo8(1)
319 00fc 892B or r24,r25
320 00fe 85B9 out 37-32,r24
321 0100 40E0 ldi r20,lo8(0)
322 0102 50E0 ldi r21,hi8(0)
323 .LVL13:
324 .L11:
325 .LBB96:
326 .LSM43:
327 0104 FA01 movw r30,r20
328 0106 EE0F lsl r30
329 0108 FF1F rol r31
330 010a E050 subi r30,lo8(-(outputRows.1430))
331 010c F040 sbci r31,hi8(-(outputRows.1430))
332 010e A081 ld r26,Z
333 0110 B181 ldd r27,Z+1
334 0112 FA01 movw r30,r20
335 0114 E050 subi r30,lo8(-(outputRowShifts.1431))
336 0116 F040 sbci r31,hi8(-(outputRowShifts.1431))
337 0118 81E0 ldi r24,lo8(1)
338 011a 90E0 ldi r25,hi8(1)
339 011c 0080 ld r0,Z
340 011e 00C0 rjmp 2f
341 0120 880F 1: lsl r24
342 0122 991F rol r25
343 0124 0A94 2: dec r0
344 0126 02F4 brpl 1b
345 0128 682F mov r22,r24
346 012a 982F mov r25,r24
347 012c 9095 com r25
348 012e 8C91 ld r24,X
349 0130 8923 and r24,r25
350 0132 8C93 st X,r24
351 0134 DA01 movw r26,r20
352 0136 04E0 ldi r16,4
353 0138 AA0F 1: lsl r26
354 013a BB1F rol r27
355 013c 0A95 dec r16
356 013e 01F4 brne 1b
357 .LVL14:
358 0140 A41B sub r26,r20
359 0142 B50B sbc r27,r21
360 0144 81E0 ldi r24,lo8(1)
361 0146 90E0 ldi r25,hi8(1)
362 0148 8C0F add r24,r28
363 014a 9D1F adc r25,r29
364 014c A80F add r26,r24
365 014e B91F adc r27,r25
366 0150 20E0 ldi r18,lo8(0)
367 0152 30E0 ldi r19,hi8(0)
368 .L10:
369 .LBB97:
370 .LSM44:
371 0154 F901 movw r30,r18
372 0156 EE0F lsl r30
373 0158 FF1F rol r31
374 015a E050 subi r30,lo8(-(inputColumns.1428))
375 015c F040 sbci r31,hi8(-(inputColumns.1428))
376 015e 0190 ld __tmp_reg__,Z+
377 0160 F081 ld r31,Z
378 0162 E02D mov r30,__tmp_reg__
379 0164 8081 ld r24,Z
380 0166 90E0 ldi r25,lo8(0)
381 0168 F901 movw r30,r18
382 016a E050 subi r30,lo8(-(inputColumnShifts.1429))
383 016c F040 sbci r31,hi8(-(inputColumnShifts.1429))
384 016e 0080 ld r0,Z
385 0170 00C0 rjmp 2f
386 0172 9595 1: asr r25
387 0174 8795 ror r24
388 0176 0A94 2: dec r0
389 0178 02F4 brpl 1b
390 017a 8170 andi r24,lo8(1)
391 017c 9070 andi r25,hi8(1)
392 017e 8D93 st X+,r24
393 .LSM45:
394 0180 2F5F subi r18,lo8(-(1))
395 0182 3F4F sbci r19,hi8(-(1))
396 0184 2F30 cpi r18,15
397 0186 3105 cpc r19,__zero_reg__
398 0188 01F4 brne .L10
399 .LBE97:
400 .LSM46:
401 018a FA01 movw r30,r20
402 018c EE0F lsl r30
403 018e FF1F rol r31
404 0190 E050 subi r30,lo8(-(outputRows.1430))
405 0192 F040 sbci r31,hi8(-(outputRows.1430))
406 0194 0190 ld __tmp_reg__,Z+
407 0196 F081 ld r31,Z
408 0198 E02D mov r30,__tmp_reg__
409 019a 8081 ld r24,Z
410 019c 862B or r24,r22
411 019e 8083 st Z,r24
412 .LSM47:
413 01a0 4F5F subi r20,lo8(-(1))
414 01a2 5F4F sbci r21,hi8(-(1))
415 01a4 4630 cpi r20,6
416 01a6 5105 cpc r21,__zero_reg__
417 01a8 01F0 breq .+2
418 01aa 00C0 rjmp .L11
419 01ac 00E0 ldi r16,lo8(0)
420 01ae 10E0 ldi r17,hi8(0)
421 .LVL15:
422 01b0 00C0 rjmp .L12
423 .LVL16:
424 .L21:
425 .LBE96:
426 .LBB98:
427 .LBB99:
428 .LSM48:
429 01b2 D401 movw r26,r8
430 01b4 6C90 ld r6,X
431 01b6 F501 movw r30,r10
432 01b8 8081 ld r24,Z
433 01ba 6620 tst r6
434 01bc 01F0 breq .L13
435 01be 8823 tst r24
436 01c0 01F4 brne .+2
437 01c2 00C0 rjmp .L14
438 .LSM49:
439 01c4 C801 movw r24,r16
440 01c6 B701 movw r22,r14
441 01c8 0E94 0000 call isModifierKey
442 .LVL17:
443 01cc D601 movw r26,r12
444 01ce 4C91 ld r20,X
445 01d0 892B or r24,r25
446 01d2 01F0 breq .L15
447 .LSM50:
448 01d4 4095 com r20
449 01d6 8091 0000 lds r24,keyboard_modifier_keys
450 01da 8423 and r24,r20
451 01dc 00C0 rjmp .L43
452 .L15:
453 .LBB100:
454 .LSM51:
455 01de 20E0 ldi r18,lo8(0)
456 01e0 30E0 ldi r19,hi8(0)
457 .LVL18:
458 .L17:
459 01e2 F901 movw r30,r18
460 01e4 E050 subi r30,lo8(-(keyboard_keys))
461 01e6 F040 sbci r31,hi8(-(keyboard_keys))
462 01e8 8081 ld r24,Z
463 01ea 8417 cp r24,r20
464 01ec 01F4 brne .L16
465 .LSM52:
466 01ee 1082 st Z,__zero_reg__
467 01f0 25E0 ldi r18,lo8(5)
468 01f2 30E0 ldi r19,hi8(5)
469 .L16:
470 .LSM53:
471 01f4 2F5F subi r18,lo8(-(1))
472 01f6 3F4F sbci r19,hi8(-(1))
473 01f8 2630 cpi r18,6
474 01fa 3105 cpc r19,__zero_reg__
475 01fc 01F4 brne .L17
476 01fe 00C0 rjmp .L14
477 .LVL19:
478 .L13:
479 .LBE100:
480 .LSM54:
481 0200 8823 tst r24
482 0202 01F4 brne .L14
483 .LSM55:
484 0204 C801 movw r24,r16
485 0206 B701 movw r22,r14
486 0208 0E94 0000 call isModifierKey
487 .LVL20:
488 020c 892B or r24,r25
489 020e 01F0 breq .L18
490 .LSM56:
491 0210 8091 0000 lds r24,keyboard_modifier_keys
492 0214 F601 movw r30,r12
493 0216 9081 ld r25,Z
494 0218 892B or r24,r25
495 .L43:
496 021a 8093 0000 sts keyboard_modifier_keys,r24
497 021e 00C0 rjmp .L14
498 .L18:
499 0220 20E0 ldi r18,lo8(0)
500 0222 30E0 ldi r19,hi8(0)
501 .LVL21:
502 .L20:
503 .LBB101:
504 .LSM57:
505 0224 F901 movw r30,r18
506 0226 E050 subi r30,lo8(-(keyboard_keys))
507 0228 F040 sbci r31,hi8(-(keyboard_keys))
508 022a 8081 ld r24,Z
509 022c 8823 tst r24
510 022e 01F4 brne .L19
511 .LSM58:
512 0230 D601 movw r26,r12
513 0232 8C91 ld r24,X
514 0234 8083 st Z,r24
515 0236 25E0 ldi r18,lo8(5)
516 0238 30E0 ldi r19,hi8(5)
517 .L19:
518 .LSM59:
519 023a 2F5F subi r18,lo8(-(1))
520 023c 3F4F sbci r19,hi8(-(1))
521 023e 2630 cpi r18,6
522 0240 3105 cpc r19,__zero_reg__
523 0242 01F4 brne .L20
524 .LVL22:
525 .L14:
526 .LBE101:
527 .LSM60:
528 0244 F501 movw r30,r10
529 0246 6192 st Z+,r6
530 0248 5F01 movw r10,r30
531 .LSM61:
532 024a 0894 sec
533 024c E11C adc r14,__zero_reg__
534 024e F11C adc r15,__zero_reg__
535 0250 0894 sec
536 0252 811C adc r8,__zero_reg__
537 0254 911C adc r9,__zero_reg__
538 0256 86E0 ldi r24,lo8(6)
539 0258 90E0 ldi r25,hi8(6)
540 025a C80E add r12,r24
541 025c D91E adc r13,r25
542 025e 9FE0 ldi r25,lo8(15)
543 0260 E916 cp r14,r25
544 0262 F104 cpc r15,__zero_reg__
545 0264 01F0 breq .+2
546 0266 00C0 rjmp .L21
547 .LBE99:
548 .LSM62:
549 0268 0F5F subi r16,lo8(-(1))
550 026a 1F4F sbci r17,hi8(-(1))
551 026c 0630 cpi r16,6
552 026e 1105 cpc r17,__zero_reg__
553 0270 01F0 breq .L22
554 .LVL23:
555 .L12:
556 0272 C801 movw r24,r16
557 0274 44E0 ldi r20,4
558 0276 880F 1: lsl r24
559 0278 991F rol r25
560 027a 4A95 dec r20
561 027c 01F4 brne 1b
562 .LVL24:
563 027e 801B sub r24,r16
564 0280 910B sbc r25,r17
565 0282 31E0 ldi r19,lo8(1)
566 0284 832E mov r8,r19
567 0286 912C mov r9,__zero_reg__
568 0288 8C0E add r8,r28
569 028a 9D1E adc r9,r29
570 028c 880E add r8,r24
571 028e 991E adc r9,r25
572 0290 2BE5 ldi r18,lo8(91)
573 0292 A22E mov r10,r18
574 0294 B12C mov r11,__zero_reg__
575 .LVL25:
576 0296 AC0E add r10,r28
577 0298 BD1E adc r11,r29
578 029a A80E add r10,r24
579 029c B91E adc r11,r25
580 029e 80E0 ldi r24,lo8(keys_ms)
581 02a0 C82E mov r12,r24
582 02a2 80E0 ldi r24,hi8(keys_ms)
583 02a4 D82E mov r13,r24
584 02a6 C00E add r12,r16
585 02a8 D11E adc r13,r17
586 02aa EE24 clr r14
587 02ac FF24 clr r15
588 02ae 00C0 rjmp .L21
589 .LVL26:
590 .L22:
591 .LBE98:
592 .LSM63:
593 02b0 9F85 ldd r25,Y+15
594 02b2 9225 eor r25,r2
595 02b4 8981 ldd r24,Y+1
596 02b6 8225 eor r24,r2
597 02b8 9823 and r25,r24
598 02ba 01F4 brne .L23
599 02bc 7724 clr r7
600 02be 00C0 rjmp .L24
601 .L23:
602 02c0 20E0 ldi r18,lo8(0)
603 02c2 30E0 ldi r19,hi8(0)
604 .LVL27:
605 .L27:
606 .LBB102:
607 .LSM64:
608 02c4 289A sbi 37-32,0
609 02c6 88EE ldi r24,lo8(1000)
610 02c8 93E0 ldi r25,hi8(1000)
611 .LVL28:
612 .L25:
613 .LBB91:
614 .LBB90:
615 .LBB89:
616 .LBB88:
617 .LSM65:
618 02ca F201 movw r30,r4
619 .LVL29:
620 /* #APP */
621 ; 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
622 02cc 3197 1: sbiw r30,1
623 02ce 01F4 brne 1b
624 ; 0 "" 2
625 /* #NOAPP */
626 .LBE88:
627 .LBE89:
628 .LSM66:
629 02d0 0197 sbiw r24,1
630 .LSM67:
631 02d2 01F4 brne .L25
632 .LBE90:
633 .LBE91:
634 .LSM68:
635 02d4 2898 cbi 37-32,0
636 02d6 88EE ldi r24,lo8(1000)
637 02d8 93E0 ldi r25,hi8(1000)
638 .LVL30:
639 .L26:
640 .LBB92:
641 .LBB93:
642 .LBB94:
643 .LBB95:
644 .LSM69:
645 02da F201 movw r30,r4
646 .LVL31:
647 /* #APP */
648 ; 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
649 02dc 3197 1: sbiw r30,1
650 02de 01F4 brne 1b
651 ; 0 "" 2
652 /* #NOAPP */
653 .LBE95:
654 .LBE94:
655 .LSM70:
656 02e0 0197 sbiw r24,1
657 .LSM71:
658 02e2 01F4 brne .L26
659 .LBE93:
660 .LBE92:
661 .LSM72:
662 02e4 2F5F subi r18,lo8(-(1))
663 02e6 3F4F sbci r19,hi8(-(1))
664 02e8 2330 cpi r18,3
665 02ea 3105 cpc r19,__zero_reg__
666 02ec 01F4 brne .L27
667 .LBE102:
668 .LSM73:
669 02ee 7394 inc r7
670 .LSM74:
671 02f0 A2E0 ldi r26,lo8(2)
672 02f2 A715 cp r26,r7
673 02f4 00F4 brsh .L24
674 .LSM75:
675 02f6 0E94 0000 call jumpToBootloader
676 .LVL32:
677 .L24:
678 .LBB103:
679 .LBB104:
680 .LBB105:
681 .LBB106:
682 .LBB107:
683 .LBB108:
684 .LSM76:
685 02fa C201 movw r24,r4
686 .LVL33:
687 /* #APP */
688 ; 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
689 02fc 0197 1: sbiw r24,1
690 02fe 01F4 brne 1b
691 ; 0 "" 2
692 /* #NOAPP */
693 .LBE108:
694 .LBE107:
695 .LBE106:
696 .LBE105:
697 .LBE104:
698 .LBE103:
699 .LSM77:
700 /* #APP */
701 ; 199 "naputin.c" 1
702 0300 F894 cli
703 ; 0 "" 2
704 .LSM78:
705 /* #NOAPP */
706 0302 1092 0000 sts (idle_count)+1,__zero_reg__
707 0306 1092 0000 sts idle_count,__zero_reg__
708 .LSM79:
709 /* #APP */
710 ; 201 "naputin.c" 1
711 030a 7894 sei
712 ; 0 "" 2
713 .LSM80:
714 /* #NOAPP */
715 030c 0E94 0000 call usb_keyboard_send
716 .LVL34:
717 0310 00C0 rjmp .L28
718 .LFE6:
720 .global idle_count
721 .global idle_count
722 .section .bss
725 idle_count:
726 0000 0000 .skip 2,0
727 .data
730 outputRowShifts.1431:
731 0000 01 .byte 1
732 0001 00 .byte 0
733 0002 07 .byte 7
734 0003 03 .byte 3
735 0004 02 .byte 2
736 0005 01 .byte 1
739 outputRows.1430:
740 0006 2B00 .word 43
741 0008 2B00 .word 43
742 000a 2500 .word 37
743 000c 2500 .word 37
744 000e 2500 .word 37
745 0010 2500 .word 37
748 inputColumnShifts.1429:
749 0012 02 .byte 2
750 0013 03 .byte 3
751 0014 06 .byte 6
752 0015 07 .byte 7
753 0016 06 .byte 6
754 0017 07 .byte 7
755 0018 04 .byte 4
756 0019 05 .byte 5
757 001a 06 .byte 6
758 001b 07 .byte 7
759 001c 06 .byte 6
760 001d 05 .byte 5
761 001e 04 .byte 4
762 001f 01 .byte 1
763 0020 00 .byte 0
766 inputColumns.1428:
767 0021 2900 .word 41
768 0023 2900 .word 41
769 0025 2600 .word 38
770 0027 2600 .word 38
771 0029 2900 .word 41
772 002b 2900 .word 41
773 002d 2300 .word 35
774 002f 2300 .word 35
775 0031 2300 .word 35
776 0033 2F00 .word 47
777 0035 2F00 .word 47
778 0037 2F00 .word 47
779 0039 2F00 .word 47
780 003b 2F00 .word 47
781 003d 2F00 .word 47
814 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 naputin.c
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:2 *ABS*:0000003f __SREG__
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:3 *ABS*:0000003e __SP_H__
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:4 *ABS*:0000003d __SP_L__
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:5 *ABS*:00000034 __CCP__
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:7 *ABS*:00000001 __zero_reg__
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:19 .text.__vector_23:00000000 __vector_23
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:725 .bss:00000000 idle_count
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:81 .text.main:00000000 main
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:739 .data:00000006 outputRows.1430
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:730 .data:00000000 outputRowShifts.1431
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:766 .data:00000021 inputColumns.1428
C:\Users\KYTTJ~1\AppData\Local\Temp/ccGOlN1z.s:748 .data:00000012 inputColumnShifts.1429
UNDEFINED SYMBOLS
usb_keyboard_send
usb_init
usb_configured
keyboard_leds
isModifierKey
keyboard_modifier_keys
keyboard_keys
keys_ms
jumpToBootloader
__do_copy_data
__do_clear_bss