ARM(四) ARM指令集(下)

导读:
介绍了分支指令,Load-Store指令(单寄存器指令,多重寄存器指令),
最后一部分:通过学习向自己提出的问题,用于检测是否掌握其中的知识。

一、Branch instruction

A branch instruction changes the flow of execution or is used to call a routine. This instruction allows programs to have subroutines

讲解

指令 解释 补充
B pc=label
BL pc=label ,lr = BL下一个指令地址
BX pc=Rm&0xffffffe,T=Rm&1 BX使用绝对地址存储在Rm中。T bit(in cpsr)用Rm的最后一位更新。T设置为1时,进入Thmub模式
BXL lr=BXL的下一条指令

使用例子:

  BL SubRoutine
  ....
SubRoutine:
  MOV pc, lr

二、Load-Store instructions

在内存和处理器寄存中传递数据。
分为三类:单寄存器传送,多寄存器传送,swap

1.Single-Register Transfer

指令 解释
LDR,STR load into register/store from register(32bit内存)
LDRB,STRB byte
LDRH,STRH Halfword(16bit内存),支持signed和unsigned
LDRSB,STRSB signed byte

2.Single-Register Transfer(寻址模式)

[Rn, #10]
[Rn,Rm]
[Rn,Rm, LSR #3]
[Rn,#8]
[Rn, Rm]!
[Rn, Rm, LSL #4]!
[Rn], #4
[Rn], Rm
[Rn], Rm, LSL #2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值