📄 isr.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 + -