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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? crt0.s

?? ARM LPC2138中斷原程序
?? S
字號:
/* 
 crt0.S for LPC2xxx
 - based on examples from R O Software
 - based on examples from newlib-lpc
 - based on an example from Anglia Designs

 collected and modified by Martin Thomas
*/

        .global _etext                  // -> .data initial values in ROM
        .global _data                   // -> .data area in RAM
        .global _edata                  // end of .data area
        .global __bss_start             // -> .bss area in RAM
        .global __bss_end__             // end of .bss area
        .global _stack                  // top of stack

// Stack Sizes
        .set  UND_STACK_SIZE, 0x00000004
        .set  ABT_STACK_SIZE, 0x00000004
        .set  FIQ_STACK_SIZE, 0x00000004
        .set  IRQ_STACK_SIZE, 0X00000080
        .set  SVC_STACK_SIZE, 0x00000004

// Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs
        .set  MODE_USR, 0x10            // User Mode
        .set  MODE_FIQ, 0x11            // FIQ Mode
        .set  MODE_IRQ, 0x12            // IRQ Mode
        .set  MODE_SVC, 0x13            // Supervisor Mode
        .set  MODE_ABT, 0x17            // Abort Mode
        .set  MODE_UND, 0x1B            // Undefined Mode
        .set  MODE_SYS, 0x1F            // System Mode

        .equ  I_BIT, 0x80               // when I bit is set, IRQ is disabled
        .equ  F_BIT, 0x40               // when F bit is set, FIQ is disabled

        .text
	.arm
	.section .init, "ax"

        .code 32
        .align 2

        .global _boot
        .func   _boot
_boot:

// Runtime Interrupt Vectors
// -------------------------
Vectors:
        b     _start                    // reset - _start
        ldr   pc,_undf                  // undefined - _undf
        ldr   pc,_swi                   // SWI - _swi
        ldr   pc,_pabt                  // program abort - _pabt
        ldr   pc,_dabt                  // data abort - _dabt
        nop                             // reserved
        ldr   pc,[pc,#-0xFF0]           // IRQ - read the VIC
        ldr   pc,_fiq                   // FIQ - _fiq

#if 0
// Use this group for production
_undf:  .word _reset                    // undefined - _reset
_swi:   .word _reset                    // SWI - _reset
_pabt:  .word _reset                    // program abort - _reset
_dabt:  .word _reset                    // data abort - _reset
_irq:   .word _reset                    // IRQ - _reset
_fiq:   .word _reset                    // FIQ - _reset

#else
// Use this group for development
_undf:  .word __undf                    // undefined
_swi:   .word __swi                     // SWI
_pabt:  .word __pabt                    // program abort
_dabt:  .word __dabt                    // data abort
_irq:   .word __irq                     // IRQ
_fiq:   .word __fiq                     // FIQ

__undf: b     .                         // undefined
__swi:  b     .                         // SWI
__pabt: b     .                         // program abort
__dabt: b     .                         // data abort
__irq:  b     .                         // IRQ
__fiq:  b     .                         // FIQ
#endif
        .size _boot, . - _boot
        .endfunc


// Setup the operating mode & stack.
// ---------------------------------
        .global _start, start, _mainCRTStartup
        .func   _start

_start:
start:
_mainCRTStartup:

// Initialize Interrupt System
// - Set stack location for each mode
// - Leave in System Mode with Interrupts Disabled
// -----------------------------------------------
        ldr   r0,=_stack
        msr   CPSR_c,#MODE_UND|I_BIT|F_BIT // Undefined Instruction Mode
        mov   sp,r0
        sub   r0,r0,#UND_STACK_SIZE
        msr   CPSR_c,#MODE_ABT|I_BIT|F_BIT // Abort Mode
        mov   sp,r0
        sub   r0,r0,#ABT_STACK_SIZE
        msr   CPSR_c,#MODE_FIQ|I_BIT|F_BIT // FIQ Mode
        mov   sp,r0
        sub   r0,r0,#FIQ_STACK_SIZE
        msr   CPSR_c,#MODE_IRQ|I_BIT|F_BIT // IRQ Mode
        mov   sp,r0
        sub   r0,r0,#IRQ_STACK_SIZE
        msr   CPSR_c,#MODE_SVC|I_BIT|F_BIT // Supervisor Mode
        mov   sp,r0
        sub   r0,r0,#SVC_STACK_SIZE
        msr   CPSR_c,#MODE_SYS|I_BIT|F_BIT // System Mode
        mov   sp,r0

// Copy initialized data to its execution address in RAM
// -----------------------------------------------------
#ifdef ROM_RUN
        ldr   r1,=_etext                // -> ROM data start
        ldr   r2,=_data                 // -> data start
        ldr   r3,=_edata                // -> end of data
1:      cmp   r2,r3                     // check if data to move
        ldrlo r0,[r1],#4                // copy it
        strlo r0,[r2],#4
        blo   1b                        // loop until done
#endif
// Clear .bss
// ----------
        mov   r0,#0                     // get a zero
        ldr   r1,=__bss_start           // -> bss start
        ldr   r2,=__bss_end__           // -> bss end
2:      cmp   r1,r2                     // check if data to clear
        strlo r0,[r1],#4                // clear 4 bytes
        blo   2b                        // loop until done
		
/*
   Call C++ constructors (for objects in "global scope")
   ctor loop added by Martin Thomas 4/2005 
   based on a Anglia Design example-application for ST ARM
*/

		LDR 	r0, =__ctors_start__
		LDR 	r1, =__ctors_end__
ctor_loop:
		CMP 	r0, r1
		BEQ 	ctor_end
		LDR 	r2, [r0], #4
		STMFD 	sp!, {r0-r1}
		MOV 	lr, pc
		MOV 	pc, r2
		LDMFD 	sp!, {r0-r1}
		B 		ctor_loop
ctor_end:

// Call main program: main(0)
// --------------------------
        mov   r0,#0                     // no arguments (argc = 0)
        mov   r1,r0
        mov   r2,r0
        mov   fp,r0                     // null frame pointer
        mov   r7,r0                     // null frame pointer for thumb
        ldr   r10,=main
        mov   lr,pc

/* Enter the C code, use BX instruction so as to never return */
/* use BLX (?) main if you want to use c++ destructors below */

        bx    r10                       // enter main()

/* "global object"-dtors are never called and it should not be 
   needed since there is no OS to exit to. */
/* Call destructors */
#		LDR		r0, =__dtors_start__
#		LDR		r1, =__dtors_end__
dtor_loop:
#		CMP		r0, r1
#		BEQ		dtor_end
#		LDR		r2, [r0], #4
#		STMFD	sp!, {r0-r1}
#		MOV		lr, pc
#		MOV		pc, r2
#		LDMFD	sp!, {r0-r1}
#		B		dtor_loop
dtor_end:
   
        .size   _start, . - _start
        .endfunc

        .global _reset, reset, exit, abort
        .func   _reset
_reset:
reset:
exit:
abort:
#if 0
// Disable interrupts, then force a hardware reset by driving P23 low
// -------------------------------------------------------------------
        mrs   r0,cpsr                   // get PSR
        orr   r0,r0,#I_BIT|F_BIT        // disable IRQ and FIQ
        msr   cpsr,r0                   // set up status register

        ldr   r1,=(PS_BASE)             // PS Base Address
        ldr   r0,=(PS_PIO)              // PIO Module
        str   r0,[r1,#PS_PCER_OFF]      // enable its clock
        ldr   r1,=(PIO_BASE)            // PIO Base Address
        ldr   r0,=(1<<23)               // P23
        str   r0,[r1,#PIO_PER_OFF]      // make sure pin is contolled by PIO
        str   r0,[r1,#PIO_CODR_OFF]     // set the pin low
        str   r0,[r1,#PIO_OER_OFF]      // make it an output
#endif
        b     .                         // loop until reset

        .size _reset, . - _reset
        .endfunc

        .end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区男人的天堂| 国产成人精品一区二| 在线观看日韩高清av| 亚洲国产精品视频| 欧美三级在线播放| 免费在线看成人av| 久久精品亚洲乱码伦伦中文| 国产精品一区在线观看乱码| 国产免费成人在线视频| 色综合久久久久| 日本va欧美va欧美va精品| 精品美女一区二区三区| 国产**成人网毛片九色 | 日韩制服丝袜先锋影音| 日韩亚洲欧美在线| 国产成人8x视频一区二区| 日韩美女视频一区| 91精品国产欧美一区二区18| 国产成人午夜99999| 一区二区在线观看免费| 日韩一卡二卡三卡国产欧美| 国产高清在线精品| 一级特黄大欧美久久久| 久久一二三国产| 在线影院国内精品| 国产精品亚洲专一区二区三区 | 欧美日韩亚洲国产综合| 狠狠色丁香久久婷婷综| 国产精品国产三级国产aⅴ入口| 欧美视频自拍偷拍| 国产成人av自拍| 日韩高清不卡在线| 日韩一区中文字幕| 精品国产伦理网| 在线看国产一区二区| 国产精品69毛片高清亚洲| 亚洲夂夂婷婷色拍ww47| 国产喷白浆一区二区三区| 欧美卡1卡2卡| 97久久精品人人澡人人爽| 久久精品理论片| 亚洲国产日日夜夜| 国产欧美久久久精品影院| 777午夜精品免费视频| 91在线观看视频| 麻豆国产欧美日韩综合精品二区 | 国产网站一区二区| 51精品秘密在线观看| 色婷婷亚洲精品| 国产成人8x视频一区二区| 免费高清在线一区| 性欧美疯狂xxxxbbbb| 1区2区3区精品视频| 久久女同精品一区二区| 91精品国产色综合久久久蜜香臀| 日本高清不卡视频| 成人动漫一区二区三区| 国产黄色91视频| 国产一区二区精品在线观看| 日韩成人精品视频| 同产精品九九九| 亚洲一区二区三区在线看| 亚洲欧美日韩国产另类专区| 亚洲国产精品精华液ab| 国产视频一区二区在线| 日韩精品中文字幕在线一区| 欧美一区二区三区成人| 91 com成人网| 制服丝袜成人动漫| 91精品国产全国免费观看| 欧美理论片在线| 91.xcao| 日韩欧美黄色影院| 日韩一区二区三区四区| 日韩一二三区不卡| 精品国产一二三| 亚洲精品一区二区三区精华液 | 韩国视频一区二区| 久久不见久久见免费视频7| 日本美女视频一区二区| 蜜臀久久99精品久久久久宅男| 亚洲成人激情综合网| 丝瓜av网站精品一区二区| 青青草原综合久久大伊人精品优势| 五月天久久比比资源色| 日本不卡1234视频| 国产精品亚洲专一区二区三区 | 欧美三级在线播放| 8v天堂国产在线一区二区| 91精品国产91热久久久做人人| 日韩欧美美女一区二区三区| 精品国产一区二区三区忘忧草 | 2020国产精品| 国产精品入口麻豆原神| 亚洲女爱视频在线| 亚洲乱码中文字幕综合| 性感美女极品91精品| 日韩电影在线免费看| 国产一区二区三区| 97国产一区二区| 欧美三级乱人伦电影| 欧美一区二区三区免费在线看| 久久久久久免费网| 亚洲精品成人a在线观看| 丝袜a∨在线一区二区三区不卡| 久久国产三级精品| 成人高清伦理免费影院在线观看| 欧洲激情一区二区| 精品美女在线播放| 自拍偷拍亚洲激情| 美女视频一区二区三区| 国产成人精品免费在线| 色视频一区二区| 精品日韩成人av| 中文字幕色av一区二区三区| 天天综合网 天天综合色| 国产麻豆精品视频| 欧美在线视频不卡| 国产日韩三级在线| 爽好久久久欧美精品| 成人av小说网| 日韩免费一区二区| 悠悠色在线精品| 国产不卡在线视频| 欧美一卡二卡三卡四卡| 国产精品久久久一本精品| 视频在线观看国产精品| 不卡的av电影| 欧美r级在线观看| 一级日本不卡的影视| 国产精品一二三| 91精品国产91久久综合桃花| 亚洲欧美另类久久久精品2019| 国内精品第一页| 欧美亚州韩日在线看免费版国语版| 久久你懂得1024| 日本中文字幕一区| 91国产成人在线| 日本一区二区电影| 国产在线观看免费一区| 欧美一区二区三区影视| 最近日韩中文字幕| 国产精品888| 日韩三级免费观看| 亚洲动漫第一页| 91麻豆精品在线观看| 国产丝袜美腿一区二区三区| 美女视频一区二区三区| 欧美人与性动xxxx| 亚洲一二三四久久| 色综合天天狠狠| 亚洲特级片在线| 成人国产亚洲欧美成人综合网| ww亚洲ww在线观看国产| 日本强好片久久久久久aaa| 欧美在线一区二区三区| 一区二区三区在线视频观看58| 成人涩涩免费视频| 国产日产欧美一区二区三区| 激情久久五月天| 日韩欧美亚洲国产另类| 日韩av中文字幕一区二区| 在线不卡中文字幕播放| 亚洲午夜三级在线| 欧美日韩一区三区| 五月激情综合婷婷| 在线综合亚洲欧美在线视频| 婷婷成人综合网| 日韩一区二区三区视频在线| 免费人成网站在线观看欧美高清| 欧美一区二区三区四区久久| 日日夜夜免费精品| 7777精品伊人久久久大香线蕉超级流畅 | 91精品国产免费| 日本美女一区二区三区| 欧美一区二区三区播放老司机| 免费观看成人av| 精品乱人伦小说| 国产成人超碰人人澡人人澡| 国产精品网站在线播放| 一本高清dvd不卡在线观看| 亚洲精品中文在线| 欧美色图一区二区三区| 亚洲国产乱码最新视频| 在线播放欧美女士性生活| 蜜臀av亚洲一区中文字幕| 日韩欧美你懂的| 国产福利精品导航| 国产精品久久二区二区| 在线观看91精品国产入口| 日韩国产在线观看一区| 日韩一本二本av| 成人午夜在线播放| 亚洲午夜视频在线| xfplay精品久久| 在线视频欧美区| 九色综合狠狠综合久久| 最新国产精品久久精品| 欧美久久久久久久久中文字幕| 精品一区二区三区av|