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

📄 main.lss

📁 采用电视遥控器控制的小车
💻 LSS
📖 第 1 页 / 共 5 页
字号:
00001842 <.do_copy_data_start>:
    1842:	a0 36       	cpi	r26, 0x60	; 96
    1844:	b1 07       	cpc	r27, r17
    1846:	d9 f7       	brne	.-10     	; 0x183e

00001848 <__do_clear_bss>:
    1848:	10 e0       	ldi	r17, 0x00	; 0
    184a:	a0 e6       	ldi	r26, 0x60	; 96
    184c:	b0 e0       	ldi	r27, 0x00	; 0
    184e:	01 c0       	rjmp	.+2      	; 0x1852

00001850 <.do_clear_bss_loop>:
    1850:	1d 92       	st	X+, r1

00001852 <.do_clear_bss_start>:
    1852:	aa 36       	cpi	r26, 0x6A	; 106
    1854:	b1 07       	cpc	r27, r17
    1856:	e1 f7       	brne	.-8      	; 0x1850
    1858:	cb c1       	rjmp	.+918    	; 0x1bf0

0000185a <__bad_interrupt>:
    185a:	d2 c3       	rjmp	.+1956   	; 0x2000

0000185c <put_char>:
#define A0 5
#define SCL 5
#define SDA 3
void put_char(unsigned char data,unsigned char d_c)
{
    185c:	98 2f       	mov	r25, r24
	if(d_c==1) CRPORT|=(1<<A0);
    185e:	61 30       	cpi	r22, 0x01	; 1
    1860:	11 f4       	brne	.+4      	; 0x1866
    1862:	ad 9a       	sbi	0x15, 5	; 21
    1864:	01 c0       	rjmp	.+2      	; 0x1868
	else CRPORT&=~(1<<A0);
    1866:	ad 98       	cbi	0x15, 5	; 21
	CRPORT&=~(1<<CS);
    1868:	ab 98       	cbi	0x15, 3	; 21
	SPDR = data;			 			// 传送数据到SPI寄存器
    186a:	9f b9       	out	0x0f, r25	; 15
    while ((SPSR & (1 << SPIF)) == 0);	// 等待数据传送完
    186c:	77 9b       	sbis	0x0e, 7	; 14
    186e:	fe cf       	rjmp	.-4      	; 0x186c
    CRPORT|=(1<<CS);
    1870:	ab 9a       	sbi	0x15, 3	; 21
    1872:	08 95       	ret

00001874 <puta>:
}
void puta(unsigned char msb,unsigned char lsb)
{
    1874:	ff 92       	push	r15
    1876:	0f 93       	push	r16
    1878:	1f 93       	push	r17
    187a:	cf 93       	push	r28
    187c:	f8 2e       	mov	r15, r24
    187e:	06 2f       	mov	r16, r22
	unsigned char i,j;
	for(i=0xb0;i<0xb8;i++)
    1880:	10 eb       	ldi	r17, 0xB0	; 176
	{
		put_char(i,0);
    1882:	60 e0       	ldi	r22, 0x00	; 0
    1884:	81 2f       	mov	r24, r17
    1886:	ea df       	rcall	.-44     	; 0x185c
		put_char(0x10,0);
    1888:	60 e0       	ldi	r22, 0x00	; 0
    188a:	80 e1       	ldi	r24, 0x10	; 16
    188c:	e7 df       	rcall	.-50     	; 0x185c
		put_char(0x00,0);
    188e:	60 e0       	ldi	r22, 0x00	; 0
    1890:	86 2f       	mov	r24, r22
    1892:	e4 df       	rcall	.-56     	; 0x185c
		for(j=0;j<128;j++)
    1894:	c0 e0       	ldi	r28, 0x00	; 0
		{	
			put_char(msb,1);
    1896:	61 e0       	ldi	r22, 0x01	; 1
    1898:	8f 2d       	mov	r24, r15
    189a:	e0 df       	rcall	.-64     	; 0x185c
			put_char(lsb,1);
    189c:	61 e0       	ldi	r22, 0x01	; 1
    189e:	80 2f       	mov	r24, r16
    18a0:	dd df       	rcall	.-70     	; 0x185c
    18a2:	cf 5f       	subi	r28, 0xFF	; 255
    18a4:	c7 ff       	sbrs	r28, 7
    18a6:	f7 cf       	rjmp	.-18     	; 0x1896
    18a8:	1f 5f       	subi	r17, 0xFF	; 255
    18aa:	18 3b       	cpi	r17, 0xB8	; 184
    18ac:	50 f3       	brcs	.-44     	; 0x1882
		}
	}
	put_char(0b10101111,0);
    18ae:	60 e0       	ldi	r22, 0x00	; 0
    18b0:	8f ea       	ldi	r24, 0xAF	; 175
    18b2:	d4 df       	rcall	.-88     	; 0x185c
    18b4:	cf 91       	pop	r28
    18b6:	1f 91       	pop	r17
    18b8:	0f 91       	pop	r16
    18ba:	ff 90       	pop	r15
    18bc:	08 95       	ret

000018be <put_word>:
}
void put_word(const unsigned char *a,unsigned char x,unsigned char y)
{
    18be:	cf 92       	push	r12
    18c0:	df 92       	push	r13
    18c2:	ef 92       	push	r14
    18c4:	ff 92       	push	r15
    18c6:	0f 93       	push	r16
    18c8:	1f 93       	push	r17
    18ca:	cf 93       	push	r28
    18cc:	df 93       	push	r29
    18ce:	7c 01       	movw	r14, r24
    18d0:	16 2f       	mov	r17, r22
    18d2:	04 2f       	mov	r16, r20
	unsigned char i;
	y<<=1;
    18d4:	00 0f       	add	r16, r16
	x+=4;
    18d6:	1c 5f       	subi	r17, 0xFC	; 252
	put_char(y+0xb0,0);
    18d8:	60 e0       	ldi	r22, 0x00	; 0
    18da:	80 2f       	mov	r24, r16
    18dc:	80 55       	subi	r24, 0x50	; 80
    18de:	be df       	rcall	.-132    	; 0x185c
	put_char(x&0x0f,0);
    18e0:	8f e0       	ldi	r24, 0x0F	; 15
    18e2:	c8 2e       	mov	r12, r24
    18e4:	c1 22       	and	r12, r17
    18e6:	60 e0       	ldi	r22, 0x00	; 0
    18e8:	8c 2d       	mov	r24, r12
    18ea:	b8 df       	rcall	.-144    	; 0x185c
	put_char((x>>4)+0x10,0);
    18ec:	d1 2e       	mov	r13, r17
    18ee:	d6 94       	lsr	r13
    18f0:	d6 94       	lsr	r13
    18f2:	d6 94       	lsr	r13
    18f4:	d6 94       	lsr	r13
    18f6:	60 e0       	ldi	r22, 0x00	; 0
    18f8:	8d 2d       	mov	r24, r13
    18fa:	80 5f       	subi	r24, 0xF0	; 240
    18fc:	af df       	rcall	.-162    	; 0x185c
    18fe:	e7 01       	movw	r28, r14
    1900:	1f e0       	ldi	r17, 0x0F	; 15
	for(i=0;i<=15;i++) put_char(pgm_read_byte(a+i),1);
    1902:	fe 01       	movw	r30, r28
    1904:	84 91       	lpm	r24, Z
    1906:	61 e0       	ldi	r22, 0x01	; 1
    1908:	a9 df       	rcall	.-174    	; 0x185c
    190a:	11 50       	subi	r17, 0x01	; 1
    190c:	21 96       	adiw	r28, 0x01	; 1
    190e:	17 ff       	sbrs	r17, 7
    1910:	f8 cf       	rjmp	.-16     	; 0x1902
	put_char(y+1+0xb0,0);
    1912:	60 e0       	ldi	r22, 0x00	; 0
    1914:	80 2f       	mov	r24, r16
    1916:	8f 54       	subi	r24, 0x4F	; 79
    1918:	a1 df       	rcall	.-190    	; 0x185c
	put_char(x&0x0f,0);
    191a:	60 e0       	ldi	r22, 0x00	; 0
    191c:	8c 2d       	mov	r24, r12
    191e:	9e df       	rcall	.-196    	; 0x185c
	put_char((x>>4)+0x10,0);
    1920:	60 e0       	ldi	r22, 0x00	; 0
    1922:	8d 2d       	mov	r24, r13
    1924:	80 5f       	subi	r24, 0xF0	; 240
    1926:	9a df       	rcall	.-204    	; 0x185c
    1928:	e7 01       	movw	r28, r14
    192a:	60 96       	adiw	r28, 0x10	; 16
    192c:	1f e0       	ldi	r17, 0x0F	; 15
	for(i=16;i<=31;i++) put_char(pgm_read_byte(a+i),1);
    192e:	fe 01       	movw	r30, r28
    1930:	84 91       	lpm	r24, Z
    1932:	61 e0       	ldi	r22, 0x01	; 1
    1934:	93 df       	rcall	.-218    	; 0x185c
    1936:	11 50       	subi	r17, 0x01	; 1
    1938:	21 96       	adiw	r28, 0x01	; 1
    193a:	17 ff       	sbrs	r17, 7
    193c:	f8 cf       	rjmp	.-16     	; 0x192e
    193e:	df 91       	pop	r29
    1940:	cf 91       	pop	r28
    1942:	1f 91       	pop	r17
    1944:	0f 91       	pop	r16
    1946:	ff 90       	pop	r15
    1948:	ef 90       	pop	r14
    194a:	df 90       	pop	r13
    194c:	cf 90       	pop	r12
    194e:	08 95       	ret

00001950 <put_string>:
}
void put_string(const unsigned char *s,unsigned char x,unsigned char y,unsigned char z)
{
    1950:	ff 92       	push	r15
    1952:	0f 93       	push	r16
    1954:	1f 93       	push	r17
    1956:	cf 93       	push	r28
    1958:	df 93       	push	r29
    195a:	ec 01       	movw	r28, r24
    195c:	16 2f       	mov	r17, r22
    195e:	f4 2e       	mov	r15, r20
    1960:	02 2f       	mov	r16, r18
    1962:	09 c0       	rjmp	.+18     	; 0x1976
	for(;(x<=112)&&z;x+=16)
    1964:	00 23       	and	r16, r16
    1966:	49 f0       	breq	.+18     	; 0x197a
	{
		put_word(s,x,y);
    1968:	4f 2d       	mov	r20, r15
    196a:	61 2f       	mov	r22, r17
    196c:	ce 01       	movw	r24, r28
    196e:	a7 df       	rcall	.-178    	; 0x18be
		s+=32;
    1970:	a0 96       	adiw	r28, 0x20	; 32
		z--;
    1972:	01 50       	subi	r16, 0x01	; 1
    1974:	10 5f       	subi	r17, 0xF0	; 240
    1976:	11 37       	cpi	r17, 0x71	; 113
    1978:	a8 f3       	brcs	.-22     	; 0x1964
	}
	while(!s)
	{for(x=0;(x<=112)&&z;x+=16)
		{
			put_word(s,x,y);
			s+=32;
			z--;
		}
	y++;
    197a:	20 97       	sbiw	r28, 0x00	; 0
    197c:	79 f4       	brne	.+30     	; 0x199c
    197e:	10 e0       	ldi	r17, 0x00	; 0
    1980:	00 23       	and	r16, r16
    1982:	49 f0       	breq	.+18     	; 0x1996
    1984:	4f 2d       	mov	r20, r15
    1986:	61 2f       	mov	r22, r17
    1988:	ce 01       	movw	r24, r28
    198a:	99 df       	rcall	.-206    	; 0x18be
    198c:	a0 96       	adiw	r28, 0x20	; 32
    198e:	01 50       	subi	r16, 0x01	; 1
    1990:	10 5f       	subi	r17, 0xF0	; 240
    1992:	11 37       	cpi	r17, 0x71	; 113
    1994:	a8 f3       	brcs	.-22     	; 0x1980
    1996:	f3 94       	inc	r15
    1998:	20 97       	sbiw	r28, 0x00	; 0
    199a:	89 f3       	breq	.-30     	; 0x197e
    199c:	df 91       	pop	r29
    199e:	cf 91       	pop	r28
    19a0:	1f 91       	pop	r17
    19a2:	0f 91       	pop	r16
    19a4:	ff 90       	pop	r15
    19a6:	08 95       	ret

000019a8 <print_bmp>:
	}
}
void print_bmp(const unsigned char *s)
{
    19a8:	cf 92       	push	r12
    19aa:	df 92       	push	r13
    19ac:	ef 92       	push	r14
    19ae:	ff 92       	push	r15
    19b0:	0f 93       	push	r16
    19b2:	1f 93       	push	r17
    19b4:	cf 93       	push	r28
    19b6:	df 93       	push	r29
    19b8:	8c 01       	movw	r16, r24
	unsigned i,j;
	for(j=0xb0;j<0xb8;j++)
    19ba:	20 eb       	ldi	r18, 0xB0	; 176
    19bc:	c2 2e       	mov	r12, r18
    19be:	d1 2c       	mov	r13, r1
	{
		put_char(j,0);
    19c0:	60 e0       	ldi	r22, 0x00	; 0
    19c2:	8c 2d       	mov	r24, r12
    19c4:	4b df       	rcall	.-362    	; 0x185c
		put_char(0x10,0);
    19c6:	60 e0       	ldi	r22, 0x00	; 0
    19c8:	80 e1       	ldi	r24, 0x10	; 16
    19ca:	48 df       	rcall	.-368    	; 0x185c
		put_char(0x04,0);
    19cc:	60 e0       	ldi	r22, 0x00	; 0
    19ce:	84 e0       	ldi	r24, 0x04	; 4
    19d0:	45 df       	rcall	.-374    	; 0x185c
    19d2:	e8 01       	movw	r28, r16
    19d4:	9f e7       	ldi	r25, 0x7F	; 127
    19d6:	e9 2e       	mov	r14, r25
    19d8:	f1 2c       	mov	r15, r1
    19da:	e0 0e       	add	r14, r16
    19dc:	f1 1e       	adc	r15, r17
		for(i=0;i<128;i++) put_char(pgm_read_byte(s+i),1);
    19de:	fe 01       	movw	r30, r28
    19e0:	84 91       	lpm	r24, Z
    19e2:	61 e0       	ldi	r22, 0x01	; 1
    19e4:	3b df       	rcall	.-394    	; 0x185c
    19e6:	21 96       	adiw	r28, 0x01	; 1
    19e8:	ec 16       	cp	r14, r28
    19ea:	fd 06       	cpc	r15, r29
    19ec:	c0 f7       	brcc	.-16     	; 0x19de
		s+=128;
    19ee:	00 58       	subi	r16, 0x80	; 128
    19f0:	1f 4f       	sbci	r17, 0xFF	; 255
    19f2:	08 94       	sec
    19f4:	c1 1c       	adc	r12, r1
    19f6:	d1 1c       	adc	r13, r1
    19f8:	f8 eb       	ldi	r31, 0xB8	; 184
    19fa:	cf 16       	cp	r12, r31
    19fc:	d1 04       	cpc	r13, r1
    19fe:	00 f3       	brcs	.-64     	; 0x19c0
    1a00:	df 91       	pop	r29
    1a02:	cf 91       	pop	r28
    1a04:	1f 91       	pop	r17

⌨️ 快捷键说明

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