美文网首页
1-ARM处理器_大小端

1-ARM处理器_大小端

作者: ibo | 来源:发表于2017-02-03 15:32 被阅读0次

    ARM

    ARM支持的数据格式:
    • byte:8bit char
    • hw:16bit short
    • word:32bit int
    • dw:64bit long long
    * ARM(32bit) thumb(16bit)
    * ARM处理器工作模式:
    • user:唯一的非特权模式,只能操作普通的寄存器
    • system:特权模式,使用和user一样的寄存器,PC
    • FIQ:快速中断
    • IRQ:普通中断
    • SVC(Supervisor):复位,软中断进入的模式
    • abort:取指(到内存中取到指令)异常
    • undef:指令未定义时会进入这个模式
    • monitor:监控
    * 除了system和user的模式都叫做异常模式
    * r13 sp 堆栈指针(备份普通寄存器内容)
    • r14 lr 链接寄存器(备份PC)
    • r15 pc 程序计数器(指向下一条执行的指令)
    一个函数的跳转:
    • 将pc备份到lr
    • 压栈,保存栈指针到sp
    • 执行新的函数
    • 执行完毕
    • 从栈里恢复数据到寄存器
    • 将lr恢复到pc
    ARM核里有37个寄存器
    • system+user公用17个寄存器
    • FIQ独立:r8 - r14 SPSR(用来备份cpsr) 8个
    • IRQ独立的:r13、 r14、 spsr
    • SVC独立的:r13、 r14、 spsr
    • undef独立的:r13、 r14、 spsr
    • abort独立的:r13、 r14、 spsr
    cpsr
    • 31 n位 负数位
    • 30 z 0
    • 29 c 进位位
    • 28 v 溢出
    • 24 j thumbee java字节码
    • 19-16 GE 大于或者等于
    • 15-10 if then
    • 9 e 大小端
    • 7 i 禁止IRQ
    • 6 f 禁止FIQ
    • 5 T 进入thumb状态
    * 异常处理:4大步3小步
    • 1.拷贝cpsr到指定模式的spsr
    • 2.设置cpsr
      • a.改变状态为ARM状态
      • b.改变处理器模式
      • c.根据需要禁止中断
    • 3.保存pc到指定模式的lr
    • 4.设置pc为响应异常
    从异常返回:
    • 从spsr恢复到cpsr
    • 从lr恢复到pc
    B指令 简单的跳转 范围+—32M
    BL带链接的跳转指令
    • 跳转之前将pc保存到lr 跳转之后将lr恢复到pc
    MCU 微控制器
    SOC 片上系统

    相关文章

      网友评论

          本文标题:1-ARM处理器_大小端

          本文链接:https://www.haomeiwen.com/subject/kkydittx.html