我试图找出 SPARC 上无条件 JMP 的编码,即 JMP。反汇编几个二进制文件后。
在我的 IDA 反汇编中,JMP %g1 的编码是:
81 c0 40 00
翻阅 spark 手册,我似乎找不到有关如何编码的记录。我也很困惑为什么 IDA 在文档中指的是“JMP”而不是“JMPL”。
SPARC9 手册中给出的 JMPL 编码建议对我来说有点神秘,我对他们所得到的内容感到困惑:
10-RD-OP3-RS1-i-[-]-rs2
或者
10-RD-OP3-RS1-i-siMM3
“如果跳转地址的低位两位非零,则发生mem_address_not_aligned异常”
好吧,我不确定这与 IDA 找到的指令有什么关系。有人可以分解这如何映射到 JMP %g1 吗?这对 JMP %g2 有何变化?