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

📄 system_func.asm

📁 这是我在ADSP tiger sharc 201上面实现的OFDM(标准是wimax)同步算法哦!具有非常高的指令效率.
💻 ASM
📖 第 1 页 / 共 2 页
字号:
/********************************************************************************	Copyright (c) 2002 - Analog Devices, Inc.*	This software is PROPRIETARY and CONFIDENTIAL********************************************************************************	$RCSfile: system_func.asm,v $*	$Revision: 1.3 $*	$Date: 2003/09/22 10:50:42 $**	Project:	UMTS FDD Library*	Title:	System Function *	Author(s):	Vito Greco (vito.greco@analog.com)*	**	Description: Defines CacheReset and BTB for TS201********************************************************************************	Target Processor:		ADSP-TS201*******************************************************************************/// /////////////////////////////////////////////////////////////////////////// ////// System_func.asm//// /////////////////////////////////////////////////////////////////////////// //// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //// >>                                                                       >> //// >>  BEGIN PREPROCESSOR COMMANDS                                          >> //// ~~~// ~~~ COMMENT BLOCK// ~~~// -------- #DEFINE STATEMENTS ----------------------------------------------- //#define REFRESH_RATE_500MHZ (750)#define REFRESH_RATE_400MHZ (600)#define REFRESH_RATE_300MHZ (450)#define REFRESH_RATE (REFRESH_RATE_300MHZ)// -------- #INCLUDE STATEMENTS ---------------------------------------------- //#include "defts201.h"// <<  END PREPROCESSOR COMMANDS                                            << //// <<                                                                       << //// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< //// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //// >>                                                                       >> //// >>  BEGIN DECLARATIONS                                                   >> //// ~~~// ~~~ COMMENT BLOCK// ~~~// -------- GLOBAL VARIABLE DECLARATIONS ------------------------------------- //// -------- FUNCTION PROTOTYPE DECLARATIONS ---------------------------------- //// <<  END DECLARATIONS                                                     << //// <<                                                                       << //// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< //// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //// >>                                                                       >> //// >>   BEGIN FUNCTION                                                      >> //// ~~~// ~~~ COMMENT BLOCK// ~~~// -------- LOCAL VARIABLE DECLARATIONS -------------------------------------- //// -------- CODE ------------------------------------------------------------- //.section program;.global _system_func;.align_code 4;_system_func:// ~~~// ~~~ PROLOGUE SAVES CJMP, "PRESERVED" REGISTERS, AND FRAME AND STACK POINTER// ~~~	J26 = J27 - 64;				K26 = K27 - 64;;	[J27 += -28] = CJMP;		K27 = K27 - 20;;	q[J27 + 24] = XR27:24;		q[K27 + 16] = YR27:24;;	q[J27 + 20] = XR31:28;		q[K27 + 12] = YR31:28;;	q[J27 + 16] = J19:16;		q[K27 + 8 ] = K19:16;;	q[J27 + 12] = J23:20;		q[K27 + 4 ] = K23:20;;	// ~~~// ~~~ CACHE DISABLE// ~~~		.align_code 4;_disable_cache:	// -------- CACHE 0 DISABLE -------------------------------------------------- //.align_code 4;_check_enable_cache_0:	XR0 = CASTAT0;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF XSEQ, JUMP _check_enable_cache_2 (NP);;_check_enable_cache_0.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;	CACMD0 = CACMD_DIS;;	.align_code 4;_check_disable_cache_0:	XR0 = CASTAT0;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF NXSEQ, JUMP _check_disable_cache_0 (NP);;	_check_disable_cache_0.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;//	CCAIR0 = 0x00000000;;           J0 = 0;;          //modified by Frank	CCAIR0 = J0;;     //modified by Frank		CACMD0 = (CACMD_CB | CACMD_NOSTALL | (127 << CACMD_LEN_P));;.align_code 4;_check_copyback_cache_0:	XR0 = CASTAT0;;	XBITEST R0 BY CASTAT_COM_ACTIVE_P;;	IF NXSEQ, JUMP _check_copyback_cache_0 (NP);;	_check_copyback_cache_0.end:		nop;;	nop;;	nop;;	nop;;	nop;;	nop;;	// -------- CACHE 2 DISABLE -------------------------------------------------- //.align_code 4;_check_enable_cache_2:	XR0 = CASTAT2;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF XSEQ, JUMP _check_enable_cache_4 (NP);;_check_enable_cache_2.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;	CACMD2 = CACMD_DIS;;	.align_code 4;_check_disable_cache_2:	XR0 = CASTAT2;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF NXSEQ, JUMP _check_disable_cache_2 (NP);;	_check_disable_cache_2.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;//	CCAIR2 = 0x00000000;;        J0 = 0;;          //modified by Frank	CCAIR2 = J0;;     //modified by Frank		CACMD2 = (CACMD_CB | CACMD_NOSTALL | (127 << CACMD_LEN_P));;.align_code 4;_check_copyback_cache_2:	XR0 = CASTAT2;;	XBITEST R0 BY CASTAT_COM_ACTIVE_P;;	IF NXSEQ, JUMP _check_copyback_cache_2 (NP);;	_check_copyback_cache_2.end:		nop;;	nop;;	nop;;	nop;;	nop;;	nop;;// -------- CACHE 4 DISABLE -------------------------------------------------- //.align_code 4;_check_enable_cache_4:	XR0 = CASTAT4;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF XSEQ, JUMP _check_enable_cache_6 (NP);;_check_enable_cache_4.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;	CACMD4 = CACMD_DIS;;	.align_code 4;_check_disable_cache_4:	XR0 = CASTAT4;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF NXSEQ, JUMP _check_disable_cache_4 (NP);;	_check_disable_cache_4.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;//	CCAIR4 = 0x00000000;;        J0 = 0;;          //modified by Frank	CCAIR4 = J0;;     //modified by Frank	CACMD4 = (CACMD_CB | CACMD_NOSTALL | (127 << CACMD_LEN_P));;.align_code 4;_check_copyback_cache_4:	XR0 = CASTAT4;;	XBITEST R0 BY CASTAT_COM_ACTIVE_P;;	IF NXSEQ, JUMP _check_copyback_cache_4 (NP);;	_check_copyback_cache_4.end:		nop;;	nop;;	nop;;	nop;;	nop;;	nop;;// -------- CACHE 6 DISABLE -------------------------------------------------- //.align_code 4;_check_enable_cache_6:	XR0 = CASTAT6;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF XSEQ, JUMP _check_enable_cache_8 (NP);;_check_enable_cache_6.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;	CACMD6 = CACMD_DIS;;	.align_code 4;_check_disable_cache_6:	XR0 = CASTAT6;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF NXSEQ, JUMP _check_disable_cache_6 (NP);;	_check_disable_cache_6.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;//	CCAIR6 = 0x00000000;;        J0 = 0;;          //modified by Frank	CCAIR6 = J0;;     //modified by Frank	CACMD6 = (CACMD_CB | CACMD_NOSTALL | (127 << CACMD_LEN_P));;.align_code 4;_check_copyback_cache_6:	XR0 = CASTAT6;;	XBITEST R0 BY CASTAT_COM_ACTIVE_P;;	IF NXSEQ, JUMP _check_copyback_cache_6 (NP);;	_check_copyback_cache_6.end:		nop;;	nop;;	nop;;	nop;;	nop;;	nop;;// -------- CACHE 8 DISABLE -------------------------------------------------- //.align_code 4;_check_enable_cache_8:	XR0 = CASTAT8;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF XSEQ, JUMP _check_enable_cache_10 (NP);;_check_enable_cache_8.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;	CACMD8 = CACMD_DIS;;	.align_code 4;_check_disable_cache_8:	XR0 = CASTAT8;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF NXSEQ, JUMP _check_disable_cache_8 (NP);;	_check_disable_cache_8.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;//	CCAIR8 = 0x00000000;;        J0 = 0;;          //modified by Frank	CCAIR8 = J0;;     //modified by Frank	CACMD8 = (CACMD_CB | CACMD_NOSTALL | (127 << CACMD_LEN_P));;.align_code 4;_check_copyback_cache_8:	XR0 = CASTAT8;;	XBITEST R0 BY CASTAT_COM_ACTIVE_P;;	IF NXSEQ, JUMP _check_copyback_cache_8 (NP);;	_check_copyback_cache_8.end:		nop;;	nop;;	nop;;	nop;;	nop;;	nop;;// -------- CACHE 10 DISABLE ------------------------------------------------- //.align_code 4;_check_enable_cache_10:	XR0 = CASTAT10;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF XSEQ, JUMP _invalidate_cache (NP);;_check_enable_cache_10.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;	CACMD10 = CACMD_DIS;;	.align_code 4;_check_disable_cache_10:	XR0 = CASTAT10;;	XBITEST R0 BY CASTAT_ENBL_P;;	IF NXSEQ, JUMP _check_disable_cache_10 (NP);;	_check_disable_cache_10.end:	nop;;	nop;;	nop;;	nop;;	nop;;	nop;;//	CCAIR10 = 0x00000000;;        J0 = 0;;          //modified by Frank	CCAIR10 = J0;;     //modified by Frank	CACMD10 = (CACMD_CB | CACMD_NOSTALL | (127 << CACMD_LEN_P));;.align_code 4;_check_copyback_cache_10:	XR0 = CASTAT10;;	XBITEST R0 BY CASTAT_COM_ACTIVE_P;;	IF NXSEQ, JUMP _check_copyback_cache_10 (NP);;	_check_copyback_cache_10.end:		nop;;	nop;;	nop;;	nop;;	nop;;	nop;;.align_code 4;_disable_cache.end:// ~~~// ~~~ INVALIDATE CACHE// ~~~.align_code 4;_invalidate_cache:// -------- CACHE 0 INVALIDATE ----------------------------------------------- ////	CCAIR0 = 0x00000000;;        J0 = 0;;          //modified by Frank	CCAIR0 = J0;;     //modified by Frank	CACMD0 = (CACMD_INV | CACMD_NOSTALL | (511 << CACMD_LEN_P));;.align_code 4;_check_invalidate_cache_0:	XR0 = CASTAT0;;	XBITEST R0 BY CASTAT_COM_ACTIVE_P;;	IF NXSEQ, JUMP _check_invalidate_cache_0 (NP);;	_check_invalidate_cache_0.end:		nop;;	nop;;	nop;;	nop;;	nop;;	nop;;

⌨️ 快捷键说明

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