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

📄 main.lss

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

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

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

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

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

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

00000ae2 <proc_poweroff>:
 ae2:	80 91 07 01 	lds	r24, 0x0107
 ae6:	84 ff       	sbrs	r24, 4
 ae8:	08 95       	ret
 aea:	35 dc       	rcall	.-1942   	; 0x356 <display_off>
 aec:	80 91 01 01 	lds	r24, 0x0101
 af0:	82 60       	ori	r24, 0x02	; 2
 af2:	80 93 01 01 	sts	0x0101, r24
 af6:	80 91 07 01 	lds	r24, 0x0107
 afa:	8f 7e       	andi	r24, 0xEF	; 239
 afc:	80 93 07 01 	sts	0x0107, r24
 b00:	08 95       	ret

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

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

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

⌨️ 快捷键说明

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