ARM指令学习

ARM体系的应用领域已经非常广泛。

ARM指令集的特点:

1.一个大的统一寄存器文档

2.存、取数据处理仅仅通过操作寄存器,未直接操作内存

3.简单的指令模式,

4.标准的定长指令


另外,ARM体系提供了:

1.控制算术逻辑运算和移位的溢出

2.自动增加、减地址,使地址循环使用得到优化

3.加载和存储多条指令,已达到最大的吞吐量

4.大多数的指令都是条件执行的,为了达到最大的吞吐量


增强型的RSIC体系使得ARM处理器获得性能、低功耗、小代码量和体积小之间得到了很好地平衡。


ARM有31个32bit通用处理器。任何时刻都有16个是当前可以访问的。其他的寄存器都用于异常处理。所有的当前可访问寄存器,在ARM中都可以通过指定的地址访问。


用户模式的限制:

1.仅仅允许用户模式通过指令SWI切换到特权模式。

2.用户模式很少的允许去访问内存系统和协处理器。


这16个寄存器中,有三个被指定了特殊的功能:

栈指针(R13):通常作为栈指针SP,在ARMv6 指令集中,通过指令SRS和RFE来操作R13寄存器来实现PUSH和POP操作

链接寄存器:寄存器R14又称为LR(Link Register),这个寄存器保留了下一条指令的地址。这个地址可以是从异常模式中返回,也可以是调用子函数,通常就是指下一条指令。

程序指针:R15又称为PC,他可以装载大多数的指令,装载的这条指令将在两条指令执行后执行。在ARM指令集中,都是以4字节对齐(一个32bit word)。这意味着PC低两位始终是0.Thumb处理器状态支持T variants。Jazelle处理器状态支持J variants。他们的PC分别是以半字和字节对齐。

剩下的13个寄存器没有特殊目的。他们的使用纯粹由软件定义的。








  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值