main
	__CC2DW
	SPI1_Init_Advanced
	Mmc_Fat_Init
		Mmc_Init
			Mmc_DeSelect
				____DoIFC
			____DoIFC
			Mmc_Select
			Mmc_Send_Command
				____DoIFC
			Mmc_UnIdle
				Mmc_Select
				Mmc_Send_Command
					____DoIFC
				Mmc_DeSelect
					____DoIFC
				____DoIFC
		Mmc_Init_Vars
			memset
			Mul_16X16_U
		Mmc_Fat_Get_Info
			Mmc_Read_Sector
				Mmc_Select
				Mmc_Send_Command
					____DoIFC
				Mmc_DeSelect
					____DoIFC
				____DoIFC
			getBoot
				Mul_16X16_U
				Mmc_Read_Sector
					Mmc_Select
					Mmc_Send_Command
						____DoIFC
					Mmc_DeSelect
						____DoIFC
					____DoIFC
				f16_toInt
				Div_16X16_U
			Div_32x32_U
			Mul_16X16_U
			f16_toLong
	Mmc_Fat_Assign
		Mmc_Fat_Open
			checkFileName
				strlen
			nameToUpper
				toupper
			Mul_16X16_U
			memcpy
			stat
				f16_normalize
					memset
					isspace
					strcmp
					memcpy
				Mul_16X16_U
				Mmc_Multi_Read_Start
					Mmc_Select
					Mmc_Send_Command
						____DoIFC
					Mmc_DeSelect
						____DoIFC
				Mmc_Multi_Read_Sector
					Mmc_Wait_Data_Ready
						____DoIFC
					____DoIFC
				memcmp
				Mmc_Multi_Read_Stop
					____DoIFC
					Mmc_DeSelect
						____DoIFC
				f16_DirentToDir
					f16_toLong
					f16_toInt
			memset
			mkNod
				f16_toInt
				getFatFreeCluster
					Mul_16X16_U
					Div_16X16_U
					Mmc_Multi_Read_Start
						Mmc_Select
						Mmc_Send_Command
							____DoIFC
						Mmc_DeSelect
							____DoIFC
					Mmc_Multi_Read_Sector
						Mmc_Wait_Data_Ready
							____DoIFC
						____DoIFC
					Mmc_Multi_Read_Stop
						____DoIFC
						Mmc_DeSelect
							____DoIFC
				putFatEntry
					Div_16X16_U
					Mmc_Read_Sector
						Mmc_Select
						Mmc_Send_Command
							____DoIFC
						Mmc_DeSelect
							____DoIFC
						____DoIFC
					Mmc_Write_Sector
						Mmc_Select
						Mmc_Send_Command
							____DoIFC
						Mmc_DeSelect
							____DoIFC
						____DoIFC
				Mul_32x32_U
				Mul_16X16_U
				Mmc_Multi_Read_Start
					Mmc_Select
					Mmc_Send_Command
						____DoIFC
					Mmc_DeSelect
						____DoIFC
				Mmc_Multi_Read_Sector
					Mmc_Wait_Data_Ready
						____DoIFC
					____DoIFC
				Mmc_Multi_Read_Stop
					____DoIFC
					Mmc_DeSelect
						____DoIFC
				memcpy
				Mmc_Write_Sector
					Mmc_Select
					Mmc_Send_Command
						____DoIFC
					Mmc_DeSelect
						____DoIFC
					____DoIFC
			Mul_32x32_U
		Mul_16X16_U
	Mmc_Fat_Append
		Mmc_Fat_Seek
			Div_32x32_U
			getFatEntry
				Div_16X16_U
				Mmc_Read_Sector
					Mmc_Select
					Mmc_Send_Command
						____DoIFC
					Mmc_DeSelect
						____DoIFC
					____DoIFC
				f16_toInt
			Mul_32x32_U
	Mmc_Fat_Write
		Mmc_Read_Sector
			Mmc_Select
			Mmc_Send_Command
				____DoIFC
			Mmc_DeSelect
				____DoIFC
			____DoIFC
		Mmc_Write_Sector
			Mmc_Select
			Mmc_Send_Command
				____DoIFC
			Mmc_DeSelect
				____DoIFC
			____DoIFC
		getFatEntry
			Div_16X16_U
			Mmc_Read_Sector
				Mmc_Select
				Mmc_Send_Command
					____DoIFC
				Mmc_DeSelect
					____DoIFC
				____DoIFC
			f16_toInt
		getFatFreeCluster
			Mul_16X16_U
			Div_16X16_U
			Mmc_Multi_Read_Start
				Mmc_Select
				Mmc_Send_Command
					____DoIFC
				Mmc_DeSelect
					____DoIFC
			Mmc_Multi_Read_Sector
				Mmc_Wait_Data_Ready
					____DoIFC
				____DoIFC
			Mmc_Multi_Read_Stop
				____DoIFC
				Mmc_DeSelect
					____DoIFC
		putFatEntry
			Div_16X16_U
			Mmc_Read_Sector
				Mmc_Select
				Mmc_Send_Command
					____DoIFC
				Mmc_DeSelect
					____DoIFC
				____DoIFC
			Mmc_Write_Sector
				Mmc_Select
				Mmc_Send_Command
					____DoIFC
				Mmc_DeSelect
					____DoIFC
				____DoIFC
		Mul_32x32_U
	Blink
