ARM
fengyee_zju
这个作者很懒,什么都没留下…
展开
-
scratch寄存器作用说明
ARM架构中使用R12作为子程序间的scratch寄存器 (ATPCS中规定)。可以将R12 用于保存SP,在函数返回时使用该寄存器出栈,记作ip。或者又比如:Uboot程序中主程序调用 cpu_init_crit函数,在这个cpu_init_crit函数中有下面的代码:mov ip, lrbl lowlevel_initmov lr, ipmov pc, lr原创 2012-09-27 21:17:39 · 8140 阅读 · 0 评论 -
balignl指令解析
.balignl 16,0xdeadbeef这个代码很有意思,作者挺搞笑。刚开始的时候看不懂这个代码是什么意思,balignl很显然是对齐的意思,我当时一看就知道这是16字节对齐,可是,0xdeadbeef是什么东东?呵呵,后来我找了半天资料才知道没什么意思,我们可以把它用其他的代替,比如0xgoodbeef,0xgoodgirl,明白了吧。下面我对此进行讲解:syntax:.转载 2012-10-07 21:51:44 · 481 阅读 · 0 评论 -
.word伪指令含义
word expression就是在当前位置放一个word型的值,这个值就是expression 举例来说, _rWTCON: .word 0x15300000 就是在当前地址,即_rWTCON处放一个值0x15300000原创 2012-10-07 14:53:08 · 827 阅读 · 0 评论 -
关于adr指令的理解
之前在阅读arm的汇编代码时,碰到了adr指令,查arm的指令手册,只说该指令是采用相对地址的,但这个相对地址应该怎么理解,却没有具体说明。之后在网上以adr指令为关键字进行搜索,也没有找到进一步的知识。结果,今天在搜索android资料的时候,意外的发现了adr指令与ldr指令的不同,一下子解决了心中的问题。以adr指令与ldr指令对比作为关键字,甚至可以搜到好几篇文章,实在是......转载 2012-10-07 21:47:20 · 972 阅读 · 0 评论