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

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

?? cstartup.s

?? IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR
?? S
字號:
;* ----------------------------------------------------------------------------
;*         ATMEL Microcontroller Software Support  -  ROUSSET  -
;* ----------------------------------------------------------------------------
;* Copyright (c) 2006, Atmel Corporation
;
;* All rights reserved.
;*
;* Redistribution and use in source and binary forms, with or without
;* modification, are permitted provided that the following conditions are met:
;*
;* - Redistributions of source code must retain the above copyright notice,
;* this list of conditions and the disclaimer below.
;*
;* - Redistributions in binary form must reproduce the above copyright notice,
;* this list of conditions and the disclaimer below in the documentation and/or
;* other materials provided with the distribution.
;*
;* Atmel's name may not be used to endorse or promote products derived from
;* this software without specific prior written permission.
;*
;* 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.
;* ----------------------------------------------------------------------------

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

#define TOP_OF_MEMORY    (AT91C_ISRAM + AT91C_ISRAM_SIZE)
#define IRQ_STACK_SIZE   200
     ; 3 words to be saved per interrupt priority level

; Mode, correspords to bits 0-5 in CPSR
MODE_BITS DEFINE  0x1F    ; Bit mask for mode bits in CPSR
USR_MODE  DEFINE  0x10    ; User mode
FIQ_MODE  DEFINE  0x11    ; Fast Interrupt Request mode
IRQ_MODE  DEFINE  0x12    ; Interrupt Request mode
SVC_MODE  DEFINE  0x13    ; Supervisor mode
ABT_MODE  DEFINE  0x17    ; Abort mode
UND_MODE  DEFINE  0x1B    ; Undefined Instruction mode
SYS_MODE  DEFINE  0x1F    ; System mode

I_BIT     DEFINE  0x80
F_BIT     DEFINE  0x40

;------------------------------------------------------------------------------
; ?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.
;------------------------------------------------------------------------------
        SECTION .intvec:CODE:NOROOT(2)
        PUBLIC  __vector
        PUBLIC  __iar_program_start
		EXTERN	vPortYieldProcessor

		ARM
__vector:
        ldr  pc,[pc,#+24]             ;; Reset
__und_handler:
        ldr  pc,[pc,#+24]             ;; Undefined instructions
__swi_handler:
        ldr  pc,[pc,#+24]             ;; Software interrupt (SWI/SVC)
__prefetch_handler:
        ldr  pc,[pc,#+24]             ;; Prefetch abort
__data_handler:
        ldr  pc,[pc,#+24]             ;; Data abort
        DC32  0xFFFFFFFF              ;; RESERVED
__irq_handler:
        LDR			PC, [PC, #-0xF20]
__fiq_handler:
        ldr  pc,[pc,#+24]             ;; FIQ

        DC32  __iar_program_start
        DC32  __und_handler
        DC32  vPortYieldProcessor
        DC32  __prefetch_handler
        DC32  __data_handler
        B .
        DC32  IRQ_Handler_Entry
        DC32  FIQ_Handler_Entry

;------------------------------------------------------------------------------
;- Manage exception: The exception must be ensure in ARM mode
;------------------------------------------------------------------------------
        SECTION text:CODE:NOROOT(2)
        ARM
;------------------------------------------------------------------------------
;- Function             : FIQ_Handler_Entry
;- Treatments           : FIQ Controller Interrupt Handler.
;-                        R8 is initialize in Cstartup
;- Called Functions     : None only by FIQ
;------------------------------------------------------------------------------
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 | SVC_MODE
;- 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 | FIQ_MODE

;- 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
;------------------------------------------------------------------------------
;- 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, #SVC_MODE

;- 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 | IRQ_MODE

;- 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}^

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

    ARM      ; 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


;------------------------------------------------------------------------------
; ?INIT
; Program entry.
;------------------------------------------------------------------------------

    SECTION FIQ_STACK:DATA:NOROOT(3)
    SECTION IRQ_STACK:DATA:NOROOT(3)
    SECTION SVC_STACK:DATA:NOROOT(3)
    SECTION ABT_STACK:DATA:NOROOT(3)
    SECTION UND_STACK:DATA:NOROOT(3)
    SECTION CSTACK:DATA:NOROOT(3)
    SECTION text:CODE:NOROOT(2)
    REQUIRE __vector
    EXTERN  ?main
    PUBLIC  __iar_program_start
    EXTERN  AT91F_LowLevelInit


__iar_program_start:

;------------------------------------------------------------------------------
;- 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

                ldr     r13,=TOP_OF_MEMORY          ;- 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)

; Initialize the stack pointers.
; The pattern below can be used for any of the exception stacks:
; FIQ, IRQ, SVC, ABT, UND, SYS.
; The USR mode uses the same stack as SYS.
; The stack segments must be defined in the linker command file,
; and be declared above.

                mrs     r0,cpsr                             ; Original PSR value
                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#SVC_MODE                     ; Set SVC mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(SVC_STACK)                  ; End of SVC_STACK

				bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#UND_MODE                     ; Set UND mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(UND_STACK)                  ; End of UND_STACK

                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#ABT_MODE                     ; Set ABT mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(ABT_STACK)                  ; End of ABT_STACK

                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#FIQ_MODE                     ; Set FIQ mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(FIQ_STACK)                  ; End of FIQ_STACK
                ;- Init the FIQ register
                ldr     r8, =AT91C_BASE_AIC

                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#IRQ_MODE                     ; Set IRQ mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(IRQ_STACK)                  ; End of IRQ_STACK

                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#SYS_MODE                     ; Set System mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(CSTACK)                     ; End of CSTACK


#ifdef __ARMVFP__
; Enable the VFP coprocessor.
                mov     r0, #0x40000000                 ; Set EN bit in VFP
                fmxr    fpexc, r0                       ; FPEXC, clear others.

; Disable underflow exceptions by setting flush to zero mode.
; For full IEEE 754 underflow compliance this code should be removed
; and the appropriate exception handler installed.
                mov     r0, #0x01000000		        ; Set FZ bit in VFP
                fmxr    fpscr, r0                       ; FPSCR, clear others.
#endif

; Add more initialization here
		        msr   CPSR_c,#I_BIT | F_BIT | SVC_MODE


; Continue to ?main for more IAR specific system startup

                ldr     r0,=?main
                bx      r0

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色一区二区三区免费观看| 欧美成人欧美edvon| 亚洲国产综合91精品麻豆| 91色porny在线视频| 午夜精品久久久久久久久久| 欧美xxx久久| 成人黄色国产精品网站大全在线免费观看 | 最新久久zyz资源站| 国产成人精品一区二区三区网站观看| 伊人夜夜躁av伊人久久| 日韩欧美美女一区二区三区| 成人动漫一区二区| 免费在线欧美视频| 亚洲欧洲日韩一区二区三区| 日韩一卡二卡三卡| 91美女福利视频| 国产一区二区影院| 一区二区三区在线看| 欧美激情中文不卡| 欧美一区二区在线免费播放| 成人深夜在线观看| 免费高清成人在线| 亚洲一区二区三区视频在线| 精品欧美乱码久久久久久| 欧美色图激情小说| 播五月开心婷婷综合| 亚洲成人中文在线| 中文字幕一区二区三区四区不卡| 欧美r级电影在线观看| 成人av在线资源网站| 久久av资源网| 亚洲国产精品久久久久秋霞影院| 中文字幕巨乱亚洲| 欧美日韩第一区日日骚| 91一区二区在线| 国产成人一级电影| 久久精品国产成人一区二区三区| 日韩精品免费专区| 日本美女一区二区| 男女性色大片免费观看一区二区| 日韩精品高清不卡| 喷白浆一区二区| 蜜臀av国产精品久久久久| 免费人成精品欧美精品| 麻豆国产精品一区二区三区 | 久久国产精品99久久久久久老狼| 日本va欧美va瓶| 久久精品国产精品亚洲红杏| 国产一区久久久| 成人三级伦理片| 91丨porny丨蝌蚪视频| 91高清视频在线| 欧美日韩一区中文字幕| 69久久夜色精品国产69蝌蚪网| 欧美精品第1页| 精品1区2区在线观看| 国产欧美日韩三级| 亚洲精品你懂的| 天堂资源在线中文精品| 精品中文字幕一区二区| 国内精品伊人久久久久av影院| 国产精品中文字幕欧美| 成人午夜精品在线| 欧美主播一区二区三区美女| 这里是久久伊人| 国产亚洲制服色| 成人欧美一区二区三区| 亚洲18色成人| 国产制服丝袜一区| 色综合欧美在线| 欧美精品久久久久久久久老牛影院| 精品久久久久久久久久久院品网| 国产女主播视频一区二区| 中文字幕一区视频| 亚洲成年人影院| 国产老妇另类xxxxx| 色综合天天视频在线观看| 欧美精品黑人性xxxx| 亚洲国产成人一区二区三区| 亚洲影院久久精品| 国产精品一区二区你懂的| 国产一区二区在线看| 一本色道**综合亚洲精品蜜桃冫| 9191久久久久久久久久久| 精品国产欧美一区二区| 1000精品久久久久久久久| 日韩中文字幕区一区有砖一区| 国产成人午夜99999| 欧美系列在线观看| 国产亚洲制服色| 日本中文字幕一区二区有限公司| 成人a区在线观看| 欧美一二三区精品| 亚洲综合无码一区二区| 国产91清纯白嫩初高中在线观看| 欧美系列日韩一区| 中文字幕一区二区不卡| 精品一区中文字幕| 欧美日韩一区不卡| 一色屋精品亚洲香蕉网站| 久久成人免费网| 欧美久久一二三四区| 综合久久国产九一剧情麻豆| 激情丁香综合五月| 777午夜精品免费视频| 亚洲欧美另类久久久精品2019| 国产曰批免费观看久久久| 在线不卡的av| 亚洲综合在线第一页| 99精品视频一区二区三区| 久久久久亚洲蜜桃| 日本欧美一区二区三区乱码| 色94色欧美sute亚洲线路一ni | 精品久久久久久久一区二区蜜臀| 亚洲成av人**亚洲成av**| 粉嫩av亚洲一区二区图片| 精品理论电影在线观看| 视频一区国产视频| 欧美在线视频不卡| 悠悠色在线精品| 91啪亚洲精品| 国产精品欧美一区喷水| 国产剧情一区二区| 精品国产三级电影在线观看| 男人的天堂久久精品| 91精品国产免费| 免费精品视频最新在线| 欧美日韩一区不卡| 亚洲国产综合人成综合网站| 色综合一个色综合| 一区二区三区高清| 北条麻妃一区二区三区| 国产欧美精品一区aⅴ影院| 国产iv一区二区三区| 亚洲国产精品成人综合 | 日韩三级伦理片妻子的秘密按摩| 亚洲一二三四久久| 欧美色综合久久| 亚洲mv大片欧洲mv大片精品| 欧美日韩一级二级| 蜜臀91精品一区二区三区 | 中文在线资源观看网站视频免费不卡 | 国产自产视频一区二区三区| 久久色在线观看| 国产成人在线影院| 中文字幕不卡一区| 92精品国产成人观看免费| 玉米视频成人免费看| 欧日韩精品视频| 亚洲国产精品一区二区www在线 | 91精品国产91热久久久做人人 | 成人综合婷婷国产精品久久蜜臀| 国产欧美日韩亚州综合| 一本久久a久久精品亚洲| 亚洲一区二区三区视频在线 | 青青草原综合久久大伊人精品| 欧美一区二区性放荡片| 国产制服丝袜一区| 亚洲丝袜美腿综合| 欧美色手机在线观看| 美女视频一区二区三区| 国产午夜精品一区二区| 91啪在线观看| 美女mm1313爽爽久久久蜜臀| 日本一区二区三区免费乱视频 | 日韩午夜av电影| 国产成人精品三级| 亚洲乱码国产乱码精品精小说 | 日韩欧美国产综合在线一区二区三区| 精品一二三四区| 亚洲天堂精品视频| 91精品国产综合久久福利| 国产福利不卡视频| 一区二区三区美女| 精品免费99久久| 在线视频国内自拍亚洲视频| 麻豆成人在线观看| 综合中文字幕亚洲| 日韩欧美电影在线| 色综合天天综合网天天狠天天| 日韩av在线发布| 国产精品妹子av| 这里只有精品免费| 99久久精品国产网站| 麻豆久久久久久| 亚洲天堂免费在线观看视频| 精品国产免费视频| 欧美亚洲国产bt| 懂色av中文一区二区三区 | 成人午夜在线视频| 免费人成在线不卡| 亚洲精品久久7777| 久久亚洲精品国产精品紫薇| 欧美三区在线观看| 成人综合在线视频| 久久精品理论片| 亚洲午夜视频在线| 亚洲丝袜美腿综合| 国产网站一区二区三区| 91麻豆精品国产91久久久更新时间|