📄 main.lss
字号:
814: 70 91 1f 01 lds r23, 0x011F
818: 8f e0 ldi r24, 0x0F ; 15
81a: 91 e0 ldi r25, 0x01 ; 1
81c: 56 de rcall .-852 ; 0x4ca <htobcd5>
81e: 80 91 11 01 lds r24, 0x0111
822: 80 68 ori r24, 0x80 ; 128
824: 80 93 11 01 sts 0x0111, r24
828: 45 98 cbi 0x08, 5 ; 8
82a: 44 9a sbi 0x08, 4 ; 8
82c: 5d 9a sbi 0x0b, 5 ; 11
82e: 80 91 01 01 lds r24, 0x0101
832: 8b 7f andi r24, 0xFB ; 251
834: 80 93 01 01 sts 0x0101, r24
838: 48 c0 rjmp .+144 ; 0x8ca <proc_display+0x146>
83a: 20 50 subi r18, 0x00 ; 0
83c: 31 4e sbci r19, 0xE1 ; 225
83e: 45 4f sbci r20, 0xF5 ; 245
840: 55 40 sbci r21, 0x05 ; 5
842: cd cf rjmp .-102 ; 0x7de <proc_display+0x5a>
844: 40 91 2e 01 lds r20, 0x012E
848: 55 27 eor r21, r21
84a: 66 27 eor r22, r22
84c: 77 27 eor r23, r23
84e: 8f e0 ldi r24, 0x0F ; 15
850: 91 e0 ldi r25, 0x01 ; 1
852: 3b de rcall .-906 ; 0x4ca <htobcd5>
854: 8f e0 ldi r24, 0x0F ; 15
856: 80 93 0f 01 sts 0x010F, r24
85a: 80 93 10 01 sts 0x0110, r24
85e: 80 93 11 01 sts 0x0111, r24
862: 80 91 01 01 lds r24, 0x0101
866: 8b 7f andi r24, 0xFB ; 251
868: 80 93 01 01 sts 0x0101, r24
86c: 2e c0 rjmp .+92 ; 0x8ca <proc_display+0x146>
86e: 92 30 cpi r25, 0x02 ; 2
870: d1 f7 brne .-12 ; 0x866 <proc_display+0xe2>
872: 40 91 1c 01 lds r20, 0x011C
876: 50 91 1d 01 lds r21, 0x011D
87a: 60 91 1e 01 lds r22, 0x011E
87e: 70 91 1f 01 lds r23, 0x011F
882: 8f e0 ldi r24, 0x0F ; 15
884: 91 e0 ldi r25, 0x01 ; 1
886: 21 de rcall .-958 ; 0x4ca <htobcd5>
888: 80 91 11 01 lds r24, 0x0111
88c: 80 68 ori r24, 0x80 ; 128
88e: 80 93 11 01 sts 0x0111, r24
892: 45 9a sbi 0x08, 5 ; 8
894: 44 9a sbi 0x08, 4 ; 8
896: 5d 98 cbi 0x0b, 5 ; 11
898: 80 91 01 01 lds r24, 0x0101
89c: e4 cf rjmp .-56 ; 0x866 <proc_display+0xe2>
89e: 40 91 1c 01 lds r20, 0x011C
8a2: 50 91 1d 01 lds r21, 0x011D
8a6: 60 91 1e 01 lds r22, 0x011E
8aa: 70 91 1f 01 lds r23, 0x011F
8ae: 8f e0 ldi r24, 0x0F ; 15
8b0: 91 e0 ldi r25, 0x01 ; 1
8b2: 0b de rcall .-1002 ; 0x4ca <htobcd5>
8b4: 80 91 11 01 lds r24, 0x0111
8b8: 80 68 ori r24, 0x80 ; 128
8ba: 80 93 11 01 sts 0x0111, r24
8be: 45 9a sbi 0x08, 5 ; 8
8c0: 44 98 cbi 0x08, 4 ; 8
8c2: 5d 9a sbi 0x0b, 5 ; 11
8c4: 80 91 01 01 lds r24, 0x0101
8c8: ce cf rjmp .-100 ; 0x866 <proc_display+0xe2>
8ca: 1f 91 pop r17
8cc: 0f 91 pop r16
8ce: ff 90 pop r15
8d0: ef 90 pop r14
8d2: 08 95 ret
000008d4 <proc_key>:
8d4: cf 93 push r28
8d6: df 93 push r29
8d8: d0 d1 rcall .+928 ; 0xc7a <read_key>
8da: 88 23 and r24, r24
8dc: a9 f0 breq .+42 ; 0x908 <proc_key+0x34>
8de: 80 91 01 01 lds r24, 0x0101
8e2: 83 fd sbrc r24, 3
8e4: 1a c0 rjmp .+52 ; 0x91a <proc_key+0x46>
8e6: 80 91 0e 01 lds r24, 0x010E
8ea: c8 2f mov r28, r24
8ec: dd 27 eor r29, r29
8ee: 80 91 0e 01 lds r24, 0x010E
8f2: 99 27 eor r25, r25
8f4: 8c 1b sub r24, r28
8f6: 9d 0b sbc r25, r29
8f8: 03 97 sbiw r24, 0x03 ; 3
8fa: 1c f4 brge .+6 ; 0x902 <proc_key+0x2e>
8fc: be d1 rcall .+892 ; 0xc7a <read_key>
8fe: 81 30 cpi r24, 0x01 ; 1
900: b1 f3 breq .-20 ; 0x8ee <proc_key+0x1a>
902: bb d1 rcall .+886 ; 0xc7a <read_key>
904: 81 30 cpi r24, 0x01 ; 1
906: 69 f0 breq .+26 ; 0x922 <proc_key+0x4e>
908: 80 91 01 01 lds r24, 0x0101
90c: 87 7e andi r24, 0xE7 ; 231
90e: 80 93 01 01 sts 0x0101, r24
912: 8e e1 ldi r24, 0x1E ; 30
914: 80 93 2e 01 sts 0x012E, r24
918: 14 c0 rjmp .+40 ; 0x942 <proc_key+0x6e>
91a: 80 61 ori r24, 0x10 ; 16
91c: 80 93 01 01 sts 0x0101, r24
920: 10 c0 rjmp .+32 ; 0x942 <proc_key+0x6e>
922: 90 91 01 01 lds r25, 0x0101
926: 80 91 00 01 lds r24, 0x0100
92a: 8f 5f subi r24, 0xFF ; 255
92c: 80 93 00 01 sts 0x0100, r24
930: 83 30 cpi r24, 0x03 ; 3
932: 21 f0 breq .+8 ; 0x93c <proc_key+0x68>
934: 9c 60 ori r25, 0x0C ; 12
936: 90 93 01 01 sts 0x0101, r25
93a: 03 c0 rjmp .+6 ; 0x942 <proc_key+0x6e>
93c: 10 92 00 01 sts 0x0100, r1
940: f9 cf rjmp .-14 ; 0x934 <proc_key+0x60>
942: df 91 pop r29
944: cf 91 pop r28
946: 08 95 ret
00000948 <proc_save>:
948: 8f 92 push r8
94a: 9f 92 push r9
94c: af 92 push r10
94e: bf 92 push r11
950: cf 92 push r12
952: df 92 push r13
954: ef 92 push r14
956: ff 92 push r15
958: 0f 93 push r16
95a: 1f 93 push r17
95c: cf 93 push r28
95e: df 93 push r29
960: cd b7 in r28, 0x3d ; 61
962: de b7 in r29, 0x3e ; 62
964: 27 97 sbiw r28, 0x07 ; 7
966: 0f b6 in r0, 0x3f ; 63
968: f8 94 cli
96a: de bf out 0x3e, r29 ; 62
96c: 0f be out 0x3f, r0 ; 63
96e: cd bf out 0x3d, r28 ; 61
970: 80 91 01 01 lds r24, 0x0101
974: 81 ff sbrs r24, 1
976: c9 c0 rjmp .+402 ; 0xb0a <proc_save+0x1c2>
978: f8 94 cli
97a: 60 91 28 01 lds r22, 0x0128
97e: 70 91 29 01 lds r23, 0x0129
982: 80 91 2a 01 lds r24, 0x012A
986: 90 91 2b 01 lds r25, 0x012B
98a: 68 5f subi r22, 0xF8 ; 248
98c: 78 4f sbci r23, 0xF8 ; 248
98e: 8f 4f sbci r24, 0xFF ; 255
990: 9f 4f sbci r25, 0xFF ; 255
992: b1 e3 ldi r27, 0x31 ; 49
994: cb 2e mov r12, r27
996: b1 e0 ldi r27, 0x01 ; 1
998: db 2e mov r13, r27
99a: e0 90 31 01 lds r14, 0x0131
99e: f0 90 32 01 lds r15, 0x0132
9a2: 00 91 33 01 lds r16, 0x0133
9a6: 10 91 34 01 lds r17, 0x0134
9aa: 20 e1 ldi r18, 0x10 ; 16
9ac: 3e e0 ldi r19, 0x0E ; 14
9ae: 40 e0 ldi r20, 0x00 ; 0
9b0: 50 e0 ldi r21, 0x00 ; 0
9b2: c8 d2 rcall .+1424 ; 0xf44 <__udivmodsi4>
9b4: 2e 0d add r18, r14
9b6: 3f 1d adc r19, r15
9b8: 40 1f adc r20, r16
9ba: 51 1f adc r21, r17
9bc: 20 93 31 01 sts 0x0131, r18
9c0: 30 93 32 01 sts 0x0132, r19
9c4: 40 93 33 01 sts 0x0133, r20
9c8: 50 93 34 01 sts 0x0134, r21
9cc: 20 30 cpi r18, 0x00 ; 0
9ce: 81 ee ldi r24, 0xE1 ; 225
9d0: 38 07 cpc r19, r24
9d2: 85 ef ldi r24, 0xF5 ; 245
9d4: 48 07 cpc r20, r24
9d6: 85 e0 ldi r24, 0x05 ; 5
9d8: 58 07 cpc r21, r24
9da: 08 f0 brcs .+2 ; 0x9de <proc_save+0x96>
9dc: 6a c0 rjmp .+212 ; 0xab2 <proc_save+0x16a>
9de: 10 92 28 01 sts 0x0128, r1
9e2: 10 92 29 01 sts 0x0129, r1
9e6: 10 92 2a 01 sts 0x012A, r1
9ea: 10 92 2b 01 sts 0x012B, r1
9ee: 10 92 2d 01 sts 0x012D, r1
9f2: 10 92 2c 01 sts 0x012C, r1
9f6: 10 92 35 01 sts 0x0135, r1
9fa: 65 e0 ldi r22, 0x05 ; 5
9fc: c6 01 movw r24, r12
9fe: c0 dd rcall .-1152 ; 0x580 <checksum>
a00: 80 93 35 01 sts 0x0135, r24
a04: 40 91 2f 01 lds r20, 0x012F
a08: 50 91 30 01 lds r21, 0x0130
a0c: 4a 01 movw r8, r20
a0e: 91 e0 ldi r25, 0x01 ; 1
a10: 4f 3f cpi r20, 0xFF ; 255
a12: 59 07 cpc r21, r25
a14: 08 f0 brcs .+2 ; 0xa18 <proc_save+0xd0>
a16: 6f c0 rjmp .+222 ; 0xaf6 <proc_save+0x1ae>
a18: 5a 01 movw r10, r20
a1a: f3 e0 ldi r31, 0x03 ; 3
a1c: ef 2e mov r14, r31
a1e: f1 2c mov r15, r1
a20: ec 0e add r14, r28
a22: fd 1e adc r15, r29
a24: 10 e0 ldi r17, 0x00 ; 0
a26: f9 99 sbic 0x1f, 1 ; 31
a28: fe cf rjmp .-4 ; 0xa26 <proc_save+0xde>
{
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
a2a: 85 e0 ldi r24, 0x05 ; 5
a2c: da 01 movw r26, r20
a2e: f6 01 movw r30, r12
a30: 18 2e mov r1, r24
a32: b9 d2 rcall .+1394 ; 0xfa6 <__eeprom_write_block_1F2021>
a34: f9 99 sbic 0x1f, 1 ; 31
a36: fe cf rjmp .-4 ; 0xa34 <proc_save+0xec>
a38: a0 91 2f 01 lds r26, 0x012F
a3c: b0 91 30 01 lds r27, 0x0130
/* Needed in order to truncate to 8 bit. */
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
a40: 85 e0 ldi r24, 0x05 ; 5
a42: f7 01 movw r30, r14
a44: 18 2e mov r1, r24
a46: a0 d2 rcall .+1344 ; 0xf88 <__eeprom_read_block_1F2021>
a48: 65 e0 ldi r22, 0x05 ; 5
a4a: c7 01 movw r24, r14
a4c: 99 dd rcall .-1230 ; 0x580 <checksum>
a4e: 88 23 and r24, r24
a50: 41 f0 breq .+16 ; 0xa62 <proc_save+0x11a>
a52: 1f 5f subi r17, 0xFF ; 255
a54: 13 30 cpi r17, 0x03 ; 3
a56: 70 f4 brcc .+28 ; 0xa74 <proc_save+0x12c>
a58: 40 91 2f 01 lds r20, 0x012F
a5c: 50 91 30 01 lds r21, 0x0130
a60: e2 cf rjmp .-60 ; 0xa26 <proc_save+0xde>
a62: f9 99 sbic 0x1f, 1 ; 31
a64: fe cf rjmp .-4 ; 0xa62 <proc_save+0x11a>
a66: 78 94 sei
a68: 80 91 01 01 lds r24, 0x0101
a6c: 8d 7f andi r24, 0xFD ; 253
a6e: 80 93 01 01 sts 0x0101, r24
a72: 4b c0 rjmp .+150 ; 0xb0a <proc_save+0x1c2>
a74: 13 30 cpi r17, 0x03 ; 3
a76: 51 f1 breq .+84 ; 0xacc <proc_save+0x184>
a78: e5 e0 ldi r30, 0x05 ; 5
a7a: f0 e0 ldi r31, 0x00 ; 0
a7c: ae 0e add r10, r30
a7e: bf 1e adc r11, r31
a80: 8e ef ldi r24, 0xFE ; 254
a82: 91 e0 ldi r25, 0x01 ; 1
a84: 88 19 sub r24, r8
a86: 99 09 sbc r25, r9
a88: 65 e0 ldi r22, 0x05 ; 5
a8a: 70 e0 ldi r23, 0x00 ; 0
a8c: 47 d2 rcall .+1166 ; 0xf1c <__udivmodhi4>
a8e: cb 01 movw r24, r22
a90: 88 0f add r24, r24
a92: 99 1f adc r25, r25
a94: 88 0f add r24, r24
a96: 99 1f adc r25, r25
a98: 86 0f add r24, r22
a9a: 97 1f adc r25, r23
a9c: 88 0d add r24, r8
a9e: 99 1d adc r25, r9
aa0: 05 96 adiw r24, 0x05 ; 5
aa2: a8 16 cp r10, r24
aa4: b9 06 cpc r11, r25
aa6: 39 f1 breq .+78 ; 0xaf6 <proc_save+0x1ae>
aa8: 40 91 2f 01 lds r20, 0x012F
aac: 50 91 30 01 lds r21, 0x0130
ab0: b9 cf rjmp .-142 ; 0xa24 <proc_save+0xdc>
ab2: 20 50 subi r18, 0x00 ; 0
ab4: 31 4e sbci r19, 0xE1 ; 225
ab6: 45 4f sbci r20, 0xF5 ; 245
ab8: 55 40 sbci r21, 0x05 ; 5
aba: 20 93 31 01 sts 0x0131, r18
abe: 30 93 32 01 sts 0x0132, r19
ac2: 40 93 33 01 sts 0x0133, r20
ac6: 50 93 34 01 sts 0x0134, r21
aca: 89 cf rjmp .-238 ; 0x9de <proc_save+0x96>
acc: 40 91 2f 01 lds r20, 0x012F
ad0: 50 91 30 01 lds r21, 0x0130
ad4: 4b 5f subi r20, 0xFB ; 251
ad6: 5f 4f sbci r21, 0xFF ; 255
ad8: 50 93 30 01 sts 0x0130, r21
adc: 40 93 2f 01 sts 0x012F, r20
ae0: 8f b3 in r24, 0x1f ; 31
ae2: 99 27 eor r25, r25
ae4: 9c 01 movw r18, r24
ae6: 22 70 andi r18, 0x02 ; 2
ae8: 30 70 andi r19, 0x00 ; 0
aea: 81 fd sbrc r24, 1
aec: f9 cf rjmp .-14 ; 0xae0 <proc_save+0x198>
void
eeprom_write_word (uint16_t *addr,uint16_t value)
{
__asm__ __volatile__ (
aee: d9 01 movw r26, r18
af0: 0a 01 movw r0, r20
af2: 54 d2 rcall .+1192 ; 0xf9c <__eeprom_write_word_1F2021>
af4: c1 cf rjmp .-126 ; 0xa78 <proc_save+0x130>
af6: e4 e1 ldi r30, 0x14 ; 20
af8: f1 e0 ldi r31, 0x01 ; 1
afa: 8e e0 ldi r24, 0x0E ; 14
afc: 81 93 st Z+, r24
afe: 91 e0 ldi r25, 0x01 ; 1
b00: ec 31 cpi r30, 0x1C ; 28
b02: f9 07 cpc r31, r25
b04: d9 f7 brne .-10 ; 0xafc <proc_save+0x1b4>
b06: 78 94 sei
b08: ff cf rjmp .-2 ; 0xb08 <proc_save+0x1c0>
b0a: 27 96 adiw r28, 0x07 ; 7
b0c: 0f b6 in r0, 0x3f ; 63
b0e: f8 94 cli
b10: de bf out 0x3e, r29 ; 62
b12: 0f be out 0x3f, r0 ; 63
b14: cd bf out 0x3d, r28 ; 61
b16: df 91 pop r29
b18: cf 91 pop r28
b1a: 1f 91 pop r17
b1c: 0f 91 pop r16
b1e: ff 90 pop r15
b20: ef 90 pop r14
b22: df 90 pop r13
b24: cf 90 pop r12
b26: bf 90 pop r11
b28: af 90 pop r10
b2a: 9f 90 pop r9
b2c: 8f 90 pop r8
b2e: 08 95 ret
00000b30 <proc_poweroff>:
b30: 80 91 07 01 lds r24, 0x0107
b34: 84 ff sbrs r24, 4
b36: 08 95 ret
b38: 0d dc rcall .-2022 ; 0x354 <display_off>
b3a: 80 91 01 01 lds r24, 0x0101
b3e: 82 60 ori r24, 0x02 ; 2
b40: 80 93 01 01 sts 0x0101, r24
b44: 80 91 07 01 lds r24, 0x0107
b48: 8f 7e andi r24, 0xEF ; 239
b4a: 80 93 07 01 sts 0x0107, r24
b4e: 08 95 ret
00000b50 <proc_init>:
b50: 0f 93 push r16
b52: 1f 93 push r17
b54: cf 93 push r28
b56: df 93 push r29
b58: 88 e1 ldi r24, 0x18 ; 24
b5a: 90 e0 ldi r25, 0x00 ; 0
b5c: 2e e0 ldi r18, 0x0E ; 14
b5e: 0f b6 in r0, 0x3f ; 63
b60: f8 94 cli
b62: a8 95 wdr
b64: 80 93 60 00 sts 0x0060, r24
b68: 0f be out 0x3f, r0 ; 63
b6a: 20 93 60 00 sts 0x0060, r18
b6e: c0 db rcall .-2176 ; 0x2f0 <init_display>
b70: 93 da rcall .-2778 ; 0x98 <init_interrupt>
b72: 80 d0 rcall .+256 ; 0xc74 <init_key>
b74: f8 94 cli
b76: 8f b3 in r24, 0x1f ; 31
b78: 99 27 eor r25, r25
b7a: dc 01 movw r26, r24
b7c: a2 70 andi r26, 0x02 ; 2
b7e: b0 70 andi r27, 0x00 ; 0
b80: 81 fd sbrc r24, 1
b82: f9 cf rjmp .-14 ; 0xb76 <proc_init+0x26>
eeprom_read_word (const uint16_t *addr)
{
uint16_t result;
__asm__ __volatile__ (
b84: 06 d2 rcall .+1036 ; 0xf92 <__eeprom_read_word_1F2021>
b86: 0f e2 ldi r16, 0x2F ; 47
b88: 11 e0 ldi r17, 0x01 ; 1
b8a: f0 93 30 01 sts 0x0130, r31
b8e: e0 93 2f 01 sts 0x012F, r30
b92: e0 50 subi r30, 0x00 ; 0
b94: f2 40 sbci r31, 0x02 ; 2
b96: 28 f5 brcc .+74 ; 0xbe2 <proc_init+0x92>
b98: e8 01 movw r28, r16
b9a: 22 96 adiw r28, 0x02 ; 2
b9c: 00 e0 ldi r16, 0x00 ; 0
b9e: 15 e0 ldi r17, 0x05 ; 5
ba0: f9 99 sbic 0x1f, 1 ; 31
ba2: fe cf rjmp .-4 ; 0xba0 <proc_init+0x50>
ba4: a0 91 2f 01 lds r26, 0x012F
ba8: b0 91 30 01 lds r27, 0x0130
/* Needed in order to truncate to 8 bit. */
uint8_t len;
len = (uint8_t) n;
__asm__ __volatile__ (
bac
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -