Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arm 指令编码_Arm - Fatal编程技术网

Arm 指令编码

Arm 指令编码,arm,Arm,在学校我正在写一个ARM模拟器。在ARM()中,计算分支偏移的第二和第三高位为I1=NOT(J1 EOR S)和I2=非(J2 EOR S)(ARM第239页)。有人知道为什么会这样吗?出于某种原因,它似乎导致了我的错误。这有点让人困惑,但它似乎是一种将I1和I2位映射为有效指令编码的技术 拇指分支指令编码为一对16位子指令。每个16位子指令都需要自己独特的指令编码 “S”位是符号位,因此我们无法区分编码T3和编码T4与前16位子指令 在第二子指令中,位12区分编码T3和T4。但是,直接使用I1

在学校我正在写一个ARM模拟器。在ARM()中,计算分支偏移的第二和第三高位为
I1=NOT(J1 EOR S)和<代码>I2=非(J2 EOR S)(ARM第239页)。有人知道为什么会这样吗?出于某种原因,它似乎导致了我的错误。

这有点让人困惑,但它似乎是一种将I1和I2位映射为有效指令编码的技术

拇指分支指令编码为一对16位子指令。每个16位子指令都需要自己独特的指令编码

“S”位是符号位,因此我们无法区分编码T3和编码T4与前16位子指令


在第二子指令中,位12区分编码T3和T4。但是,直接使用I1和I2会与现有指令冲突,因此它们被分为四种编码之一,每种编码确定分支的范围。

是否有一些示例反汇编显示了这种编码?