发新帖

菜鸟笔记之ARM寄存器用途说明表

[复制链接]
2293 2
学习android逆向的进程,学到哪里整理出来分享给大家。望高手指正。
寄存器
别名
用途
备注
R0
保存前4个参数
大于4个参数将压入栈
R1
R2
R3
R4
必须保护
R5
R6
R7
R8
R9
R10
R11
fp
R12
ip
R13
sp
栈寄存器
动态调试一般需要关注这3个寄存器
R14
lr
保存子程序调用地址
R15
pc
子程序当前执行位置
CPSR
标志寄存器
位 置
31
30
29
30
27-8
7
6
5
4
3
2
1
0
N
Z
C
V
保留
不常用
N
本位设置成当前指令运算结果的bit[31]的值。当两个表示的有符号整数运算时,n=1表示运算结果为负数,n=0表示结果为正数或零。
Z
z=1表示运算的结果为零;z=0表示运算的结果不为零。对于CMP指令,Z=1表示进行比较的两个数大小相等。
C
下面分四种情况讨论C的设置方法:在加法指令中(包括比较指令CMN),当结果产生了进位,则C=1,表示无符号运算发生溢出(overflow);其他情况C=0。在减法指令中(包括比较指令CMP),当运算中发生借位,则C=0,表示无符号运算数发生进位;其他情况下C=1。对于包含移位操作的非加减运算指令,C中包含最后一次溢出的位的数值对于其他非加减运算指令,C位的值通常不受影响
V
对于加减运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出;通常其他指令不影响V位。

已有1人评分 NB 荣获致谢 理由
都同学 + 1 + 1 赞一个!

查看全部评分 总评分: NB +1  荣获致谢 +1 

举报 使用道具

回复

精彩评论2

少不更事    发表于 2016-12-1 15:39:57 | 显示全部楼层
感谢分享

举报 使用道具

回复
jinfeng81    发表于 2016-12-1 17:08:04 | 显示全部楼层
感谢分享~~^^

举报 使用道具

回复 支持 反对
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表