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

📄 mp3_player_06.lss

📁 MG64+VS1003+SDCARD+nokia5110 之多的MP3
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     bb1:	00 20 f8 24 24 04 00 02 03 02 02 00 00 40 a0 a0     . .$$........@..
     bc1:	60 20 00 07 0a 0a 0a 04 04 fc 20 20 c0 00 02 03     ` ........  ....
     bd1:	02 00 03 02 00 20 e4 00 00 00 00 02 03 02 00 00     ..... ..........
     be1:	00 00 20 e4 00 00 08 08 08 07 00 00 04 fc 80 e0     .. .............
     bf1:	20 20 02 03 02 00 03 02 04 04 fc 00 00 00 02 02       ..............
     c01:	03 02 02 00 e0 20 e0 20 c0 00 03 00 03 00 03 00     ..... . ........
     c11:	20 e0 20 20 c0 00 02 03 02 00 03 02 00 c0 20 20      .  ..........  
     c21:	c0 00 00 01 02 02 01 00 20 e0 20 20 c0 00 08 0f     ........ .  ....
     c31:	0a 02 01 00 00 c0 20 20 e0 00 00 01 02 0a 0f 08     ......  ........
     c41:	20 e0 40 20 20 00 02 03 02 00 00 00 00 60 a0 a0      .@  ........`..
     c51:	20 00 00 02 02 02 03 00 00 20 f8 20 00 00 00 00      ........ . ....
     c61:	01 02 02 00 20 e0 00 20 e0 00 00 01 02 02 03 02     .... .. ........
     c71:	20 e0 20 80 60 20 00 00 03 01 00 00 60 80 e0 80      . .` ......`...
     c81:	60 00 00 03 00 03 00 00 20 60 80 60 20 00 02 03     `....... `.` ...
     c91:	00 03 02 00 20 e0 20 80 60 20 08 08 07 01 00 00     .... . .` ......
     ca1:	00 20 a0 60 20 00 00 02 03 02 02 00 00 00 20 de     . .` ......... .
     cb1:	02 00 00 00 00 07 04 00 00 00 00 ff 00 00 00 00     ................
     cc1:	00 0f 00 00 00 02 de 20 00 00 00 04 07 00 00 00     ....... ........
     cd1:	02 01 02 04 04 02 00 00 00 00 00 00 00              .............

00000cde <__ctors_end>:
     cde:	11 24       	eor	r1, r1
     ce0:	1f be       	out	0x3f, r1	; 63
     ce2:	cf ef       	ldi	r28, 0xFF	; 255
     ce4:	d0 e1       	ldi	r29, 0x10	; 16
     ce6:	de bf       	out	0x3e, r29	; 62
     ce8:	cd bf       	out	0x3d, r28	; 61

00000cea <__do_copy_data>:
     cea:	11 e0       	ldi	r17, 0x01	; 1
     cec:	a0 e0       	ldi	r26, 0x00	; 0
     cee:	b1 e0       	ldi	r27, 0x01	; 1
     cf0:	e2 eb       	ldi	r30, 0xB2	; 178
     cf2:	f3 e8       	ldi	r31, 0x83	; 131
     cf4:	02 c0       	rjmp	.+4      	; 0xcfa <.do_copy_data_start>

00000cf6 <.do_copy_data_loop>:
     cf6:	05 90       	lpm	r0, Z+
     cf8:	0d 92       	st	X+, r0

00000cfa <.do_copy_data_start>:
     cfa:	aa 34       	cpi	r26, 0x4A	; 74
     cfc:	b1 07       	cpc	r27, r17
     cfe:	d9 f7       	brne	.-10     	; 0xcf6 <.do_copy_data_loop>

00000d00 <__do_clear_bss>:
     d00:	1a e0       	ldi	r17, 0x0A	; 10
     d02:	aa e4       	ldi	r26, 0x4A	; 74
     d04:	b1 e0       	ldi	r27, 0x01	; 1
     d06:	01 c0       	rjmp	.+2      	; 0xd0a <.do_clear_bss_start>

00000d08 <.do_clear_bss_loop>:
     d08:	1d 92       	st	X+, r1

00000d0a <.do_clear_bss_start>:
     d0a:	a8 30       	cpi	r26, 0x08	; 8
     d0c:	b1 07       	cpc	r27, r17
     d0e:	e1 f7       	brne	.-8      	; 0xd08 <.do_clear_bss_loop>
     d10:	0e 94 9c 12 	call	0x2538	; 0x2538 <main>
     d14:	0c 94 d8 41 	jmp	0x83b0	; 0x83b0 <_exit>

00000d18 <__bad_interrupt>:
     d18:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

00000d1c <ClearTrackInfo>:

uint8 track[128];			/* stroe the information of songs (bit set indicate songs has been played) */

void ClearTrackInfo()		/* cleare the array track[128] */
{
     d1c:	80 e0       	ldi	r24, 0x00	; 0
     d1e:	90 e0       	ldi	r25, 0x00	; 0
	uint8 i;
	for(i=0;i<128;i++)track[i] = 0;
     d20:	e8 2f       	mov	r30, r24
     d22:	ff 27       	eor	r31, r31
     d24:	ea 5f       	subi	r30, 0xFA	; 250
     d26:	fb 4f       	sbci	r31, 0xFB	; 251
     d28:	10 82       	st	Z, r1
     d2a:	01 96       	adiw	r24, 0x01	; 1
     d2c:	80 38       	cpi	r24, 0x80	; 128
     d2e:	91 05       	cpc	r25, r1
     d30:	b9 f7       	brne	.-18     	; 0xd20 <ClearTrackInfo+0x4>
     d32:	08 95       	ret

00000d34 <SetTrack>:
}

uint8 SetTrack(uint16 songs)/* set the track bit, return 1 means the song has been played */
{
     d34:	01 97       	sbiw	r24, 0x01	; 1
	uint8 byte_offset;
	uint8 bit_offset;
	songs--;
	byte_offset = songs/8;
	bit_offset = songs%8;
	if(track[byte_offset] & (1<<bit_offset))return 1;
     d36:	9c 01       	movw	r18, r24
     d38:	43 e0       	ldi	r20, 0x03	; 3
     d3a:	36 95       	lsr	r19
     d3c:	27 95       	ror	r18
     d3e:	4a 95       	dec	r20
     d40:	e1 f7       	brne	.-8      	; 0xd3a <SetTrack+0x6>
     d42:	e2 2f       	mov	r30, r18
     d44:	ff 27       	eor	r31, r31
     d46:	ea 5f       	subi	r30, 0xFA	; 250
     d48:	fb 4f       	sbci	r31, 0xFB	; 251
     d4a:	40 81       	ld	r20, Z
     d4c:	9c 01       	movw	r18, r24
     d4e:	27 70       	andi	r18, 0x07	; 7
     d50:	30 70       	andi	r19, 0x00	; 0
     d52:	84 2f       	mov	r24, r20
     d54:	99 27       	eor	r25, r25
     d56:	02 2e       	mov	r0, r18
     d58:	02 c0       	rjmp	.+4      	; 0xd5e <SetTrack+0x2a>
     d5a:	95 95       	asr	r25
     d5c:	87 95       	ror	r24
     d5e:	0a 94       	dec	r0
     d60:	e2 f7       	brpl	.-8      	; 0xd5a <SetTrack+0x26>
     d62:	80 ff       	sbrs	r24, 0
     d64:	03 c0       	rjmp	.+6      	; 0xd6c <SetTrack+0x38>
     d66:	81 e0       	ldi	r24, 0x01	; 1
     d68:	90 e0       	ldi	r25, 0x00	; 0
     d6a:	08 95       	ret
	else
	{
		track[byte_offset] |= 1<<bit_offset;
     d6c:	81 e0       	ldi	r24, 0x01	; 1
     d6e:	90 e0       	ldi	r25, 0x00	; 0
     d70:	02 c0       	rjmp	.+4      	; 0xd76 <SetTrack+0x42>
     d72:	88 0f       	add	r24, r24
     d74:	99 1f       	adc	r25, r25
     d76:	2a 95       	dec	r18
     d78:	e2 f7       	brpl	.-8      	; 0xd72 <SetTrack+0x3e>
     d7a:	48 2b       	or	r20, r24
     d7c:	40 83       	st	Z, r20
     d7e:	80 e0       	ldi	r24, 0x00	; 0
     d80:	90 e0       	ldi	r25, 0x00	; 0
		return 0;
	}
}
     d82:	08 95       	ret

00000d84 <Delay>:

/*void nextline()
{
	USART_putchar(0x0d);
	USART_putchar(0x0a);
}*/

void Delay(uint16 n)//延时
{
     d84:	01 c0       	rjmp	.+2      	; 0xd88 <Delay+0x4>
	while(n--)asm("nop");
     d86:	00 00       	nop
     d88:	01 97       	sbiw	r24, 0x01	; 1
     d8a:	2f ef       	ldi	r18, 0xFF	; 255
     d8c:	8f 3f       	cpi	r24, 0xFF	; 255
     d8e:	92 07       	cpc	r25, r18
     d90:	d1 f7       	brne	.-12     	; 0xd86 <Delay+0x2>
     d92:	08 95       	ret

00000d94 <Timer1_Initial>:
}

//Timer initialization offer seed of the srandom()
void Timer1_Initial()
{
     d94:	1d bc       	out	0x2d, r1	; 45
	TCNT1H=0x00;
	TCNT1L=0x00;
     d96:	1c bc       	out	0x2c, r1	; 44
	TCCR1A=0x03;
     d98:	83 e0       	ldi	r24, 0x03	; 3
     d9a:	8f bd       	out	0x2f, r24	; 47
	TCCR1B=0x01;
     d9c:	81 e0       	ldi	r24, 0x01	; 1
     d9e:	8e bd       	out	0x2e, r24	; 46
	ICR1H=0xff;
     da0:	8f ef       	ldi	r24, 0xFF	; 255
     da2:	87 bd       	out	0x27, r24	; 39
	ICR1L=0xff;
     da4:	86 bd       	out	0x26, r24	; 38
     da6:	08 95       	ret

00000da8 <strcomp>:
}

uint8 strcomp(uint8 * src, uint8 * dst) /* String compare */
{
     da8:	dc 01       	movw	r26, r24
     daa:	fb 01       	movw	r30, r22
     dac:	08 c0       	rjmp	.+16     	; 0xdbe <strcomp+0x16>
	while(*src)
	{
		if(*src++ != *dst++)return 0;
     dae:	80 81       	ld	r24, Z
     db0:	98 17       	cp	r25, r24
     db2:	19 f0       	breq	.+6      	; 0xdba <strcomp+0x12>
     db4:	80 e0       	ldi	r24, 0x00	; 0
     db6:	90 e0       	ldi	r25, 0x00	; 0
     db8:	08 95       	ret
     dba:	11 96       	adiw	r26, 0x01	; 1
     dbc:	31 96       	adiw	r30, 0x01	; 1
     dbe:	9c 91       	ld	r25, X
     dc0:	99 23       	and	r25, r25
     dc2:	a9 f7       	brne	.-22     	; 0xdae <strcomp+0x6>
     dc4:	81 e0       	ldi	r24, 0x01	; 1
     dc6:	90 e0       	ldi	r25, 0x00	; 0
	}
	return 1;
}
     dc8:	08 95       	ret

00000dca <strcomp_noncase>:

uint8 strcomp_noncase(uint8 * src, uint8 * dst)/*we should make sure the src is upcase*/
{
     dca:	dc 01       	movw	r26, r24
     dcc:	fb 01       	movw	r30, r22
     dce:	0c c0       	rjmp	.+24     	; 0xde8 <strcomp_noncase+0x1e>
	uint8 * p1 = src, * p2 = dst;
	while(*p1)
	{
		if((*p1 == *p2) || ((*p1<*p2)&&((*p2-*p1) == 0x20 )) )
     dd0:	80 81       	ld	r24, Z
     dd2:	28 17       	cp	r18, r24
     dd4:	39 f0       	breq	.+14     	; 0xde4 <strcomp_noncase+0x1a>
     dd6:	28 17       	cp	r18, r24
     dd8:	68 f4       	brcc	.+26     	; 0xdf4 <strcomp_noncase+0x2a>
     dda:	99 27       	eor	r25, r25
     ddc:	82 1b       	sub	r24, r18
     dde:	91 09       	sbc	r25, r1
     de0:	80 97       	sbiw	r24, 0x20	; 32
     de2:	41 f4       	brne	.+16     	; 0xdf4 <strcomp_noncase+0x2a>
		{
			p1 ++;
     de4:	11 96       	adiw	r26, 0x01	; 1
			p2 ++;
     de6:	31 96       	adiw	r30, 0x01	; 1
     de8:	2c 91       	ld	r18, X
     dea:	22 23       	and	r18, r18
     dec:	89 f7       	brne	.-30     	; 0xdd0 <strcomp_noncase+0x6>
     dee:	81 e0       	ldi	r24, 0x01	; 1
     df0:	90 e0       	ldi	r25, 0x00	; 0
     df2:	08 95       	ret
     df4:	80 e0       	ldi	r24, 0x00	; 0
     df6:	90 e0       	ldi	r25, 0x00	; 0
		}
		else return 0;
	}
	return 1;
}
     df8:	08 95       	ret

00000dfa <LrcProc>:

/* Lyric proccess fuction */
#if FIX_DIRECTORY
uint8 LrcProc(uint8 *LongNameBuffer, uint8 isLongName) /* Parameter is the song's long name or short name, note: do not contain the extention*/
#else
uint8 LrcProc(uint8 *LongNameBuffer,WORD music_record_addr, uint8 isLongName) /* Parameter is the song's long name or short name, note: do not contain the extention*/
#endif
{
     dfa:	2f 92       	push	r2
     dfc:	3f 92       	push	r3
     dfe:	4f 92       	push	r4
     e00:	5f 92       	push	r5
     e02:	6f 92       	push	r6
     e04:	7f 92       	push	r7
     e06:	8f 92       	push	r8
     e08:	9f 92       	push	r9
     e0a:	af 92       	push	r10
     e0c:	bf 92       	push	r11
     e0e:	cf 92       	push	r12
     e10:	df 92       	push	r13
     e12:	ef 92       	push	r14
     e14:	ff 92       	push	r15
     e16:	0f 93       	push	r16
     e18:	1f 93       	push	r17
     e1a:	cf 93       	push	r28
     e1c:	df 93       	push	r29
     e1e:	cd b7       	in	r28, 0x3d	; 61
     e20:	de b7       	in	r29, 0x3e	; 62
     e22:	2c 97       	sbiw	r28, 0x0c	; 12
     e24:	0f b6       	in	r0, 0x3f	; 63
     e26:	f8 94       	cli
     e28:	de bf       	out	0x3e, r29	; 62
     e2a:	0f be       	out	0x3f, r0	; 63

⌨️ 快捷键说明

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