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

📄 tcmp_int.asm

📁 一个很全面的TMS320F2812的最小系统的工程
💻 ASM
字号:
	
	.global _TBASE_INT

	.global	_OSTimerTick
	.def	_TBASE_INT
	.global _OSIntExit
	.global _sT25ms_500ms


;************************************************************************************************
;T2CINT_ISR
;  EVB Timer4 Output Compare interrupt, Period: 1ms use to generate Timer base and swicth Tasks.
;  Because C compiler PUSH some unexpect registers on stack when enter this ISR routine so It
;  must be written in Assembly.
;************************************************************************************************
_TBASE_INT:
	ASP
	PUSH	DP:ST1
	PUSH	AR1H:AR0H
	PUSH	XAR2
	PUSH	XAR3
	PUSH	XAR4
	PUSH	XAR5
	PUSH	XAR6
	PUSH	XAR7
	PUSH	XT
	PUSH	RPC
		
	LCR	_OSTimerTick
	;LCR	_sT25ms_500ms
	
    	MOVL    XAR2,#0x7506
    	MOV	AL,*XAR2
    	ADD 	AL,#0x0494;
    	MOV	*XAR2,AL
    	
    	;EvaRegs.EVAIFRB.all = BIT1;	
    	
    	MOVL	XAR2,#0x7530	
    	MOVL	ACC,*XAR2
    	OR	ACC,#2
    	MOV	*XAR2,ACC
    	
	;// Acknowledge interrupt to recieve more interrupts from PIE group 5
	;PieCtrlRegs.PIEACK.all = PIEACK_GROUP5;

    	MOV	AR2,#0x0CE1
    	MOV	AL,*AR2
    	OR	AL,#0x0010
    	MOV	*AR2,AL
    		
	LCR	_OSIntExit
	
	POP 	RPC
	POP	XT
	POP	XAR7
	POP	XAR6
	POP	XAR5
	POP	XAR4
	POP	XAR3
	POP	XAR2
	POP	AR1H:AR0H
	POP	DP:ST1
	
	NASP
	IRET
	
;************************************************************************************************	

⌨️ 快捷键说明

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