ARM开发技术笔记

这篇博客详细介绍了ARM开发中的基本代码操作,包括寄存器的移动、比较、内存地址的读写,以及重要的cpsr状态寄存器的使用。此外,还讨论了条件码、立即数、跳转指令和流水线作业等关键知识点。
摘要由CSDN通过智能技术生成

一,代码

1,基础代码

mov r0,#1    将r0寄存器置1

mov r0,r2     将r2寄存器值赋予r0寄存器

mov r1,r0,lsr #4   等价于r0>>4  将r0中数右移4位后赋予r1  (二进制右移

mvn r0,r2     将r2值取反后赋予r0

ldr r0,=0x5222  将r0寄存器赋予指定的值

add/sub/subs/mul  目标寄存器  被加/减寄存器值  加上/减去的值

add r2,r0,r1      将r0+r1后的值赋予r2         想改变cpsr中的值需要加s  如subs

b  func    跳入func中不更新lr

bl func     跳入func 并且更新lr


2,比较代码,内存地址的写入与读出

cmp  r0,r1         比较r0,r1寄存器中值的大小  (后续判读实际根据cpsr寄存器中内容

add后缀     目标寄存器    r0,   r1     将r0,r1中的值进行具体的操作后保存至r0

如addgt   r2,r0,r1        配合上方cmp 如果r0大于r1  将r0+r1后的值保存至r2  后缀gt表示大于

ldr r1,[r0]   r1 = *r0    将r0内存中的值保存至r1寄存器

ldr r1,[r0,#4]      ldr r1,[r0,#4]!                   ldr r1,[r0],#4

 r1 =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值