打印

请教一个关于ARM7的问题!

[复制链接]
1644|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaigch|  楼主 | 2011-11-25 19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
arm7, TE, ST, DSP, TI
请教匠人一个关于ARM7的问题!
1 软中断
__swi(0x00) void SwiHandle1(void);
这个指令当它触发软中断时,我怎么读取这个中断功能号?
还有就是这个功能号是24位,那是不是说,软中断最多可以有2的24次方个?
2    MACRO
$IRQ_Label HANDLER $IRQ_Exception_Function
EXPORT  $IRQ_Label                      ; The label for exports 输出的标号
        IMPORT  $IRQ_Exception_Function         ; The imported labels 引用的外部标号
$IRQ_Label
        SUB     LR, LR, #4                      ; Calculate the returning address 计算返回地址
        STMFD   SP!, {R0-R3, R12, LR}           ; Protects the task environments 保存任务环境
        MRS     R3, SPSR                        ; Protects the status variable 保存状态
        STMFD   SP, {R3,LR}^                    ; Protects SPSR and SP in user status, Notice: DO NOT write back.保存SPSR和用户状态的SP,注意不能回写
                                                ; If the SP is written back, it should be adjusted to its appropriate value later.如果回写的是用户的SP,所以后面要调整SP
        NOP
        SUB     SP, SP, #4*2
        MSR     CPSR_c, #(NoInt | SYS32Mode)    ; Switch to the System Mode 切换到系统模式
      
        BL      $IRQ_Exception_Function         ; call the C interrupt handler funtion 调用c语言的中断处理程序
        MSR     CPSR_c, #(NoInt | IRQ32Mode)    ; Switch bak to IRQ mode 切换回irq模式
        LDMFD   SP, {R3,LR}^                    ; Recover SPSR and SP in user status, Notic: DO NOT write back. 恢复SPSR和用户状态的SP,注意不能回写
                                                ; If the SP is written back, it should be adjusted to its appropriate value later.如果回写的是用户的SP,所以后面要调整SP
        MSR     SPSR_cxsf, R3
        ADD     SP, SP, #4*2                    ;
        LDMFD   SP!, {R0-R3, R12, PC}^          ;
    MEND
这个宏的用法! 这个宏中,为什么有这句STMFD   SP!, {R0-R3, R12, LR} ,为什么不是STMFD   SP!, {R0-R12, LR}?我知道R0-R3是用来保存参数的,LR保存返回地址的,为什么有个R12,这个寄存器在此处是什么个用途呢?

相关帖子

沙发
zhaigch|  楼主 | 2011-11-25 21:54 | 只看该作者
问题1 已经解决,就剩下问题2了,这个宏的问题!还有那个R12的问题!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

158

帖子

1

粉丝