⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cstartup.paf.arm

📁 ARM入门的好帮手.包含了从简单到相对较复杂的程序.
💻 ARM
📖 第 1 页 / 共 5 页
字号:
                stmia   r8!, {r0-r1}            
#line 42
                add     r8, r8,4               
#line 42
                stmia   r8!, {r3-r7}            
#line 42
        #else                                    
#line 42
                stmia   r8!, {r0-r7}            
#line 42
 
#line 42
        #endif                                   
#line 42
                ldmia   r9!, {r0-r4}            
#line 42
                stmia   r8!, {r0-r4}            
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
                sub     r10, pc,(8+.-InitTableEBI) 
#line 42
                ldr     r12, PtInitRemap        
#line 42

#line 42

#line 42
                ldmia   r10!, {r0-r9,r11}       
#line 42
                stmia   r11!, {r0-r9}           
#line 42

#line 42

#line 42
                mov     pc, r12                 
#line 42

#line 42
PtInitRemap
#line 42
                
	.word     InitRemap               
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
InitRemap
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
#define IRQ_STACK_SIZE           (3*8*4)     
#line 42
#define FIQ_STACK_SIZE           (3*4)       
#line 42
#define ABT_STACK_SIZE           (1*4)       
#line 42
#define UND_STACK_SIZE           (1*4)       
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
#define TOP_EXCEPTION_STACK          RAM_LIMIT           
#line 42
#define TOP_APPLICATION_STACK        EXT_SRAM_LIMIT      
#line 42

#line 42

#line 42

#line 42

#line 42
                ldr     r0, =TOP_EXCEPTION_STACK
#line 42

#line 42

#line 42
                msr     CPSR_c, ARM_MODE_FIQ | I_BIT | F_BIT
#line 42
                mov     r13, r0                     
#line 42
                sub     r0, r0, FIQ_STACK_SIZE
#line 42

#line 42

#line 42
                msr     CPSR_c, ARM_MODE_IRQ | I_BIT | F_BIT
#line 42
                mov     r13, r0                     
#line 42
                sub     r0, r0, IRQ_STACK_SIZE
#line 42

#line 42

#line 42
                msr     CPSR_c, ARM_MODE_ABORT | I_BIT | F_BIT
#line 42
                mov     r13, r0                     
#line 42
                sub     r0, r0, ABT_STACK_SIZE
#line 42

#line 42

#line 42
                msr     CPSR_c, ARM_MODE_UNDEF | I_BIT | F_BIT
#line 42
                mov     r13, r0                     
#line 42
                sub     r0, r0, UND_STACK_SIZE
#line 42

#line 42

#line 42
                msr     CPSR_c, ARM_MODE_SVC | I_BIT | F_BIT
#line 42
                mov     r13, r0                     
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
                msr     CPSR_c, ARM_MODE_USER      
#line 42
                ldr     r13, =TOP_APPLICATION_STACK 
#line 42
                
#line 42

#line 42

#line 42

#line 42

#line 42
.weak __ghsbegin_bss
#line 42
.weak __ghsend_bss
#line 42

#line 42
                ldr         r1, =__ghsend_bss     
#line 42
                ldr         r3, =__ghsbegin_bss   
#line 42
		mov         r2, 0
#line 42
LoopZI          
#line 42
		cmp         r3, r1                 
#line 42
                strcc       r2, [r3], 4
#line 42
                bcc         LoopZI      
#line 42

#line 42

#line 42

#line 42
.weak __ghsbegin_sbss
#line 42
.weak __ghsend_sbss
#line 42

#line 42
                ldr         r1, =__ghsend_sbss    
#line 42
                ldr         r3, =__ghsbegin_sbss  
#line 42
		mov         r2, 0
#line 42
LoopZI2          
#line 42
		cmp         r3, r1                 
#line 42
                strcc       r2, [r3], 4
#line 42
                bcc         LoopZI2      
#line 42

#line 42

#line 42
        #if  defined(SEMIHOSTING)
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
                
#line 42
#define SEMIHOSTING_STACK_SIZE   (8*1024) 
#line 42

#line 42

#line 42
                ldr         r0, = SEMIHOSTING_STACK_SIZE
#line 42
                sub         r13, r13,r0
#line 42
                
#line 42
.weak __ghsbegin_robase
#line 42

#line 42
		mov	fp, 0				
#line 42
		ldr	r0, pool_baseptrs		
#line 42
 				
#line 42
		bl	__ghs_ind_crt0			
#line 42
				
#line 42
 pool_baseptrs:
#line 42
 		.data.w	baseptrs
#line 42
 baseptrs:
#line 42
 		.data.w	__ghsbegin_picbase
#line 42
 		.data.w	__ghsbegin_robase
#line 42
		.data.w	__ghsbegin_pidbase
#line 42
 
#line 42
        #else                                
#line 42
        
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
                IMPORT      main
#line 42

#line 42
                ldr         r0, =main
#line 42
                mov         lr, pc
#line 42
                bx          r0
#line 42
        #endif                               
#line 42
                
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
End
#line 42
                b           End
#line 42
                
#line 42

#line 42
.type __main, $function
#line 42
.size __main,.-__main
#line 42

#line 42

#line 42
            /*END*/
#line 42

#line 42
#line 43
#line 43

#line 44

#line 45

#line 46

#line 47

#line 48

#line 49
__low_level_init
#line 50
                mvn         r0,0               
#line 51
                ldr         r1,=PS_BASE         
#line 52
                str         r0,[r1, 0x4]   
#line 53
                mov         pc,r14              
#line 54

#line 55
                #endif                           
#line 56

#line 57

#line 58

#line 59

#line 60

#line 61
                #if  defined(AT91_DEBUG_NONE)
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
;.section ".reset","ax" 
;.reset
#line 63
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                EXPORT      __main
#line 62
__main
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                __ENTRY::
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                B           InitReset       
#line 62
undefvec
#line 62
                B           undefvec        
#line 62
swivec
#line 62
                B           swivec          
#line 62
pabtvec
#line 62
                B           pabtvec         
#line 62
dabtvec 
#line 62
                B           dabtvec         
#line 62
rsvdvec
#line 62
                B           rsvdvec         
#line 62
irqvec
#line 62
                B           irqvec          
#line 62
fiqvec
#line 62
                B           fiqvec          
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
VectorTable
#line 62
                ldr         pc, [pc, 0x18]          
#line 62
                ldr         pc, [pc, 0x18]          
#line 62
                ldr         pc, [pc, 0x18]          
#line 62
                ldr         pc, [pc, 0x18]          
#line 62
                ldr         pc, [pc, 0x18]          
#line 62
                nop                                 
#line 62
                ldr         pc, [pc,-0xF20]        
#line 62
                ldr         pc, [pc,-0xF20]        
#line 62

#line 62

#line 62
                
	.word         SoftReset
#line 62
                
	.word         UndefHandler
#line 62
                
	.word         SWIHandler
#line 62
                
	.word         PrefetchAbortHandler
#line 62
                
	.word         DataAbortHandler
#line 62

#line 62
SoftReset
#line 62
                b           SoftReset
#line 62
UndefHandler    
#line 62
                b           UndefHandler
#line 62
SWIHandler
#line 62
                b           SWIHandler
#line 62
PrefetchAbortHandler
#line 62
                b           PrefetchAbortHandler
#line 62
DataAbortHandler
#line 62
                b           DataAbortHandler
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
InitTableEBI
#line 62
            
	.word         EBI_CSR_0  
#line 62
            
	.word         EBI_CSR_1  
#line 62
            
	.word         EBI_CSR_2  
#line 62
            
	.word         EBI_CSR_3  
#line 62
            
	.word         EBI_CSR_4  
#line 62
            
	.word         EBI_CSR_5  
#line 62
            
	.word         EBI_CSR_6  
#line 62
            
	.word         EBI_CSR_7  
#line 62
            
	.word         0x00000001  
#line 62
            
	.word         0x00000006  
#line 62
PtEBIBase
#line 62
            
	.word         EBI_BASE    
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
InitReset
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                ldr     r0, PtEBIBase
#line 62
                ldr     r1, [pc,-(8+.-InitTableEBI)] 
#line 62
    
#line 62

#line 62
                str     r1, [r0]
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                bl      __low_level_init
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                add     r0, pc,AicData-8-.  
#line 62

#line 62
                ldmia   r0, {r1-r4}
#line 62

#line 62

#line 62
                str     r4, [r1, 0x134]      
#line 62

#line 62

#line 62
                str     r2, [r1, 0x80]      
#line 62
                add     r1, r1, 0x80
#line 62
                mov     r0, 31                 
#line 62
LoopAic1
#line 62
                str     r3, [r1, r0, LSL 2]    
#line 62
                subs    r0, r0, 1              
#line 62
                bhi     LoopAic1
#line 62

#line 62
                b       EndInitAic
#line 62

#line 62

#line 62
AicData
#line 62
                
	.word     AIC_BASE                
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                IMPORT  at91_default_fiq_handler
#line 62
                IMPORT  at91_default_irq_handler
#line 62
                IMPORT  at91_spurious_handler
#line 62
PtDefaultHandler
#line 62
                
	.word     at91_default_fiq_handler
#line 62
                
	.word     at91_default_irq_handler
#line 62
                
	.word     at91_spurious_handler
#line 62
EndInitAic
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                mov     r8, RAM_BASE_BOOT          
#line 62
                sub     r9, pc,8+.-VectorTable  
#line 62
                ldmia   r9!, {r0-r7}            
#line 62
                stmia   r8!, {r0-r7}            
#line 62
                ldmia   r9!, {r0-r4}            
#line 62
                stmia   r8!, {r0-r4}            
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
                sub     r10, pc,8+.-InitTableEBI 
#line 62
                ldr     r12, PtInitRemap        
#line 62

#line 62

#line 62
                ldmia   r10!, {r0-r9,r11}       
#line 62
                stmia   r11!, {r0-r9}           
#line 62

#line 62

#line 62
                mov     pc, r12                 
#line 62

#line 62
PtInitRemap
#line 62
                
	.word     InitRemap               
#line 62

#line 62

#line 62

#line 62

#line 62

#line 62

#line 62
InitRemap
#line 62

#line 62

#line 62

#line 62

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -