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

📄 main.lss

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

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

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

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

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

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

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

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

  __asm__ __volatile__ (
 b84:	06 d2       	rcall	.+1036   	; 0xf92 <__eeprom_read_word_1F2021>
 b86:	0f e2       	ldi	r16, 0x2F	; 47
 b88:	11 e0       	ldi	r17, 0x01	; 1
 b8a:	f0 93 30 01 	sts	0x0130, r31
 b8e:	e0 93 2f 01 	sts	0x012F, r30
 b92:	e0 50       	subi	r30, 0x00	; 0
 b94:	f2 40       	sbci	r31, 0x02	; 2
 b96:	28 f5       	brcc	.+74     	; 0xbe2 <proc_init+0x92>
 b98:	e8 01       	movw	r28, r16
 b9a:	22 96       	adiw	r28, 0x02	; 2
 b9c:	00 e0       	ldi	r16, 0x00	; 0
 b9e:	15 e0       	ldi	r17, 0x05	; 5
 ba0:	f9 99       	sbic	0x1f, 1	; 31
 ba2:	fe cf       	rjmp	.-4      	; 0xba0 <proc_init+0x50>
 ba4:	a0 91 2f 01 	lds	r26, 0x012F
 ba8:	b0 91 30 01 	lds	r27, 0x0130
              /* Needed in order to truncate to 8 bit.  */
              uint8_t len;
              len = (uint8_t) n; 

              __asm__ __volatile__ (
 bac

⌨️ 快捷键说明

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