zoukankan      html  css  js  c++  java
  • ARM的37个寄存器

    31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。

    6个状态寄存器。这些寄存器都是32位寄存器。

    通用寄存器(R0-R15)可分为三类 :不分组寄存器R0~R7;

                                                     分组寄存器R8~R14;

                                                     程序计数器PC。

    对于R13,R14备份寄存器来说,每个寄存器对应六个不同的物理寄存器,其中的一个是系统模式和用户模式共用的;另外的五个对应于其他的五种处理器模式。

    1、ARM总共有37个寄存器,但是每种模式下最多只能看到18个寄存器,其他寄存器虽然名字相同但是在当前模式不可见。

    2、对r13这个名字来说,在ARM中共有6个名叫r13(又叫sp)的寄存器,但是在每种特定处理器模式下,只有一个r13是当前可见的,其他的r13必须切换到他的对应模式下才能看到。这种设计叫影子寄存器(banked register)。

    3、R14(lr)存放返回地址

    CPSR程序状态寄存器

    •CPSR中各个bit位表明了CPU的某些状态信息,这些信息非常重要,和后面学到的汇编指令息息相关(譬如BLE指令中的E就和CPSR中的Z标志位有关)
    •CPSR中的I、F位和开中断、关中断有关
    •CPSR中的mode位(bit4~bit0共5位)决定了CPU的工作模式,在uboot代码中会使用汇编进行设置。
     
    PC(r15)程序控制寄存器
    •PC(Program control register)为程序指针,PC指向哪里,CPU就会执行哪条指令(所以程序跳转时就是把目标地址代码放到PC中)
    •整个CPU中只有一个PC(CPSR也只有一个,但SPSR有5个)。
  • 相关阅读:
    windows(64位)下使用curl命令
    ThinkPHP 3.2 性能优化,实现高性能API开发
    如何摆脱恨死人的低价竞争对手
    火狐浏览器如何js关闭窗口的几种解决方法
    当 Swoole 遇上 ThinkPHP5 世界你好
    TCP网络编程杂谈
    SQL语句操作优先级顺序
    记一次常规的Mysql数据库访问的时间分析
    CSS艺术字
    Eclipse Oxygen创建maven web项目(二)
  • 原文地址:https://www.cnblogs.com/yygsj/p/4977606.html
Copyright © 2011-2022 走看看