V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hazard
V2EX  ›  问与答

关于 arm 汇编的小问题

  •  
  •   hazard · 2015-05-15 23:02:28 +08:00 · 1811 次点击
    这是一个创建于 3274 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天查资料时发现这里: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0497a/BABEFHAE.html 在说明B, BL, BX, and BLX指令时在Operation一节写道:
    The BX and BLX instructions result in a HardFault exception if bit[0] of Rm is 0.
    表示对这句不是很理解,那个位是0不应该是正常情况吗?求解
    5 条回复    2015-05-16 10:52:00 +08:00
    Hyperion
        1
    Hyperion  
       2015-05-15 23:26:01 +08:00
    bit[0] 好像是区分arm 和thumb 指令集的位吧? 看意思,似乎是在arm 指令模式下才会引发Hard Fault?

    擦汗,从来没注意过这个…
    hazard
        2
    hazard  
    OP
       2015-05-15 23:37:49 +08:00
    @Hyperion
    BX and BLX 这两个指令不是可以根据目标地址来切换指令集么?
    Hyperion
        3
    Hyperion  
       2015-05-15 23:58:14 +08:00
    @hazard …不是自动的,他要判断Rm 的bit[0] 才会切换状态。

    我应该没记错。
    hazard
        4
    hazard  
    OP
       2015-05-16 09:58:09 +08:00
    @Hyperion 对啊 我也是这么认为的,根据bit[0]来自动切换啊。。。
    Hyperion
        5
    Hyperion  
       2015-05-16 10:52:00 +08:00
    @hazard 然后这个问题就变成了一个英语理解问题了…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2324 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:35 · PVG 20:35 · LAX 05:35 · JFK 08:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.