📄 main.lss
字号:
83e: 80 93 12 01 sts 0x0112, r24
842: 45 9a sbi 0x08, 5 ; 8
844: 44 9a sbi 0x08, 4 ; 8
846: 5d 98 cbi 0x0b, 5 ; 11
848: 80 91 01 01 lds r24, 0x0101
84c: e4 cf rjmp .-56 ; 0x816 <proc_display+0xe2>
84e: 40 91 1c 01 lds r20, 0x011C
852: 50 91 1d 01 lds r21, 0x011D
856: 60 91 1e 01 lds r22, 0x011E
85a: 70 91 1f 01 lds r23, 0x011F
85e: 8f e0 ldi r24, 0x0F ; 15
860: 91 e0 ldi r25, 0x01 ; 1
862: 33 de rcall .-922 ; 0x4ca <htobcd5>
864: 80 91 12 01 lds r24, 0x0112
868: 80 68 ori r24, 0x80 ; 128
86a: 80 93 12 01 sts 0x0112, r24
86e: 45 9a sbi 0x08, 5 ; 8
870: 44 98 cbi 0x08, 4 ; 8
872: 5d 9a sbi 0x0b, 5 ; 11
874: 80 91 01 01 lds r24, 0x0101
878: ce cf rjmp .-100 ; 0x816 <proc_display+0xe2>
87a: 1f 91 pop r17
87c: 0f 91 pop r16
87e: ff 90 pop r15
880: ef 90 pop r14
882: 08 95 ret
00000884 <proc_key>:
884: cf 93 push r28
886: df 93 push r29
888: cc d1 rcall .+920 ; 0xc22 <read_key>
88a: 88 23 and r24, r24
88c: a9 f0 breq .+42 ; 0x8b8 <proc_key+0x34>
88e: 80 91 01 01 lds r24, 0x0101
892: 83 fd sbrc r24, 3
894: 1a c0 rjmp .+52 ; 0x8ca <proc_key+0x46>
896: 80 91 0e 01 lds r24, 0x010E
89a: c8 2f mov r28, r24
89c: dd 27 eor r29, r29
89e: 80 91 0e 01 lds r24, 0x010E
8a2: 99 27 eor r25, r25
8a4: 8c 1b sub r24, r28
8a6: 9d 0b sbc r25, r29
8a8: 03 97 sbiw r24, 0x03 ; 3
8aa: 1c f4 brge .+6 ; 0x8b2 <proc_key+0x2e>
8ac: ba d1 rcall .+884 ; 0xc22 <read_key>
8ae: 81 30 cpi r24, 0x01 ; 1
8b0: b1 f3 breq .-20 ; 0x89e <proc_key+0x1a>
8b2: b7 d1 rcall .+878 ; 0xc22 <read_key>
8b4: 81 30 cpi r24, 0x01 ; 1
8b6: 69 f0 breq .+26 ; 0x8d2 <proc_key+0x4e>
8b8: 80 91 01 01 lds r24, 0x0101
8bc: 87 7e andi r24, 0xE7 ; 231
8be: 80 93 01 01 sts 0x0101, r24
8c2: 8e e1 ldi r24, 0x1E ; 30
8c4: 80 93 2e 01 sts 0x012E, r24
8c8: 14 c0 rjmp .+40 ; 0x8f2 <proc_key+0x6e>
8ca: 80 61 ori r24, 0x10 ; 16
8cc: 80 93 01 01 sts 0x0101, r24
8d0: 10 c0 rjmp .+32 ; 0x8f2 <proc_key+0x6e>
8d2: 90 91 01 01 lds r25, 0x0101
8d6: 80 91 00 01 lds r24, 0x0100
8da: 8f 5f subi r24, 0xFF ; 255
8dc: 80 93 00 01 sts 0x0100, r24
8e0: 83 30 cpi r24, 0x03 ; 3
8e2: 21 f0 breq .+8 ; 0x8ec <proc_key+0x68>
8e4: 9c 60 ori r25, 0x0C ; 12
8e6: 90 93 01 01 sts 0x0101, r25
8ea: 03 c0 rjmp .+6 ; 0x8f2 <proc_key+0x6e>
8ec: 10 92 00 01 sts 0x0100, r1
8f0: f9 cf rjmp .-14 ; 0x8e4 <proc_key+0x60>
8f2: df 91 pop r29
8f4: cf 91 pop r28
8f6: 08 95 ret
000008f8 <proc_save>:
8f8: 8f 92 push r8
8fa: 9f 92 push r9
8fc: af 92 push r10
8fe: bf 92 push r11
900: cf 92 push r12
902: df 92 push r13
904: ef 92 push r14
906: ff 92 push r15
908: 0f 93 push r16
90a: 1f 93 push r17
90c: cf 93 push r28
90e: df 93 push r29
910: cd b7 in r28, 0x3d ; 61
912: de b7 in r29, 0x3e ; 62
914: 27 97 sbiw r28, 0x07 ; 7
916: 0f b6 in r0, 0x3f ; 63
918: f8 94 cli
91a: de bf out 0x3e, r29 ; 62
91c: 0f be out 0x3f, r0 ; 63
91e: cd bf out 0x3d, r28 ; 61
920: 80 91 01 01 lds r24, 0x0101
924: 81 ff sbrs r24, 1
926: c9 c0 rjmp .+402 ; 0xaba <proc_save+0x1c2>
928: f8 94 cli
92a: 60 91 28 01 lds r22, 0x0128
92e: 70 91 29 01 lds r23, 0x0129
932: 80 91 2a 01 lds r24, 0x012A
936: 90 91 2b 01 lds r25, 0x012B
93a: 60 5b subi r22, 0xB0 ; 176
93c: 79 4b sbci r23, 0xB9 ; 185
93e: 8f 4f sbci r24, 0xFF ; 255
940: 9f 4f sbci r25, 0xFF ; 255
942: 31 e3 ldi r19, 0x31 ; 49
944: c3 2e mov r12, r19
946: 31 e0 ldi r19, 0x01 ; 1
948: d3 2e mov r13, r19
94a: e0 90 31 01 lds r14, 0x0131
94e: f0 90 32 01 lds r15, 0x0132
952: 00 91 33 01 lds r16, 0x0133
956: 10 91 34 01 lds r17, 0x0134
95a: 20 ea ldi r18, 0xA0 ; 160
95c: 3c e8 ldi r19, 0x8C ; 140
95e: 40 e0 ldi r20, 0x00 ; 0
960: 50 e0 ldi r21, 0x00 ; 0
962: a2 d1 rcall .+836 ; 0xca8 <__udivmodsi4>
964: 2e 0d add r18, r14
966: 3f 1d adc r19, r15
968: 40 1f adc r20, r16
96a: 51 1f adc r21, r17
96c: 20 93 31 01 sts 0x0131, r18
970: 30 93 32 01 sts 0x0132, r19
974: 40 93 33 01 sts 0x0133, r20
978: 50 93 34 01 sts 0x0134, r21
97c: 20 30 cpi r18, 0x00 ; 0
97e: 81 ee ldi r24, 0xE1 ; 225
980: 38 07 cpc r19, r24
982: 85 ef ldi r24, 0xF5 ; 245
984: 48 07 cpc r20, r24
986: 85 e0 ldi r24, 0x05 ; 5
988: 58 07 cpc r21, r24
98a: 08 f0 brcs .+2 ; 0x98e <proc_save+0x96>
98c: 6a c0 rjmp .+212 ; 0xa62 <proc_save+0x16a>
98e: 10 92 28 01 sts 0x0128, r1
992: 10 92 29 01 sts 0x0129, r1
996: 10 92 2a 01 sts 0x012A, r1
99a: 10 92 2b 01 sts 0x012B, r1
99e: 10 92 2d 01 sts 0x012D, r1
9a2: 10 92 2c 01 sts 0x012C, r1
9a6: 10 92 35 01 sts 0x0135, r1
9aa: 65 e0 ldi r22, 0x05 ; 5
9ac: c6 01 movw r24, r12
9ae: e8 dd rcall .-1072 ; 0x580 <checksum>
9b0: 80 93 35 01 sts 0x0135, r24
9b4: 40 91 2f 01 lds r20, 0x012F
9b8: 50 91 30 01 lds r21, 0x0130
9bc: 4a 01 movw r8, r20
9be: 91 e0 ldi r25, 0x01 ; 1
9c0: 4f 3f cpi r20, 0xFF ; 255
9c2: 59 07 cpc r21, r25
9c4: 08 f0 brcs .+2 ; 0x9c8 <proc_save+0xd0>
9c6: 6f c0 rjmp .+222 ; 0xaa6 <proc_save+0x1ae>
9c8: 5a 01 movw r10, r20
9ca: 83 e0 ldi r24, 0x03 ; 3
9cc: e8 2e mov r14, r24
9ce: f1 2c mov r15, r1
9d0: ec 0e add r14, r28
9d2: fd 1e adc r15, r29
9d4: 10 e0 ldi r17, 0x00 ; 0
9d6: f9 99 sbic 0x1f, 1 ; 31
9d8: fe cf rjmp .-4 ; 0x9d6 <proc_save+0xde>
{
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
9da: 85 e0 ldi r24, 0x05 ; 5
9dc: da 01 movw r26, r20
9de: f6 01 movw r30, r12
9e0: 18 2e mov r1, r24
9e2: 93 d1 rcall .+806 ; 0xd0a <__eeprom_write_block_1F2021>
9e4: f9 99 sbic 0x1f, 1 ; 31
9e6: fe cf rjmp .-4 ; 0x9e4 <proc_save+0xec>
9e8: a0 91 2f 01 lds r26, 0x012F
9ec: b0 91 30 01 lds r27, 0x0130
/* Needed in order to truncate to 8 bit. */
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
9f0: 85 e0 ldi r24, 0x05 ; 5
9f2: f7 01 movw r30, r14
9f4: 18 2e mov r1, r24
9f6: 7a d1 rcall .+756 ; 0xcec <__eeprom_read_block_1F2021>
9f8: 65 e0 ldi r22, 0x05 ; 5
9fa: c7 01 movw r24, r14
9fc: c1 dd rcall .-1150 ; 0x580 <checksum>
9fe: 88 23 and r24, r24
a00: 41 f0 breq .+16 ; 0xa12 <proc_save+0x11a>
a02: 1f 5f subi r17, 0xFF ; 255
a04: 13 30 cpi r17, 0x03 ; 3
a06: 70 f4 brcc .+28 ; 0xa24 <proc_save+0x12c>
a08: 40 91 2f 01 lds r20, 0x012F
a0c: 50 91 30 01 lds r21, 0x0130
a10: e2 cf rjmp .-60 ; 0x9d6 <proc_save+0xde>
a12: f9 99 sbic 0x1f, 1 ; 31
a14: fe cf rjmp .-4 ; 0xa12 <proc_save+0x11a>
a16: 78 94 sei
a18: 80 91 01 01 lds r24, 0x0101
a1c: 8d 7f andi r24, 0xFD ; 253
a1e: 80 93 01 01 sts 0x0101, r24
a22: 4b c0 rjmp .+150 ; 0xaba <proc_save+0x1c2>
a24: 13 30 cpi r17, 0x03 ; 3
a26: 51 f1 breq .+84 ; 0xa7c <proc_save+0x184>
a28: e5 e0 ldi r30, 0x05 ; 5
a2a: f0 e0 ldi r31, 0x00 ; 0
a2c: ae 0e add r10, r30
a2e: bf 1e adc r11, r31
a30: 8e ef ldi r24, 0xFE ; 254
a32: 91 e0 ldi r25, 0x01 ; 1
a34: 88 19 sub r24, r8
a36: 99 09 sbc r25, r9
a38: 65 e0 ldi r22, 0x05 ; 5
a3a: 70 e0 ldi r23, 0x00 ; 0
a3c: 21 d1 rcall .+578 ; 0xc80 <__udivmodhi4>
a3e: cb 01 movw r24, r22
a40: 88 0f add r24, r24
a42: 99 1f adc r25, r25
a44: 88 0f add r24, r24
a46: 99 1f adc r25, r25
a48: 86 0f add r24, r22
a4a: 97 1f adc r25, r23
a4c: 88 0d add r24, r8
a4e: 99 1d adc r25, r9
a50: 05 96 adiw r24, 0x05 ; 5
a52: a8 16 cp r10, r24
a54: b9 06 cpc r11, r25
a56: 39 f1 breq .+78 ; 0xaa6 <proc_save+0x1ae>
a58: 40 91 2f 01 lds r20, 0x012F
a5c: 50 91 30 01 lds r21, 0x0130
a60: b9 cf rjmp .-142 ; 0x9d4 <proc_save+0xdc>
a62: 20 50 subi r18, 0x00 ; 0
a64: 31 4e sbci r19, 0xE1 ; 225
a66: 45 4f sbci r20, 0xF5 ; 245
a68: 55 40 sbci r21, 0x05 ; 5
a6a: 20 93 31 01 sts 0x0131, r18
a6e: 30 93 32 01 sts 0x0132, r19
a72: 40 93 33 01 sts 0x0133, r20
a76: 50 93 34 01 sts 0x0134, r21
a7a: 89 cf rjmp .-238 ; 0x98e <proc_save+0x96>
a7c: 40 91 2f 01 lds r20, 0x012F
a80: 50 91 30 01 lds r21, 0x0130
a84: 4b 5f subi r20, 0xFB ; 251
a86: 5f 4f sbci r21, 0xFF ; 255
a88: 50 93 30 01 sts 0x0130, r21
a8c: 40 93 2f 01 sts 0x012F, r20
a90: 8f b3 in r24, 0x1f ; 31
a92: 99 27 eor r25, r25
a94: 9c 01 movw r18, r24
a96: 22 70 andi r18, 0x02 ; 2
a98: 30 70 andi r19, 0x00 ; 0
a9a: 81 fd sbrc r24, 1
a9c: f9 cf rjmp .-14 ; 0xa90 <proc_save+0x198>
void
eeprom_write_word (uint16_t *addr,uint16_t value)
{
__asm__ __volatile__ (
a9e: d9 01 movw r26, r18
aa0: 0a 01 movw r0, r20
aa2: 2e d1 rcall .+604 ; 0xd00 <__eeprom_write_word_1F2021>
aa4: c1 cf rjmp .-126 ; 0xa28 <proc_save+0x130>
aa6: e4 e1 ldi r30, 0x14 ; 20
aa8: f1 e0 ldi r31, 0x01 ; 1
aaa: 8e e0 ldi r24, 0x0E ; 14
aac: 81 93 st Z+, r24
aae: 91 e0 ldi r25, 0x01 ; 1
ab0: ec 31 cpi r30, 0x1C ; 28
ab2: f9 07 cpc r31, r25
ab4: d9 f7 brne .-10 ; 0xaac <proc_save+0x1b4>
ab6: 78 94 sei
ab8: ff cf rjmp .-2 ; 0xab8 <proc_save+0x1c0>
aba: 27 96 adiw r28, 0x07 ; 7
abc: 0f b6 in r0, 0x3f ; 63
abe: f8 94 cli
ac0: de bf out 0x3e, r29 ; 62
ac2: 0f be out 0x3f, r0 ; 63
ac4: cd bf out 0x3d, r28 ; 61
ac6: df 91 pop r29
ac8: cf 91 pop r28
aca: 1f 91 pop r17
acc: 0f 91 pop r16
ace: ff 90 pop r15
ad0: ef 90 pop r14
ad2: df 90 pop r13
ad4: cf 90 pop r12
ad6: bf 90 pop r11
ad8: af 90 pop r10
ada: 9f 90 pop r9
adc: 8f 90 pop r8
ade: 08 95 ret
00000ae0 <proc_poweroff>:
ae0: 80 91 07 01 lds r24, 0x0107
ae4: 84 ff sbrs r24, 4
ae6: 08 95 ret
ae8: 35 dc rcall .-1942 ; 0x354 <display_off>
aea: 80 91 01 01 lds r24, 0x0101
aee: 82 60 ori r24, 0x02 ; 2
af0: 8f 7e andi r24, 0xEF ; 239
af2: 80 93 01 01 sts 0x0101, r24
af6: 08 95 ret
00000af8 <proc_init>:
af8: 0f 93 push r16
afa: 1f 93 push r17
afc: cf 93 push r28
afe: df 93 push r29
b00: 88 e1 ldi r24, 0x18 ; 24
b02: 90 e0 ldi r25, 0x00 ; 0
b04: 2e e0 ldi r18, 0x0E ; 14
b06: 0f b6 in r0, 0x3f ; 63
b08: f8 94 cli
b0a: a8 95 wdr
b0c: 80 93 60 00 sts 0x0060, r24
b10: 0f be out 0x3f, r0 ; 63
b12: 20 93 60 00 sts 0x0060, r18
b16: ec db rcall .-2088 ; 0x2f0 <init_display>
b18: bf da rcall .-2690 ; 0x98 <init_interrupt>
b1a: 80 d0 rcall .+256 ; 0xc1c <init_key>
b1c: f8 94 cli
b1e: 8f b3 in r24, 0x1f ; 31
b20: 99 27 eor r25, r25
b22: dc 01 movw r26, r24
b24: a2 70 andi r26, 0x02 ; 2
b26: b0 70 andi r27, 0x00 ; 0
b28: 81 fd sbrc r24, 1
b2a: f9 cf rjmp .-14 ; 0xb1e <proc_init+0x26>
eeprom_read_word (const uint16_t *addr)
{
uint16_t result;
__asm__ __volatile__ (
b2c: e4 d0 rcall .+456 ; 0xcf6 <__eeprom_read_word_1F2021>
b2e: 0f e2 ldi r16, 0x2F ; 47
b30: 11 e0 ldi r17, 0x01 ; 1
b32: f0 93 30 01 sts 0x0130, r31
b36: e0 93 2f 01 sts 0x012F, r30
b3a: e0 50 subi r30, 0x00 ; 0
b3c: f2 40 sbci r31, 0x02 ; 2
b3e: 28 f5 brcc .+74 ; 0xb8a <proc_init+0x92>
b40: e8 01 movw r28, r16
b42: 22 96 adiw r28, 0x02 ; 2
b44: 00 e0 ldi r16, 0x00 ; 0
b46: 15 e0 ldi r17, 0x05 ; 5
b48: f9 99 sbic 0x1f, 1 ; 31
b4a: fe cf rjmp .-4 ; 0xb48 <proc_init+0x50>
b4c: a0 91 2f 01 lds r26, 0x012F
b50: b0 91 30 01 lds r27, 0x0130
/* Needed in order to truncate to 8 bit. */
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
b54: fe 01 movw r30, r28
b56: 11 2e mov r1, r17
b58: c9 d0 rcall .+402 ; 0xcec <__eeprom_read_block_1F2021>
b5a: 65 e0 ldi r22, 0x05 ; 5
b5c: 81 e3 ldi r24, 0x31 ; 49
b5e: 91 e0 ldi r25, 0x01 ; 1
b60: 0f dd rcall .-1506 ; 0x580 <checksum>
b62: 88 23 and r24, r24
b64: 29 f0 breq .+10 ; 0xb70 <proc_init+0x78>
b66: 0f 5f subi r16, 0xFF ; 255
b68: 0a 30 cpi r16, 0x0A ; 10
b6a: 70 f3 brcs .-36 ; 0xb48 <proc_init+0x50>
b6c: 0a 30 cpi r16, 0x0A ; 10
b6e: 19 f0 breq .+6 ; 0xb76 <proc_init+0x7e>
b70: f9 99 sbic 0x1f, 1 ; 31
b72: fe cf rjmp .-4 ; 0xb70 <proc_init+0x78>
b74: 39 c0 rjmp .+114 ; 0xbe8 <proc_init+0xf0>
b76: e4 e1 ldi r30, 0x14 ; 20
b78: f1 e0 ldi r31, 0x01 ; 1
b7a: 8f e0 ldi r24, 0x0F ; 15
b7c: 81 93 st Z+, r24
b7e: 91 e0 ldi r25, 0x01 ; 1
b80: ec 31 cpi r30, 0x1C ; 28
b82: f9 07 cpc r31, r25
b84: d9 f7 brne .-10 ; 0xb7c <proc_init+0x84>
b86: 78 94 sei
b88: ff cf rjmp .-2 ; 0xb88 <proc_init+0x90>
b8a: 82 e0 ldi r24, 0x02 ; 2
b8c: 90 e0 ldi r25, 0x00 ; 0
b8e: 90 93 30 01 sts 0x0130, r25
b92: 80 93 2f 01 sts 0x012F, r24
b96: e8 01 movw r28, r16
b98: 22 96 adiw r28, 0x02 ; 2
b9a: 10 92 31 01 sts 0x0131, r1
b9e: 10 92 32 01 sts 0x0132, r1
ba2: 10 92 33 01 sts 0x0133, r1
ba6: 10 92 34 01 sts 0x0134, r1
baa: 10 92 35 01 sts 0x0135, r1
bae: 65 e0 ldi r22, 0x05 ; 5
bb0: ce 01 movw r24, r28
bb2: e6 dc rcall .-1588 ; 0x580 <checksum>
bb4: 80 93 35 01 sts 0x0135, r24
bb8: 8f b3 in r24, 0x1f ; 31
bba: 99 27 eor r25, r25
bbc: dc 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -