Thumb-2分支指令的问题

时间:2014-08-13 00:44:23

标签: branch instruction-set thumb

我目前正在创建一个应用程序,它将接收用户的输入并返回他们想要的分支指令的十六进制。

输入内容包括:

  • 分支类型(有条件/无条件)
  • 如果有条件,条件
  • 转到
  • 的地址
  • 来自
  • 的地址分支

我现在可以填写32位的大部分位,但是我无法填写三个让我困扰的位。这些是S位,J1位和J2位,如下面的参考资料所示:

Conditional Reference

Non-Conditional Reference

这些位是否具有默认值?否则,我怎么知道我需要为它们使用的值?谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

我进一步搜索了互联网,直到找到答案:

  

实验表明没有使用J1和J2位,定义是:   imm32 = SignExtend(S:imm6:imm11:'0',32);

基本上,不使用J1和J2,只使用S位。这也很有意义,因为它也适用于我的实验。并且S位似乎是符号位,当地址为负时等于1,或者当地址为正时等于0。