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

📄 main.lss

📁 AVR红外遥控
💻 LSS
📖 第 1 页 / 共 5 页
字号:
 810:	50 91 1d 01 	lds	r21, 0x011D
 814:	60 91 1e 01 	lds	r22, 0x011E
 818:	70 91 1f 01 	lds	r23, 0x011F
 81c:	8f e0       	ldi	r24, 0x0F	; 15
 81e:	91 e0       	ldi	r25, 0x01	; 1
 820:	54 de       	rcall	.-856    	; 0x4ca <htobcd5>
 822:	80 91 11 01 	lds	r24, 0x0111
 826:	80 68       	ori	r24, 0x80	; 128
 828:	80 93 11 01 	sts	0x0111, r24
 82c:	45 98       	cbi	0x08, 5	; 8
 82e:	44 9a       	sbi	0x08, 4	; 8
 830:	5d 9a       	sbi	0x0b, 5	; 11
 832:	80 91 01 01 	lds	r24, 0x0101
 836:	8b 7f       	andi	r24, 0xFB	; 251
 838:	80 93 01 01 	sts	0x0101, r24
 83c:	48 c0       	rjmp	.+144    	; 0x8ce <proc_display+0x146>
 83e:	20 50       	subi	r18, 0x00	; 0
 840:	31 4e       	sbci	r19, 0xE1	; 225
 842:	45 4f       	sbci	r20, 0xF5	; 245
 844:	55 40       	sbci	r21, 0x05	; 5
 846:	cd cf       	rjmp	.-102    	; 0x7e2 <proc_display+0x5a>
 848:	40 91 2e 01 	lds	r20, 0x012E
 84c:	55 27       	eor	r21, r21
 84e:	66 27       	eor	r22, r22
 850:	77 27       	eor	r23, r23
 852:	8f e0       	ldi	r24, 0x0F	; 15
 854:	91 e0       	ldi	r25, 0x01	; 1
 856:	39 de       	rcall	.-910    	; 0x4ca <htobcd5>
 858:	8f e0       	ldi	r24, 0x0F	; 15
 85a:	80 93 0f 01 	sts	0x010F, r24
 85e:	80 93 10 01 	sts	0x0110, r24
 862:	80 93 11 01 	sts	0x0111, r24
 866:	80 91 01 01 	lds	r24, 0x0101
 86a:	8b 7f       	andi	r24, 0xFB	; 251
 86c:	80 93 01 01 	sts	0x0101, r24
 870:	2e c0       	rjmp	.+92     	; 0x8ce <proc_display+0x146>
 872:	92 30       	cpi	r25, 0x02	; 2
 874:	d1 f7       	brne	.-12     	; 0x86a <proc_display+0xe2>
 876:	40 91 1c 01 	lds	r20, 0x011C
 87a:	50 91 1d 01 	lds	r21, 0x011D
 87e:	60 91 1e 01 	lds	r22, 0x011E
 882:	70 91 1f 01 	lds	r23, 0x011F
 886:	8f e0       	ldi	r24, 0x0F	; 15
 888:	91 e0       	ldi	r25, 0x01	; 1
 88a:	1f de       	rcall	.-962    	; 0x4ca <htobcd5>
 88c:	80 91 11 01 	lds	r24, 0x0111
 890:	80 68       	ori	r24, 0x80	; 128
 892:	80 93 11 01 	sts	0x0111, r24
 896:	45 9a       	sbi	0x08, 5	; 8
 898:	44 9a       	sbi	0x08, 4	; 8
 89a:	5d 98       	cbi	0x0b, 5	; 11
 89c:	80 91 01 01 	lds	r24, 0x0101
 8a0:	e4 cf       	rjmp	.-56     	; 0x86a <proc_display+0xe2>
 8a2:	40 91 1c 01 	lds	r20, 0x011C
 8a6:	50 91 1d 01 	lds	r21, 0x011D
 8aa:	60 91 1e 01 	lds	r22, 0x011E
 8ae:	70 91 1f 01 	lds	r23, 0x011F
 8b2:	8f e0       	ldi	r24, 0x0F	; 15
 8b4:	91 e0       	ldi	r25, 0x01	; 1
 8b6:	09 de       	rcall	.-1006   	; 0x4ca <htobcd5>
 8b8:	80 91 11 01 	lds	r24, 0x0111
 8bc:	80 68       	ori	r24, 0x80	; 128
 8be:	80 93 11 01 	sts	0x0111, r24
 8c2:	45 9a       	sbi	0x08, 5	; 8
 8c4:	44 98       	cbi	0x08, 4	; 8
 8c6:	5d 9a       	sbi	0x0b, 5	; 11
 8c8:	80 91 01 01 	lds	r24, 0x0101
 8cc:	ce cf       	rjmp	.-100    	; 0x86a <proc_display+0xe2>
 8ce:	1f 91       	pop	r17
 8d0:	0f 91       	pop	r16
 8d2:	ff 90       	pop	r15
 8d4:	ef 90       	pop	r14
 8d6:	08 95       	ret

000008d8 <proc_key>:
 8d8:	cf 93       	push	r28
 8da:	df 93       	push	r29
 8dc:	d0 d1       	rcall	.+928    	; 0xc7e <read_key>
 8de:	88 23       	and	r24, r24
 8e0:	a9 f0       	breq	.+42     	; 0x90c <proc_key+0x34>
 8e2:	80 91 01 01 	lds	r24, 0x0101
 8e6:	83 fd       	sbrc	r24, 3
 8e8:	1a c0       	rjmp	.+52     	; 0x91e <proc_key+0x46>
 8ea:	80 91 0e 01 	lds	r24, 0x010E
 8ee:	c8 2f       	mov	r28, r24
 8f0:	dd 27       	eor	r29, r29
 8f2:	80 91 0e 01 	lds	r24, 0x010E
 8f6:	99 27       	eor	r25, r25
 8f8:	8c 1b       	sub	r24, r28
 8fa:	9d 0b       	sbc	r25, r29
 8fc:	03 97       	sbiw	r24, 0x03	; 3
 8fe:	1c f4       	brge	.+6      	; 0x906 <proc_key+0x2e>
 900:	be d1       	rcall	.+892    	; 0xc7e <read_key>
 902:	81 30       	cpi	r24, 0x01	; 1
 904:	b1 f3       	breq	.-20     	; 0x8f2 <proc_key+0x1a>
 906:	bb d1       	rcall	.+886    	; 0xc7e <read_key>
 908:	81 30       	cpi	r24, 0x01	; 1
 90a:	69 f0       	breq	.+26     	; 0x926 <proc_key+0x4e>
 90c:	80 91 01 01 	lds	r24, 0x0101
 910:	87 7e       	andi	r24, 0xE7	; 231
 912:	80 93 01 01 	sts	0x0101, r24
 916:	8e e1       	ldi	r24, 0x1E	; 30
 918:	80 93 2e 01 	sts	0x012E, r24
 91c:	14 c0       	rjmp	.+40     	; 0x946 <proc_key+0x6e>
 91e:	80 61       	ori	r24, 0x10	; 16
 920:	80 93 01 01 	sts	0x0101, r24
 924:	10 c0       	rjmp	.+32     	; 0x946 <proc_key+0x6e>
 926:	90 91 01 01 	lds	r25, 0x0101
 92a:	80 91 00 01 	lds	r24, 0x0100
 92e:	8f 5f       	subi	r24, 0xFF	; 255
 930:	80 93 00 01 	sts	0x0100, r24
 934:	83 30       	cpi	r24, 0x03	; 3
 936:	21 f0       	breq	.+8      	; 0x940 <proc_key+0x68>
 938:	9c 60       	ori	r25, 0x0C	; 12
 93a:	90 93 01 01 	sts	0x0101, r25
 93e:	03 c0       	rjmp	.+6      	; 0x946 <proc_key+0x6e>
 940:	10 92 00 01 	sts	0x0100, r1
 944:	f9 cf       	rjmp	.-14     	; 0x938 <proc_key+0x60>
 946:	df 91       	pop	r29
 948:	cf 91       	pop	r28
 94a:	08 95       	ret

0000094c <proc_save>:
 94c:	8f 92       	push	r8
 94e:	9f 92       	push	r9
 950:	af 92       	push	r10
 952:	bf 92       	push	r11
 954:	cf 92       	push	r12
 956:	df 92       	push	r13
 958:	ef 92       	push	r14
 95a:	ff 92       	push	r15
 95c:	0f 93       	push	r16
 95e:	1f 93       	push	r17
 960:	cf 93       	push	r28
 962:	df 93       	push	r29
 964:	cd b7       	in	r28, 0x3d	; 61
 966:	de b7       	in	r29, 0x3e	; 62
 968:	27 97       	sbiw	r28, 0x07	; 7
 96a:	0f b6       	in	r0, 0x3f	; 63
 96c:	f8 94       	cli
 96e:	de bf       	out	0x3e, r29	; 62
 970:	0f be       	out	0x3f, r0	; 63
 972:	cd bf       	out	0x3d, r28	; 61
 974:	80 91 01 01 	lds	r24, 0x0101
 978:	81 ff       	sbrs	r24, 1
 97a:	c9 c0       	rjmp	.+402    	; 0xb0e <proc_save+0x1c2>
 97c:	f8 94       	cli
 97e:	60 91 28 01 	lds	r22, 0x0128
 982:	70 91 29 01 	lds	r23, 0x0129
 986:	80 91 2a 01 	lds	r24, 0x012A
 98a:	90 91 2b 01 	lds	r25, 0x012B
 98e:	68 5f       	subi	r22, 0xF8	; 248
 990:	78 4f       	sbci	r23, 0xF8	; 248
 992:	8f 4f       	sbci	r24, 0xFF	; 255
 994:	9f 4f       	sbci	r25, 0xFF	; 255
 996:	b1 e3       	ldi	r27, 0x31	; 49
 998:	cb 2e       	mov	r12, r27
 99a:	b1 e0       	ldi	r27, 0x01	; 1
 99c:	db 2e       	mov	r13, r27
 99e:	e0 90 31 01 	lds	r14, 0x0131
 9a2:	f0 90 32 01 	lds	r15, 0x0132
 9a6:	00 91 33 01 	lds	r16, 0x0133
 9aa:	10 91 34 01 	lds	r17, 0x0134
 9ae:	20 e1       	ldi	r18, 0x10	; 16
 9b0:	3e e0       	ldi	r19, 0x0E	; 14
 9b2:	40 e0       	ldi	r20, 0x00	; 0
 9b4:	50 e0       	ldi	r21, 0x00	; 0
 9b6:	a9 d2       	rcall	.+1362   	; 0xf0a <__udivmodsi4>
 9b8:	2e 0d       	add	r18, r14
 9ba:	3f 1d       	adc	r19, r15
 9bc:	40 1f       	adc	r20, r16
 9be:	51 1f       	adc	r21, r17
 9c0:	20 93 31 01 	sts	0x0131, r18
 9c4:	30 93 32 01 	sts	0x0132, r19
 9c8:	40 93 33 01 	sts	0x0133, r20
 9cc:	50 93 34 01 	sts	0x0134, r21
 9d0:	20 30       	cpi	r18, 0x00	; 0
 9d2:	81 ee       	ldi	r24, 0xE1	; 225
 9d4:	38 07       	cpc	r19, r24
 9d6:	85 ef       	ldi	r24, 0xF5	; 245
 9d8:	48 07       	cpc	r20, r24
 9da:	85 e0       	ldi	r24, 0x05	; 5
 9dc:	58 07       	cpc	r21, r24
 9de:	08 f0       	brcs	.+2      	; 0x9e2 <proc_save+0x96>
 9e0:	6a c0       	rjmp	.+212    	; 0xab6 <proc_save+0x16a>
 9e2:	10 92 28 01 	sts	0x0128, r1
 9e6:	10 92 29 01 	sts	0x0129, r1
 9ea:	10 92 2a 01 	sts	0x012A, r1
 9ee:	10 92 2b 01 	sts	0x012B, r1
 9f2:	10 92 2d 01 	sts	0x012D, r1
 9f6:	10 92 2c 01 	sts	0x012C, r1
 9fa:	10 92 35 01 	sts	0x0135, r1
 9fe:	65 e0       	ldi	r22, 0x05	; 5
 a00:	c6 01       	movw	r24, r12
 a02:	be dd       	rcall	.-1156   	; 0x580 <checksum>
 a04:	80 93 35 01 	sts	0x0135, r24
 a08:	40 91 2f 01 	lds	r20, 0x012F
 a0c:	50 91 30 01 	lds	r21, 0x0130
 a10:	4a 01       	movw	r8, r20
 a12:	91 e0       	ldi	r25, 0x01	; 1
 a14:	4f 3f       	cpi	r20, 0xFF	; 255
 a16:	59 07       	cpc	r21, r25
 a18:	08 f0       	brcs	.+2      	; 0xa1c <proc_save+0xd0>
 a1a:	6f c0       	rjmp	.+222    	; 0xafa <proc_save+0x1ae>
 a1c:	5a 01       	movw	r10, r20
 a1e:	f3 e0       	ldi	r31, 0x03	; 3
 a20:	ef 2e       	mov	r14, r31
 a22:	f1 2c       	mov	r15, r1
 a24:	ec 0e       	add	r14, r28
 a26:	fd 1e       	adc	r15, r29
 a28:	10 e0       	ldi	r17, 0x00	; 0
 a2a:	f9 99       	sbic	0x1f, 1	; 31
 a2c:	fe cf       	rjmp	.-4      	; 0xa2a <proc_save+0xde>
            {
              uint8_t len;
              len = (uint8_t) n;

              __asm__ __volatile__ (
 a2e:	85 e0       	ldi	r24, 0x05	; 5
 a30:	da 01       	movw	r26, r20
 a32:	f6 01       	movw	r30, r12
 a34:	18 2e       	mov	r1, r24
 a36:	9a d2       	rcall	.+1332   	; 0xf6c <__eeprom_write_block_1F2021>
 a38:	f9 99       	sbic	0x1f, 1	; 31
 a3a:	fe cf       	rjmp	.-4      	; 0xa38 <proc_save+0xec>
 a3c:	a0 91 2f 01 	lds	r26, 0x012F
 a40:	b0 91 30 01 	lds	r27, 0x0130
              /* Needed in order to truncate to 8 bit.  */
              uint8_t len;
              len = (uint8_t) n; 

              __asm__ __volatile__ (
 a44:	85 e0       	ldi	r24, 0x05	; 5
 a46:	f7 01       	movw	r30, r14
 a48:	18 2e       	mov	r1, r24
 a4a:	81 d2       	rcall	.+1282   	; 0xf4e <__eeprom_read_block_1F2021>
 a4c:	65 e0       	ldi	r22, 0x05	; 5
 a4e:	c7 01       	movw	r24, r14
 a50:	97 dd       	rcall	.-1234   	; 0x580 <checksum>
 a52:	88 23       	and	r24, r24
 a54:	41 f0       	breq	.+16     	; 0xa66 <proc_save+0x11a>
 a56:	1f 5f       	subi	r17, 0xFF	; 255
 a58:	13 30       	cpi	r17, 0x03	; 3
 a5a:	70 f4       	brcc	.+28     	; 0xa78 <proc_save+0x12c>
 a5c:	40 91 2f 01 	lds	r20, 0x012F
 a60:	50 91 30 01 	lds	r21, 0x0130
 a64:	e2 cf       	rjmp	.-60     	; 0xa2a <proc_save+0xde>
 a66:	f9 99       	sbic	0x1f, 1	; 31
 a68:	fe cf       	rjmp	.-4      	; 0xa66 <proc_save+0x11a>
 a6a:	78 94       	sei
 a6c:	80 91 01 01 	lds	r24, 0x0101
 a70:	8d 7f       	andi	r24, 0xFD	; 253
 a72:	80 93 01 01 	sts	0x0101, r24
 a76:	4b c0       	rjmp	.+150    	; 0xb0e <proc_save+0x1c2>
 a78:	13 30       	cpi	r17, 0x03	; 3
 a7a:	51 f1       	breq	.+84     	; 0xad0 <proc_save+0x184>
 a7c:	e5 e0       	ldi	r30, 0x05	; 5
 a7e:	f0 e0       	ldi	r31, 0x00	; 0
 a80:	ae 0e       	add	r10, r30
 a82:	bf 1e       	adc	r11, r31
 a84:	8e ef       	ldi	r24, 0xFE	; 254
 a86:	91 e0       	ldi	r25, 0x01	; 1
 a88:	88 19       	sub	r24, r8
 a8a:	99 09       	sbc	r25, r9
 a8c:	65 e0       	ldi	r22, 0x05	; 5
 a8e:	70 e0       	ldi	r23, 0x00	; 0
 a90:	28 d2       	rcall	.+1104   	; 0xee2 <__udivmodhi4>
 a92:	cb 01       	movw	r24, r22
 a94:	88 0f       	add	r24, r24
 a96:	99 1f       	adc	r25, r25
 a98:	88 0f       	add	r24, r24
 a9a:	99 1f       	adc	r25, r25
 a9c:	86 0f       	add	r24, r22
 a9e:	97 1f       	adc	r25, r23
 aa0:	88 0d       	add	r24, r8
 aa2:	99 1d       	adc	r25, r9
 aa4:	05 96       	adiw	r24, 0x05	; 5
 aa6:	a8 16       	cp	r10, r24
 aa8:	b9 06       	cpc	r11, r25
 aaa:	39 f1       	breq	.+78     	; 0xafa <proc_save+0x1ae>
 aac:	40 91 2f 01 	lds	r20, 0x012F
 ab0:	50 91 30 01 	lds	r21, 0x0130
 ab4:	b9 cf       	rjmp	.-142    	; 0xa28 <proc_save+0xdc>
 ab6:	20 50       	subi	r18, 0x00	; 0
 ab8:	31 4e       	sbci	r19, 0xE1	; 225
 aba:	45 4f       	sbci	r20, 0xF5	; 245
 abc:	55 40       	sbci	r21, 0x05	; 5
 abe:	20 93 31 01 	sts	0x0131, r18
 ac2:	30 93 32 01 	sts	0x0132, r19
 ac6:	40 93 33 01 	sts	0x0133, r20
 aca:	50 93 34 01 	sts	0x0134, r21
 ace:	89 cf       	rjmp	.-238    	; 0x9e2 <proc_save+0x96>
 ad0:	40 91 2f 01 	lds	r20, 0x012F
 ad4:	50 91 30 01 	lds	r21, 0x0130
 ad8:	4b 5f       	subi	r20, 0xFB	; 251
 ada:	5f 4f       	sbci	r21, 0xFF	; 255
 adc:	50 93 30 01 	sts	0x0130, r21
 ae0:	40 93 2f 01 	sts	0x012F, r20
 ae4:	8f b3       	in	r24, 0x1f	; 31
 ae6:	99 27       	eor	r25, r25
 ae8:	9c 01       	movw	r18, r24
 aea:	22 70       	andi	r18, 0x02	; 2
 aec:	30 70       	andi	r19, 0x00	; 0
 aee:	81 fd       	sbrc	r24, 1
 af0:	f9 cf       	rjmp	.-14     	; 0xae4 <proc_save+0x198>

void 
eeprom_write_word (uint16_t *addr,uint16_t value)
{
  __asm__ __volatile__ (
 af2:	d9 01       	movw	r26, r18
 af4:	0a 01       	movw	r0, r20
 af6:	35 d2       	rcall	.+1130   	; 0xf62 <__eeprom_write_word_1F2021>
 af8:	c1 cf       	rjmp	.-126    	; 0xa7c <proc_save+0x130>
 afa:	e4 e1       	ldi	r30, 0x14	; 20
 afc:	f1 e0       	ldi	r31, 0x01	; 1
 afe:	8e e0       	ldi	r24, 0x0E	; 14
 b00:	81 93       	st	Z+, r24
 b02:	91 e0       	ldi	r25, 0x01	; 1
 b04:	ec 31       	cpi	r30, 0x1C	; 28
 b06:	f9 07       	cpc	r31, r25
 b08:	d9 f7       	brne	.-10     	; 0xb00 <proc_save+0x1b4>
 b0a:	78 94       	sei
 b0c:	ff cf       	rjmp	.-2      	; 0xb0c <proc_save+0x1c0>
 b0e:	27 96       	adiw	r28, 0x07	; 7
 b10:	0f b6       	in	r0, 0x3f	; 63
 b12:	f8 94       	cli
 b14:	de bf       	out	0x3e, r29	; 62
 b16:	0f be       	out	0x3f, r0	; 63
 b18:	cd bf       	out	0x3d, r28	; 61
 b1a:	df 91       	pop	r29
 b1c:	cf 91       	pop	r28
 b1e:	1f 91       	pop	r17
 b20:	0f 91       	pop	r16
 b22:	ff 90       	pop	r15
 b24:	ef 90       	pop	r14
 b26:	df 90       	pop	r13
 b28:	cf 90       	pop	r12
 b2a:	bf 90       	pop	r11
 b2c:	af 90       	pop	r10
 b2e:	9f 90       	pop	r9
 b30:	8f 90       	pop	r8
 b32:	08 95       	ret

00000b34 <proc_poweroff>:
 b34:	80 91 07 01 	lds	r24, 0x0107
 b38:	84 ff       	sbrs	r24, 4
 b3a:	08 95       	ret
 b3c:	0b dc       	rcall	.-2026   	; 0x354 <display_off>
 b3e:	80 91 01 01 	lds	r24, 0x0101
 b42:	82 60       	ori	r24, 0x02	; 2
 b44:	80 93 01 01 	sts	0x0101, r24
 b48:	80 91 07 01 	lds	r24, 0x0107
 b4c:	8f 7e       	andi	r24, 0xEF	; 239
 b4e:	80 93 07 01 	sts	0x0107, r24
 b52:	08 95       	ret

00000b54 <proc_init>:
 b54:	0f 93       	push	r16
 b56:	1f 93       	push	r17
 b58:	cf 93       	push	r28
 b5a:	df 93       	push	r29
 b5c:	88 e1       	ldi	r24, 0x18	; 24
 b5e:	90 e0       	ldi	r25, 0x00	; 0
 b60:	2e e0       	ldi	r18, 0x0E	; 14
 b62:	0f b6       	in	r0, 0x3f	; 63
 b64:	f8 94       	cli
 b66:	a8 95       	wdr
 b68:	80 93 60 00 	sts	0x0060, r24
 b6c:	0f be       	out	0x3f, r0	; 63
 b6e:	20 93 60 00 	sts	0x0060, r18
 b72:	be db       	rcall	.-2180   	; 0x2f0 <init_display>
 b74:	91 da       	rcall	.-2782   	; 0x98 <init_interrupt>
 b76:	80 d0       	rcall	.+256    	; 0xc78 <init_key>
 b78:	f8 94       	cli
 b7a:	8f b3       	in	r24, 0x1f	; 31
 b7c:	99 27       	eor	r25, r25
 b7e:	dc 01       	movw	r26, r24
 b80:	a2 70       	andi	r26, 0x02	; 2
 b82:	b0 70       	andi	r27, 0x00	; 0
 b84:	81 fd       	sbrc	r24, 1
 b86:	f9 cf       	rjmp	.-14     	; 0xb7a <proc_init+0x26>
eeprom_read_word (const uint16_t *addr)
{
  uint16_t result;

  __asm__ __volatile__ (
 b88:	e7 d1       	rcall	.+974    	; 0xf58 <__eeprom_read_word_1F2021>
 b8a:	0f e2       	ldi	r16, 0x2F	; 47
 b8c:	11 e0       	ldi	r17, 0x01	; 1
 b8e:	f0 93 30 01 	sts	0x0130, r31
 b92:	e0 93 2f 01 	sts	0x012F, r30
 b96:	e0 50       	subi	r30, 0x00	; 0
 b98:	f2 40       	sbci	r31, 0x02	; 2
 b9a:	28 f5       	brcc	.+74     	; 0xbe6 <proc_init+0x92>
 b9c:	e8 01       	movw	r28, r16
 b9e:	22 96       	adiw	r28, 0x02	; 2
 ba0:	00 e0       	ldi	r16, 0x00	; 0
 ba2:	15 e0       	ldi	r17, 0x05	; 5
 ba4:	f9 99       	sbic	0x1f, 1	; 31
 ba6:	fe cf       	rjmp	.-4      	; 0xba4 <proc_init+0x50>
 ba8:	a0 91 2f 01 	lds	r26, 0x012F
 bac:	b0 91 30 01 	lds	r27, 0x0130
              /* Needed in order to truncate to

⌨️ 快捷键说明

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