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

📄 test2407.asm

📁 DSP部分功能测试 串口
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	ZALS	* 
	SUBK	8
	BGEZ	L17
L16:
	.line	136
;>>>> 					if(comarr[i] != ReadArr[i])
	LAC	* ,AR0
	ADLK	_ReadArr+0,0
	SACL	* 
	LAR	AR3,* ,AR2
	LAR	AR4,* ,AR4
	MAR	*0+
	ADRK	8
	LAC	* ,AR3
	SUB	* 
	BZ	L18
	.line	137
;>>>> 						wr_flag = 0x1;
	LACK	1
	MAR	* ,AR2
	SBRK	6
	SACL	* 
L18:
	.line	134
	MAR	* ,AR2
	LARK	AR2,7
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SUBK	8
	BLZ	L16
L17:
	.line	139
;>>>> 				if(wr_flag == 0x1)
	SBRK	6
	LAC	* 
	SUBK	1
	BNZ	L19
	.line	141
;>>>> 					EEPROM_LC256(ReadArr,0x100,0x00A0,8);
	MAR	* ,AR1
	LACK	8
	SACL	*+
	LACK	160
	SACL	*+
	LACK	256
	SACL	*+
	LALK	_ReadArr+0
	SACL	*+
	CALL	_EEPROM_LC256
	SBRK	4
	.line	142
;>>>> 					wr_flag = 0;
;>>>> 				//
	LACK	0
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	SACL	* 
L19:
	.line	145
;>>>> 				uipreangle = (unsigned int)(ReadPara(0x100,8));
	MAR	* ,AR1
	LACK	8
	SACL	*+
	LACK	256
	SACL	*+
	CALL	_ReadPara
	SBRK	2
	LDPK	_uipreangle
	SACL	_uipreangle
	.line	146
;>>>> 				SetQep(uipreangle);
	BLKD	_uipreangle+0,*+
	CALL	_SetQep
	MAR	*-
	.line	147
;>>>> 				cParaNo = 0xff;
	LACK	255
	LDPK	_cParaNo
	SACL	_cParaNo
L15:
	.line	149
;>>>> 			if(cParaNo == 0x41)
;>>>> 				//reset the autoup para
	SSXM
	LAC	_cParaNo
	SUBK	65
	BNZ	L20
	.line	152
;>>>> 				EEPROM_LC256(ReadArr,0x200,0x00A0,8);
	LACK	8
	SACL	*+
	LACK	160
	SACL	*+
	LACK	512
	SACL	*+
	LALK	_ReadArr+0
	SACL	*+
	CALL	_EEPROM_LC256
	SBRK	4
	.line	153
;>>>> 				ulAutoUpPara = ReadPara(0x200,8);
	LACK	8
	SACL	*+
	LACK	512
	SACL	*+
	CALL	_ReadPara
	SBRK	2
	LDPK	_ulAutoUpPara
	SACL	_ulAutoUpPara
	SACH	_ulAutoUpPara+1
	.line	154
;>>>> 				uiAutoUpPara4 = (unsigned int)(ulAutoUpPara%100/2);
	LACK	100
	SACL	*+
	SACH	*+
	ZALS	_ulAutoUpPara
	ADDH	_ulAutoUpPara+1
	CALL	L$$MODU
	RSXM
	SFR
	SACL	_uiAutoUpPara4
	.line	155
;>>>> 				ulAutoUpPara = ulAutoUpPara/100;
	LACK	100
	SACL	*+
	SACH	*+
	ZALS	_ulAutoUpPara
	ADDH	_ulAutoUpPara+1
	CALL	L$$DIVU
	SACL	_ulAutoUpPara
	SACH	_ulAutoUpPara+1
	.line	156
;>>>> 				uiAutoUpPara3 = (unsigned int)(ulAutoUpPara%100/2);
	LACK	100
	SACL	*+
	SACH	*+
	ZALS	_ulAutoUpPara
	ADDH	_ulAutoUpPara+1
	CALL	L$$MODU
	RSXM
	SFR
	SACL	_uiAutoUpPara3
	.line	157
;>>>> 				ulAutoUpPara = ulAutoUpPara/100;
	LACK	100
	SACL	*+
	SACH	*+
	ZALS	_ulAutoUpPara
	ADDH	_ulAutoUpPara+1
	CALL	L$$DIVU
	SACL	_ulAutoUpPara
	SACH	_ulAutoUpPara+1
	.line	158
;>>>> 				uiAutoUpPara2 = (unsigned int)(ulAutoUpPara%100/2);
	LACK	100
	SACL	*+
	SACH	*+
	ZALS	_ulAutoUpPara
	ADDH	_ulAutoUpPara+1
	CALL	L$$MODU
	RSXM
	SFR
	SACL	_uiAutoUpPara2
	.line	159
;>>>> 				ulAutoUpPara = ulAutoUpPara/100;
	LACK	100
	SACL	*+
	SACH	*+
	ZALS	_ulAutoUpPara
	ADDH	_ulAutoUpPara+1
	CALL	L$$DIVU
	SACL	_ulAutoUpPara
	SACH	_ulAutoUpPara+1
	.line	160
;>>>> 				uiAutoUpPara1 = (unsigned int)(ulAutoUpPara%100/2);
	LACK	100
	SACL	*+
	SACH	*+
	ZALS	_ulAutoUpPara
	ADDH	_ulAutoUpPara+1
	CALL	L$$MODU
	RSXM
	SFR
	SACL	_uiAutoUpPara1
	.line	162
;>>>> 				cParaNo = 0xff;
	LACK	255
	LDPK	_cParaNo
	SACL	_cParaNo
L20:
	.line	164
;>>>> 			if((Encode_counter & 0xffff) < 0x7fff)
	LDPK	_Encode_counter
	ZALS	_Encode_counter
	ANDK	65535
	MAR	* ,AR2
	LARK	AR2,18
	MAR	*0+
	SACL	*+
	SACH	*-
	LT	*+
	MPYK	1
	LPH	* 
	LACK	32767
	SPAC
	BNC	L21
	BZ	L21
	.line	166
;>>>> 				Maxest_counter = MaxerQep();
;>>>> 			else
	CALL	_MaxerQep,AR1
	LDPK	_Maxest_counter
	SACL	_Maxest_counter
	SACH	_Maxest_counter+1
	B	L22
L21:
	.line	170
;>>>> 				Maxer_counter = 0;
;>>>> 	//    t_sci=test_sci();
	LACK	0
	SACL	_Maxer_counter
	SACH	_Maxer_counter+1
L22:
	.line	173
;>>>> 			delay(140);
	MAR	* ,AR1
	LACK	140
	SACL	*+
	CALL	_delay
	MAR	*-,AR2
	.line	174
;>>>> 			if((Encode_counter & 0xffff) < 0x7fff)
	LDPK	_Encode_counter
	ZALS	_Encode_counter
	ANDK	65535
	LARK	AR2,18
	MAR	*0+
	SACL	*+
	SACH	*-
	LT	*+
	MPYK	1
	LPH	* 
	LACK	32767
	SPAC
	BNC	L23
	BZ	L23
	.line	176
;>>>> 				Maxest_counter = MaxerQep();
;>>>> 			else
	CALL	_MaxerQep,AR1
	LDPK	_Maxest_counter
	SACL	_Maxest_counter
	SACH	_Maxest_counter+1
	B	L24
L23:
	.line	180
;>>>> 				Maxer_counter = 0;
	LACK	0
	SACL	_Maxer_counter
	SACH	_Maxer_counter+1
L24:
	.line	182
;>>>> 			delay(300);
;>>>> 	    //if(t_sci==0)LEDflash(0x00fb); 
;>>>> 	//----------------------------
	MAR	* ,AR1
	LACK	300
	SACL	*+
	CALL	_delay
	MAR	*-
	.line	188
	B	L3
	.endfunc	265,000000000H,20

	.sym	_operation,_operation,36,2,0
	.globl	_operation

	.func	269
;>>>> 	int operation()
******************************************************
* FUNCTION DEF : _operation
******************************************************
_operation:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		if((ucinput[0] == 0x1) || (pc_qubai ==0x1) || (auto_qubai == 0x1))
	LDPK	_ucinput
	LAC	_ucinput
	SUBK	1
	BZ	LL6
	SSXM
	LDPK	_pc_qubai
	LAC	_pc_qubai
	SUBK	1
	BZ	LL6
	LDPK	_auto_qubai
	LAC	_auto_qubai
	SUBK	1
	BNZ	L25
LL6:
	.line	5
;>>>> 			outputbuf = outputbuf & 0xfffe;
	LACK	65534
	LDPK	_outputbuf
	AND	_outputbuf
	SACL	_outputbuf
	.line	6
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h,AR1
	.line	7
;>>>> 			delay(0x1ff);
	LACK	511
	SACL	*+
	CALL	_delay
	MAR	*-
	.line	8
;>>>> 			pc_qubai = 0x0;
	LACK	0
	LDPK	_pc_qubai
	SACL	_pc_qubai
	.line	9
;>>>> 			autoUp_flag = 0x0;
	LDPK	_autoUp_flag
	SACL	_autoUp_flag
	.line	10
;>>>> 			auto_qubai = 0x0;
	LDPK	_auto_qubai
	SACL	_auto_qubai
L25:
	.line	12
;>>>> 		if((ucinput[0] == 0x0) && (pc_qubai ==0x0))
	LDPK	_ucinput
	LAC	_ucinput
	BNZ	L26
	SSXM
	LDPK	_pc_qubai
	LAC	_pc_qubai
	BNZ	L26
	.line	14
;>>>> 			outputbuf = outputbuf | 0x0001;
	LACK	1
	OR	_outputbuf
	SACL	_outputbuf
	.line	15
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h
L26:
	.line	18
;>>>> 		if((ucinput[1] == 0x1) || (pc_tuixiao ==0x1))
	LDPK	_ucinput+1
	LAC	_ucinput+1
	SUBK	1
	BZ	LL7
	SSXM
	LDPK	_pc_tuixiao
	LAC	_pc_tuixiao
	SUBK	1
	BNZ	L27
LL7:
	.line	20
;>>>> 			outputbuf = outputbuf & 0xfffd;
	LACK	65533
	LDPK	_outputbuf
	AND	_outputbuf
	SACL	_outputbuf
	.line	21
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h,AR1
	.line	22
;>>>> 			delay(0x1ff);
	LACK	511
	SACL	*+
	CALL	_delay
	MAR	*-
	.line	23
;>>>> 			pc_tuixiao = 0x0;
	LACK	0
	LDPK	_pc_tuixiao
	SACL	_pc_tuixiao
L27:
	.line	25
;>>>> 		if((ucinput[1] == 0x0) && (pc_tuixiao ==0x0))
	LDPK	_ucinput+1
	LAC	_ucinput+1
	BNZ	L28
	SSXM
	LDPK	_pc_tuixiao
	LAC	_pc_tuixiao
	BNZ	L28
	.line	27
;>>>> 			outputbuf = outputbuf | 0x0002;
	LACK	2
	OR	_outputbuf
	SACL	_outputbuf
	.line	28
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h
L28:
	.line	30
;>>>> 		if((ucinput[2] == 0x1) || (pc_impact ==0x1) && (ucinput[6] == 0x0))
	LDPK	_ucinput+2
	LAC	_ucinput+2
	SUBK	1
	BZ	LL8
	SSXM
	LDPK	_pc_impact
	LAC	_pc_impact
	SUBK	1
	BNZ	L29
	LDPK	_ucinput+6
	LAC	_ucinput+6
	BNZ	L29
LL8:
	.line	32
;>>>> 			outputbuf = outputbuf & 0xffef;//
	LACK	65519
	LDPK	_outputbuf
	AND	_outputbuf
	SACL	_outputbuf
	.line	33
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h,AR1
	.line	34
;>>>> 			delay(0x2ff);
	LACK	767
	SACL	*+
	CALL	_delay
	MAR	*-
	.line	35
;>>>> 			pc_impact = 0x0;
	LACK	0
	LDPK	_pc_impact
	SACL	_pc_impact
L29:
	.line	37
;>>>> 		if((ucinput[2] == 0x0) && (pc_impact ==0x0))
	LDPK	_ucinput+2
	LAC	_ucinput+2
	BNZ	L30
	SSXM
	LDPK	_pc_impact
	LAC	_pc_impact
	BNZ	L30
	.line	39
;>>>> 			outputbuf = outputbuf | 0x0010;
	LACK	16
	OR	_outputbuf
	SACL	_outputbuf
	.line	40
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h
L30:
	.line	42
;>>>> 		if((ucinput[3] == 0x1) || (pc_fangbai ==0x1))
	LDPK	_ucinput+3
	LAC	_ucinput+3
	SUBK	1
	BZ	LL9
	SSXM
	LDPK	_pc_fangbai
	LAC	_pc_fangbai
	SUBK	1
	BNZ	L31
LL9:
	.line	44
;>>>> 			outputbuf = outputbuf & 0xffdf;
	LACK	65503
	LDPK	_outputbuf
	AND	_outputbuf
	SACL	_outputbuf
	.line	45
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h,AR1
	.line	46
;>>>> 			delay(0x1ff);
;>>>> 		//	pc_fangbai = 0x0;
	LACK	511
	SACL	*+
	CALL	_delay
	MAR	*-
L31:
	.line	49
;>>>> 		if((ucinput[3] == 0x0) && (pc_fangbai ==0x0))
	LDPK	_ucinput+3
	LAC	_ucinput+3
	BNZ	L32
	SSXM
	LDPK	_pc_fangbai
	LAC	_pc_fangbai
	BNZ	L32
	.line	51
;>>>> 			outputbuf = outputbuf | 0x002f;
	LACK	47
	OR	_outputbuf
	SACL	_outputbuf
	.line	52
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h
L32:
	.line	55
;>>>> 		if(test = 0)
	LACK	0
	LDPK	_test
	SACL	_test
	BZ	L33
	.line	57
;>>>> 			outputbuf = outputbuf & 0xffdf;
	LACK	65503
	AND	_outputbuf
	SACL	_outputbuf
	.line	58
;>>>> 			OUTPUT = outputbuf;
;>>>> 		//	delay(0x1ff);
;>>>> 		//	pc_fangbai = 0x0;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h
L33:
	.line	62
;>>>> 		if(test = 1)
	LACK	1
	SACL	_test
	BZ	L34
	.line	64
;>>>> 			outputbuf = outputbuf | 0x002f;
	LACK	47
	OR	_outputbuf
	SACL	_outputbuf
	.line	65
;>>>> 			OUTPUT = outputbuf;
	MAR	* ,AR0
	SACL	* 
	OUT	* ,02000h
L34:
EPI0_4:
	.line	70
	MAR	* ,AR1
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	338,000000000H,1

	.sym	_int111,_int111,32,2,0
	.globl	_int111

	.func	343
;>>>> 	void interrupt int111()
;>>>> 		switch( *PIVR)
******************************************************
* FUNCTION DEF : _int111
******************************************************
_int111:
	CALL	I$$SAVE
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	B	L35
L36:
	.line	5
;>>>> 			case 6: UartRec();
	CALL	_UartRec,AR1
	.line	6
;>>>> 			break;
	B	L37
L38:
	.line	7
;>>>> 			case 7: UartSent();
	CALL	_UartSent,AR1
	.line	8
;>>>> 			break;
	B	L37
L39:
	.line	9
;>>>> 			default : enable_int() ;
;>>>> 	//	return;
	CALL	_enable_int,AR1
	B	L37
L35:
	.line	3
	LARK	AR3,28702
	MAR	* ,AR3
	ZALS	* 
	SUBK	6
	BZ	L36
	SUBK	1
	BZ	L38
	B	L39
L37:
EPI0_5:
	.line	12
	SBRK	1
	B	I$$REST,AR1   ;and return

	.endfunc	354,000000000H,1

	.sym	_UartSent,_UartSent,32,2,0
	.globl	_UartSent

	.func	356
;>>>> 	void UartSent()
******************************************************
* FUNCTION DEF : _UartSent
******************************************************
_UartSent:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	3
;>>>> 		*IFR = 0xffff;
	LARK	AR3,6
	SPLK	#65535,* ,AR1
	.line	4
;>>>> 		enable_int();
;>>>> 	//	return;
	CALL	_enable_int
EPI0_6:
	.line	6
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	361,000000000H,1

	.sym	_nothing,_nothing,32,2,0
	.globl	_nothing

	.func	364
;>>>> 	void interrupt nothing()
******************************************************
* FUNCTION DEF : _nothing
******************************************************
_nothing:
	CALL	I$$SAVE
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	3
;>>>> 		*IFR = 0xffff;
	LARK	AR3,6
	SPLK	#65535,* ,AR1
	.line	4
;>>>> 		enable_int();
;>>>> 	//	return;
	CALL	_enable_int
EPI0_7:
	.line	6
	SBRK	1
	B	I$$REST,AR1   ;and return

	.endfunc	369,000000000H,1

	.sym	_pc_qubai,_pc_qubai,2,2,16
	.globl	_pc_qubai

	.sym	_uiAutoUpPara1,_uiAutoUpPara1,14,2,16
	.globl	_uiAutoUpPara1

	.sym	_uiAutoUpPara2,_uiAutoUpPara2,14,2,16
	.globl	_uiAutoUpPara2

	.sym	_uiAutoUpPara3,_uiAutoUpPara3,14,2,16
	.globl	_uiAutoUpPara3

	.sym	_uiAutoUpPara4,_uiAutoUpPara4,14,2,16
	.globl	_uiAutoUpPara4

	.sym	_SciRecBuf,_SciRecBuf,60,2,480,,30
	.globl	_SciRecBuf

	.sym	_key_code,_key_code,4,2,16
	.globl	_key_code

	.sym	_pc_tuixiao,_pc_tuixiao,2,2,16
	.globl	_pc_tuixiao

	.sym	_pc_fangbai,_pc_fangbai,2,2,16
	.globl	_pc_fangbai

	.sym	_ulAutoUpPara,_ulAutoUpPara,15,2,32
	.globl	_ulAutoUpPara

	.sym	_read_flag,_read_flag,14,2,16
	.globl	_read_flag

	.sym	_Maxest_counter,_Maxest_counter,15,2,32
	.globl	_Maxest_counter

	.sym	_uipreangle,_uipreangle,14,2,16
	.globl	_uipreangle

	.sym	_Encode_counter,_Encode_counter,15,2,32
	.globl	_Encode_counter

	.sym	_outputbuf,_outputbuf,14,2,16
	.globl	_outputbuf

	.sym	_pc_impact,_pc_impact,2,2,16
	.globl	_pc_impact

	.sym	_ucSq,_ucSq,12,2,16
	.globl	_ucSq
*****************************************************
* UNDEFINED REFERENCES                              *
*****************************************************
	.global	_delay
	.global	_ReadPara
	.global	L$$MODU
	.global	L$$DIVU
	.global	_sci_init
	.global	_QEPINIT
	.global	_MaxerQep
	.global	_keyscan
	.global	_SetQep
	.global	_AutoUp
	.global	_EEPROM_LC256
	.global	_DspAckSci
	.global	_UartRec
	.global	I$$SAVE
	.global	I$$REST
	.end

⌨️ 快捷键说明

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