📄 main.lss
字号:
4da: 09 f0 breq .+2 ; 0x4de
4dc: 67 c0 rjmp .+206 ; 0x5ac
{
write_ds1302(0x8a,(bcd_dsp[5]&0x07)+1);
4de: 80 91 7f 00 lds r24, 0x007F
4e2: 87 70 andi r24, 0x07 ; 7
4e4: 8f 5f subi r24, 0xFF ; 255
4e6: 68 2f mov r22, r24
4e8: 8a e8 ldi r24, 0x8A ; 138
4ea: ef dd rcall .-1058 ; 0xca
bcd_dsp[3]=in_byte(0x85)&0x3f;
4ec: 85 e8 ldi r24, 0x85 ; 133
4ee: fd dd rcall .-1030 ; 0xea
4f0: 8f 73 andi r24, 0x3F ; 63
4f2: 80 93 7d 00 sts 0x007D, r24
bcd_dsp[4]=in_byte(0x83)&0x7f;
4f6: 83 e8 ldi r24, 0x83 ; 131
4f8: f8 dd rcall .-1040 ; 0xea
4fa: 8f 77 andi r24, 0x7F ; 127
4fc: 80 93 7e 00 sts 0x007E, r24
bcd_dsp[5]=in_byte(0x81)&0x7f;
500: 81 e8 ldi r24, 0x81 ; 129
502: f3 dd rcall .-1050 ; 0xea
504: 38 2f mov r19, r24
506: 68 2f mov r22, r24
508: 6f 77 andi r22, 0x7F ; 127
dsp[0]=led[bcd_dsp[3]>>4];
50a: 20 91 7d 00 lds r18, 0x007D
50e: 72 2f mov r23, r18
510: 72 95 swap r23
512: 7f 70 andi r23, 0x0F ; 15
514: e7 2f mov r30, r23
516: ff 27 eor r31, r31
518: ea 59 subi r30, 0x9A ; 154
51a: ff 4f sbci r31, 0xFF ; 255
51c: 80 81 ld r24, Z
51e: 80 93 74 00 sts 0x0074, r24
dsp[1]=led[bcd_dsp[3]&0x0f];
522: e2 2f mov r30, r18
524: ff 27 eor r31, r31
526: ef 70 andi r30, 0x0F ; 15
528: f0 70 andi r31, 0x00 ; 0
52a: ea 59 subi r30, 0x9A ; 154
52c: ff 4f sbci r31, 0xFF ; 255
52e: 80 81 ld r24, Z
530: 80 93 75 00 sts 0x0075, r24
dsp[2]=led[bcd_dsp[4]>>4];
534: 90 91 7e 00 lds r25, 0x007E
538: 59 2f mov r21, r25
53a: 52 95 swap r21
53c: 5f 70 andi r21, 0x0F ; 15
53e: e5 2f mov r30, r21
540: ff 27 eor r31, r31
542: ea 59 subi r30, 0x9A ; 154
544: ff 4f sbci r31, 0xFF ; 255
546: 80 81 ld r24, Z
548: 80 93 76 00 sts 0x0076, r24
dsp[3]=led[bcd_dsp[4]&0x0f];
54c: e9 2f mov r30, r25
54e: ff 27 eor r31, r31
550: ef 70 andi r30, 0x0F ; 15
552: f0 70 andi r31, 0x00 ; 0
554: ea 59 subi r30, 0x9A ; 154
556: ff 4f sbci r31, 0xFF ; 255
558: 80 81 ld r24, Z
55a: 80 93 77 00 sts 0x0077, r24
dsp[4]=led[bcd_dsp[5]>>4];
55e: 46 2f mov r20, r22
560: 42 95 swap r20
562: 4f 70 andi r20, 0x0F ; 15
564: e4 2f mov r30, r20
566: ff 27 eor r31, r31
568: ea 59 subi r30, 0x9A ; 154
56a: ff 4f sbci r31, 0xFF ; 255
56c: 80 81 ld r24, Z
56e: 80 93 78 00 sts 0x0078, r24
dsp[5]=led[bcd_dsp[5]&0x0f];
572: e6 2f mov r30, r22
574: ff 27 eor r31, r31
576: ef 70 andi r30, 0x0F ; 15
578: f0 70 andi r31, 0x00 ; 0
57a: ea 59 subi r30, 0x9A ; 154
57c: ff 4f sbci r31, 0xFF ; 255
57e: 80 81 ld r24, Z
580: 80 93 79 00 sts 0x0079, r24
bcd_dsp[0]=bcd_dsp[3]>>4;
584: 70 93 7a 00 sts 0x007A, r23
bcd_dsp[1]=bcd_dsp[3]&0x0f;
588: 2f 70 andi r18, 0x0F ; 15
58a: 20 93 7b 00 sts 0x007B, r18
bcd_dsp[2]=bcd_dsp[4]>>4;
58e: 50 93 7c 00 sts 0x007C, r21
bcd_dsp[3]=bcd_dsp[4]&0x0f;
592: 9f 70 andi r25, 0x0F ; 15
594: 90 93 7d 00 sts 0x007D, r25
bcd_dsp[4]=bcd_dsp[5]>>4;
598: 40 93 7e 00 sts 0x007E, r20
bcd_dsp[5]=bcd_dsp[5]&0x0f;
59c: 3f 70 andi r19, 0x0F ; 15
59e: 30 93 7f 00 sts 0x007F, r19
modify_state=3;
5a2: 83 e0 ldi r24, 0x03 ; 3
5a4: 80 93 73 00 sts 0x0073, r24
modify_bit=0;
5a8: 10 92 72 00 sts 0x0072, r1
}
if (modify_state==1)
5ac: 80 91 73 00 lds r24, 0x0073
5b0: 81 30 cpi r24, 0x01 ; 1
5b2: 09 f0 breq .+2 ; 0x5b6
5b4: 58 c0 rjmp .+176 ; 0x666
{
write_ds1302(0x8c,(bcd_dsp[0]<<4)|(bcd_dsp[1]&0xff));
5b6: 80 91 7a 00 lds r24, 0x007A
5ba: 99 27 eor r25, r25
5bc: 44 e0 ldi r20, 0x04 ; 4
5be: 88 0f add r24, r24
5c0: 99 1f adc r25, r25
5c2: 4a 95 dec r20
5c4: e1 f7 brne .-8 ; 0x5be
5c6: 20 91 7b 00 lds r18, 0x007B
5ca: 28 2b or r18, r24
5cc: 62 2f mov r22, r18
5ce: 8c e8 ldi r24, 0x8C ; 140
5d0: 7c dd rcall .-1288 ; 0xca
write_ds1302(0x88,((bcd_dsp[2]<<4)|(bcd_dsp[3]&0xff)&0x1F));
5d2: 80 91 7c 00 lds r24, 0x007C
5d6: 99 27 eor r25, r25
5d8: 34 e0 ldi r19, 0x04 ; 4
5da: 88 0f add r24, r24
5dc: 99 1f adc r25, r25
5de: 3a 95 dec r19
5e0: e1 f7 brne .-8 ; 0x5da
5e2: 20 91 7d 00 lds r18, 0x007D
5e6: 2f 71 andi r18, 0x1F ; 31
5e8: 28 2b or r18, r24
5ea: 62 2f mov r22, r18
5ec: 88 e8 ldi r24, 0x88 ; 136
5ee: 6d dd rcall .-1318 ; 0xca
write_ds1302(0x86,((bcd_dsp[4]<<4)|(bcd_dsp[5]&0xff)&0x3f));
5f0: 80 91 7e 00 lds r24, 0x007E
5f4: 99 27 eor r25, r25
5f6: 24 e0 ldi r18, 0x04 ; 4
5f8: 88 0f add r24, r24
5fa: 99 1f adc r25, r25
5fc: 2a 95 dec r18
5fe: e1 f7 brne .-8 ; 0x5f8
600: 20 91 7f 00 lds r18, 0x007F
604: 2f 73 andi r18, 0x3F ; 63
606: 28 2b or r18, r24
608: 62 2f mov r22, r18
60a: 86 e8 ldi r24, 0x86 ; 134
60c: 5e dd rcall .-1348 ; 0xca
dsp[0]=0xff;
60e: 8f ef ldi r24, 0xFF ; 255
610: 80 93 74 00 sts 0x0074, r24
dsp[1]=0xff;
614: 80 93 75 00 sts 0x0075, r24
dsp[2]=0xff;
618: 80 93 76 00 sts 0x0076, r24
dsp[3]=0xff;
61c: 80 93 77 00 sts 0x0077, r24
dsp[4]=0xff;
620: 80 93 78 00 sts 0x0078, r24
dsp[5]=led[(in_byte(0x8b)&0x07)-1];
624: 8b e8 ldi r24, 0x8B ; 139
626: 61 dd rcall .-1342 ; 0xea
628: e8 2f mov r30, r24
62a: ff 27 eor r31, r31
62c: e7 70 andi r30, 0x07 ; 7
62e: f0 70 andi r31, 0x00 ; 0
630: eb 59 subi r30, 0x9B ; 155
632: ff 4f sbci r31, 0xFF ; 255
634: 80 81 ld r24, Z
636: 80 93 79 00 sts 0x0079, r24
bcd_dsp[0]=0;
63a: 10 92 7a 00 sts 0x007A, r1
bcd_dsp[1]=0;
63e: 10 92 7b 00 sts 0x007B, r1
bcd_dsp[2]=0;
642: 10 92 7c 00 sts 0x007C, r1
bcd_dsp[3]=0;
646: 10 92 7d 00 sts 0x007D, r1
bcd_dsp[4]=0;
64a: 10 92 7e 00 sts 0x007E, r1
bcd_dsp[5]=(in_byte(0x8b)&0x07)-1;
64e: 8b e8 ldi r24, 0x8B ; 139
650: 4c dd rcall .-1384 ; 0xea
652: 87 70 andi r24, 0x07 ; 7
654: 81 50 subi r24, 0x01 ; 1
656: 80 93 7f 00 sts 0x007F, r24
modify_state=2;
65a: 82 e0 ldi r24, 0x02 ; 2
65c: 80 93 73 00 sts 0x0073, r24
modify_bit=5;
660: 85 e0 ldi r24, 0x05 ; 5
662: 80 93 72 00 sts 0x0072, r24
}
}
if (key==0x80)//数据修改键
666: c0 38 cpi r28, 0x80 ; 128
668: 09 f0 breq .+2 ; 0x66c
66a: cf c0 rjmp .+414 ; 0x80a
{
if (modify_state==0&modify_key==0)
66c: 20 e0 ldi r18, 0x00 ; 0
66e: 30 e0 ldi r19, 0x00 ; 0
670: 80 91 73 00 lds r24, 0x0073
674: 88 23 and r24, r24
676: 11 f4 brne .+4 ; 0x67c
678: 21 e0 ldi r18, 0x01 ; 1
67a: 30 e0 ldi r19, 0x00 ; 0
67c: 40 e0 ldi r20, 0x00 ; 0
67e: 50 e0 ldi r21, 0x00 ; 0
680: 80 91 70 00 lds r24, 0x0070
684: 88 23 and r24, r24
686: 11 f4 brne .+4 ; 0x68c
688: 41 e0 ldi r20, 0x01 ; 1
68a: 50 e0 ldi r21, 0x00 ; 0
68c: 24 23 and r18, r20
68e: 35 23 and r19, r21
690: 23 2b or r18, r19
692: 09 f4 brne .+2 ; 0x696
694: 62 c0 rjmp .+196 ; 0x75a
{
bcd_dsp[3]=in_byte(0x8d)&0x3f;
696: 8d e8 ldi r24, 0x8D ; 141
698: 28 dd rcall .-1456 ; 0xea
69a: 8f 73 andi r24, 0x3F ; 63
69c: 80 93 7d 00 sts 0x007D, r24
bcd_dsp[4]=in_byte(0x89)&0x1f;
6a0: 89 e8 ldi r24, 0x89 ; 137
6a2: 23 dd rcall .-1466 ; 0xea
6a4: 8f 71 andi r24, 0x1F ; 31
6a6: 80 93 7e 00 sts 0x007E, r24
bcd_dsp[5]=in_byte(0x87)&0x3f;
6aa: 87 e8 ldi r24, 0x87 ; 135
6ac: 1e dd rcall .-1476 ; 0xea
6ae: 38 2f mov r19, r24
6b0: 68 2f mov r22, r24
6b2: 6f 73 andi r22, 0x3F ; 63
dsp[0]=led[bcd_dsp[3]>>4];
6b4: 20 91 7d 00 lds r18, 0x007D
6b8: 72 2f mov r23, r18
6ba: 72 95 swap r23
6bc: 7f 70 andi r23, 0x0F ; 15
6be: e7 2f mov r30, r23
6c0: ff 27 eor r31, r31
6c2: ea 59 subi r30, 0x9A ; 154
6c4: ff 4f sbci r31, 0xFF ; 255
6c6: 80 81 ld r24, Z
6c8: 80 93 74 00 sts 0x0074, r24
dsp[1]=led[bcd_dsp[3]&0x0f];
6cc: e2 2f mov r30, r18
6ce: ff 27 eor r31, r31
6d0: ef 70 andi r30, 0x0F ; 15
6d2: f0 70 andi r31, 0x00 ; 0
6d4: ea 59 subi r30, 0x9A ; 154
6d6: ff 4f sbci r31, 0xFF ; 255
6d8: 80 81 ld r24, Z
6da: 80 93 75 00 sts 0x0075, r24
dsp[2]=led[bcd_dsp[4]>>4];
6de: 90 91 7e 00 lds r25, 0x007E
6e2: 59 2f mov r21, r25
6e4: 52 95 swap r21
6e6: 5f 70 andi r21, 0x0F ; 15
6e8: e5 2f mov r30, r21
6ea: ff 27 eor r31, r31
6ec: ea 59 subi r30, 0x9A ; 154
6ee: ff 4f sbci r31, 0xFF ; 255
6f0: 80 81 ld r24, Z
6f2: 80 93 76 00 sts 0x0076, r24
dsp[3]=led[bcd_dsp[4]&0x0f];
6f6: e9 2f mov r30, r25
6f8: ff 27 eor r31, r31
6fa: ef 70 andi r30, 0x0F ; 15
6fc: f0 70 andi r31, 0x00 ; 0
6fe: ea 59 subi r30, 0x9A ; 154
700: ff 4f sbci r31, 0xFF ; 255
702: 80 81 ld r24, Z
704: 80 93 77 00 sts 0x0077, r24
dsp[4]=led[bcd_dsp[5]>>4];
708: 46 2f mov r20, r22
70a: 42 95 swap r20
70c: 4f 70 andi r20, 0x0F ; 15
70e: e4 2f mov r30, r20
710: ff 27 eor r31, r31
712: ea 59 subi r30, 0x9A ; 154
714: ff 4f sbci r31, 0xFF ; 255
716: 80 81 ld r24, Z
718: 80 93 78 00 sts 0x0078, r24
dsp[5]=led[bcd_dsp[5]&0x0f];
71c: e6 2f mov r30, r22
71e: ff 27 eor r31, r31
720: ef 70 andi r30, 0x0F ; 15
722: f0 70 andi r31, 0x00 ; 0
724: ea 59 subi r30, 0x9A ; 154
726: ff 4f sbci r31, 0xFF ; 255
728: 80 81 ld r24, Z
72a: 80 93 79 00 sts 0x0079, r24
bcd_dsp[0]=bcd_dsp[3]>>4;
72e: 70 93 7a 00 sts 0x007A, r23
bcd_dsp[1]=bcd_dsp[3]&0x0f;
732: 2f 70 andi r18, 0x0F ; 15
734: 20 93 7b 00 sts 0x007B, r18
bcd_dsp[2]=bcd_dsp[4]>>4;
738: 50 93 7c 00 sts 0x007C, r21
bcd_dsp[3]=bcd_dsp[4]&0x0f;
73c: 9f 70 andi r25, 0x0F ; 15
73e: 90 93 7d 00 sts 0x007D, r25
bcd_dsp[4]=bcd_dsp[5]>>4;
742: 40 93 7e 00 sts 0x007E, r20
bcd_dsp[5]=bcd_dsp[5]&0x0f;
746: 3f 70 andi r19, 0x0F ; 15
748: 30 93 7f 00 sts 0x007F, r19
modify_state=1;
74c: 81 e0 ldi r24, 0x01 ; 1
74e: 80 93 73 00 sts 0x0073, r24
dsp_state=0;
752: 10 92 82 00 sts 0x0082, r1
modify_bit=0;
756: 10 92 72 00 sts 0x0072, r1
}
if (modify_state!=0&modify_key==1)
75a: 20 e0 ldi r18, 0x00 ; 0
75c: 30 e0 ldi r19, 0x00 ; 0
75e: 60 91 73 00 lds r22, 0x0073
762: 66 23 and r22, r22
764: 11 f0 breq .+4 ; 0x76a
766: 21 e0 ldi r18, 0x01 ; 1
768: 30 e0 ldi r19, 0x00 ; 0
76a: 40 e0 ldi r20, 0x00 ; 0
76c: 50 e0 ldi r21, 0x00 ; 0
76e: 80 91 70 00 lds r24, 0x0070
772: 81 30 cpi r24, 0x01 ; 1
774: 11 f4 brne .+4 ; 0x77a
776: 41 e0 ldi r20, 0x01 ; 1
778: 50 e0 ldi r21, 0x00 ; 0
77a: 24 23 and r18, r20
77c: 35 23 and r19, r21
77e: 23 2b or r18, r19
780: 09 f4 brne .+2 ; 0x784
782: 40 c0 rjmp .+128 ; 0x804
{
modify_bit++;
784: 80 91 72 00 lds r24, 0x0072
788: 8f 5f subi r24, 0xFF ; 255
78a: 80 93 72 00 sts 0x0072, r24
if (modify_bit>5&modify_state==1)modify_bit=0;
78e: 20 e0 ldi r18, 0x00 ; 0
790: 30 e0 ldi r19, 0x00 ; 0
792: 86 30 cpi r24, 0x06 ; 6
794: 10 f0 brcs .+4 ; 0x79a
796: 21 e0 ldi r18, 0x01 ; 1
798: 30 e0 ldi r19, 0x00 ; 0
79a: 80 e0 ldi r24, 0x00 ; 0
79c: 90 e0 ldi r25, 0x00 ; 0
79e: 61 30 cpi r22, 0x01 ; 1
7a0: 11 f4 brne .+4 ; 0x7a6
7a2: 81 e0 ldi r24, 0x01 ; 1
7a4: 90 e0 ldi r25, 0x00 ; 0
7a6: 28 23 and r18, r24
7a8: 39 23 and r19, r25
7aa: 23 2b or r18, r19
7ac: 11 f0 breq .+4 ; 0x7b2
7ae: 10 92 72 00 sts 0x0072, r1
if (modify_bit>5&modify_state==2)modify_bit=5;
7b2: 20 e0 ldi r18, 0x00 ; 0
7b4: 30 e0 ldi r19, 0x00 ; 0
7b6: 80 91 72 00 lds r24, 0x0072
7ba: 86 30 cpi r24, 0x06 ; 6
7bc: 10 f0 brcs .+4 ; 0x7c2
7be: 21 e0 ldi r18, 0x01 ; 1
7c0: 30 e0 ldi r19, 0x00 ; 0
7c2: 80 e0 ldi r24, 0x00 ; 0
7c4: 90 e0 ldi r25, 0x00 ; 0
7c6: 62 30 cpi r22, 0x02 ; 2
7c8: 11 f4 brne .+4 ; 0x7ce
7ca: 81 e0 ldi r24, 0x01 ; 1
7cc: 90 e0 ldi r25, 0x00 ; 0
7ce: 28 23 and r18, r24
7d0: 39 23 and r19, r25
7d2: 23 2b or r18, r19
7d4: 19 f0 breq .+6 ; 0x7dc
7d6: 85 e0 ldi r24, 0x05 ; 5
7d8: 80 93 72 00 sts 0x0072, r24
if (modify_bit>5&modify_state==3)modify_bit=0;
7dc: 20 e0 ldi r18, 0x00 ; 0
7de: 30 e0 ldi r19, 0x00 ; 0
7e0: 80 91 72 00 lds r24, 0x0072
7e4: 86 30 cpi r24, 0x06 ; 6
7e6: 10 f0 brcs .+4 ; 0x7ec
7e8: 21 e0 ldi r18, 0x01 ; 1
7ea: 30 e0 ldi r19, 0x00 ; 0
7ec: 80 e0 ldi r24, 0x00 ; 0
7ee: 90 e0 ldi r25, 0x00 ; 0
7f0: 63 30 cpi r22, 0x03 ; 3
7f2: 11 f4 brne .+4 ; 0x7f8
7f4: 81 e0 ldi r24, 0x01 ; 1
7f6: 90 e0 ldi r25, 0x00 ; 0
7f8: 28 23 and r18, r24
7fa: 39 23 and r19, r25
7fc: 23 2b or r18, r19
7fe: 11 f0 breq .+4 ; 0x804
800: 10 92 72 00 sts 0x0072, r1
}
modify_key=1;
804: 81 e0 ldi r24, 0x01 ; 1
806: 80 93 70 00 sts 0x0070, r24
80a: ff 91 pop r31
80c: ef 91 pop r30
80e: cf 91 pop r28
810: bf 91 pop r27
812: af 91 pop r26
814: 9f 91 pop r25
816: 8f 91 pop r24
818: 7f 91 pop r23
81a: 6f 91 pop r22
81c: 5f 91 pop r21
81e: 4f 91 pop r20
820: 3f 91 pop r19
822: 2f 91 pop r18
824: 0f 90 pop r0
826: 0f be out 0x3f, r0 ; 63
828: 0f 90 pop r0
82a: 1f 90 pop r1
82c: 18 95 reti
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -