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

📄 isr.s

📁 这是AVR单片机上能跑的嵌入式操作系统salvo
💻 S
字号:
	.module isr.c
	.area vector(rom, abs)
	.org 44
	jmp _IntVector
	.org 40
	jmp _IntVector
	.area text(rom, con, rel)
	.dbfile E:\PROGRAMS\controller\salvo-M32\salvo\isr.c
	.dbfunc e IntVector _IntVector fV
	.even
_IntVector::
	xcall push_lset
	.dbline -1
	.dbline 173
; /************************************************************ 
; Copyright (C) 1995-2002 Pumpkin, Inc. and its
; Licensor(s). Freely distributable.
; 
; $Source: C:\\RCS\\d\\salvo\\tut\\tu1\\isr.c,v $
; $Author: aek $
; $Revision: 3.24 $
; $Date: 2004-02-21 17:41:57-08 $
; 
; Source for tutorial programs. Contains the interrupt service
; routine and other interrupt-associated code for all of
; the tutorials. Organized by compiler and target (SYS*).
; 
; ************************************************************/
; 
; #include "isr.h"
; #include <salvo.h>
; 
; #if   defined(USE_INTERRUPTS)
; 
; #if   defined(SYSA) || defined(SYSH) || defined(SYSF) \
;  ||   defined(SYSP)
; 
; #if   defined(SYSA) || defined(SYSH) || defined(SYSF) 
; void interrupt IntVector( void )
; #elif defined(SYSP)
; #pragma vector=0x08
; __interrupt void IntVector( void )
; #endif
; {
;     if ( T0IE && T0IF ) {
;         T0IF = 0;    
;         TMR0 -= TMR0_RELOAD;
;          
;         OSTimer();
;     }
; }
; 
; 
; #elif defined(SYSE)
; 
; #pragma interrupt ISRHigh save=PROD,section(".tmpdata")
; 
; void ISRHigh( void )
; {
; 	if ( INTCONbits.TMR0IE && INTCONbits.TMR0IF ) {
; 		INTCONbits.TMR0IF = 0;
; 		TMR0 -= TMR0_RELOAD;
; 		
; 		OSTimer();
; 	}
; }
; 
; #pragma code IntVectorHigh = 0x08
; void IntVectorHigh( void )
; { 	
; 	_asm
; 	goto	ISRHigh
; 	_endasm
; }
; 
; 
; 
; #elif defined(SYSI)
; 
; /* Reload values for Timer0 - 5msec interrupts for Oscillator at 11.0592 MHz */
; /* This code courtesy Michael Stepanov.                                      */
; #define TIMER_H   					238 /* TH0 reload value                  */
; #define TIMER_L						0   /* TL0 reload value                  */
; 
; 
; void timer0 (void) interrupt 1 using 2
; {
; 	/* stop, reload and start timer. */
; 	TR0 =       0;
; 	TH0 = TIMER_H;
; 	TL0 = TIMER_L;
; 	TR0 =       1;
; 	
; 	OSTimer();
; }
; 
; 
; #elif defined(SYSL)
; 
; ROM_VECTOR(NMI,  IntVector);
; ROM_VECTOR(INT1, IntVector);
; ROM_VECTOR(INT2, IntVector);
; ROM_VECTOR(INT3, IntVector);
; ROM_VECTOR(INT4, IntVector);
; ROM_VECTOR(INT5, IntVector);
; ROM_VECTOR(INT6, IntVector);
; ROM_VECTOR(INT7, IntVector);
; 
; #pragma interrupt_level 1
; void fast interrupt IntVector( void )
; {
; 	OSTimer();
; }
; 
; 
; 
; #elif defined(SYSM)
; 
; ROM_VECTOR(0x0B, timer0);
; 
; interrupt void timer0 ( void)
; {
; 	OSTimer();
; }
; 
; 
; #elif defined(SYSQ) || defined(SYSR) || defined(SYSS) || defined (SYSX) \
;  ||   defined(SYSAB) /* MSP430 */
; 
; #if   defined(SYSQ)
; #if (__VER__ < 200)
; interrupt[TIMERA0_VECTOR] void Timer_A (void)
; #else
; #pragma vector=TIMERA0_VECTOR
; __interrupt void Timer_A (void)
; #endif
; #elif defined(SYSR)
; interrupt[TIMERA0_VECTOR] void Timer_A (void)
; #elif defined(SYSS)
; #pragma interrupt_handler Timer_A:TIMERA0_VECTOR
; void Timer_A (void)
; #elif defined(SYSX)
; void Timer_A (void) __interrupt[TIMERA0_VECTOR]
; #elif defined(SYSAB)
; void interrupt Timer_A (void) @ TIMER_A_CC0_VCTR
; #endif
; {
; 	TACCR0 += 10000;
;     OSTimer(); 
; }                      
; 
; 
; #elif defined(SYST) /* M68HC11 */ 
; 
; #pragma interrupt_handler intVector
; 
; void intVector ( void )
; {
; 	/* clear RTIF */
; 	TFLG2 |= 0b01000000;
; 	
;     OSTimer(); 
; }                      
; 
; 
; #pragma abs_address:0x00EB	   /* RTI BUFFALO 3.4 EVB11  */
; 
; 	asm(" jmp _intVector");	   
; 
; #pragma end_abs_address
; 
; 
; #elif defined(SYSU) /* Z8 Encore */
; 
; #pragma interrupt
; void IntVector(void) 
; {	
;     OSTimer(); 
; }
; 
; 
; #elif defined(SYSV) /* AVR + ICCAVR */
; 
; #pragma interrupt_handler IntVector:iv_TIMER0_OVF IntVector:iv_TIMER0_COMP
; 
; void IntVector(void) 
; {	
	.dbline 174
;     OSTimer(); 
	xcall _OSTimer
	.dbline -2
L5:
	xcall pop_lset
	.dbline 0 ; func end
	reti
	.dbend

⌨️ 快捷键说明

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