随笔分类 -  ARM 汇编

ARM 处理器中汇编,分析中汇编积累!
摘要:1. PC(程序计数器) = windows 中 EIP解析: 处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐条地取到处理器中再译码、执行,以完成整个程序的执行。为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条取指指令的地址.程序计数器(PC)正是起到这种作用,所以通常又称之为‘指令计数器’。CPU总是按照PC的指向对指令序列进行取指、译码和执行,也就是说,最终是PC 决定了程序运行流向。故而,程序计数器(PC )属于特别功能寄存器范畴,不能自由地用于存储其他运算数据.在程序开始执行前,将程序指令序列的起始地址,即程序的第一 阅读全文
posted @ 2012-12-19 20:46 小金马 阅读(13688) 评论(0) 推荐(1)
摘要:ARM 处理器寻址方式寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM处理器有9种基本寻址方式.1. 寄存器寻址 操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编码,指令执行时直接取出寄存器值操作. 例子: MOV R1, R2 ;R2 -> R1 SUB R0,R1,R2 ;R0 = R1 - R22. 立即寻址 立即寻址指令中的操作码字段后面的地址码部分就是操作数本身,也就是说,数据就包含在指令中,取出指令也就取出了立即使用的操作数(立即数). 例子:SUBS R0,R0,#1 ;R0 = R0 - 1MOV R0,#0xff00 ;R0 = 0xf 阅读全文
posted @ 2012-12-18 16:54 小金马 阅读(557) 评论(0) 推荐(0)
摘要:常用的 arm 指令集第一类: 数据处理指令解析:数据处理指令可分为数据传送指令、算术逻辑运算指令和比较指令等数据传送指令用于在寄存器和存储器之间进行数据的双向传输。算术逻辑运算指令完成常用的算术与逻辑的运算,该类指令不但将运算结果保存在目的寄存器中,同时更新CPSR中的相应条件标志位。比较指令不保存运算结果,只更新CPSR中相应的条件标志位。详细分析:数据处理指令:1、MOV指令MOV 指令的格式为:MOV{条件}{S} 目的寄存器,源操作数MOV指令可完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。其中S选项决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不 阅读全文
posted @ 2012-12-18 15:09 小金马 阅读(6938) 评论(0) 推荐(0)