📄 interrupt.lst
字号:
main () C:\MCC18\example\Interrupt\main.c
{ C:\MCC18\example\Interrupt\main.c
0000ca 0100 MOVLB 0x0 Flags.Byte = 0; C:\MCC18\example\Interrupt\main.c
0000cc 6b6a CLRF 0x6a,0x1
0000ce 0e20 MOVLW 0x20 INTCON = 0x20; //disable global and enable TMR0 interrupt C:\MCC18\example\Interrupt\main.c
0000d0 6ef2 MOVWF 0xf2,0x0
0000d2 0e84 MOVLW 0x84 INTCON2 = 0x84; //TMR0 high priority C:\MCC18\example\Interrupt\main.c
0000d4 6ef1 MOVWF 0xf1,0x0
0000d6 8ed0 BSF 0xd0,0x7,0x0 RCONbits.IPEN = 1; //enable priority levels C:\MCC18\example\Interrupt\main.c
0000d8 6ad7 CLRF 0xd7,0x0 TMR0H = 0; //clear timer C:\MCC18\example\Interrupt\main.c
0000da 6ad6 CLRF 0xd6,0x0 TMR0L = 0; //clear timer C:\MCC18\example\Interrupt\main.c
0000dc 0e82 MOVLW 0x82 T0CON = 0x82; //set up timer0 - prescaler 1:8 C:\MCC18\example\Interrupt\main.c
0000de 6ed5 MOVWF 0xd5,0x0
0000e0 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; //enable interrupts C:\MCC18\example\Interrupt\main.c
0000e2 6a93 CLRF 0x93,0x0 TRISB = 0; C:\MCC18\example\Interrupt\main.c
C:\MCC18\example\Interrupt\main.c
0000f6 d7f6 BRA 0xe4 while (1) C:\MCC18\example\Interrupt\main.c
{ C:\MCC18\example\Interrupt\main.c
0000e4 a16a BTFSS 0x6a,0x0,0x1 if (Flags.Bit.Timeout == 1) C:\MCC18\example\Interrupt\main.c
0000e6 d007 BRA 0xf6
{ //timeout? C:\MCC18\example\Interrupt\main.c
0000e8 916a BCF 0x6a,0x0,0x1 Flags.Bit.Timeout = 0; //clear timeout indicor C:\MCC18\example\Interrupt\main.c
0000ea 508a MOVF 0x8a,0x0,0x0 LATBbits.LATB7 = LATBbits.LATB0; //copy LED state from RB0 to RB7 C:\MCC18\example\Interrupt\main.c
0000ec 0b01 ANDLW 0x1
0000ee e002 BZ 0xf4
0000f0 8e8a BSF 0x8a,0x7,0x0
0000f2 d001 BRA 0xf6
0000f4 9e8a BCF 0x8a,0x7,0x0
} C:\MCC18\example\Interrupt\main.c
} C:\MCC18\example\Interrupt\main.c
0000f8 0012 RETURN 0x0 } C:\MCC18\example\Interrupt\main.c
C:\MCC18\example\Interrupt\main.c
//---------------------------------------------------------------------------- C:\MCC18\example\Interrupt\main.c
// High priority interrupt vector C:\MCC18\example\Interrupt\main.c
C:\MCC18\example\Interrupt\main.c
#pragma code InterruptVectorHigh = 0x08 C:\MCC18\example\Interrupt\main.c
void C:\MCC18\example\Interrupt\main.c
InterruptVectorHigh (void) C:\MCC18\example\Interrupt\main.c
{ C:\MCC18\example\Interrupt\main.c
_asm C:\MCC18\example\Interrupt\main.c
000008 ef7d GOTO 0xfa goto InterruptHandlerHigh //jump to interrupt routine C:\MCC18\example\Interrupt\main.c
00000a f000
_endasm C:\MCC18\example\Interrupt\main.c
00000c 0012 RETURN 0x0 } C:\MCC18\example\Interrupt\main.c
C:\MCC18\example\Interrupt\main.c
//---------------------------------------------------------------------------- C:\MCC18\example\Interrupt\main.c
// High priority interrupt routine C:\MCC18\example\Interrupt\main.c
C:\MCC18\example\Interrupt\main.c
#pragma code C:\MCC18\example\Interrupt\main.c
#pragma interrupt InterruptHandlerHigh C:\MCC18\example\Interrupt\main.c
C:\MCC18\example\Interrupt\main.c
void C:\MCC18\example\Interrupt\main.c
0000fa cfda MOVFF 0xfda,0xfe4 InterruptHandlerHigh () C:\MCC18\example\Interrupt\main.c
0000fc ffe4
0000fe cfe2 MOVFF 0xfe2,0xfda
000100 ffda
000102 52e6 MOVF 0xe6,0x1,0x0
{ C:\MCC18\example\Interrupt\main.c
000104 a4f2 BTFSS 0xf2,0x2,0x0 if (INTCONbits.TMR0IF) C:\MCC18\example\Interrupt\main.c
000106 d004 BRA 0x110
{ //check for TMR0 overflow C:\MCC18\example\Interrupt\main.c
000108 94f2 BCF 0xf2,0x2,0x0 INTCONbits.TMR0IF = 0; //clear interrupt flag C:\MCC18\example\Interrupt\main.c
00010a 0100 MOVLB 0x0 Flags.Bit.Timeout = 1; //indicate timeout C:\MCC18\example\Interrupt\main.c
00010c 816a BSF 0x6a,0x0,0x1
00010e 708a BTG 0x8a,0x0,0x0 LATBbits.LATB0 = !LATBbits.LATB0; //toggle LED on RB0 C:\MCC18\example\Interrupt\main.c
} C:\MCC18\example\Interrupt\main.c
000110 52e5 MOVF 0xe5,0x1,0x0 } C:\MCC18\example\Interrupt\main.c
000112 cfe5 MOVFF 0xfe5,0xfda
000114 ffda
000116 0011 RETFIE 0x1
C:\MCC18\example\Interrupt\main.c
//---------------------------------------------------------------------------- C:\MCC18\example\Interrupt\main.c
; RCS Header $Id: cmath18.asm,v 1.4 2004/10/01 19:13:22 GrosbaJ Exp $
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
; CMATH18 DATA DEFINITION FILE
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
;*******************************************************************************
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
; VARIABLE ALLOCATION - Core math library routines
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
;*******************************************************************************
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
MATH_DATA UDATA_ACS
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
SIGN RES 1 ; save location for sign in MSB
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
FPFLAGSbits
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
FPFLAGS RES 1 ; floating point library exception flags
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
GLOBAL SIGN, FPFLAGS, FPFLAGSbits
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
END
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
LIST P=18F6585 C:\MCC18\SRC\TRADIT~1\PROC\p18f6585.asm
LIST C:\MCC18\SRC\TRADIT~1\PROC\p18f6585.asm
END C:\MCC18\SRC\TRADIT~1\PROC\p18f6585.asm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -