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

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

?? start.s

?? 這是一個實時的嵌入式操作系統的源代碼
?? S
字號:
;
; file:
;       start.S
; description:
;       s3c2410 startup code.
;

; MEMORY AREA
_RAM_STARTADDRESS   EQU 0x30000000
_RAM_ENDADDRESS     EQU 0x34000000
_ROM_STARTADDRESS   EQU 0x00000000
_ROM_ENDADDRESS     EQU 0x00200000


; STACK DEFINITIONS
_FIQ_STACK_ADDRESS  EQU (_RAM_ENDADDRESS-0x08000)   ; 14K
_IRQ_STACK_ADDRESS  EQU (_RAM_ENDADDRESS-0x0b800)   ; 14K
_ABT_STACK_ADDRESS  EQU (_RAM_ENDADDRESS-0x0f000)   ; 1K
_SVC_STACK_ADDRESS  EQU (_RAM_ENDADDRESS-0x0f400)   ; 2K
_UND_STACK_ADDRESS  EQU (_RAM_ENDADDRESS-0x0fc00)   ; 1k
_USR_STACK_ADDRESS  EQU (_RAM_ENDADDRESS-0x10000)   ; 0k


; PROCESSOR MODE
FIQ_MODE    EQU     0x11        ; Fast Interrupt Mode (FIQ)
IRQ_MODE    EQU     0x12        ; Interrupt Mode (IRQ)
ABT_MODE    EQU     0x17        ; Abort Mode(ABT)
SVC_MODE    EQU     0x13        ; Supervisor Mode (SVC)
UND_MODE    EQU     0x1b        ; Undefine Mode(UDF)
USR_MODE    EQU     0x10        ; User Mode(USR)
SYS_MODE    EQU     0x1f        ; System Mode(SYS)
MODE_MSK    EQU     0x1f        ; Processor Mode Mask


; IRQ BITS
F_BIT       EQU     0x40        ; FIQ Disable
I_BIT       EQU     0x80        ; IRQ Disable
LOCKOUT     EQU     0xc0        ; Interrupt lockout mask value


; watchdog controller
WTCON       EQU     0x53000000
WTDAT       EQU     0x53000004
WTCNT       EQU     0x53000008


; interrupt controller
SRCPND      EQU     0x4a000000
INTMOD      EQU     0x4a000004
INTMSK      EQU     0x4a000008
PRIORITY    EQU     0x4a00000c
INTPND      EQU     0x4a000010
INTOFFSET   EQU     0x4a000014
SUBSRCPND   EQU     0x4a000018
INTSUBMSK   EQU     0x4a00001c


; clock controller
LOCKTIME    EQU     0x4c000000
MPLLCON     EQU     0x4c000004
UPLLCON     EQU     0x4c000008
CLKCON      EQU     0x4c00000c
CLKSLOW     EQU     0x4c000010
CLKDIVN     EQU     0x4c000014
MM_DIV      EQU     0xa1                ; Fin=12MHz Fout=202.8MHz
MP_DIV      EQU     0x03
MS_DIV      EQU     0x01
UM_DIV      EQU     0x78
UP_DIV      EQU     0x02
US_DIV      EQU     0x03


; memory controller
BWSCON    EQU       0x48000000
BANKCON0  EQU       0x48000004
BANKCON1  EQU       0x48000008
BANKCON2  EQU       0x4800000c
BANKCON3  EQU       0x48000010
BANKCON4  EQU       0x48000014
BANKCON5  EQU       0x48000018
BANKCON6  EQU       0x4800001c
BANKCON7  EQU       0x48000020
REFRESH   EQU       0x48000024
BANKSIZE  EQU       0x48000028
MRSRB6    EQU       0x4800002c
MRSRB7    EQU       0x48000030


; STARTUP CODE
        AREA    start, CODE, READONLY, ALIGN=4
        CODE32

        ENTRY
        b       SystemResetHandler
        ldr     pc, =_RAM_STARTADDRESS+4    ; b       SystemUndefinedHandler
        ldr     pc, =_RAM_STARTADDRESS+8    ; b       SystemSwiHandler
        ldr     pc, =_RAM_STARTADDRESS+12   ; b       SystemPrefetchHandler
        ldr     pc, =_RAM_STARTADDRESS+16   ; b       SystemAbortHandler
        ldr     pc, =_RAM_STARTADDRESS+20   ; b       SystemReservedHandler
        ldr     pc, =_RAM_STARTADDRESS+24   ; b       SystemIrqHandler
        ldr     pc, =_RAM_STARTADDRESS+28   ; b       SystemFiqHandler
        LTORG


ConfigMemoryData
        DCD     0x22111112              ; BWSCON
        DCD     0x00000600              ; BANKCON0
        DCD     0x00000700              ; BANKCON1
        DCD     0x00000700              ; BANKCON2
        DCD     0x00000700              ; BANKCON3
        DCD     0x00000700              ; BANKCON4
        DCD     0x00000700              ; BANKCON5
        DCD     0x00018001              ; BANKCON6
        DCD     0x00018001              ; BANKCON7
        DCD     0x008001e9              ; REFRESH
        DCD     0x00000032              ; BANKSIZE
        DCD     0x00000030              ; MRSRB6
        DCD     0x00000030              ; MRSRB7


SystemReservedHandler
        b       SystemReservedHandler


SystemResetHandler
        ldr     r0, =WTCON              ; Disable WatchDog
        ldr     r1, =0x8000
        str     r1, [r0]

        ldr     r0, =INTMSK             ; Disable interrupt
        ldr     r1, =0xffffffff
        str     r1, [r0]

        ldr     r0, =INTSUBMSK          ; Disable sub interrupt
        ldr     r1, =0x07ff
        str     r1, [r0]

        ldr     r0, =INTMOD             ; IRQ mode
        ldr     r1, =0x00
        str     r1, [r0]

        ldr     r0, =SUBSRCPND          ; Clear sub interrupt pending
        ldr     r1, =0x07ff
        str     r1, [r0]

        ldr     r0, =SRCPND             ; Clear interrupt source
        ldr     r1, =0xffffffff
        str     r1, [r0]

        ldr     r0, =INTPND             ; Clear interrupt pending
        ldr     r1, =0xffffffff
        str     r1, [r0]

        b       Initialize_Memory
        LTORG


Initialize_Memory
        mov     r0, pc
        ldr     r1, =_RAM_STARTADDRESS
        cmp     r0, r1
        ldr     r0, =ConfigMemoryData
        sublt   r0, r0, r1
        ldmia   r0, {r1-r13}
        ldr     r0, =BWSCON
        stmia   r0, {r1-r13}

        b       Initialize_Code
        LTORG


        IMPORT  |Image$$RO$$Base|
        IMPORT  |Image$$RO$$Limit|
        IMPORT  |Image$$RW$$Base|
        IMPORT  |Image$$RW$$Limit|
        IMPORT  |Image$$ZI$$Base|
        IMPORT  |Image$$ZI$$Limit|
Initialize_Code
        mov     r0, pc
        ldr     r1, =_RAM_STARTADDRESS
        cmp     r0, r1
        bge     Initialize_Clock

        ldr     r0, =_ROM_STARTADDRESS
        ldr     r1, =|Image$$RO$$Base|
        ldr     r2, =|Image$$ZI$$Base|
0
        cmp     r1, r2
        bge     %F1
        ldmia   r0!, {r3-r10}
        stmia   r1!, {r3-r10}
        b       %B0
1
        ldr     pc, =_RAM_STARTADDRESS
        LTORG


Initialize_Clock
        ldr     r0, =CLKDIVN
        ldr     r1, =0x03
        str     r1, [r0]

        ldr     r0, =LOCKTIME
        ldr     r1, =0x00ffffff
        str     r1, [r0]

        ldr     r0, =MPLLCON
        ldr     r1, =((MM_DIV<<12)+(MP_DIV<<4)+MS_DIV)
        str     r1, [r0]

        ldr     r0, =UPLLCON
        ldr     r1, =((UM_DIV<<12)+(UP_DIV<<4)+US_DIV)
        str     r1, [r0]

        ldr     r0, =CLKCON
        ldr     r1, =0x0007fff0
        str     r1, [r0]

        ldr     r0, =CLKSLOW
        ldr     r1, =0x04
        str     r1, [r0]

        b       Initialize_Vector
        LTORG


Initialize_Vector
        ldr     r0, =_RAM_STARTADDRESS;

        add     r0, r0, #4
        ldr     r1, =SystemUndefinedHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemSwiHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemPrefetchHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemAbortHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemReservedHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemIrqHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemFiqHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        b       Initialize_Stack
        LTORG


Initialize_Stack
        mov     r0, #0x00

        orr     r1, r0, #LOCKOUT|FIQ_MODE
        msr     cpsr_cxsf, r1
        ldr     sp, =_FIQ_STACK_ADDRESS

        orr     r1, r0, #I_BIT|IRQ_MODE
        msr     cpsr_cxsf, r1
        ldr     sp, =_IRQ_STACK_ADDRESS

        orr     r1, r0, #LOCKOUT|ABT_MODE
        msr     cpsr_cxsf, r1
        ldr     sp, =_ABT_STACK_ADDRESS

        orr     r1, r0, #LOCKOUT|UND_MODE
        msr     cpsr_cxsf, r1
        ldr     sp, =_UND_STACK_ADDRESS

        orr     r1, r0, #LOCKOUT|SVC_MODE
        msr     cpsr_cxsf, r1
        ldr     sp, =_SVC_STACK_ADDRESS

        b       Initialize_Data
        LTORG


Initialize_Data
        ldr     r0, =|Image$$RO$$Limit|
        ldr     r1, =|Image$$RW$$Base|
        ldr     r2, =|Image$$ZI$$Base|
        ldr     r3, =|Image$$ZI$$Limit|
        mov     r4, #0

        cmp     r0, r1
        beq     %F1
0
        cmp     r1, r2
        ldrcc   r5, [r0], #4
        strcc   r5, [r1], #4
        bcc     %B0
1
        cmp     r2, r3
        strcc   r4, [r2], #4
        bcc     %B1

        b       Initialize_Entry
        LTORG


        IMPORT  _os_entry
Initialize_Entry
        mov     r0, #SYS_MODE
        msr     cpsr_cxsf, r0
        ldr     sp, =_USR_STACK_ADDRESS

        bl      _os_entry
        b       .
        LTORG


        IMPORT  Isr_UndefineHandler
SystemUndefinedHandler
        stmfd   sp!, {r0-r3, ip, lr}
        sub     r0, lr, #4
        bl      Isr_UndefineHandler
        ldmfd   sp!, {r0-r3, ip, pc}^


        IMPORT Isr_SwiHandler
SystemSwiHandler
        stmfd   sp!, {r0-r3, ip, lr}
        sub     r0, lr, #4
        ldr     r1, [r0]
        bic     r1, r1, #0xff000000
        bl      Isr_SwiHandler
        ldmfd   sp!, {r0-r3, ip, pc}^


        IMPORT  Isr_PrefetchAbortHandler
SystemPrefetchHandler
        stmfd   sp!, {r0-r3, ip, lr}
        sub     r0, lr, #4
        bl      Isr_PrefetchAbortHandler
        ldmfd   sp!, {r0-r3, ip, lr}
        subs    pc, lr, #4


        IMPORT  Isr_DataAbortHandler
SystemAbortHandler
        stmfd   sp!, {r0-r3, ip, lr}
        sub     r0, lr, #8
        bl      Isr_DataAbortHandler
        ldmfd   sp!, {r0-r3, ip, lr}
        subs    pc, lr, #8


        IMPORT  _irq_entry
SystemIrqHandler
        stmfd   sp!, {r0-r3, ip, lr}

        ldr     r0, =INTOFFSET
        ldr     r0, [r0]
        mov     r2, #1
        mov     r2, r2, lsl r0
        ldr     r1, =SRCPND             ; Clear SRCPND
        str     r2, [r1]
        ldr     r1, =INTPND             ; Clear INTPND
        str     r2, [r1]

        b       _irq_entry
        LTORG


        IMPORT  _irq_entry
SystemFiqHandler
        stmfd   sp!, {r0-r3, ip, lr}

        ldr     r1, =INTPND
        ldr     r1, [r1]
        cmp     r1, #0x00
        beq     %F2
        mov     r0, #0x0
0
        movs    r1, r1, lsr #1
        bcs     %F1
        add     r0, r0, #1
        b       %B0
1
        mov     r2, #1
        mov     r2, r2, lsl r0
        ldr     r1, =SRCPND             ; Clear SRCPND
        str     r2, [r1]
        ldr     r1, =INTPND             ; Clear INTPND
        str     r2, [r1]
        b       _irq_entry
2
        ldmfd   sp!, {r0-r3, ip, lr}
        subs    pc, lr, #4
        LTORG


        END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩中文字幕av电影| 一区二区在线观看视频| 欧美美女bb生活片| 91亚洲精品一区二区乱码| 欧美日韩国产乱码电影| jlzzjlzz亚洲女人18| 成人免费精品视频| 成人av影视在线观看| 不卡的电影网站| av中文字幕不卡| 99综合影院在线| 91尤物视频在线观看| 91丝袜高跟美女视频| 色婷婷久久久久swag精品| 色婷婷激情综合| 欧美日韩欧美一区二区| 日韩欧美在线不卡| 国产亚洲欧美一区在线观看| 国产清纯白嫩初高生在线观看91| 国产亚洲成年网址在线观看| 中文字幕一区免费在线观看| 亚洲综合一区二区三区| 日韩在线一二三区| 国产成人啪免费观看软件| www.久久精品| 欧美日韩午夜精品| 精品福利在线导航| 中文字幕在线观看不卡| 一区二区三区成人| 久久超级碰视频| 国产91精品入口| 久久色视频免费观看| 欧美激情一区不卡| 一区二区免费看| 国内精品写真在线观看| 97久久超碰精品国产| 制服丝袜av成人在线看| 国产女主播视频一区二区| 亚洲精品成人精品456| 久久成人av少妇免费| 色婷婷av一区二区三区gif| 欧美一级欧美一级在线播放| 国产精品第一页第二页第三页| 亚洲精品国产一区二区精华液| 美日韩一区二区三区| 91无套直看片红桃| 久久午夜色播影院免费高清| 一区二区在线观看av| 国产福利精品导航| 欧美日韩国产片| 亚洲黄色av一区| 国产精一品亚洲二区在线视频| 欧美午夜精品一区二区蜜桃| 国产婷婷精品av在线| 性欧美疯狂xxxxbbbb| 99视频精品在线| 2022国产精品视频| 日本美女一区二区| 在线视频亚洲一区| 国产精品成人免费在线| 国产精品综合二区| 国产精品美女久久久久久久久久久 | 美腿丝袜亚洲色图| 色欧美88888久久久久久影院| 精品国产一区二区三区av性色| 亚洲综合成人在线| 91在线丨porny丨国产| 国产日本亚洲高清| 寂寞少妇一区二区三区| 欧美一区二区三区婷婷月色| 亚洲国产美女搞黄色| 99精品欧美一区二区三区综合在线| 精品久久久网站| 极品美女销魂一区二区三区| 欧美一区二区三区视频在线| 午夜精品久久久久久久久久久| av在线一区二区三区| 亚洲天堂免费在线观看视频| 成人精品免费看| 国产无遮挡一区二区三区毛片日本| 美国十次了思思久久精品导航| 日韩三级在线观看| 久久国产精品色婷婷| 精品国产免费一区二区三区四区 | 欧美日韩在线播| 亚洲老司机在线| 欧美自拍偷拍一区| 一区二区三区成人在线视频| 欧美日韩国产天堂| 麻豆精品精品国产自在97香蕉| 日韩精品一区二区三区swag| 狠狠色狠狠色综合| 国产精品久久久久影院老司| 99re这里只有精品首页| 一区二区三区 在线观看视频| 欧美性感一类影片在线播放| 日本视频在线一区| 精品成人a区在线观看| 国产成人精品午夜视频免费| 国产精品久久久久精k8| 色乱码一区二区三区88| 香蕉加勒比综合久久| 日韩欧美的一区二区| 国产成人免费av在线| 一区二区三区四区精品在线视频| 欧美日韩免费一区二区三区 | 成人ar影院免费观看视频| 亚洲欧美另类在线| 日韩午夜激情视频| 成人精品视频.| 三级欧美在线一区| 国产视频一区二区在线| 日本韩国欧美一区二区三区| 蜜臀国产一区二区三区在线播放 | 欧洲精品一区二区| 精品一区二区在线视频| 亚洲品质自拍视频| 欧美成人一区二区三区片免费 | 亚洲国产精品久久久久婷婷884 | 久久久三级国产网站| 91啪九色porn原创视频在线观看| 日韩电影在线观看一区| 综合分类小说区另类春色亚洲小说欧美 | 久久精品亚洲精品国产欧美| 在线亚洲一区二区| 国产成人午夜99999| 午夜精品成人在线| 最新热久久免费视频| 精品久久久久一区| 欧美色综合久久| 成人av电影在线网| 国产一区二区三区免费观看| 亚洲综合久久久| 国产精品麻豆久久久| 日韩女优毛片在线| 欧洲一区在线电影| 波多野结衣欧美| 国产成人精品影视| 激情五月激情综合网| 日韩精品乱码av一区二区| 亚洲精品中文在线影院| 国产精品三级av| 久久免费视频一区| 欧美va亚洲va在线观看蝴蝶网| 91色在线porny| 9色porny自拍视频一区二区| 国产精品综合一区二区| 国产一区二区日韩精品| 久草这里只有精品视频| 麻豆精品视频在线观看视频| 日本欧洲一区二区| 日本一不卡视频| 亚洲成人av一区| 五月天一区二区| 日日夜夜精品视频天天综合网| 亚洲一区在线观看免费观看电影高清| 国产精品毛片无遮挡高清| 国产精品久99| 一区二区三区小说| 亚洲午夜久久久久久久久久久| 亚洲综合另类小说| 手机精品视频在线观看| 日韩av一区二区三区四区| 免费在线看成人av| 精品一区二区在线视频| 国产精品亚洲一区二区三区妖精 | 国产成人综合网| 成人精品视频网站| 91亚洲国产成人精品一区二区三 | 波波电影院一区二区三区| 91美女在线观看| 欧美天堂一区二区三区| 在线观看91av| 久久先锋资源网| 亚洲欧洲av另类| 视频一区二区三区中文字幕| 美腿丝袜亚洲一区| 国产69精品久久99不卡| 96av麻豆蜜桃一区二区| 欧美日韩精品系列| 久久综合99re88久久爱| 中文字幕中文乱码欧美一区二区| 亚洲精品成人精品456| 日韩精品福利网| 国产成人av资源| 欧美三区在线观看| 一区二区三区欧美视频| 亚洲国产aⅴ成人精品无吗| 久久成人麻豆午夜电影| av不卡免费在线观看| 日韩欧美自拍偷拍| 成人免费视频在线观看| 美女视频网站久久| 91欧美一区二区| 久久人人超碰精品| 亚洲高清免费观看 | 亚洲高清视频的网址| 国产精品一区二区在线观看不卡| 色屁屁一区二区| 国产欧美视频在线观看|