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

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

?? startup.s

?? 適合LPC系列的ARM開發中的簡單實例,請多多執教
?? S
字號:
/**********************************************************************************************
*File:		startup.s
*Author:	Embest w.h.xie	2005.02.21
*Desc:		lpc22xx\lpc212x\lpc211x\lpc210x startup code
*History:	
*		
*comment:
**********************************************************************************************/

# 7 work mode
.EQU	Mode_USR,             0x10
.EQU	Mode_FIQ,             0x11
.EQU	Mode_IRQ,             0x12
.EQU	Mode_SVC,             0x13
.EQU	Mode_ABT,             0x17
.EQU	Mode_UND,             0x1B
.EQU	Mode_SYS,             0x1F

# interrupt shield bit
.EQU	I_Bit,                0x80
.EQU	F_Bit,                0x40

# state shield bit
.EQU	T_bit,                0x20


# Define the entry point
.globl _start
                .code 32

                .TEXT 
                
_start:

# interrupt Vectors

Vectors:
                LDR     PC, Reset_Addr         
                LDR     PC, Undef_Addr
                LDR     PC, SWI_Addr
                LDR     PC, PAbt_Addr
                LDR     PC, DAbt_Addr
                .long   0xb9205f80          @ keep interrupt vectors sum is 0
                LDR     PC, [PC, #-0xff0]
                LDR     PC, FIQ_Addr

Reset_Addr:
      .long     Reset_Handler
Undef_Addr:
      .long     Undef_Handler
SWI_Addr:
      .long     SWI_Handler
PAbt_Addr:
      .long     PAbt_Handler
DAbt_Addr:
      .long     DAbt_Handler
      .long     0
IRQ_Addr:
      .long     0
FIQ_Addr:
      .long     FIQ_Handler


Undef_Handler:
      B         Undef_Handler
PAbt_Handler:
      B         PAbt_Handler
DAbt_Handler:
      B         DAbt_Handler

SWI_Handler:
                STMFD   sp!, {r0-r3, r12, lr}  
                MOV     r1, sp
                MRS     r0, spsr
                TST     r0, #T_bit
                LDRNEH  r0, [lr,#-2]
                BICNE   r0, r0, #0xFF00
                LDREQ   r0, [lr,#-4]
                BICEQ   r0, r0, #0xFF000000

                # R0 is interrupt number
                # R1 is stack point

                BL      SWI_Exception
                LDMFD   sp!, {r0-r3, r12, pc}^ 


# FIQ_Handler code
FIQ_Handler:    
                STMFD     SP!, {R0-R3, LR}
#                BL           FIQ_Exception
                LDMFD     SP!, {R0-R3, LR}
                SUBS       PC, LR, #4

# The reset handler
Reset_Handler:
                BL       RemapSRAM         @ open MAP
                MRS      R0, CPSR
                AND      R0, R0, #0x1F
                CMP      R0,  #Mode_USR
                SWIEQ    #11
                BL       InitStack
			
#------------------------------------------------------------------------------
#- Initialise C variables
#------------------------
#- Following labels are automatically generated by the linker. 
#- RO: Read-only = the code
#- RW: Read Write = the data pre-initialized and zero-initialized.
#- ZI: Zero-Initialized.
#- Pre-initialization values are located after the code area in the image.
#- Zero-initialized datas are mapped after the pre-initialized.
#- Note on the Data position : 
#- If using the ARMSDT, when no -rw-base option is used for the linker, the 
#- data area is mapped after the code. You can map the data either in internal
#- SRAM ( -rw-base=0x40 or 0x34) or in external SRAM ( -rw-base=0x2000000 ).
#- Note also that to improve the code density, the pre_initialized data must 
#- be limited to a minimum.
#------------------------------------------------------------------------------

                .extern       Image_RO_Limit      	/* End of ROM code (=start of ROM data) */
                .extern       Image_RW_Base       	/* Base of RAM to initialise */           
                .extern       Image_ZI_Base       	/* Base and limit of area */              
                .extern       Image_ZI_Limit      	/* to zero initialise */                  

                ldr         r0, =Image_RO_Limit 	/* Get pointer to ROM data */
                ldr         r1, =Image_RW_Base  	/* and RAM copy */
                ldr         r3, =Image_ZI_Base  	/* Zero init base => top of initialised data */
                cmp         r0, r1                  /* Check that they are different */
                beq         NoRW
LoopRw:         cmp         r1, r3                  /* Copy init data */
                ldrcc       r2, [r0], #4
                strcc       r2, [r1], #4
                bcc         LoopRw
NoRW:           ldr         r1, =Image_ZI_Limit 	/* Top of zero init segment */
                mov         r2, #0
LoopZI:         cmp         r3, r1                  /* Zero init */
                strcc       r2, [r3], #4
                bcc         LoopZI

                .extern  Main
                B        Main

# Setup the stack for each mode
InitStack:
				MOV     R1, LR

				LDR     R0, =Top_Stack

				MSR     CPSR_c, #Mode_UND|I_Bit|F_Bit
				MOV     SP, R0
				SUB     R0, R0, #UND_Stack_Size

				MSR     CPSR_c, #Mode_ABT|I_Bit|F_Bit
				MOV     SP, R0
				SUB     R0, R0, #ABT_Stack_Size

				MSR     CPSR_c, #Mode_FIQ|I_Bit|F_Bit
				MOV     SP, R0
				SUB     R0, R0, #FIQ_Stack_Size

				MSR     CPSR_c, #Mode_IRQ|I_Bit|F_Bit
				MOV     SP, R0
				SUB     R0, R0, #IRQ_Stack_Size

				MSR     CPSR_c, #Mode_SVC|I_Bit|F_Bit
				MOV     SP, R0
				SUB     R0, R0, #SVC_Stack_Size


				MSR     CPSR_c, #Mode_USR
				MOV     SP, R0

				MOV     PC, R1

# Open RemapSRAM
RemapSRAM:
#                STMFD  SP!, {R0-R1,LR}
                
                MOV    R0, #0x40000000
                LDR    R1, =Vectors
                LDMIA  R1!, {R2-R9}
                STMIA  R0!, {R2-R9}
                LDMIA  R1!, {R2-R9}
                STMIA  R0!, {R2-R9}

                LDR    R0, =MEMMAP
                MOV    R1, #0x02
                STR    R1, [R0]
                
                mov    pc,  lr
  
#                LDMFD  SP!, {R0-R1,pc}

.globl   disable_IRQ
.globl   restore_IRQ
.globl   ToSys
.globl   ToUser


# disable IRQ

disable_IRQ:   
               STMFD   SP!, {LR}
               swi     #0
               LDMFD   SP!, {pc}


# restoreIRQ

restore_IRQ:
               STMFD   SP!, {LR}
               swi     #1
               LDMFD   SP!, {pc}

# ToSys work mode

ToSys:
               STMFD   SP!, {LR}
               swi     #11
               LDMFD   SP!, {pc}

# ToUser work mode

ToUser:
               STMFD   SP!, {LR}
               swi     #12
               LDMFD   SP!, {pc}


# Swi interrupt code

SWI_Exception:
               STMFD   SP!, {R2-R3,LR}
               CMP     R0,  #0
               
               MRSEQ   R2,  SPSR
               STREQ   R2,  [R1]
               ORREQ   R2,  R2, #0x80
               MSREQ   SPSR_c, R2
               
               CMP     R0,  #1
               LDREQ   R2,  [R1]
               MSREQ   SPSR_c, R2  
                
               CMP     R0,  #11
               MRSEQ   R2,  SPSR
               BICEQ   R2,  R2, #0x1F
               ORREQ   R2,  R2, #Mode_SYS
               MSREQ   SPSR_c, R2   
                
               CMP     R0,  #12
               MRSEQ   R2,  SPSR
               BICEQ   R2,  R2, #0x1F
               ORREQ   R2,  R2, #Mode_USR
               MSREQ   SPSR_c, R2  
                
               
               LDMFD   SP!, {R2-R3,PC}

  
   .END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区在线观看| 欧美日韩国产在线播放网站| 青娱乐精品视频| 亚洲欧美另类久久久精品2019| 久久久久久综合| 久久无码av三级| 久久影院午夜论| 国产亚洲福利社区一区| 久久综合久久99| 中文字幕欧美激情一区| 中文字幕不卡在线观看| 自拍偷拍欧美激情| 亚洲美女在线国产| 亚洲国产另类av| 日本欧美韩国一区三区| 蜜臀av性久久久久蜜臀av麻豆| av不卡免费电影| av在线综合网| 在线中文字幕不卡| 在线不卡中文字幕| 久久亚洲捆绑美女| 国产精品久久久久久久浪潮网站 | 亚洲精选一二三| 亚洲综合色噜噜狠狠| 日韩国产一二三区| 国产真实乱子伦精品视频| 从欧美一区二区三区| 99久久99久久精品免费观看| 欧美色大人视频| 精品捆绑美女sm三区| 最新欧美精品一区二区三区| 亚洲网友自拍偷拍| 国产综合色视频| 91美女福利视频| 日韩欧美国产综合| 亚洲日本一区二区三区| 日本不卡1234视频| 色8久久精品久久久久久蜜| 91精品欧美一区二区三区综合在| 久久久久99精品国产片| 一区二区三区中文字幕电影| 精品一区免费av| 色哟哟一区二区在线观看| 日韩欧美一级片| 亚洲天堂成人在线观看| 黄色日韩网站视频| 欧美性videosxxxxx| 国产视频一区二区三区在线观看| 亚洲二区在线视频| 成人综合在线网站| 精品嫩草影院久久| 午夜电影久久久| 91免费在线看| 国产精品理论片在线观看| 毛片av一区二区| 欧美午夜影院一区| 国产精品女上位| 黑人巨大精品欧美一区| 6080国产精品一区二区| 亚洲一区国产视频| 91丨porny丨国产入口| 久久久久久久久久电影| 美女视频网站黄色亚洲| 91麻豆精品91久久久久久清纯| 国产精品久久久久久久久久久免费看| 蜜桃精品在线观看| 制服.丝袜.亚洲.中文.综合| 亚洲午夜久久久| 色狠狠一区二区| 专区另类欧美日韩| 99精品国产热久久91蜜凸| 日本一区二区视频在线观看| 久久电影网电视剧免费观看| 69p69国产精品| 青椒成人免费视频| 欧美一区二区三区影视| 免费欧美高清视频| 欧美成人精精品一区二区频| 日本sm残虐另类| 欧美va日韩va| 国产99久久久精品| 国产精品蜜臀在线观看| 99re这里只有精品首页| 一区二区激情小说| 欧美日韩日日夜夜| 奇米色一区二区| 久久蜜桃av一区精品变态类天堂 | av动漫一区二区| 亚洲一卡二卡三卡四卡五卡| 91久久精品一区二区三区| 亚洲色图制服诱惑 | 国产精品一区二区在线观看网站| 欧美大胆一级视频| 国产91精品免费| 亚洲欧洲国产日韩| 在线免费不卡电影| 免费不卡在线视频| 国产日韩欧美一区二区三区综合| 成人久久18免费网站麻豆 | 麻豆91在线播放| 国产清纯白嫩初高生在线观看91 | 午夜精品在线看| 日韩一区二区视频| 国产精品资源网| 亚洲免费观看高清| 欧美变态tickling挠脚心| 国产麻豆精品theporn| 依依成人综合视频| 日韩欧美一区二区免费| av欧美精品.com| 三级欧美韩日大片在线看| 精品黑人一区二区三区久久 | 日本高清免费不卡视频| 日本在线不卡视频一二三区| 久久影院电视剧免费观看| 91福利精品视频| 国产精品18久久久久久久久久久久| 亚洲男女毛片无遮挡| xfplay精品久久| 欧美视频中文一区二区三区在线观看| 激情综合网天天干| 一区二区三区精品久久久| 久久奇米777| 欧美日韩国产综合一区二区三区| 国产成人欧美日韩在线电影| 亚洲成人高清在线| 国产精品久久久久四虎| 精品美女一区二区| 欧美性生活大片视频| 丁香激情综合五月| 日精品一区二区| 一区二区久久久久久| 亚洲国产精品黑人久久久| 日韩一级免费观看| 欧美日韩一区二区三区在线| 高清beeg欧美| 国产裸体歌舞团一区二区| 日韩国产欧美在线视频| 亚洲男同1069视频| 国产精品久久久久婷婷二区次| 久久久亚洲综合| 日韩亚洲国产中文字幕欧美| 91国在线观看| 色综合咪咪久久| 91麻豆.com| 色综合色综合色综合| av激情综合网| 97se亚洲国产综合自在线不卡 | 成人av电影在线观看| 国产精品白丝av| 国产高清亚洲一区| 韩国欧美国产一区| 久久99精品国产91久久来源| 麻豆精品久久久| 久久精品国产网站| 精品写真视频在线观看 | 精品一二线国产| 久久9热精品视频| 国内精品伊人久久久久av影院| 蜜桃视频免费观看一区| 国产综合一区二区| 国产精品一区二区视频| 成人网男人的天堂| www.爱久久.com| 色综合久久综合网| 欧美综合色免费| 这里只有精品电影| 精品国产百合女同互慰| 2023国产精华国产精品| 国产欧美综合在线观看第十页| 国产精品视频免费看| 亚洲精品成人在线| 五月天激情小说综合| 久久99九九99精品| 粉嫩久久99精品久久久久久夜| 91视视频在线观看入口直接观看www| 日本二三区不卡| 欧美第一区第二区| 国产精品视频一二| 午夜精品久久久久久久| 蜜桃91丨九色丨蝌蚪91桃色| 国产激情91久久精品导航| 99久久综合狠狠综合久久| 欧美日韩极品在线观看一区| 日韩免费视频线观看| 一区在线观看视频| 视频一区中文字幕| 成人一区二区视频| 欧美精品第一页| 国产精品美女久久久久久久久 | 欧美视频一区二区三区在线观看| 6080yy午夜一二三区久久| 国产亚洲欧美激情| 亚洲综合色噜噜狠狠| 国产精品中文有码| 欧美日韩免费一区二区三区视频| 欧美精品一区男女天堂| 亚洲香肠在线观看| 国产成人av一区二区三区在线| 欧美日韩一级视频|