⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lss

📁 AVR红外遥控
💻 LSS
📖 第 1 页 / 共 5 页
字号:
 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 + -