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

📄 frankasm.h

📁 Frank s MP3 Player Source Files
💻 H
字号:
/******************************************************************************

	Title:	  Frank's MP3 project header file for ASSEMBLER files only
	Author:	  Frank Van Hooft
	Date:	  18 November 2001

	This file contains definitions required for the MP3 player project. 
	It should be #include'd into only the assembly source files.
    
	Note that only definitions which are required by assembler 
	files are in this file.
				  
******************************************************************************/



#define param1			r18				/* first parameter passed in or returned */
#define param2			r19				/* second parameter */
#define temp			r16				/* temporary variable */
#define temp2			r17				/* second temporary variable */

#define XL				r26				/* define the 16-bit register pairs */
#define XH				r27
#define YL				r28
#define YH				r29
#define ZL				r30
#define ZH				r31

#define SPL				0x3d
#define SPH				0x3e			/* address of the stack pointer registers */

#define RAMENDF			0x10ff			/* last SRAM address (init stack to this) */


/* The following are IDE register addresses for the AVR to *READ* from */
#define IDERD_AS		0b10110111		/* Alternate Status register */
#define IDERD_DA		0b10111111		/* Drive Address register */
#define IDERD_DATA		0b01000111		/* Data Port register */
#define IDERD_ERR		0b01001111		/* Error register */
#define IDERD_SC		0b01010111		/* Sector Count register */
#define IDERD_LBA0		0b01011111		/* LBA bits  0-7  register */
#define IDERD_LBA1		0b01100111		/* LBA bits  8-15 register */
#define IDERD_LBA2		0b01101111		/* LBA bits 16-23 register */
#define IDERD_LBA3		0b01110111		/* LBA bits 24-17 register */
#define IDERD_ST		0b01111111		/* Status register */

/* The following are IDE register addresses for the AVR to *WRITE* to */
#define IDEWR_DC		0b10110111		/* Device Control register */
#define IDEWR_DATA		0b01000111		/* Data Port Register */
#define IDEWR_FEA		0b01001111		/* Feature register */
#define IDEWR_SC		0b01010111		/* Sector Count register */
#define IDEWR_LBA0		0b01011111		/* LBA bits  0-7  register */
#define IDEWR_LBA1		0b01100111		/* LBA bits  8-15 register */
#define IDEWR_LBA2		0b01101111		/* LBA bits 16-23 register */
#define IDEWR_LBA3		0b01110111		/* LBA bits 24-17 register */
#define IDEWR_CMD		0b01111111		/* Command register */

/* IDE Status Register bit numbers */
#define IDEST_BSY_BIT	7				/* BSY (BUSY) bit */
#define IDEST_RDY_BIT	6				/* DRDY (drive ready) bit */
#define IDEST_DSC_BIT	4				/* Drive Seek Complete bit */
#define IDEST_COR_BIT	2				/* Corrected data bit */
#define IDEST_ERR_BIT	0				/* ERR (error) bit */

/* Define the FindFile queue to be the same as the MP3 Data queue, ie, FindFile uses the MP3 data queue */
#define FINDFILEQ_size  MP3DATAQ_size
#define FINDFILEQ		MP3DATAQ

/* These constants used by CalcNextCluster function */
#define CalNxCl_SDS		0				/* SeekDrive state */
#define CalNxCl_SDS2	1				/* SeekDrive2 state */
#define CalNxCl_GCS		2				/* GetCluster state */
#define CalNxCl_Busy	3				/* Return code: routine is still busy */
#define CalNxCl_ChainEnd 4				/* Return code: error, end of chain, no more clusters */
#define CalNxCl_Done	5				/* Return code: done, next cluster number on stack */



⌨️ 快捷键说明

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