关于 arm 汇编的小问题

2015-05-15 23:02:28 +08:00
 hazard
今天查资料时发现这里: 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不应该是正常情况吗?求解
1891 次点击
所在节点    问与答
5 条回复
Hyperion
2015-05-15 23:26:01 +08:00
bit[0] 好像是区分arm 和thumb 指令集的位吧? 看意思,似乎是在arm 指令模式下才会引发Hard Fault?

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

我应该没记错。
hazard
2015-05-16 09:58:09 +08:00
@Hyperion 对啊 我也是这么认为的,根据bit[0]来自动切换啊。。。
Hyperion
2015-05-16 10:52:00 +08:00
@hazard 然后这个问题就变成了一个英语理解问题了…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/191434

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX