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

📄 main.lss

📁 AVR红外遥控
💻 LSS
📖 第 1 页 / 共 5 页
字号:
 838:	80 93 11 01 	sts	0x0111, r24
 83c:	45 9a       	sbi	0x08, 5	; 8
 83e:	44 9a       	sbi	0x08, 4	; 8
 840:	5d 98       	cbi	0x0b, 5	; 11
 842:	80 91 01 01 	lds	r24, 0x0101
 846:	e4 cf       	rjmp	.-56     	; 0x810 <proc_display+0xe2>
 848:	40 91 20 01 	lds	r20, 0x0120
 84c:	50 91 21 01 	lds	r21, 0x0121
 850:	60 91 22 01 	lds	r22, 0x0122
 854:	70 91 23 01 	lds	r23, 0x0123
 858:	8f e0       	ldi	r24, 0x0F	; 15
 85a:	91 e0       	ldi	r25, 0x01	; 1
 85c:	33 de       	rcall	.-922    	; 0x4c4 <htobcd5>
 85e:	80 91 12 01 	lds	r24, 0x0112
 862:	80 68       	ori	r24, 0x80	; 128
 864:	80 93 12 01 	sts	0x0112, r24
 868:	45 9a       	sbi	0x08, 5	; 8
 86a:	44 98       	cbi	0x08, 4	; 8
 86c:	5d 9a       	sbi	0x0b, 5	; 11
 86e:	80 91 01 01 	lds	r24, 0x0101
 872:	ce cf       	rjmp	.-100    	; 0x810 <proc_display+0xe2>
 874:	1f 91       	pop	r17
 876:	0f 91       	pop	r16
 878:	ff 90       	pop	r15
 87a:	ef 90       	pop	r14
 87c:	08 95       	ret

0000087e <proc_key>:
 87e:	cf 93       	push	r28
 880:	df 93       	push	r29
 882:	d0 d1       	rcall	.+928    	; 0xc24 <read_key>
 884:	88 23       	and	r24, r24
 886:	a9 f0       	breq	.+42     	; 0x8b2 <proc_key+0x34>
 888:	80 91 01 01 	lds	r24, 0x0101
 88c:	83 fd       	sbrc	r24, 3
 88e:	1a c0       	rjmp	.+52     	; 0x8c4 <proc_key+0x46>
 890:	80 91 0e 01 	lds	r24, 0x010E
 894:	c8 2f       	mov	r28, r24
 896:	dd 27       	eor	r29, r29
 898:	80 91 0e 01 	lds	r24, 0x010E
 89c:	99 27       	eor	r25, r25
 89e:	8c 1b       	sub	r24, r28
 8a0:	9d 0b       	sbc	r25, r29
 8a2:	03 97       	sbiw	r24, 0x03	; 3
 8a4:	1c f4       	brge	.+6      	; 0x8ac <proc_key+0x2e>
 8a6:	be d1       	rcall	.+892    	; 0xc24 <read_key>
 8a8:	81 30       	cpi	r24, 0x01	; 1
 8aa:	b1 f3       	breq	.-20     	; 0x898 <proc_key+0x1a>
 8ac:	bb d1       	rcall	.+886    	; 0xc24 <read_key>
 8ae:	81 30       	cpi	r24, 0x01	; 1
 8b0:	69 f0       	breq	.+26     	; 0x8cc <proc_key+0x4e>
 8b2:	80 91 01 01 	lds	r24, 0x0101
 8b6:	87 7e       	andi	r24, 0xE7	; 231
 8b8:	80 93 01 01 	sts	0x0101, r24
 8bc:	8e e1       	ldi	r24, 0x1E	; 30
 8be:	80 93 2e 01 	sts	0x012E, r24
 8c2:	14 c0       	rjmp	.+40     	; 0x8ec <proc_key+0x6e>
 8c4:	80 61       	ori	r24, 0x10	; 16
 8c6:	80 93 01 01 	sts	0x0101, r24
 8ca:	10 c0       	rjmp	.+32     	; 0x8ec <proc_key+0x6e>
 8cc:	90 91 01 01 	lds	r25, 0x0101
 8d0:	80 91 00 01 	lds	r24, 0x0100
 8d4:	8f 5f       	subi	r24, 0xFF	; 255
 8d6:	80 93 00 01 	sts	0x0100, r24
 8da:	83 30       	cpi	r24, 0x03	; 3
 8dc:	21 f0       	breq	.+8      	; 0x8e6 <proc_key+0x68>
 8de:	9c 60       	ori	r25, 0x0C	; 12
 8e0:	90 93 01 01 	sts	0x0101, r25
 8e4:	03 c0       	rjmp	.+6      	; 0x8ec <proc_key+0x6e>
 8e6:	10 92 00 01 	sts	0x0100, r1
 8ea:	f9 cf       	rjmp	.-14     	; 0x8de <proc_key+0x60>
 8ec:	df 91       	pop	r29
 8ee:	cf 91       	pop	r28
 8f0:	08 95       	ret

000008f2 <proc_save>:
 8f2:	8f 92       	push	r8
 8f4:	9f 92       	push	r9
 8f6:	af 92       	push	r10
 8f8:	bf 92       	push	r11
 8fa:	cf 92       	push	r12
 8fc:	df 92       	push	r13
 8fe:	ef 92       	push	r14
 900:	ff 92       	push	r15
 902:	0f 93       	push	r16
 904:	1f 93       	push	r17
 906:	cf 93       	push	r28
 908:	df 93       	push	r29
 90a:	cd b7       	in	r28, 0x3d	; 61
 90c:	de b7       	in	r29, 0x3e	; 62
 90e:	27 97       	sbiw	r28, 0x07	; 7
 910:	0f b6       	in	r0, 0x3f	; 63
 912:	f8 94       	cli
 914:	de bf       	out	0x3e, r29	; 62
 916:	0f be       	out	0x3f, r0	; 63
 918:	cd bf       	out	0x3d, r28	; 61
 91a:	80 91 01 01 	lds	r24, 0x0101
 91e:	81 ff       	sbrs	r24, 1
 920:	c9 c0       	rjmp	.+402    	; 0xab4 <proc_save+0x1c2>
 922:	f8 94       	cli
 924:	60 91 28 01 	lds	r22, 0x0128
 928:	70 91 29 01 	lds	r23, 0x0129
 92c:	80 91 2a 01 	lds	r24, 0x012A
 930:	90 91 2b 01 	lds	r25, 0x012B
 934:	60 5b       	subi	r22, 0xB0	; 176
 936:	79 4b       	sbci	r23, 0xB9	; 185
 938:	8f 4f       	sbci	r24, 0xFF	; 255
 93a:	9f 4f       	sbci	r25, 0xFF	; 255
 93c:	31 e3       	ldi	r19, 0x31	; 49
 93e:	c3 2e       	mov	r12, r19
 940:	31 e0       	ldi	r19, 0x01	; 1
 942:	d3 2e       	mov	r13, r19
 944:	e0 90 31 01 	lds	r14, 0x0131
 948:	f0 90 32 01 	lds	r15, 0x0132
 94c:	00 91 33 01 	lds	r16, 0x0133
 950:	10 91 34 01 	lds	r17, 0x0134
 954:	20 ea       	ldi	r18, 0xA0	; 160
 956:	3c e8       	ldi	r19, 0x8C	; 140
 958:	40 e0       	ldi	r20, 0x00	; 0
 95a:	50 e0       	ldi	r21, 0x00	; 0
 95c:	a6 d1       	rcall	.+844    	; 0xcaa <__udivmodsi4>
 95e:	2e 0d       	add	r18, r14
 960:	3f 1d       	adc	r19, r15
 962:	40 1f       	adc	r20, r16
 964:	51 1f       	adc	r21, r17
 966:	20 93 31 01 	sts	0x0131, r18
 96a:	30 93 32 01 	sts	0x0132, r19
 96e:	40 93 33 01 	sts	0x0133, r20
 972:	50 93 34 01 	sts	0x0134, r21
 976:	20 30       	cpi	r18, 0x00	; 0
 978:	81 ee       	ldi	r24, 0xE1	; 225
 97a:	38 07       	cpc	r19, r24
 97c:	85 ef       	ldi	r24, 0xF5	; 245
 97e:	48 07       	cpc	r20, r24
 980:	85 e0       	ldi	r24, 0x05	; 5
 982:	58 07       	cpc	r21, r24
 984:	08 f0       	brcs	.+2      	; 0x988 <proc_save+0x96>
 986:	6a c0       	rjmp	.+212    	; 0xa5c <proc_save+0x16a>
 988:	10 92 28 01 	sts	0x0128, r1
 98c:	10 92 29 01 	sts	0x0129, r1
 990:	10 92 2a 01 	sts	0x012A, r1
 994:	10 92 2b 01 	sts	0x012B, r1
 998:	10 92 2d 01 	sts	0x012D, r1
 99c:	10 92 2c 01 	sts	0x012C, r1
 9a0:	10 92 35 01 	sts	0x0135, r1
 9a4:	65 e0       	ldi	r22, 0x05	; 5
 9a6:	c6 01       	movw	r24, r12
 9a8:	e8 dd       	rcall	.-1072   	; 0x57a <checksum>
 9aa:	80 93 35 01 	sts	0x0135, r24
 9ae:	40 91 2f 01 	lds	r20, 0x012F
 9b2:	50 91 30 01 	lds	r21, 0x0130
 9b6:	4a 01       	movw	r8, r20
 9b8:	91 e0       	ldi	r25, 0x01	; 1
 9ba:	4f 3f       	cpi	r20, 0xFF	; 255
 9bc:	59 07       	cpc	r21, r25
 9be:	08 f0       	brcs	.+2      	; 0x9c2 <proc_save+0xd0>
 9c0:	6f c0       	rjmp	.+222    	; 0xaa0 <proc_save+0x1ae>
 9c2:	5a 01       	movw	r10, r20
 9c4:	83 e0       	ldi	r24, 0x03	; 3
 9c6:	e8 2e       	mov	r14, r24
 9c8:	f1 2c       	mov	r15, r1
 9ca:	ec 0e       	add	r14, r28
 9cc:	fd 1e       	adc	r15, r29
 9ce:	10 e0       	ldi	r17, 0x00	; 0
 9d0:	f9 99       	sbic	0x1f, 1	; 31
 9d2:	fe cf       	rjmp	.-4      	; 0x9d0 <proc_save+0xde>
            {
              uint8_t len;
              len = (uint8_t) n;

              __asm__ __volatile__ (
 9d4:	85 e0       	ldi	r24, 0x05	; 5
 9d6:	da 01       	movw	r26, r20
 9d8:	f6 01       	movw	r30, r12
 9da:	18 2e       	mov	r1, r24
 9dc:	97 d1       	rcall	.+814    	; 0xd0c <__eeprom_write_block_1F2021>
 9de:	f9 99       	sbic	0x1f, 1	; 31
 9e0:	fe cf       	rjmp	.-4      	; 0x9de <proc_save+0xec>
 9e2:	a0 91 2f 01 	lds	r26, 0x012F
 9e6:	b0 91 30 01 	lds	r27, 0x0130
              /* Needed in order to truncate to 8 bit.  */
              uint8_t len;
              len = (uint8_t) n; 

              __asm__ __volatile__ (
 9ea:	85 e0       	ldi	r24, 0x05	; 5
 9ec:	f7 01       	movw	r30, r14
 9ee:	18 2e       	mov	r1, r24
 9f0:	7e d1       	rcall	.+764    	; 0xcee <__eeprom_read_block_1F2021>
 9f2:	65 e0       	ldi	r22, 0x05	; 5
 9f4:	c7 01       	movw	r24, r14
 9f6:	c1 dd       	rcall	.-1150   	; 0x57a <checksum>
 9f8:	88 23       	and	r24, r24
 9fa:	41 f0       	breq	.+16     	; 0xa0c <proc_save+0x11a>
 9fc:	1f 5f       	subi	r17, 0xFF	; 255
 9fe:	13 30       	cpi	r17, 0x03	; 3
 a00:	70 f4       	brcc	.+28     	; 0xa1e <proc_save+0x12c>
 a02:	40 91 2f 01 	lds	r20, 0x012F
 a06:	50 91 30 01 	lds	r21, 0x0130
 a0a:	e2 cf       	rjmp	.-60     	; 0x9d0 <proc_save+0xde>
 a0c:	f9 99       	sbic	0x1f, 1	; 31
 a0e:	fe cf       	rjmp	.-4      	; 0xa0c <proc_save+0x11a>
 a10:	78 94       	sei
 a12:	80 91 01 01 	lds	r24, 0x0101
 a16:	8d 7f       	andi	r24, 0xFD	; 253
 a18:	80 93 01 01 	sts	0x0101, r24
 a1c:	4b c0       	rjmp	.+150    	; 0xab4 <proc_save+0x1c2>
 a1e:	13 30       	cpi	r17, 0x03	; 3
 a20:	51 f1       	breq	.+84     	; 0xa76 <proc_save+0x184>
 a22:	e5 e0       	ldi	r30, 0x05	; 5
 a24:	f0 e0       	ldi	r31, 0x00	; 0
 a26:	ae 0e       	add	r10, r30
 a28:	bf 1e       	adc	r11, r31
 a2a:	8e ef       	ldi	r24, 0xFE	; 254
 a2c:	91 e0       	ldi	r25, 0x01	; 1
 a2e:	88 19       	sub	r24, r8
 a30:	99 09       	sbc	r25, r9
 a32:	65 e0       	ldi	r22, 0x05	; 5
 a34:	70 e0       	ldi	r23, 0x00	; 0
 a36:	25 d1       	rcall	.+586    	; 0xc82 <__udivmodhi4>
 a38:	cb 01       	movw	r24, r22
 a3a:	88 0f       	add	r24, r24
 a3c:	99 1f       	adc	r25, r25
 a3e:	88 0f       	add	r24, r24
 a40:	99 1f       	adc	r25, r25
 a42:	86 0f       	add	r24, r22
 a44:	97 1f       	adc	r25, r23
 a46:	88 0d       	add	r24, r8
 a48:	99 1d       	adc	r25, r9
 a4a:	05 96       	adiw	r24, 0x05	; 5
 a4c:	a8 16       	cp	r10, r24
 a4e:	b9 06       	cpc	r11, r25
 a50:	39 f1       	breq	.+78     	; 0xaa0 <proc_save+0x1ae>
 a52:	40 91 2f 01 	lds	r20, 0x012F
 a56:	50 91 30 01 	lds	r21, 0x0130
 a5a:	b9 cf       	rjmp	.-142    	; 0x9ce <proc_save+0xdc>
 a5c:	20 50       	subi	r18, 0x00	; 0
 a5e:	31 4e       	sbci	r19, 0xE1	; 225
 a60:	45 4f       	sbci	r20, 0xF5	; 245
 a62:	55 40       	sbci	r21, 0x05	; 5
 a64:	20 93 31 01 	sts	0x0131, r18
 a68:	30 93 32 01 	sts	0x0132, r19
 a6c:	40 93 33 01 	sts	0x0133, r20
 a70:	50 93 34 01 	sts	0x0134, r21
 a74:	89 cf       	rjmp	.-238    	; 0x988 <proc_save+0x96>
 a76:	40 91 2f 01 	lds	r20, 0x012F
 a7a:	50 91 30 01 	lds	r21, 0x0130
 a7e:	4b 5f       	subi	r20, 0xFB	; 251
 a80:	5f 4f       	sbci	r21, 0xFF	; 255
 a82:	50 93 30 01 	sts	0x0130, r21
 a86:	40 93 2f 01 	sts	0x012F, r20
 a8a:	8f b3       	in	r24, 0x1f	; 31
 a8c:	99 27       	eor	r25, r25
 a8e:	9c 01       	movw	r18, r24
 a90:	22 70       	andi	r18, 0x02	; 2
 a92:	30 70       	andi	r19, 0x00	; 0
 a94:	81 fd       	sbrc	r24, 1
 a96:	f9 cf       	rjmp	.-14     	; 0xa8a <proc_save+0x198>

void 
eeprom_write_word (uint16_t *addr,uint16_t value)
{
  __asm__ __volatile__ (
 a98:	d9 01       	movw	r26, r18
 a9a:	0a 01       	movw	r0, r20
 a9c:	32 d1       	rcall	.+612    	; 0xd02 <__eeprom_write_word_1F2021>
 a9e:	c1 cf       	rjmp	.-126    	; 0xa22 <proc_save+0x130>
 aa0:	e4 e1       	ldi	r30, 0x14	; 20
 aa2:	f1 e0       	ldi	r31, 0x01	; 1
 aa4:	8e e0       	ldi	r24, 0x0E	; 14
 aa6:	81 93       	st	Z+, r24
 aa8:	91 e0       	ldi	r25, 0x01	; 1
 aaa:	ec 31       	cpi	r30, 0x1C	; 28
 aac:	f9 07       	cpc	r31, r25
 aae:	d9 f7       	brne	.-10     	; 0xaa6 <proc_save+0x1b4>
 ab0:	78 94       	sei
 ab2:	ff cf       	rjmp	.-2      	; 0xab2 <proc_save+0x1c0>
 ab4:	27 96       	adiw	r28, 0x07	; 7
 ab6:	0f b6       	in	r0, 0x3f	; 63
 ab8:	f8 94       	cli
 aba:	de bf       	out	0x3e, r29	; 62
 abc:	0f be       	out	0x3f, r0	; 63
 abe:	cd bf       	out	0x3d, r28	; 61
 ac0:	df 91       	pop	r29
 ac2:	cf 91       	pop	r28
 ac4:	1f 91       	pop	r17
 ac6:	0f 91       	pop	r16
 ac8:	ff 90       	pop	r15
 aca:	ef 90       	pop	r14
 acc:	df 90       	pop	r13
 ace:	cf 90       	pop	r12
 ad0:	bf 90       	pop	r11
 ad2:	af 90       	pop	r10
 ad4:	9f 90       	pop	r9
 ad6:	8f 90       	pop	r8
 ad8:	08 95       	ret

00000ada <proc_poweroff>:
 ada:	80 91 07 01 	lds	r24, 0x0107
 ade:	84 ff       	sbrs	r24, 4
 ae0:	08 95       	ret
 ae2:	80 91 01 01 	lds	r24, 0x0101
 ae6:	8f 7e       	andi	r24, 0xEF	; 239
 ae8:	80 93 01 01 	sts	0x0101, r24
 aec:	30 dc       	rcall	.-1952   	; 0x34e <display_off>
 aee:	80 91 01 01 	lds	r24, 0x0101
 af2:	82 60       	ori	r24, 0x02	; 2
 af4:	80 93 01 01 	sts	0x0101, r24
 af8:	08 95       	ret

00000afa <proc_init>:
 afa:	0f 93       	push	r16
 afc:	1f 93       	push	r17
 afe:	cf 93       	push	r28
 b00:	df 93       	push	r29
 b02:	88 e1       	ldi	r24, 0x18	; 24
 b04:	90 e0       	ldi	r25, 0x00	; 0
 b06:	2e e0       	ldi	r18, 0x0E	; 14
 b08:	0f b6       	in	r0, 0x3f	; 63
 b0a:	f8 94       	cli
 b0c:	a8 95       	wdr
 b0e:	80 93 60 00 	sts	0x0060, r24
 b12:	0f be       	out	0x3f, r0	; 63
 b14:	20 93 60 00 	sts	0x0060, r18
 b18:	e8 db       	rcall	.-2096   	; 0x2ea <init_display>
 b1a:	bb da       	rcall	.-2698   	; 0x92 <init_interrupt>
 b1c:	80 d0       	rcall	.+256    	; 0xc1e <init_key>
 b1e:	f8 94       	cli
 b20:	8f b3       	in	r24, 0x1f	; 31
 b22:	99 27       	eor	r25, r25
 b24:	dc 01       	movw	r26, r24
 b26:	a2 70       	andi	r26, 0x02	; 2
 b28:	b0 70       	andi	r27, 0x00	; 0
 b2a:	81 fd       	sbrc	r24, 1
 b2c:	f9 cf       	rjmp	.-14     	; 0xb20 <proc_init+0x26>
eeprom_read_word (const uint16_t *addr)
{
  uint16_t result;

  __asm__ __volatile__ (
 b2e:	e4 d0       	rcall	.+456    	; 0xcf8 <__eeprom_read_word_1F2021>
 b30:	0f e2       	ldi	r16, 0x2F	; 47
 b32:	11 e0       	ldi	r17, 0x01	; 1
 b34:	f0 93 30 01 	sts	0x0130, r31
 b38:	e0 93 2f 01 	sts	0x012F, r30
 b3c:	e0 50       	subi	r30, 0x00	; 0
 b3e:	f2 40       	sbci	r31, 0x02	; 2
 b40:	28 f5       	brcc	.+74     	; 0xb8c <proc_init+0x92>
 b42:	e8 01       	movw	r28, r16
 b44:	22 96       	adiw	r28, 0x02	; 2
 b46:	00 e0       	ldi	r16, 0x00	; 0
 b48:	15 e0       	ldi	r17, 0x05	; 5
 b4a:	f9 99       	sbic	0x1f, 1	; 31
 b4c:	fe cf       	rjmp	.-4      	; 0xb4a <proc_init+0x50>
 b4e:	a0 91 2f 01 	lds	r26, 0x012F
 b52:	b0 91 30 01 	lds	r27, 0x0130
              /* Needed in order to truncate to 8 bit.  */
              uint8_t len;
              len = (uint8_t) n; 

              __asm__ __volatile__ (
 b56:	fe 01       	movw	r30, r28
 b58:	11 2e       	mov	r1, r17
 b5a:	c9 d0       	rcall	.+402    	; 0xcee <__eeprom_read_block_1F2021>
 b5c:	65 e0       	ldi	r22, 0x05	; 5
 b5e:	81 e3       	ldi	r24, 0x31	; 49
 b60:	91 e0       	ldi	r25, 0x01	; 1
 b62:	0b dd       	rcall	.-1514   	; 0x57a <checksum>
 b64:	88 23       	and	r24, r24
 b66:	29 f0       	breq	.+10     	; 0xb72 <proc_init+0x78>
 b68:	0f 5f       	subi	r16, 0xFF	; 255
 b6a:	0a 30       	cpi	r16, 0x0A	; 10
 b6c:	70 f3       	brcs	.-36     	; 0xb4a <proc_init+0x50>
 b6e:	0a 30       	cpi	r16, 0x0A	; 10
 b70:	19 f0       	breq	.+6      	; 0xb78 <proc_init+0x7e>
 b72:	f9 99       	sbic	0x1f, 1	; 31
 b74:	fe cf       	rjmp	.-4      	; 0xb72 <proc_init+0x78>
 b76:	39 c0       	rjmp	.+114    	; 0xbea <proc_init+0xf0>
 b78:	e4 e1       	ldi	r30, 0x14	; 20
 b7a:	f1 e0       	ldi	r31, 0x01	; 1
 b7c:	8f e0       	ldi	r24, 0x0F	; 15
 b7e:	81 93       	st	Z+, r24
 b80:	91 e0       	ldi	r25, 0x01	; 1
 b82:	ec 31       	cpi	r30, 0x1C	; 28
 b84:	f9 07       	cpc	r31, r25
 b86:	d9 f7       	brne	.-10     	; 0xb7e <proc_init+0x84>
 b88:	78 94       	sei
 b8a:	ff cf       	rjmp	.-2      	; 0xb8a <proc_init+0x90>
 b8c:	82 e0       	ldi	r24, 0x02	; 2
 b8e:	90 e0       	ldi	r25, 0x00	; 0
 b90:	90 93 30 01 	sts	0x0130, r25
 b94:	80 93 2f 01 	sts	0x012F, r24
 b98:	e8 01       	movw	r28, r16
 b9a:	22 96       	adiw	r28, 0x02	; 2
 b9c:	10 92 31 01 	sts	0x0131, r1
 ba0:	10 92 32 01 	sts	0x0132, r1
 ba4:	10 92 33 01 	sts	0x0133, r1
 ba8:	10 92 34 01 	sts	0x0134, r1
 bac:	10 92 35 01 	sts	0x0135, r1
 bb0:	65 e0       	ldi	r22, 0x05	; 5
 bb2:	ce 01       	movw	r24, r28
 bb4:	e2 dc       	rcall	.-1596   	; 0x57a <checksum>
 bb6:	80 93 35 01 	sts	0x0135, r24
 bba:	8f b3       	in	r24, 0x1f	; 31
 bbc:	99 27       	eor	r25, r25
 bbe:	dc 01     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -