会飞的鱼的专栏

我心随云,云随我心。集天地之灵,怀浩然之气。

会飞的鱼ID:flyfish30
32677次访问,排名3496(1)好友3人,关注者8
喜欢编写好用且好看的程序
flyfish30的文章
原创 21 篇
翻译 0 篇
转载 10 篇
评论 34 篇
最近评论
lytsing:楼主最后一段深有体会。武功招式的最高境界便是无招胜有招,无剑胜有剑,宣扬的是道家的思想,无人,无我。学过多年的数学,我们都知道,公理,定理难记么?不难,难的是要能是灵活运用。编程也如此,生活,艺术是息息相通的。

dxdclf:谢谢,好东东,正从事MTK相关工作,o(∩_∩)o...哈哈
ygliu_richway:你好,我正在从事mtk开发,有很急的问题想和你交流,谢谢!
我msn:ygliu_richway@live.cn
liusongliang68:你是第一个把道用数学公式表达的人!真牛。
adonis1620:收藏中。
文章分类
    收藏
      相册
      GTYPE类型系统分析用图
      MTK手机软件工程构建文件关系图
      VIM上下文字符串生成替换宏记录
      不变性与可变性用图
      LinuxMobile
      celinuxforum
      GPE
      handhelds
      Motorola linux phone DIY
      opensource.motorola
      tuxmobile
      编译链接技术
      GCC中文手册
      GNU Make 中文手册
      GNU make 指南
      汇编编程技术
      龙芯软件开发
      大坡3D软件开发
      软界高手
      Donald E. Knuth
      Jserv's blog
      友情链接
      absurd
      负暄琐话
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 ARM汇编的几个问题收藏

      新一篇: AT&T 汇编参考 | 旧一篇: VIM的几则实用技巧

      转载时请注明出处和作者联系方式

      作者联系方式:会飞的鱼 <parker30_liu at hotmail dot com>

      最近在调试ARM硬件版的程序时遇到一些汇编代码,需要对其中的一些代码作些修改。其中有些ARM汇编代码的问题和技巧,将其记录在此,以备之后查找。

       

      问题一:thumb模式下PC指针是如何计算预取值的

      和其他现代的处理器一样,ARM处理器在指令执行时是要进行指令预取的,其向前预取了两条指令。在ARM模式下,PC指针的预取值是8(一条指令4个字节)。在thumb模式下,PC指针的预取值是否就是4(一条指令2个字节)呢,答案是不一定。将thumb模式下的adr伪指令生成的机器码反汇编后,发现若当前的指令是4字节对齐的地址时,PC指针的预取值是4,若当前的指令不是4字节对齐的地址,PC指针的预取值是2

      下面的汇编码是一个获取自身入口地址的函数,其中mov r0, r0相当于nop操作。若标号1的地址是4字节对齐的,则adr r0, funcentry则会用指令add r0, pc, #-8替代。若标号1的地址不是4字节对齐的,则adr r0, funcentry则会用指令add r0, pc, #-6替代。

      funcentry:

          mov r0, r0

          mov r0, r0

      1:   adr r0, funcentry

          bx lr



       

      发表于 @ 2007年09月23日 23:20:00|评论(loading...)|编辑

      新一篇: AT&T 汇编参考 | 旧一篇: VIM的几则实用技巧

      评论:没有评论。

      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © 会飞的鱼