
Android
crlyn
这个作者很懒,什么都没留下…
展开
-
一.ARM体系
处理器模式:用户模式(User):ARM处理器正常的程序执行状态快速中断模式(FIQ):用于高速数据传输或通道处理外部中断模式(IRQ):用于通用的中断处理管理模式(Supervisor):操作系统使用的保护模式数据访问终止模式(Abort):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护系统模式(System):运行具有特权的操作系统任务未定义指令中止模式原创 2015-12-14 14:46:15 · 335 阅读 · 0 评论 -
arm函数调用约定
要想理解汇编代码,首先重要的事情就是理解代码之间的交互——意思是一个函数调用另一个函数的方式。这包括了参数如何传递以及如何从函数返回结果——称之为调用的约定。编译器必须严格的遵守相关标准进行代码编译,这样生成的代码,才能够相互兼容。上面讨论过,寄存器是的存储空间非常少,并且靠近CPU——用来存储当前使用的一些值。ARM CPU有16个寄存器:r0到r15。每个寄存器为32bit。调用约定规定了原创 2015-12-14 14:54:08 · 3233 阅读 · 0 评论 -
四.ARM 指令
ARM分为ARM状态和Thumb状态,以CPSR T作为状态指示,执行不同的指令集ARM指令集指令固定4字节包含条件码,有条件执行能访问所有寄存器THUMB指令集T1指令2字节,T2指令4字节仅分支指令存在条件执行仅能访问R0-R7,SP,LR,PCPC寄存器值 = 当前地址 + 1原创 2015-12-14 14:50:56 · 372 阅读 · 0 评论 -
ELF文件格式
ELF格式文件是UNIX系统常见二进制文件格式常见有三种文件类型:可执行文件可重定位文件共享目标文件ELF文件格式从链接视图角度分为三部分:ELF文件头、节区(section)以及节区表(section table)从装载视图角度也分为三部分:ELF文件头、段区(segment table)表以及段区typedef struct elf32_hdr{原创 2015-12-14 15:09:39 · 300 阅读 · 0 评论 -
二.CPSR 简介
CPSR 当前程序状态寄存器条件标志N – N == 1 表示执行为负Z – Z == 1 表示执行为零C – C == 1 表示执行进位V – V == 1 表示执行溢出控制位I – IRQ 中断禁止标志F – FIQ 快速中断标志M[4:0] 模式执行T – 状态指示 T == 1 Thumb模式,T == 0 ARM模式原创 2015-12-14 14:48:22 · 857 阅读 · 0 评论 -
三.条件标志
原创 2015-12-14 14:49:50 · 439 阅读 · 0 评论