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

📄 buffer.asm

📁 dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,fir等的很多程序.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx buffer.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\buffer.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\buffer.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\buffer.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\buffer.tmp 
	.port
	.bss	_c_tr_data,1,1
	.bss	_c_db_adr,1
	.bss	_c_db_n,1
	.bss	_c_tr_id,1
	.bss	_c_valid_time,1
	.bss	_c_read,1
	.bss	_c_sync,1
	.bss	_c_sync_timeout,1
	.bss	_RFoffFlag,1
	.bss	_masterFirst,1
	.bss	_syncTimeoutCounter,1
	.bss	_syncTimeoutFlag,1
	.bss	_syncTimeoutCounter_out,1
	.bss	_syncTimeoutFlag_out,1
	.bss	_timeOutCome,1
	.bss	_bufferInitFlag,1
	.bss	_bufferClrFlag,1
	.bss	_bufferReadFlag,1
	.bss	_bufferReadCouner,1
	.file	"buffer.c"
	.file	"f2407regs_c.h"
	.globl	_IMR
	.globl	_GREG
	.globl	_IFR
	.globl	_IMRADDR
	.globl	_PIRQR0
	.globl	_PIRQR1
	.globl	_PIRQR2
	.globl	_PIACKR0
	.globl	_PIACKR1
	.globl	_PIACKR2
	.globl	_SCSR1
	.globl	_SCSR2
	.globl	_DINR
	.globl	_PIVR
	.globl	_WDCNTR
	.globl	_WDKEY
	.globl	_WDCR
	.globl	_SPICCR
	.globl	_SPICTL
	.globl	_SPISTS
	.globl	_SPIBRR
	.globl	_SPIEMU
	.globl	_SPIRXBUF
	.globl	_SPITXBUF
	.globl	_SPIDAT
	.globl	_SPIPRI
	.globl	_SCICCR
	.globl	_SCICTL1
	.globl	_SCIHBAUD
	.globl	_SCILBAUD
	.globl	_SCICTL2
	.globl	_SCIRXST
	.globl	_SCIRXEMU
	.globl	_SCIRXBUF
	.globl	_SCITXBUF
	.globl	_SCIPRI
	.globl	_XINT1CR
	.globl	_XINT2CR
	.globl	_PADATDIR
	.globl	_PBDATDIR
	.globl	_PCDATDIR
	.globl	_PDDATDIR
	.globl	_PEDATDIR
	.globl	_PFDATDIR
	.globl	_MCRA
	.globl	_MCRB
	.globl	_MCRC
	.globl	_ADCCTRL1
	.globl	_ADCCTRL2
	.globl	_MAXCONV
	.globl	_CHSELSEQ1
	.globl	_CHSELSEQ2
	.globl	_CHSELSEQ3
	.globl	_CHSELSEQ4
	.globl	_AUTOSEQSR
	.globl	_RESULT0
	.globl	_RESULT1
	.globl	_RESULT2
	.globl	_RESULT3
	.globl	_RESULT4
	.globl	_RESULT5
	.globl	_RESULT6
	.globl	_RESULT7
	.globl	_RESULT8
	.globl	_RESULT9
	.globl	_RESULT10
	.globl	_RESULT11
	.globl	_RESULT12
	.globl	_RESULT13
	.globl	_RESULT14
	.globl	_RESULT15
	.globl	_CALIBRATION
	.globl	_MDER
	.globl	_TCR
	.globl	_RCR
	.globl	_MCR
	.globl	_BCR2
	.globl	_BCR1
	.globl	_ESR
	.globl	_GSR
	.globl	_CEC
	.globl	_CANIFR
	.globl	_CANIMR
	.globl	_LAM0H
	.globl	_LAM0L
	.globl	_LAM1H
	.globl	_LAM1L
	.globl	_MSGID0L
	.globl	_MSGID0H
	.globl	_MSGCTRL0
	.globl	_MBX0A
	.globl	_MBX0B
	.globl	_MBX0C
	.globl	_MBX0D
	.globl	_MSGID1L
	.globl	_MSGID1H
	.globl	_MSGCTRL1
	.globl	_MBX1A
	.globl	_MBX1B
	.globl	_MBX1C
	.globl	_MBX1D
	.globl	_MSGID2L
	.globl	_MSGID2H
	.globl	_MSGCTRL2
	.globl	_MBX2A
	.globl	_MBX2B
	.globl	_MBX2C
	.globl	_MBX2D
	.globl	_MSGID3L
	.globl	_MSGID3H
	.globl	_MSGCTRL3
	.globl	_MBX3A
	.globl	_MBX3B
	.globl	_MBX3C
	.globl	_MBX3D
	.globl	_MSGID4L
	.globl	_MSGID4H
	.globl	_MSGCTRL4
	.globl	_MBX4A
	.globl	_MBX4B
	.globl	_MBX4C
	.globl	_MBX4D
	.globl	_MSGID5L
	.globl	_MSGID5H
	.globl	_MSGCTRL5
	.globl	_MBX5A
	.globl	_MBX5B
	.globl	_MBX5C
	.globl	_MBX5D
	.globl	_GPTCONA
	.globl	_T1CNT
	.globl	_T1CMPR
	.globl	_T1PR
	.globl	_T1CON
	.globl	_T2CNT
	.globl	_T2CMPR
	.globl	_T2PR
	.globl	_T2CON
	.globl	_COMCONA
	.globl	_ACTRA
	.globl	_DBTCONA
	.globl	_CMPR1
	.globl	_CMPR2
	.globl	_CMPR3
	.globl	_CAPCONA
	.globl	_CAPFIFOA
	.globl	_CAP1FIFO
	.globl	_CAP2FIFO
	.globl	_CAP3FIFO
	.globl	_CAP1FBOT
	.globl	_CAP2FBOT
	.globl	_CAP3FBOT
	.globl	_EVAIMRA
	.globl	_EVAIMRB
	.globl	_EVAIMRC
	.globl	_EVAIFRA
	.globl	_EVAIFRB
	.globl	_EVAIFRC
	.globl	_GPTCONB
	.globl	_T3CNT
	.globl	_T3CMPR
	.globl	_T3PR
	.globl	_T3CON
	.globl	_T4CNT
	.globl	_T4CMPR
	.globl	_T4PR
	.globl	_T4CON
	.globl	_COMCONB
	.globl	_ACTRB
	.globl	_DBTCONB
	.globl	_CMPR4
	.globl	_CMPR5
	.globl	_CMPR6
	.globl	_CAPCONB
	.globl	_CAPFIFOB
	.globl	_CAP4FIFO
	.globl	_CAP5FIFO
	.globl	_CAP6FIFO
	.globl	_CAP4FBOT
	.globl	_CAP5FBOT
	.globl	_CAP6FBOT
	.globl	_EVBIMRA
	.globl	_EVBIMRB
	.globl	_EVBIMRC
	.globl	_EVBIFRA
	.globl	_EVBIFRB
	.globl	_EVBIFRC
	.globl	_WSGR
	.file	"global.h"
	.globl	_port8001
	.file	"buffer.c"
	.globl	_periodReadBuffer
	.globl	_getBufferTime
	.globl	_Day
	.globl	_Hour
	.globl	_Minute
	.globl	_Second
	.globl	_buffer
	.globl	_viccdata
	.globl	_labeldata
	.globl	_cfgdata
	.globl	_status_rx
	.globl	_pcdata
	.globl	_ISOMode
	.globl	_ISOModeSys
	.globl	_ISOFlagsSys
	.globl	_globalLevel
	.globl	_bReadTag

	.sect	".cinit"
	.word	1,_c_tr_data
	.word	0

	.sym	_c_tr_data,_c_tr_data,12,3,16
	.word	1,_c_db_adr
	.word	0

	.sym	_c_db_adr,_c_db_adr,12,3,16
	.word	1,_c_db_n
	.word	0

	.sym	_c_db_n,_c_db_n,12,3,16
	.word	1,_c_tr_id
	.word	0

	.sym	_c_tr_id,_c_tr_id,12,3,16
	.word	1,_c_valid_time
	.word	0

	.sym	_c_valid_time,_c_valid_time,12,3,16
	.word	1,_c_read
	.word	0

	.sym	_c_read,_c_read,12,3,16
	.word	1,_c_sync
	.word	0

	.sym	_c_sync,_c_sync,12,3,16
	.word	1,_c_sync_timeout
	.word	0

	.sym	_c_sync_timeout,_c_sync_timeout,12,3,16
	.word	1,_RFoffFlag
	.word	0

	.sym	_RFoffFlag,_RFoffFlag,12,3,16
	.word	1,_masterFirst
	.word	0

	.sym	_masterFirst,_masterFirst,12,3,16
	.word	1,_syncTimeoutCounter
	.word	0

	.sym	_syncTimeoutCounter,_syncTimeoutCounter,12,2,16
	.globl	_syncTimeoutCounter
	.word	1,_syncTimeoutFlag
	.word	0

	.sym	_syncTimeoutFlag,_syncTimeoutFlag,12,2,16
	.globl	_syncTimeoutFlag
	.word	1,_syncTimeoutCounter_out
	.word	0

	.sym	_syncTimeoutCounter_out,_syncTimeoutCounter_out,12,2,16
	.globl	_syncTimeoutCounter_out
	.word	1,_syncTimeoutFlag_out
	.word	0

	.sym	_syncTimeoutFlag_out,_syncTimeoutFlag_out,12,2,16
	.globl	_syncTimeoutFlag_out
	.word	1,_timeOutCome
	.word	0

	.sym	_timeOutCome,_timeOutCome,12,3,16
	.word	1,_bufferInitFlag
	.word	0

	.sym	_bufferInitFlag,_bufferInitFlag,12,3,16
	.word	1,_bufferClrFlag
	.word	0

	.sym	_bufferClrFlag,_bufferClrFlag,12,3,16
	.word	1,_bufferReadFlag
	.word	0

	.sym	_bufferReadFlag,_bufferReadFlag,12,3,16
	.globl	_globalErrFlag
	.globl	_deviceAddr
	.text

	.sym	_readCfg11,_readCfg11,32,2,0
	.globl	_readCfg11

	.func	86
;>>>> 	void readCfg11( )
;>>>> 		uint i;
******************************************************
* FUNCTION DEF : _readCfg11
******************************************************
_readCfg11:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,2
	LAR	AR0,*0+

	.sym	_i,1,14,1,16
	.line	4
;>>>> 		c_tr_data = (cfgdata[88]>>8) & 0x23;	
	RSXM
	LDPK	_cfgdata+88
	LAC	_cfgdata+88,7
	ANDK	35,15
	LDPK	_c_tr_data
	SACH	_c_tr_data,1
	.line	5
;>>>> 		c_db_adr =  cfgdata[88]&0x1f;
	LACK	31
	LDPK	_cfgdata+88
	AND	_cfgdata+88
	LDPK	_c_db_adr
	SACL	_c_db_adr
	.line	6
;>>>> 		c_db_n = (cfgdata[89] >> 8)&0x0f;
	LDPK	_cfgdata+89
	LAC	_cfgdata+89,7
	ANDK	15,15
	LDPK	_c_db_n
	SACH	_c_db_n,1
	.line	7
;>>>> 		c_tr_id = cfgdata[89]&0x9f;
	LACK	159
	LDPK	_cfgdata+89
	AND	_cfgdata+89
	LDPK	_c_tr_id
	SACL	_c_tr_id
	.line	8
;>>>> 		c_valid_time = cfgdata[90];
	BLKD	#_cfgdata+90,_c_valid_time
	.line	9
;>>>> 		c_read = (cfgdata[91]>>8) & 0x8f;
	LDPK	_cfgdata+91
	LAC	_cfgdata+91,7
	ANDK	143,15
	LDPK	_c_read
	SACH	_c_read,1
	.line	10
;>>>> 		c_sync = cfgdata[91]&0xff;
	LACK	255
	LDPK	_cfgdata+91
	AND	_cfgdata+91
	LDPK	_c_sync
	SACL	_c_sync
	.line	11
;>>>> 		c_sync_timeout = cfgdata[92]&0xff;
	LACK	255
	LDPK	_cfgdata+92
	AND	_cfgdata+92
	LDPK	_c_sync_timeout
	SACL	_c_sync_timeout
	.line	13
;>>>> 		if((c_tr_data==0x00) || (c_tr_data==0x20)){c_tr_data = 0x01;}	//default
	LAC	_c_tr_data
	BZ	LL3
	LAC	_c_tr_data
	SUBK	32
	BNZ	L1
LL3:
	LACK	1
	SACL	_c_tr_data
L1:
	.line	14
;>>>> 		if(c_db_adr >= 32)	c_db_adr = 0;
	ZALS	_c_db_adr
	SUBK	32
	BLZ	L2
	LACK	0
	SACL	_c_db_adr
L2:
	.line	15
;>>>> 		if(c_db_n >= 16)	c_db_n = 1;
	ZALS	_c_db_n
	SUBK	16
	BLZ	L3
	LACK	1
	SACL	_c_db_n
L3:
	.line	16
;>>>> 		if(c_valid_time>=80)c_valid_time = 0x0a;	//default 1s
	ZALS	_c_valid_time
	SUBK	80
	BLZ	L4
	LACK	10
	SACL	_c_valid_time
L4:
	.line	18
;>>>> 		pcdata[1] = 0xaa;
	LACK	170
	LDPK	_pcdata+1
	SACL	_pcdata+1
	.line	19
;>>>> 		initializeBuffer();	//init to clr buffer	
	CALL	_initializeBuffer
EPI0_1:
	.line	20
	SBRK	3
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	105,000000000H,2

	.sym	_bufferComPro,_bufferComPro,32,3,0

	.func	106
;>>>> 	static void bufferComPro( )
******************************************************
* FUNCTION DEF : _bufferComPro
******************************************************
_bufferComPro:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		feedWatchDog();
;>>>> 		switch (pcdata[2])
	CALL	_feedWatchDog
	B	L5
L6:
	.line	6
;>>>> 		  	case 0x52: {Detec_Baud_pro();	break;}	//Baud Rate Detection
	CALL	_Detec_Baud_pro,AR1
	B	L7
L8:
	.line	7
;>>>> 		  	case 0x63: {CPU_reset();  		break;} //cpu reset
	CALL	_CPU_reset,AR1
	B	L7
L9:
	.line	8
;>>>> 		  	case 0x65: {Get_DevInf_pro();  	break;}	//Get Reader Information
	CALL	_Get_DevInf_pro,AR1
	B	L7
L10:
	.line	9
;>>>> 		  	case 0x69: {Reset_RF_pro();   	break;}	//RF Reset
	CALL	_Reset_RF_pro,AR1
	B	L7
L11:
	.line	10
;>>>> 		  	case 0x6A: {RF_OnOff_pro();    	break;}	//RF ON/OFF
	CALL	_RF_OnOff_pro,AR1
	B	L7
L12:
	.line	11
;>>>> 		  	case 0x6d: {getNoiseLevel();	break;}  //get noise level
	CALL	_getNoiseLevel,AR1
	B	L7
L13:
	.line	12
;>>>> 		  	case 0x6e: {readerDiagnostic();	break;}  //reader diagnostic
	CALL	_readerDiagnostic,AR1
	B	L7
L14:
	.line	13
;>>>> 		  	case 0x71: {setOutput();		break;}  //set output
	CALL	_setOutput,AR1
	B	L7
L15:
	.line	14
;>>>> 		  	case 0x74: {getInput();			break;}  //get input
	CALL	_getInput,AR1
	B	L7
L16:
	.line	15
;>>>> 		  	case 0x80: {Read_Cfg_pro();     break;}	//Read Configuration
	CALL	_Read_Cfg_pro,AR1
	B	L7
L17:
	.line	16
;>>>> 		  	case 0x81: {Write_Cfg_pro();    break;}	//Write Configuration	  	
	CALL	_Write_Cfg_pro,AR1
	B	L7
L18:
	.line	17
;>>>> 		  	case 0x83: {Sdefault_Cfg_pro(); break;}	//Set Default Configuration
	CALL	_Sdefault_Cfg_pro,AR1
	B	L7
L19:
	.line	18
;>>>> 		  	case 0x85: {Wr_Rtc_pro();       break;}
	CALL	_Wr_Rtc_pro,AR1
	B	L7
L20:
	.line	19
;>>>> 		  	case 0x86: {Rd_Rtc_pro();       break;} 
	CALL	_Rd_Rtc_pro,AR1
	B	L7
L21:
	.line	20
;>>>> 		  	case 0x88: {readIsoModeFalg();  break;}
	CALL	_readIsoModeFalg,AR1
	B	L7
L22:
	.line	21
;>>>> 		  	case 0x21: {readBufferData();	break;}	// buffer read mode,read buffer
	CALL	_readBufferData,AR1
	B	L7
L23:
	.line	22
;>>>> 		  	case 0x31: {readDataBuffInfor();break;} 	  	
	CALL	_readDataBuffInfor,AR1
	B	L7
L24:
	.line	23
;>>>> 		  	case 0x32: {clearBufferData( );	break;}	// buffer read mode,clear buffer
	CALL	_clearBufferData,AR1
	B	L7
L25:
	.line	24
;>>>> 		  	case 0x33: {initializeBuffer(); break;};   	
	CALL	_initializeBuffer,AR1
	B	L7
L26:
	.line	25
;>>>> 		   	default:   {default_pro();      break;}	//Unknown Command
	CALL	_default_pro,AR1
	B	L7
L5:
	.line	4
	LDPK	_pcdata+2
	ZALS	_pcdata+2
	SUBK	33
	BZ	L22
	SUBK	16
	BZ	L23
	SUBK	1
	BZ	L24
	SUBK	1
	BZ	L25
	SUBK	31
	BZ	L6
	SUBK	17
	BZ	L8
	SUBK	2
	BZ	L9
	SUBK	4
	BZ	L10
	SUBK	1
	BZ	L11
	SUBK	3
	BZ	L12
	SUBK	1
	BZ	L13
	SUBK	3
	BZ	L14
	SUBK	3
	BZ	L15
	SUBK	12
	BZ	L16
	SUBK	1
	BZ	L17
	SUBK	2
	BZ	L18
	SUBK	2
	BZ	L19
	SUBK	1
	BZ	L20
	SUBK	2
	BZ	L21
	B	L26
L7:
EPI0_2:
	.line	27
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	132,000000000H,1

	.sym	_periodReadBuffer,_periodReadBuffer,32,2,0
	.globl	_periodReadBuffer

	.func	133
;>>>> 	void periodReadBuffer()
;>>>> 		uint i;
;>>>> 		uchar addrType;
******************************************************
* FUNCTION DEF : _periodReadBuffer
******************************************************
_periodReadBuffer:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,9
	LAR	AR0,*0+,AR2

	.sym	_i,1,14,1,16
	.sym	_addrType,2,12,1,16
	.sym	_slaveLast,3,12,1,16
	.sym	_slaveCurrent,4,12,1,16
	.sym	_slaveUpEdge,5,12,1,16
	.sym	_masterLast,6,12,1,16
	.sym	_masterCurrent,7,12,1,16
	.sym	_masterUpEdge,8,12,1,16
	.line	5
;>>>> 		uchar slaveLast=0, slaveCurrent=0, slaveUpEdge=0;
	LACK	0
	LARK	AR2,3
	MAR	*0+
	SACL	*+
	SACL	*+
	SACL	*+
	.line	6
;>>>> 		uchar masterLast=0,masterCurrent=0,masterUpEdge=0;
	SACL	*+
	SACL	*+
	SACL	* 
	.line	8
;>>>> 		globalErrFlag = 0x00;	//  clear iso error flag	
	LDPK	_globalErrFlag
	SACL	_globalErrFlag
	.line	10
;>>>> 		if(status_rx==2)
	LDPK	_status_rx
	LAC	_status_rx
	SUBK	2
	BNZ	L27
	.line	12
;>>>> 			addrType = verifyType();		
	CALL	_verifyType,AR1
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	SACL	* 
	.line	13
;>>>> 		  	if(addrType)bufferComPro( ); 
	LAC	* 
	BZ	L28
	CALL	_bufferComPro,AR1
L28:
	.line	14
;>>>> 			status_rx = 0; 		
	LACK	0
	LDPK	_status_rx
	SACL	_status_rx
L27:
	.line	17
;>>>> 		if( (c_sync&0x03) == 0x01 )	//cascaded synchronization
	LACK	3
	LDPK	_c_sync
	AND	_c_sync
	SUBK	1
	BNZ	L29
	.line	19
;>>>> 			if( (c_sync&0x04) == 0x04 )	// master mode
	LACK	4
	AND	_c_sync
	SUBK	4
	BNZ	L30
	.line	21
;>>>> 				syncTimeoutFlag_out = 1;
	LACK	1
	SACL	_syncTimeoutFlag_out
	.line	22
;>>>> 				if(masterFirst == 0xaa)	// second time access
	LAC	_masterFirst
	SUBK	170
	BNZ	L31
	.line	24
;>>>> 					masterCurrent = OpticInput3()&0x01;				
	CALL	_OpticInput3,AR1
	ANDK	1
	MAR	* ,AR2
	LARK	AR2,7
	MAR	*0+
	SACL	* 
	.line	25
;>>>> 					if( (masterCurrent != masterLast)&&(masterCurrent == 0x01)||(timeOutCome == 0xaa) )
	LAC	*-
	SUB	* 
	BZ	LL8
	MAR	*+
	LAC	* 
	SUBK	1
	BZ	LL7
LL8:
	LDPK	_timeOutCome
	LAC	_timeOutCome
	SUBK	170
	BNZ	L32
LL7:
	.line	27
;>>>> 						syncTimeoutFlag_out = 0;
	LACK	0
	LDPK	_syncTimeoutFlag_out
	SACL	_syncTimeoutFlag_out
	.line	28
;>>>> 						masterUpEdge = 0xaa;	//up edge come
	LACK	170
	LARK	AR2,8
	MAR	*0+
	SACL	* ,AR1
	.line	29
;>>>> 						timeOutCome = 0x00;
;>>>> 						//if( RFoffFlag == 0xaa )
	LACK	0
	SACL	_timeOutCome
	.line	32
;>>>> 							RFoffFlag = 0x00;
	SACL	_RFoffFlag
	.line	33
;>>>> 							adjustX9c503(1,globalLevel);	// open RF
	BLKD	_globalLevel+0,*+
	LACK	1
	SACL	*+
	CALL	_adjustX9c503
	SBRK	2
L32:
	.line	36
;>>>> 					if( (masterUpEdge == 0xaa) || (timeOutCome == 0xaa) )
	MAR	* ,AR2
	LARK	AR2,8
	MAR	*0+
	LAC	* 
	SUBK	170
	BZ	LL9
	LDPK	_timeOutCome
	LAC	_timeOutCome
	SUBK	170
	BNZ	L33
LL9:
	.line	38
;>>>> 						timeOutCome = 0x00;
	LACK	0
	LDPK	_timeOutCome
	SACL	_timeOutCome
	.line	39
;>>>> 						if(buffer[0] <= 5)				
	LDPK	_buffer
	ZALS	_buffer

⌨️ 快捷键说明

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