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

📄 irq_timer.paf.arm

📁 ARM入门的好帮手.包含了从简单到相对较复杂的程序.
💻 ARM
字号:
#line 1

#line 2

#line 3

#line 4

#line 5

#line 6

#line 7

#line 8

#line 9

#line 10

#line 11

#line 12

#line 13

#line 14

#line 15

#line 16
;.section ".Irq","ax" 
;.Irq
#line 17
#line 17

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18
#define AIC_PRIOR                            0x07    
#line 18

#line 18
#define AIC_SRCTYPE                          0x60    
#line 18
#define AIC_SRCTYPE_INT_LEVEL_SENSITIVE      0x00    
#line 18
#define AIC_SRCTYPE_INT_EDGE_TRIGGERED       0x20    
#line 18
#define AIC_SRCTYPE_EXT_LOW_LEVEL            0x00    
#line 18
#define AIC_SRCTYPE_EXT_NEGATIVE_EDGE        0x20    
#line 18
#define AIC_SRCTYPE_EXT_HIGH_LEVEL           0x40    
#line 18
#define AIC_SRCTYPE_EXT_POSITIVE_EDGE        0x60    
#line 18

#line 18

#line 18

#line 18

#line 18

#line 18
#define AIC_IRQID                    0x1F            
#line 18

#line 18

#line 18

#line 18

#line 18

#line 18
#define AIC_NFIQ                     0x01            
#line 18
#define AIC_NIRQ                     0x02            
#line 18

#line 18

#line 18

#line 18

#line 18

#line 18
#define AIC_BASE                     0xFFFFF000
#line 18

#line 18
	/*END*/
#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18
#define ARM_MODE_USER                0x10
#line 18
#define ARM_MODE_FIQ                 0x11
#line 18
#define ARM_MODE_IRQ                 0x12
#line 18
#define ARM_MODE_SVC                 0x13
#line 18
#define ARM_MODE_ABORT               0x17
#line 18
#define ARM_MODE_UNDEF               0x1B
#line 18
#define ARM_MODE_SYS                 0x1F
#line 18

#line 18
#define I_BIT                        0x80
#line 18
#define F_BIT                        0x40
#line 18
#define T_BIT                        0x20
#line 18

#line 18
            /*END*/
#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18

#line 18
            /*END*/
#line 18

#line 18
#line 19
#line 19

#line 20

#line 21

#line 22

#line 23

#line 24

#line 25
            EXPORT      timer0_asm_irq_handler
#line 26
            IMPORT      timer0_c_irq_handler
#line 27
            IMPORT      TC0_DESC
#line 28
timer0_asm_irq_handler
#line 29

#line 30

#line 31
#line 31
#line 31

#line 31
#line 31
#line 31

#line 31
#line 31
#line 31
            sub         r14, r14, 4
#line 31
#line 31
#line 31
            stmfd       sp!, {r14}
#line 31
#line 31
#line 31

#line 31
#line 31
#line 31

#line 31
#line 31
#line 31

#line 31
#line 31
#line 31

#line 31
#line 31
#line 31
            ldr         r14, =AIC_BASE
#line 31
#line 31
#line 31
            str         r14, [r14, 0x100]
#line 31
#line 31
#line 31

#line 31
#line 31
#line 31

#line 31
#line 31
#line 31
            mrs         r14, SPSR
#line 31
#line 31
#line 31
            stmfd       sp!, {r0, r14}
#line 31
#line 31
#line 31

#line 31
#line 31
#line 31

#line 31
#line 31
#line 31
            mrs         r0, CPSR
#line 31
#line 31
#line 31
            bic         r0, r0, I_BIT
#line 31
#line 31
#line 31
            orr         r0, r0, ARM_MODE_SYS
#line 31
#line 31
#line 31
            msr         CPSR_c, r0
#line 31
#line 31
#line 31

#line 31
#line 31
#line 31

#line 31
#line 31
#line 31
            #if 1;  "" == ""
#line 31
#line 31
#line 31
            stmfd       sp!, { r1-r3, r12, r14}
#line 31
#line 31
#line 31
            #else
#line 31
#line 31
#line 31
            stmfd       sp!, { r1-r3, , r12, r14}
#line 31
#line 31
#line 31
            #endif
#line 31
#line 31
#line 31

#line 31
#line 31
#line 31

#line 32

#line 33

#line 34
            ldr         r1, =timer0_c_irq_handler
#line 35
            ldr         r0, =TC0_DESC
#line 36
            mov         r14, pc
#line 37
            bx          r1
#line 38

#line 39
	    b		exit_irq
#line 40

#line 41

#line 42

#line 43

#line 44

#line 45

#line 46

#line 47
            EXPORT      timer1_asm_irq_handler
#line 48
            IMPORT      timer1_c_irq_handler
#line 49
            IMPORT      TC1_DESC
#line 50
timer1_asm_irq_handler
#line 51

#line 52

#line 53
#line 53
#line 53

#line 53
#line 53
#line 53

#line 53
#line 53
#line 53
            sub         r14, r14, 4
#line 53
#line 53
#line 53
            stmfd       sp!, {r14}
#line 53
#line 53
#line 53

#line 53
#line 53
#line 53

#line 53
#line 53
#line 53

#line 53
#line 53
#line 53

#line 53
#line 53
#line 53
            ldr         r14, =AIC_BASE
#line 53
#line 53
#line 53
            str         r14, [r14, 0x100]
#line 53
#line 53
#line 53

#line 53
#line 53
#line 53

#line 53
#line 53
#line 53
            mrs         r14, SPSR
#line 53
#line 53
#line 53
            stmfd       sp!, {r0, r14}
#line 53
#line 53
#line 53

#line 53
#line 53
#line 53

#line 53
#line 53
#line 53
            mrs         r0, CPSR
#line 53
#line 53
#line 53
            bic         r0, r0, I_BIT
#line 53
#line 53
#line 53
            orr         r0, r0, ARM_MODE_SYS
#line 53
#line 53
#line 53
            msr         CPSR_c, r0
#line 53
#line 53
#line 53

#line 53
#line 53
#line 53

#line 53
#line 53
#line 53
            #if 1;  "" == ""
#line 53
#line 53
#line 53
            stmfd       sp!, { r1-r3, r12, r14}
#line 53
#line 53
#line 53
            #else
#line 53
#line 53
#line 53
            stmfd       sp!, { r1-r3, , r12, r14}
#line 53
#line 53
#line 53
            #endif
#line 53
#line 53
#line 53

#line 53
#line 53
#line 53

#line 54

#line 55

#line 56
            ldr         r1, =timer1_c_irq_handler
#line 57
            ldr         r0, =TC1_DESC
#line 58
            mov         r14, pc
#line 59
            bx          r1
#line 60
exit_irq
#line 61

#line 62
#line 62
#line 62
   
#line 62
#line 62
#line 62

#line 62
#line 62
#line 62
            #if 1;  "" == ""
#line 62
#line 62
#line 62
            ldmia       sp!, { r1-r3, r12, r14}
#line 62
#line 62
#line 62
            #else
#line 62
#line 62
#line 62
            ldmia       sp!, { r1-r3, , r12, r14}
#line 62
#line 62
#line 62
            #endif
#line 62
#line 62
#line 62

#line 62
#line 62
#line 62

#line 62
#line 62
#line 62
            mrs         r0, CPSR
#line 62
#line 62
#line 62
            bic         r0, r0, ARM_MODE_SYS
#line 62
#line 62
#line 62
            orr         r0, r0, I_BIT | ARM_MODE_IRQ
#line 62
#line 62
#line 62
            msr         CPSR_c, r0
#line 62
#line 62
#line 62

#line 62
#line 62
#line 62

#line 62
#line 62
#line 62
            ldr         r0, =AIC_BASE
#line 62
#line 62
#line 62
            str         r0, [r0, 0x130]
#line 62
#line 62
#line 62

#line 62
#line 62
#line 62

#line 62
#line 62
#line 62
            ldmia       sp!, {r0, r14}
#line 62
#line 62
#line 62
            msr         SPSR_cxsf, r14
#line 62
#line 62
#line 62

#line 62
#line 62
#line 62

#line 62
#line 62
#line 62
            ldmia       sp!, {pc}^
#line 62
#line 62
#line 62

#line 62
#line 62
#line 62

#line 63
           
#line 64
            /*END*/
#line 65

⌨️ 快捷键说明

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