📄 main.lss
字号:
84a: 70 91 1f 01 lds r23, 0x011F
84e: 8f e0 ldi r24, 0x0F ; 15
850: 91 e0 ldi r25, 0x01 ; 1
852: 3b de rcall .-906 ; 0x4ca <htobcd5>
854: 80 91 12 01 lds r24, 0x0112
858: 80 68 ori r24, 0x80 ; 128
85a: 80 93 12 01 sts 0x0112, r24
85e: 45 9a sbi 0x08, 5 ; 8
860: 44 98 cbi 0x08, 4 ; 8
862: 5d 9a sbi 0x0b, 5 ; 11
864: 80 91 01 01 lds r24, 0x0101
868: ce cf rjmp .-100 ; 0x806 <proc_display+0xe2>
86a: 1f 91 pop r17
86c: 0f 91 pop r16
86e: ff 90 pop r15
870: ef 90 pop r14
872: 08 95 ret
00000874 <proc_key>:
874: cf 93 push r28
876: df 93 push r29
878: d0 d1 rcall .+928 ; 0xc1a <read_key>
87a: 88 23 and r24, r24
87c: a9 f0 breq .+42 ; 0x8a8 <proc_key+0x34>
87e: 80 91 01 01 lds r24, 0x0101
882: 83 fd sbrc r24, 3
884: 1a c0 rjmp .+52 ; 0x8ba <proc_key+0x46>
886: 80 91 0e 01 lds r24, 0x010E
88a: c8 2f mov r28, r24
88c: dd 27 eor r29, r29
88e: 80 91 0e 01 lds r24, 0x010E
892: 99 27 eor r25, r25
894: 8c 1b sub r24, r28
896: 9d 0b sbc r25, r29
898: 03 97 sbiw r24, 0x03 ; 3
89a: 1c f4 brge .+6 ; 0x8a2 <proc_key+0x2e>
89c: be d1 rcall .+892 ; 0xc1a <read_key>
89e: 81 30 cpi r24, 0x01 ; 1
8a0: b1 f3 breq .-20 ; 0x88e <proc_key+0x1a>
8a2: bb d1 rcall .+886 ; 0xc1a <read_key>
8a4: 81 30 cpi r24, 0x01 ; 1
8a6: 69 f0 breq .+26 ; 0x8c2 <proc_key+0x4e>
8a8: 80 91 01 01 lds r24, 0x0101
8ac: 87 7e andi r24, 0xE7 ; 231
8ae: 80 93 01 01 sts 0x0101, r24
8b2: 8e e1 ldi r24, 0x1E ; 30
8b4: 80 93 2e 01 sts 0x012E, r24
8b8: 14 c0 rjmp .+40 ; 0x8e2 <proc_key+0x6e>
8ba: 80 61 ori r24, 0x10 ; 16
8bc: 80 93 01 01 sts 0x0101, r24
8c0: 10 c0 rjmp .+32 ; 0x8e2 <proc_key+0x6e>
8c2: 90 91 01 01 lds r25, 0x0101
8c6: 80 91 00 01 lds r24, 0x0100
8ca: 8f 5f subi r24, 0xFF ; 255
8cc: 80 93 00 01 sts 0x0100, r24
8d0: 83 30 cpi r24, 0x03 ; 3
8d2: 21 f0 breq .+8 ; 0x8dc <proc_key+0x68>
8d4: 9c 60 ori r25, 0x0C ; 12
8d6: 90 93 01 01 sts 0x0101, r25
8da: 03 c0 rjmp .+6 ; 0x8e2 <proc_key+0x6e>
8dc: 10 92 00 01 sts 0x0100, r1
8e0: f9 cf rjmp .-14 ; 0x8d4 <proc_key+0x60>
8e2: df 91 pop r29
8e4: cf 91 pop r28
8e6: 08 95 ret
000008e8 <proc_save>:
8e8: 8f 92 push r8
8ea: 9f 92 push r9
8ec: af 92 push r10
8ee: bf 92 push r11
8f0: cf 92 push r12
8f2: df 92 push r13
8f4: ef 92 push r14
8f6: ff 92 push r15
8f8: 0f 93 push r16
8fa: 1f 93 push r17
8fc: cf 93 push r28
8fe: df 93 push r29
900: cd b7 in r28, 0x3d ; 61
902: de b7 in r29, 0x3e ; 62
904: 27 97 sbiw r28, 0x07 ; 7
906: 0f b6 in r0, 0x3f ; 63
908: f8 94 cli
90a: de bf out 0x3e, r29 ; 62
90c: 0f be out 0x3f, r0 ; 63
90e: cd bf out 0x3d, r28 ; 61
910: 80 91 01 01 lds r24, 0x0101
914: 81 ff sbrs r24, 1
916: c9 c0 rjmp .+402 ; 0xaaa <proc_save+0x1c2>
918: f8 94 cli
91a: 60 91 28 01 lds r22, 0x0128
91e: 70 91 29 01 lds r23, 0x0129
922: 80 91 2a 01 lds r24, 0x012A
926: 90 91 2b 01 lds r25, 0x012B
92a: 68 5f subi r22, 0xF8 ; 248
92c: 78 4f sbci r23, 0xF8 ; 248
92e: 8f 4f sbci r24, 0xFF ; 255
930: 9f 4f sbci r25, 0xFF ; 255
932: 31 e3 ldi r19, 0x31 ; 49
934: c3 2e mov r12, r19
936: 31 e0 ldi r19, 0x01 ; 1
938: d3 2e mov r13, r19
93a: e0 90 31 01 lds r14, 0x0131
93e: f0 90 32 01 lds r15, 0x0132
942: 00 91 33 01 lds r16, 0x0133
946: 10 91 34 01 lds r17, 0x0134
94a: 20 e1 ldi r18, 0x10 ; 16
94c: 3e e0 ldi r19, 0x0E ; 14
94e: 40 e0 ldi r20, 0x00 ; 0
950: 50 e0 ldi r21, 0x00 ; 0
952: a6 d1 rcall .+844 ; 0xca0 <__udivmodsi4>
954: 2e 0d add r18, r14
956: 3f 1d adc r19, r15
958: 40 1f adc r20, r16
95a: 51 1f adc r21, r17
95c: 20 93 31 01 sts 0x0131, r18
960: 30 93 32 01 sts 0x0132, r19
964: 40 93 33 01 sts 0x0133, r20
968: 50 93 34 01 sts 0x0134, r21
96c: 20 30 cpi r18, 0x00 ; 0
96e: 81 ee ldi r24, 0xE1 ; 225
970: 38 07 cpc r19, r24
972: 85 ef ldi r24, 0xF5 ; 245
974: 48 07 cpc r20, r24
976: 85 e0 ldi r24, 0x05 ; 5
978: 58 07 cpc r21, r24
97a: 08 f0 brcs .+2 ; 0x97e <proc_save+0x96>
97c: 6a c0 rjmp .+212 ; 0xa52 <proc_save+0x16a>
97e: 10 92 28 01 sts 0x0128, r1
982: 10 92 29 01 sts 0x0129, r1
986: 10 92 2a 01 sts 0x012A, r1
98a: 10 92 2b 01 sts 0x012B, r1
98e: 10 92 2d 01 sts 0x012D, r1
992: 10 92 2c 01 sts 0x012C, r1
996: 10 92 35 01 sts 0x0135, r1
99a: 65 e0 ldi r22, 0x05 ; 5
99c: c6 01 movw r24, r12
99e: f0 dd rcall .-1056 ; 0x580 <checksum>
9a0: 80 93 35 01 sts 0x0135, r24
9a4: 40 91 2f 01 lds r20, 0x012F
9a8: 50 91 30 01 lds r21, 0x0130
9ac: 4a 01 movw r8, r20
9ae: 91 e0 ldi r25, 0x01 ; 1
9b0: 4f 3f cpi r20, 0xFF ; 255
9b2: 59 07 cpc r21, r25
9b4: 08 f0 brcs .+2 ; 0x9b8 <proc_save+0xd0>
9b6: 6f c0 rjmp .+222 ; 0xa96 <proc_save+0x1ae>
9b8: 5a 01 movw r10, r20
9ba: 83 e0 ldi r24, 0x03 ; 3
9bc: e8 2e mov r14, r24
9be: f1 2c mov r15, r1
9c0: ec 0e add r14, r28
9c2: fd 1e adc r15, r29
9c4: 10 e0 ldi r17, 0x00 ; 0
9c6: f9 99 sbic 0x1f, 1 ; 31
9c8: fe cf rjmp .-4 ; 0x9c6 <proc_save+0xde>
{
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
9ca: 85 e0 ldi r24, 0x05 ; 5
9cc: da 01 movw r26, r20
9ce: f6 01 movw r30, r12
9d0: 18 2e mov r1, r24
9d2: 97 d1 rcall .+814 ; 0xd02 <__eeprom_write_block_1F2021>
9d4: f9 99 sbic 0x1f, 1 ; 31
9d6: fe cf rjmp .-4 ; 0x9d4 <proc_save+0xec>
9d8: a0 91 2f 01 lds r26, 0x012F
9dc: b0 91 30 01 lds r27, 0x0130
/* Needed in order to truncate to 8 bit. */
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
9e0: 85 e0 ldi r24, 0x05 ; 5
9e2: f7 01 movw r30, r14
9e4: 18 2e mov r1, r24
9e6: 7e d1 rcall .+764 ; 0xce4 <__eeprom_read_block_1F2021>
9e8: 65 e0 ldi r22, 0x05 ; 5
9ea: c7 01 movw r24, r14
9ec: c9 dd rcall .-1134 ; 0x580 <checksum>
9ee: 88 23 and r24, r24
9f0: 41 f0 breq .+16 ; 0xa02 <proc_save+0x11a>
9f2: 1f 5f subi r17, 0xFF ; 255
9f4: 13 30 cpi r17, 0x03 ; 3
9f6: 70 f4 brcc .+28 ; 0xa14 <proc_save+0x12c>
9f8: 40 91 2f 01 lds r20, 0x012F
9fc: 50 91 30 01 lds r21, 0x0130
a00: e2 cf rjmp .-60 ; 0x9c6 <proc_save+0xde>
a02: f9 99 sbic 0x1f, 1 ; 31
a04: fe cf rjmp .-4 ; 0xa02 <proc_save+0x11a>
a06: 78 94 sei
a08: 80 91 01 01 lds r24, 0x0101
a0c: 8d 7f andi r24, 0xFD ; 253
a0e: 80 93 01 01 sts 0x0101, r24
a12: 4b c0 rjmp .+150 ; 0xaaa <proc_save+0x1c2>
a14: 13 30 cpi r17, 0x03 ; 3
a16: 51 f1 breq .+84 ; 0xa6c <proc_save+0x184>
a18: e5 e0 ldi r30, 0x05 ; 5
a1a: f0 e0 ldi r31, 0x00 ; 0
a1c: ae 0e add r10, r30
a1e: bf 1e adc r11, r31
a20: 8e ef ldi r24, 0xFE ; 254
a22: 91 e0 ldi r25, 0x01 ; 1
a24: 88 19 sub r24, r8
a26: 99 09 sbc r25, r9
a28: 65 e0 ldi r22, 0x05 ; 5
a2a: 70 e0 ldi r23, 0x00 ; 0
a2c: 25 d1 rcall .+586 ; 0xc78 <__udivmodhi4>
a2e: cb 01 movw r24, r22
a30: 88 0f add r24, r24
a32: 99 1f adc r25, r25
a34: 88 0f add r24, r24
a36: 99 1f adc r25, r25
a38: 86 0f add r24, r22
a3a: 97 1f adc r25, r23
a3c: 88 0d add r24, r8
a3e: 99 1d adc r25, r9
a40: 05 96 adiw r24, 0x05 ; 5
a42: a8 16 cp r10, r24
a44: b9 06 cpc r11, r25
a46: 39 f1 breq .+78 ; 0xa96 <proc_save+0x1ae>
a48: 40 91 2f 01 lds r20, 0x012F
a4c: 50 91 30 01 lds r21, 0x0130
a50: b9 cf rjmp .-142 ; 0x9c4 <proc_save+0xdc>
a52: 20 50 subi r18, 0x00 ; 0
a54: 31 4e sbci r19, 0xE1 ; 225
a56: 45 4f sbci r20, 0xF5 ; 245
a58: 55 40 sbci r21, 0x05 ; 5
a5a: 20 93 31 01 sts 0x0131, r18
a5e: 30 93 32 01 sts 0x0132, r19
a62: 40 93 33 01 sts 0x0133, r20
a66: 50 93 34 01 sts 0x0134, r21
a6a: 89 cf rjmp .-238 ; 0x97e <proc_save+0x96>
a6c: 40 91 2f 01 lds r20, 0x012F
a70: 50 91 30 01 lds r21, 0x0130
a74: 4b 5f subi r20, 0xFB ; 251
a76: 5f 4f sbci r21, 0xFF ; 255
a78: 50 93 30 01 sts 0x0130, r21
a7c: 40 93 2f 01 sts 0x012F, r20
a80: 8f b3 in r24, 0x1f ; 31
a82: 99 27 eor r25, r25
a84: 9c 01 movw r18, r24
a86: 22 70 andi r18, 0x02 ; 2
a88: 30 70 andi r19, 0x00 ; 0
a8a: 81 fd sbrc r24, 1
a8c: f9 cf rjmp .-14 ; 0xa80 <proc_save+0x198>
void
eeprom_write_word (uint16_t *addr,uint16_t value)
{
__asm__ __volatile__ (
a8e: d9 01 movw r26, r18
a90: 0a 01 movw r0, r20
a92: 32 d1 rcall .+612 ; 0xcf8 <__eeprom_write_word_1F2021>
a94: c1 cf rjmp .-126 ; 0xa18 <proc_save+0x130>
a96: e4 e1 ldi r30, 0x14 ; 20
a98: f1 e0 ldi r31, 0x01 ; 1
a9a: 8e e0 ldi r24, 0x0E ; 14
a9c: 81 93 st Z+, r24
a9e: 91 e0 ldi r25, 0x01 ; 1
aa0: ec 31 cpi r30, 0x1C ; 28
aa2: f9 07 cpc r31, r25
aa4: d9 f7 brne .-10 ; 0xa9c <proc_save+0x1b4>
aa6: 78 94 sei
aa8: ff cf rjmp .-2 ; 0xaa8 <proc_save+0x1c0>
aaa: 27 96 adiw r28, 0x07 ; 7
aac: 0f b6 in r0, 0x3f ; 63
aae: f8 94 cli
ab0: de bf out 0x3e, r29 ; 62
ab2: 0f be out 0x3f, r0 ; 63
ab4: cd bf out 0x3d, r28 ; 61
ab6: df 91 pop r29
ab8: cf 91 pop r28
aba: 1f 91 pop r17
abc: 0f 91 pop r16
abe: ff 90 pop r15
ac0: ef 90 pop r14
ac2: df 90 pop r13
ac4: cf 90 pop r12
ac6: bf 90 pop r11
ac8: af 90 pop r10
aca: 9f 90 pop r9
acc: 8f 90 pop r8
ace: 08 95 ret
00000ad0 <proc_poweroff>:
ad0: 80 91 07 01 lds r24, 0x0107
ad4: 84 ff sbrs r24, 4
ad6: 08 95 ret
ad8: 3d dc rcall .-1926 ; 0x354 <display_off>
ada: 80 91 01 01 lds r24, 0x0101
ade: 82 60 ori r24, 0x02 ; 2
ae0: 80 93 01 01 sts 0x0101, r24
ae4: 80 91 07 01 lds r24, 0x0107
ae8: 8f 7e andi r24, 0xEF ; 239
aea: 80 93 07 01 sts 0x0107, r24
aee: 08 95 ret
00000af0 <proc_init>:
af0: 0f 93 push r16
af2: 1f 93 push r17
af4: cf 93 push r28
af6: df 93 push r29
af8: 88 e1 ldi r24, 0x18 ; 24
afa: 90 e0 ldi r25, 0x00 ; 0
afc: 2e e0 ldi r18, 0x0E ; 14
afe: 0f b6 in r0, 0x3f ; 63
b00: f8 94 cli
b02: a8 95 wdr
b04: 80 93 60 00 sts 0x0060, r24
b08: 0f be out 0x3f, r0 ; 63
b0a: 20 93 60 00 sts 0x0060, r18
b0e: f0 db rcall .-2080 ; 0x2f0 <init_display>
b10: c3 da rcall .-2682 ; 0x98 <init_interrupt>
b12: 80 d0 rcall .+256 ; 0xc14 <init_key>
b14: f8 94 cli
b16: 8f b3 in r24, 0x1f ; 31
b18: 99 27 eor r25, r25
b1a: dc 01 movw r26, r24
b1c: a2 70 andi r26, 0x02 ; 2
b1e: b0 70 andi r27, 0x00 ; 0
b20: 81 fd sbrc r24, 1
b22: f9 cf rjmp .-14 ; 0xb16 <proc_init+0x26>
eeprom_read_word (const uint16_t *addr)
{
uint16_t result;
__asm__ __volatile__ (
b24: e4 d0 rcall .+456 ; 0xcee <__eeprom_read_word_1F2021>
b26: 0f e2 ldi r16, 0x2F ; 47
b28: 11 e0 ldi r17, 0x01 ; 1
b2a: f0 93 30 01 sts 0x0130, r31
b2e: e0 93 2f 01 sts 0x012F, r30
b32: e0 50 subi r30, 0x00 ; 0
b34: f2 40 sbci r31, 0x02 ; 2
b36: 28 f5 brcc .+74 ; 0xb82 <proc_init+0x92>
b38: e8 01 movw r28, r16
b3a: 22 96 adiw r28, 0x02 ; 2
b3c: 00 e0 ldi r16, 0x00 ; 0
b3e: 15 e0 ldi r17, 0x05 ; 5
b40: f9 99 sbic 0x1f, 1 ; 31
b42: fe cf rjmp .-4 ; 0xb40 <proc_init+0x50>
b44: a0 91 2f 01 lds r26, 0x012F
b48: b0 91 30 01 lds r27, 0x0130
/* Needed in order to truncate to 8 bit. */
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
b4c: fe 01 movw r30, r28
b4e: 11 2e mov r1, r17
b50: c9 d0 rcall .+402 ; 0xce4 <__eeprom_read_block_1F2021>
b52: 65 e0 ldi r22, 0x05 ; 5
b54: 81 e3 ldi r24, 0x31 ; 49
b56: 91 e0 ldi r25, 0x01 ; 1
b58: 13 dd rcall .-1498 ; 0x580 <checksum>
b5a: 88 23 and r24, r24
b5c: 29 f0 breq .+10 ; 0xb68 <proc_init+0x78>
b5e: 0f 5f subi r16, 0xFF ; 255
b60: 0a 30 cpi r16, 0x0A ; 10
b62: 70 f3 brcs .-36 ; 0xb40 <proc_init+0x50>
b64: 0a 30 cpi r16, 0x0A ; 10
b66: 19 f0 breq .+6 ; 0xb6e <proc_init+0x7e>
b68: f9 99 sbic 0x1f, 1 ; 31
b6a: fe cf rjmp .-4 ; 0xb68 <proc_init+0x78>
b6c: 39 c0 rjmp .+114 ; 0xbe0 <proc_init+0xf0>
b6e: e4 e1 ldi r30, 0x14 ; 20
b70: f1 e0 ldi r31, 0x01 ; 1
b72: 8f e0 ldi r24, 0x0F ; 15
b74: 81 93 st Z+, r24
b76: 91 e0 ldi r25, 0x01 ; 1
b78: ec 31 cpi r30, 0x1C ; 28
b7a: f9 07 cpc r31, r25
b7c: d9 f7 brne .-10 ; 0xb74 <proc_init+0x84>
b7e: 78 94 sei
b80: ff cf rjmp .-2 ; 0xb80 <proc_init+0x90>
b82: 82 e0 ldi r24, 0x02 ; 2
b84: 90 e0 ldi r25, 0x00 ; 0
b86: 90 93 30 01 sts 0x0130, r25
b8a: 80 93 2f 01 sts 0x012F, r24
b8e: e8 01 movw r28, r16
b90: 22 96 adiw r28, 0x02 ; 2
b92: 10 92 31 01 sts 0x0131, r1
b96: 10 92 32 01 sts 0x0132, r1
b9a: 10 92 33 01 sts 0x0133, r1
b9e: 10 92 34 01 sts 0x0134, r1
ba2: 10 92 35 01 sts 0x0135, r1
ba6: 65 e0 ldi r22, 0x05 ; 5
ba8: ce 01 movw r24, r28
baa: ea dc rcall .-1580 ; 0x580 <checksum>
bac: 80 93 35 01 sts 0x0135, r24
bb0: 8f b3 in r24, 0x1f ; 31
bb2: 99 27 eor r25, r25
bb4: dc 01 movw r26, r24
bb6: a2 70 andi r26, 0x02 ; 2
bb8: b0 70 andi r27, 0x00 ; 0
bba: 81 fd sbrc r24, 1
bbc: f9 cf rjmp .-14 ; 0xbb0 <proc_init+0xc0>
{
uint8_t len;
len =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -