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

📄 interrrupt.lst

📁 塞普拉思(cypress) 中断的应用例程.
💻 LST
📖 第 1 页 / 共 5 页
字号:
0000: 80 67    JMP   0x0068
0002: 30       HALT  
0003: 30       HALT  

FILE: .\boot.asm
                                   (0001) ; Generated by PSoC Designer ver 4.4  b1884 : 14 Jan, 2007
                                   (0002) ;
                                   (0003) ;@Id: boot.tpl#851 @
                                   (0004) ;=============================================================================
                                   (0005) ;  FILENAME:   boot.asm
                                   (0006) ;  VERSION:    4.18
                                   (0007) ;  DATE:       28 June 2007
                                   (0008) ;
                                   (0009) ;  DESCRIPTION:
                                   (0010) ;  M8C Boot Code for CY8C29xxx microcontroller family.
                                   (0011) ;
                                   (0012) ;  Copyright (C) Cypress Semiconductor 2000-2005. All rights reserved.
                                   (0013) ;
                                   (0014) ; NOTES:
                                   (0015) ; PSoC Designer's Device Editor uses a template file, BOOT.TPL, located in
                                   (0016) ; the project's root directory to create BOOT.ASM. Any changes made to
                                   (0017) ; BOOT.ASM will be  overwritten every time the project is generated; therfore
                                   (0018) ; changes should be made to BOOT.TPL not BOOT.ASM. Care must be taken when
                                   (0019) ; modifying BOOT.TPL so that replacement strings (such as @PROJECT_NAME)
                                   (0020) ; are not accidentally modified.
                                   (0021) ;
                                   (0022) ;=============================================================================
                                   (0023) 
                                   (0024) include ".\lib\GlobalParams.inc"
                                   (0025) include "m8c.inc"
                                   (0026) include "m8ssc.inc"
                                   (0027) include "memory.inc"
                                   (0028) 
                                   (0029) ;--------------------------------------
                                   (0030) ; Export Declarations
                                   (0031) ;--------------------------------------
                                   (0032) 
                                   (0033) export __Start
                                   (0034) IF	(TOOLCHAIN & HITECH)
                                   (0035) ELSE
                                   (0036) export __bss_start
                                   (0037) export __data_start
                                   (0038) export __idata_start
                                   (0039) export __func_lit_start
                                   (0040) export __text_start
                                   (0041) ENDIF
                                   (0042) export  _bGetPowerSetting
                                   (0043) export   bGetPowerSetting
                                   (0044) 
                                   (0045) 
                                   (0046) ;--------------------------------------
                                   (0047) ; Optimization flags
                                   (0048) ;--------------------------------------
                                   (0049) ;
                                   (0050) ; To change the value of these flags, modify the file boot.tpl, not
                                   (0051) ; boot.asm. See the notes in the banner comment at the beginning of
                                   (0052) ; this file.
                                   (0053) 
                                   (0054) ; Optimization for Assembly language (only) projects and C-language projects
                                   (0055) ; that do not depend on the C compiler to initialize the values of RAM variables.
                                   (0056) ;   Set to 1: Support for C Run-time Environment initialization
                                   (0057) ;   Set to 0: Support for C not included. Faster start up, smaller code space.
                                   (0058) ;
                                   (0059) IF	(TOOLCHAIN & HITECH)
                                   (0060) ; The C compiler will customize the startup code - it's not required here
                                   (0061) 
                                   (0062) C_LANGUAGE_SUPPORT:              equ 0
                                   (0063) ELSE
                                   (0064) C_LANGUAGE_SUPPORT:              equ 1
                                   (0065) ENDIF
                                   (0066) 
                                   (0067) 
                                   (0068) ; The following equate is required for proper operation. Reseting its value
                                   (0069) ; is discouraged.  WAIT_FOR_32K is effective only if the crystal oscillator is
                                   (0070) ; selected.  If the designer chooses to not wait then stabilization of the ECO
                                   (0071) ; and PLL_Lock must take place within user code. See the family data sheet for
                                   (0072) ; the requirements of starting the ECO and PLL lock mode.
                                   (0073) ;
                                   (0074) ;   Set to 1: Wait for XTAL (& PLL if selected) to stabilize before
                                   (0075) ;                invoking main
                                   (0076) ;   Set to 0: Boot code does not wait; clock may not have stabilized by
                                   (0077) ;               the time code in main starts executing.
                                   (0078) ;
                                   (0079) WAIT_FOR_32K:                    equ 1
                                   (0080) 
                                   (0081) 
                                   (0082) ; For historical reasons, by default the boot code uses an lcall instruction
                                   (0083) ; to invoke the user's _main code. If _main executes a return instruction,
                                   (0084) ; boot provides an infinite loop. By changing the following equate from zero
                                   (0085) ; to 1, boot's lcall will be replaced by a ljmp instruction, saving two
                                   (0086) ; bytes on the stack which are otherwise required for the return address. If
                                   (0087) ; this option is enabled, _main must not return. (Beginning with the 4.2
                                   (0088) ; release, the C compiler automatically places an infinite loop at the end
                                   (0089) ; of main, rather than a return instruction.)
                                   (0090) ;
                                   (0091) ENABLE_LJMP_TO_MAIN:             equ 0
                                   (0092) 
                                   (0093) 
                                   (0094) ;-----------------------------------------------------------------------------
                                   (0095) ; Interrupt Vector Table
                                   (0096) ;-----------------------------------------------------------------------------
                                   (0097) ;
                                   (0098) ; Interrupt vector table entries are 4 bytes long.  Each one contains
                                   (0099) ; a jump instruction to an ISR (Interrupt Service Routine), although
                                   (0100) ; very short ISRs could be encoded within the table itself. Normally,
                                   (0101) ; vector jump targets are modified automatically according to the user
                                   (0102) ; modules selected. This occurs when the 'Generate Application' opera-
                                   (0103) ; tion is run causing PSoC Designer to create boot.asm and the other
                                   (0104) ; configuration files. If you need to hard code a vector, update the
                                   (0105) ; file boot.tpl, not boot.asm. See the banner comment at the beginning
                                   (0106) ; of this file.
                                   (0107) ;-----------------------------------------------------------------------------
                                   (0108) 
                                   (0109)     AREA TOP (ROM, ABS, CON)
                                   (0110) 
                                   (0111)     org   0                        ;Reset Interrupt Vector
                                   (0112) IF	(TOOLCHAIN & HITECH)
                                   (0113) ;   jmp   __Start                  ;C compiler fills in this vector
                                   (0114) ELSE
                                   (0115)     jmp   __Start                  ;First instruction executed following a Reset
                                   (0116) ENDIF
                                   (0117) 
                                   (0118)     org   04h                      ;Supply Monitor Interrupt Vector
0004: 30       HALT                (0119)     halt                           ;Stop execution if power falls too low
0005: 30       HALT  
0006: 30       HALT  
0007: 30       HALT  
                                   (0120) 
                                   (0121)     org   08h                      ;Analog Column 0 Interrupt Vector
                                   (0122)     // call	void_handler
0008: 7E       RETI                (0123)     reti
0009: 30       HALT  
000A: 30       HALT  
000B: 30       HALT  
                                   (0124) 
                                   (0125)     org   0Ch                      ;Analog Column 1 Interrupt Vector
                                   (0126)     // call	void_handler
000C: 7E       RETI                (0127)     reti
000D: 30       HALT  
000E: 30       HALT  
000F: 30       HALT  
                                   (0128) 
                                   (0129)     org   10h                      ;Analog Column 2 Interrupt Vector
                                   (0130)     // call	void_handler
0010: 7E       RETI                (0131)     reti
0011: 30       HALT  
0012: 30       HALT  
0013: 30       HALT  
                                   (0132) 
                                   (0133)     org   14h                      ;Analog Column 3 Interrupt Vector
                                   (0134)     // call	void_handler
0014: 7E       RETI                (0135)     reti
0015: 30       HALT  
0016: 30       HALT  
0017: 30       HALT  
                                   (0136) 
                                   (0137)     org   18h                      ;VC3 Interrupt Vector
                                   (0138)     // call	void_handler
0018: 7E       RETI                (0139)     reti
0019: 30       HALT  
001A: 30       HALT  
001B: 30       HALT  
                                   (0140) 
                                   (0141)     org   1Ch                      ;GPIO Interrupt Vector
001C: 7D 03 86 LJMP  _button_svr   (0142)     ljmp	_button_svr
001F: 7E       RETI                (0143)     reti
                                   (0144) 
                                   (0145)     org   20h                      ;PSoC Block DBB00 Interrupt Vector
                                   (0146)     // call	void_handler
0020: 7E       RETI                (0147)     reti
0021: 30       HALT  
0022: 30       HALT  
0023: 30       HALT  
                                   (0148) 
                                   (0149)     org   24h                      ;PSoC Block DBB01 Interrupt Vector
                                   (0150)     // call	void_handler
0024: 7E       RETI                (0151)     reti
0025: 30       HALT  
0026: 30       HALT  
0027: 30       HALT  
                                   (0152) 
                                   (0153)     org   28h                      ;PSoC Block DCB02 Interrupt Vector
                                   (0154)     // call	void_handler
0028: 7E       RETI                (0155)     reti
0029: 30       HALT  
002A: 30       HALT  
002B: 30       HALT  
                                   (0156) 

⌨️ 快捷键说明

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