亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cstartup.s79

?? 本程序為完成各種中斷的演示
?? S79
字號:
;-  ----------------------------------------------------------------------------
;-          ATMEL Microcontroller Software Support  -  ROUSSET  -
;-  ----------------------------------------------------------------------------
;-  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
;-  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
;-  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
;-  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
;-  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
;-  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
;-  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
;-  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
;-  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
;-  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;-  ----------------------------------------------------------------------------
;- File source          : Cstartup.s79
;- Object               : Generic CStartup
;- 1.0 01/Sep/05 FBr    : Creation
;- 1.1 09/Sep/05 JPP    : Change Interrupt management
;------------------------------------------------------------------------------

;------------------------------------------------------------------------------
; Include your AT91 Library files
;------------------------------------------------------------------------------
#include "include/AT91SAM7X256_inc.h"
;------------------------------------------------------------------------------

;------------------------------------------------------------------------------
; ?RESET
; Reset Vector.
; Normally, segment INTVEC is linked at address 0.
; For debugging purposes, INTVEC may be placed at other addresses.
; A debugger that honors the entry point will start the
; program in a normal way even if INTVEC is not at address 0.
;------------------------------------------------------------------------------

    PROGRAM	?RESET              ;- Begins a program module
    RSEG	INTRAMEND_REMAP     ;- Begins a relocatable segment
    RSEG	ICODE:CODE (2)      ;- Begins a relocatable segment : corresponding address is 32-bit aligned
    CODE32	                    ;- Always ARM mode after reset	
    ORG	0	                    ;- Sets the location counter: corresponds to the RESET vector address

;------------------------------------------------------------------------------
;- Exception vectors
;------------------------------------------------------------------------------
;- These vectors can be read at address 0 or at RAM address
;- They ABSOLUTELY requires to be in relative addresssing mode in order to
;- guarantee a valid jump. For the moment, all are just looping.
;- If an exception occurs before remap, this would result in an infinite loop.
;- To ensure if a exeption occurs before start application to infinite loop.
;------------------------------------------------------------------------------

reset
                B           InitReset           ; 0x00 Reset handler
undefvec:
                B           undefvec            ; 0x04 Undefined Instruction
swivec:
                B           swivec              ; 0x08 Software Interrupt
pabtvec:
                B           pabtvec             ; 0x0C Prefetch Abort
dabtvec:
                B           dabtvec             ; 0x10 Data Abort
rsvdvec:
                B           rsvdvec             ; 0x14 reserved
irqvec:
                B           IRQ_Handler_Entry   ; 0x18 IRQ
              				
fiqvec:               				; 0x1c FIQ
;------------------------------------------------------------------------------
;- Function             : FIQ_Handler_Entry
;- Treatments           : FIQ Controller Interrupt Handler.
;- Called Functions     : AIC_FVR[interrupt]
;------------------------------------------------------------------------------

FIQ_Handler_Entry:

;- Switch in SVC/User Mode to allow User Stack access for C code
; because the FIQ is not yet acknowledged

;- Save and r0 in FIQ_Register
            mov         r9,r0
	    ldr         r0 , [r8, #AIC_FVR]
            msr         CPSR_c,#I_BIT | F_BIT | ARM_MODE_SVC
;- Save scratch/used registers and LR in User Stack
            stmfd       sp!, { r1-r3, r12, lr}

;- Branch to the routine pointed by the AIC_FVR
            mov         r14, pc
            bx          r0

;- Restore scratch/used registers and LR from User Stack
            ldmia       sp!, { r1-r3, r12, lr}

;- Leave Interrupts disabled and switch back in FIQ mode
            msr         CPSR_c, #I_BIT | F_BIT | ARM_MODE_FIQ

;- Restore the R0 ARM_MODE_SVC register
            mov         r0,r9

;- Restore the Program Counter using the LR_fiq directly in the PC
            subs        pc,lr,#4

;------------------------------------------------------------------------------
;- Manage exception: The exception must be ensure in ARM mode
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;- Function             : IRQ_Handler_Entry
;- Treatments           : IRQ Controller Interrupt Handler.
;- Called Functions     : AIC_IVR[interrupt]
;------------------------------------------------------------------------------
IRQ_Handler_Entry:

;-------------------------
;- Manage Exception Entry
;-------------------------
;- Adjust and save LR_irq in IRQ stack
    sub         lr, lr, #4
    stmfd       sp!, {lr}

;- Save r0 and SPSR (need to be saved for nested interrupt)
    mrs         r14, SPSR
    stmfd       sp!, {r0,r14}

;- Write in the IVR to support Protect Mode
;- No effect in Normal Mode
;- De-assert the NIRQ and clear the source in Protect Mode
    ldr         r14, =AT91C_BASE_AIC
    ldr         r0 , [r14, #AIC_IVR]
    str         r14, [r14, #AIC_IVR]

;- Enable Interrupt and Switch in Supervisor Mode
    msr         CPSR_c, #ARM_MODE_SVC

;- Save scratch/used registers and LR in User Stack
    stmfd       sp!, { r1-r3, r12, r14}

;----------------------------------------------
;- Branch to the routine pointed by the AIC_IVR
;----------------------------------------------
    mov         r14, pc
    bx          r0

;----------------------------------------------
;- Manage Exception Exit
;----------------------------------------------
;- Restore scratch/used registers and LR from User Stack
    ldmia       sp!, { r1-r3, r12, r14}

;- Disable Interrupt and switch back in IRQ mode
    msr         CPSR_c, #I_BIT | ARM_MODE_IRQ

;- Mark the End of Interrupt on the AIC
    ldr         r14, =AT91C_BASE_AIC
    str         r14, [r14, #AIC_EOICR]

;- Restore SPSR_irq and r0 from IRQ stack
    ldmia       sp!, {r0,r14}
    msr         SPSR_cxsf, r14

;- Restore adjusted  LR_irq from IRQ stack directly in the PC
    ldmia       sp!, {pc}^



InitReset:

;------------------------------------------------------------------------------
;- Low level Init is performed in a C function: AT91F_LowLevelInit
;- Init Stack Pointer to a valid memory area before calling AT91F_LowLevelInit
;------------------------------------------------------------------------------

;- Retrieve end of RAM address
__iramend EQU SFB(INTRAMEND_REMAP)      ;- Segment begin

    EXTERN   AT91F_LowLevelInit
    ldr     r13,=__iramend              ;- Temporary stack in internal RAM for Low Level Init execution
    ldr	    r0,=AT91F_LowLevelInit
    mov     lr, pc
    bx	    r0                          ;- Branch on C function (with interworking)

;------------------------------------------------------------------------------
;- Top of Stack Definition
;------------------------------------------------------------------------------
;- Interrupt and Supervisor Stack are located at the top of internal memory in
;- order to speed the exception handling context saving and restoring.
;- ARM_MODE_SVC (Application, C) Stack is located at the top of the external memory.
;------------------------------------------------------------------------------

IRQ_STACK_SIZE          EQU     (3*8*4)     ; 3 words to be saved per interrupt priority level
ARM_MODE_FIQ            EQU     0x11
ARM_MODE_IRQ            EQU     0x12
ARM_MODE_SVC            EQU     0x13
I_BIT                   EQU     0x80
F_BIT                   EQU     0x40

;------------------------------------------------------------------------------
;- Setup the stack for each mode
;------------------------------------------------------------------------------
    ldr     r0, =__iramend

;- Set up Fast Interrupt Mode and set FIQ Mode Stack
            msr     CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT
;- Init the FIQ register
            ldr     r8, =AT91C_BASE_AIC

;- Set up Interrupt Mode and set IRQ Mode Stack
    msr     CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT
    mov     r13, r0                     ; Init stack IRQ
    sub     r0, r0, #IRQ_STACK_SIZE

;- Enable interrupt & Set up Supervisor Mode and set Supervisor Mode Stack
    msr     CPSR_c, #ARM_MODE_SVC 
    mov     r13, r0

;------------------------------------------------------------------------------
; Initialize segments.
;------------------------------------------------------------------------------
; __segment_init is assumed to use
; instruction set and to be reachable by BL from the ICODE segment
; (it is safest to link them in segment ICODE).
;------------------------------------------------------------------------------
    EXTERN	__segment_init
    ldr	r0,=__segment_init
    mov     lr, pc
    bx	r0

;------------------------------------------------------------------------------
;- Branch on C code Main function (with interworking)
;------------------------------------------------------------------------------
    EXTERN	main
    PUBLIC	__main
?jump_to_main:
    ldr	lr,=?call_exit
    ldr	r0,=main
__main:
    bx	r0

;------------------------------------------------------------------------------
;- Loop for ever
;------------------------------------------------------------------------------
;- End of application. Normally, never occur.
;- Could jump on Software Reset ( B 0x0 ).
;------------------------------------------------------------------------------
?call_exit:
End
    b       End

;------------------------------------------------------------------------------
;- Exception Vectors
;------------------------------------------------------------------------------
    PUBLIC    AT91F_Default_FIQ_handler
    PUBLIC    AT91F_Default_IRQ_handler
    PUBLIC    AT91F_Spurious_handler

    CODE32      ; Always ARM mode after exeption

AT91F_Default_FIQ_handler
    b         AT91F_Default_FIQ_handler

AT91F_Default_IRQ_handler
    b         AT91F_Default_IRQ_handler

AT91F_Spurious_handler
    b         AT91F_Spurious_handler

    ENDMOD      ;- Terminates the assembly of the current module
    END         ;- Terminates the assembly of the last module in a file

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费视频网站高清观看视频 | 亚洲一区二区三区中文字幕| 精品国产污污免费网站入口| 日本乱码高清不卡字幕| 欧洲精品一区二区| 欧美中文字幕不卡| 日韩欧美三级在线| 久久久久久久综合日本| 国产欧美精品一区二区色综合朱莉| 久久久蜜桃精品| 中文字幕中文在线不卡住| 国产精品高潮呻吟| 一区二区三区四区不卡在线| 亚洲成人精品一区| 久久精品国产网站| av成人动漫在线观看| 91激情在线视频| 欧美一区二区精品久久911| 欧美不卡视频一区| 中文字幕一区二区三区四区不卡 | 51精品国自产在线| 91亚洲国产成人精品一区二三| heyzo一本久久综合| 色88888久久久久久影院野外| 欧美在线你懂得| 日韩一区和二区| 国产欧美中文在线| 亚洲午夜免费视频| 国产一二三精品| 在线精品观看国产| 久久影音资源网| 亚洲女与黑人做爰| 久久国产三级精品| 一本色道久久综合亚洲精品按摩| 欧美一区二区私人影院日本| 久久久久久久久97黄色工厂| 亚洲综合久久av| 久久成人18免费观看| 91亚洲精品乱码久久久久久蜜桃| 日韩欧美一级二级三级久久久| 中文字幕亚洲欧美在线不卡| 日韩精品一级中文字幕精品视频免费观看 | 中文字幕欧美一| 午夜私人影院久久久久| 成人综合婷婷国产精品久久蜜臀| 欧美高清性hdvideosex| 日韩伦理av电影| 国产一区美女在线| 日韩一区二区高清| 一区二区三区加勒比av| 国产+成+人+亚洲欧洲自线| 制服丝袜中文字幕一区| 亚洲精品视频自拍| 国产不卡免费视频| 精品国产乱码久久久久久牛牛 | 884aa四虎影成人精品一区| 国产精品丝袜久久久久久app| 日本vs亚洲vs韩国一区三区二区 | 自拍偷在线精品自拍偷无码专区 | 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲欧洲成人自拍| 国产精一区二区三区| 91精品在线观看入口| 亚洲午夜久久久久久久久电影院| 波波电影院一区二区三区| 久久久精品国产99久久精品芒果| 日韩制服丝袜先锋影音| 欧美亚洲综合另类| 一区二区成人在线| 欧美视频精品在线| 亚洲第一精品在线| 欧美网站一区二区| 一区二区久久久久| 欧美亚洲综合网| 午夜精品福利一区二区三区蜜桃| 色欧美日韩亚洲| 亚洲国产精品视频| 欧美日韩国产a| 免费在线观看视频一区| 日韩一区二区精品| 国产乱子伦一区二区三区国色天香| 欧美一区二区三区四区五区 | 欧美中文字幕一区| 午夜在线电影亚洲一区| 制服丝袜成人动漫| 老司机精品视频导航| 久久久不卡影院| eeuss鲁一区二区三区| 亚洲欧洲性图库| 在线亚洲精品福利网址导航| 亚洲午夜电影在线| 欧美电视剧在线观看完整版| 国产成都精品91一区二区三| 国产精品看片你懂得| 91久久一区二区| 青草av.久久免费一区| 久久久噜噜噜久久中文字幕色伊伊 | 99久久久精品| 亚洲成av人片一区二区三区| 日韩欧美中文一区| 国产精品自在在线| 亚洲一区视频在线| 国产亚洲综合在线| av一二三不卡影片| 蜜臀av一区二区三区| 欧美韩日一区二区三区四区| 在线观看日韩av先锋影音电影院| 丝袜国产日韩另类美女| 国产日韩欧美麻豆| 欧美伊人久久久久久久久影院| 激情小说欧美图片| 成人免费在线观看入口| 欧美一级高清片| 91视频你懂的| 国产一区免费电影| 天天影视网天天综合色在线播放| 久久精品在线观看| 欧美一区二区三区电影| 91视频在线观看免费| 国产资源在线一区| 亚洲国产欧美另类丝袜| 国产精品日韩成人| 欧美成人三级电影在线| 欧美午夜一区二区三区免费大片| 国产自产视频一区二区三区| 午夜精品久久久久久久久| 国产精品免费丝袜| 久久久久国产精品免费免费搜索| 欧美日韩免费高清一区色橹橹| 不卡av在线免费观看| 国内精品视频一区二区三区八戒| 亚洲午夜电影在线观看| 亚洲色图制服丝袜| 日本一区二区三区视频视频| 欧美一级艳片视频免费观看| 在线观看日韩毛片| av一区二区久久| 99久久99久久综合| 成人在线综合网站| 岛国一区二区三区| 国产盗摄一区二区| 国产精一品亚洲二区在线视频| 麻豆精品在线播放| 久久99久久久久| 久久精品国产精品亚洲红杏| 首页综合国产亚洲丝袜| 亚洲国产日韩精品| 一区二区三区欧美在线观看| 亚洲欧美国产77777| 亚洲免费av网站| 亚洲精品老司机| 亚洲国产成人91porn| 亚洲影院久久精品| 亚洲一区二区三区美女| 午夜精品一区二区三区免费视频 | 欧美成人伊人久久综合网| 欧美日韩一区二区三区不卡| 欧美在线观看一区| 欧美日韩国产天堂| 日韩一区二区三区在线视频| 精品1区2区在线观看| 久久你懂得1024| 国产精品久久久久久户外露出| 国产精品乱人伦| 亚洲乱码国产乱码精品精小说 | 一区二区三区精品| 婷婷久久综合九色综合绿巨人| 日韩av不卡在线观看| 国内精品伊人久久久久av影院| 国产91露脸合集magnet| 99re热这里只有精品视频| 色域天天综合网| 日韩欧美国产综合在线一区二区三区| 日韩欧美国产综合一区| 欧美经典一区二区三区| 亚洲美女屁股眼交3| 丝袜诱惑制服诱惑色一区在线观看 | 欧美极品另类videosde| 亚洲天堂网中文字| 午夜精品久久久久久久久久久| 久久国产福利国产秒拍| av高清久久久| 日韩欧美国产三级| 亚洲欧美日韩系列| 激情综合色综合久久综合| 99久免费精品视频在线观看| 欧美日韩高清一区二区三区| 久久久不卡网国产精品一区| 一区二区三区日韩欧美精品| 精品制服美女久久| 在线观看亚洲精品| 国产欧美一区二区精品性色| 亚洲综合在线五月| 国产精品一二三区在线| 欧美日韩高清影院| 亚洲欧美激情一区二区| 国产风韵犹存在线视精品| 欧美精品色一区二区三区| 欧美激情一区二区三区四区| 蜜乳av一区二区三区|