ARM学习(一)

1、ARM内核是一种CPU架构设计

        CPU包括四个工作阶段:提取(Fetch)、解码(Decode)、执行(Execute)、写回(Writeback)。

ARM采用流水线技术提高效率进程处理中一条进程在执行完Fetch阶段后直接传递给下一阶段,

下一个时间点Fetch执行下个进程的任务,也就是说Fetch和Decode同时执行以此类推。按时间线

排列图示如下:

时间图

2、常用伪指令

.global_start:表示_start是一个全局标号指明程序入口;

.byte:定义单字数据,例:.byte 0x12;

.long和.short类似;

.end:表示源文件结束;

.rodata:只读数据段;

.text:表示代码段;

.data:初始化数据段;

.equ + 赋值语句:例:equ num, 0x12,等于c语言中的num = 0x12;

3、汇编语言

基本指令格式:<opcode>   {<cond>}  {s}  <Rd>, <Rn>, {<operand2>}

opcode: 助记符

cond:条件

S:状态位代表执行完当前指令是否更新cpsr寄存器

Rd:目标寄存器

Rn:第一个操作寄存器,也可以是立即数

operand2:第二个寄存器有些需要多个寄存器,也可以是立即数

4、常见指令

MOV:讲寄存器Rn中的数据,移到Rd寄存器中,Rn可以是个立即数

MVN:将Rn数据取反移位到Rd中

ADD:加法 例:ADD R0, R1, #2 转化c:R0 = R1 + 0x2;

LSR:逻辑上向右位移

LSL:逻辑上向左位移

SUB:减法用法和ADD相似

MUL:乘法例:MUL Rd, Rn, Rm注(Rn和Rd不能是同一个寄存器)Rd = Rn * Rm

AND:按位与

ORR:按位或

EOR:按位异或(相同返回0,不同返回1)

BIC:Rn按位与operand后取反存入Rd 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值