常用ARM汇编指令积累

原创 2012年03月29日 00:03:00

MOV,LDR:
ldr r0, 0x12345678
就是把0x12345678这个地址中的值存放到r0中。
而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。
x86中没有ldr这种指令,因为x86的mov指令可以将数据从内存中移动到寄存器中。

BIC―――――位清除指令
指令格式:
BIC{cond}{S} Rd,Rn,operand2
BIC指令将Rn 的值与操作数operand2 的反码按位逻辑”与”,结果存放到目的寄存器Rd 中。指令示例:BIC R0,R0,#0x0F ;将R0最低4位清零,其余位不变。

arm逻辑运算指令ORR
ORR R0,R0,#3
这个是把R0与3或并把结果赋给R0
orr 是逻辑或指令。
这句的意思是设置R0的0,1位为1其他位保留

adr ------  获取地址指令
adr r0, _start  //获取_start的地址,并赋给r0寄存器.

mrs ------  读寄存器状态
mrs r0,cpsr
@将cpsr的状态值读到r0中


msr ------  写寄存器
msr cpsr,r0
@写cpsr寄存器

MRS {<cond>} Rd,CPSR|SPSR 将使用这两条指令将状态寄存器传
MSR {<cond>} CPSR_<field>|SPMRS与MSR配合使用,作为更新PS


 

常用ARM汇编指令带简单使用实例

  • 2010年10月13日 23:02
  • 185KB
  • 下载

Android 图解逆向工程中ARM常用汇编指令(一)

我们走得太快,灵魂都跟不上了。 微小的幸福就在身边,容易满足就是天堂。 在逆向和爆破中我们经常会在IDA中接触到汇编,一般做安卓的不会太了解VB回编等,不太了解的同学可以先查看上篇文章《An...
  • DJY1992
  • DJY1992
  • 2017年05月08日 11:51
  • 13181

4412裸机程序之常用gcc/makefile/arm汇编指令

常用gcc/makefile/arm汇编指令 这3个工具平时用的比较少,基本上是看了忘,忘了看,我们只记住几个常用的命令,不懂的可以用到再查。 推荐资料:>,> (1)arm-linux-gcc...

常用的arm汇编指令(2)

1.对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call Standard),ATPCS主要是定义了函数呼叫时...

常用ARM汇编指令及ATPCS规则

在嵌入式开发中,汇编程序常常用于非常关键的地方,比如系统启动时的初始化,进出中断时的环境保存、恢复,对性能要求非常苛刻的函数等。 1、相对跳转指令: b 、 bl 不同之处在于: bl 指...

常用ARM汇编指令及ATPCS规则

转自:http://kinglaw05.blog.163.com/blog/static/5968331420101160158144/ 在嵌入式开发中,汇编程序常常用于非常关键的地方,比如系统启动...

常用ARM汇编指令及ATPCS规则

http://kinglaw05.blog.163.com/blog/static/5968331420101160158144/ 常用ARM汇编指令及ATPCS规则   2010-0...

常用ARM汇编指令

1、  相对跳转指令:b、bl 其中bl除了跳转之外,还将返回地址保存在lr寄存器中。 这两条指令的可跳转范围是当前指令的前后32MB。 它们是位置无关的指令。 2、  数据传送指令mov,地...
  • wqc02
  • wqc02
  • 2012年10月15日 10:44
  • 201

常用的ARM汇编指令

MRS (读状态寄存器)  MRS r1, CPSR     ;   CPSR--->r1MSR (写状态寄存器) MSR cpsr_c, #0xD3 ;  CPSR[7...0] = 0xD3STM...

ARM中常用的汇编指令集

所有指令末尾加s表示影响标志位! 1、跳转指令 跳转指令用于实现程序流程的跳转,在ARM程序中有两种方法可以实现程序的跳转: 1)使用专门的跳转指令 2)直接向程序计数器(PC)写入跳转地址的...
  • dear_lu
  • dear_lu
  • 2017年05月09日 18:53
  • 88
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:常用ARM汇编指令积累
举报原因:
原因补充:

(最多只允许输入30个字)