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

📄 main.lss

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