Encoding 在ARMv7中,哪些特殊情况表明编码不适用?

Encoding 在ARMv7中,哪些特殊情况表明编码不适用?,encoding,binary,arm,armv7,instruction-set,Encoding,Binary,Arm,Armv7,Instruction Set,为了实现arm反汇编程序,我正在阅读ARMv7体系结构参考手册。 关于伪代码的附录P.2.1(第2644页)中写道: “如果有多个匹配的编码图[指令匹配],则除一个伪代码外,所有对应的伪代码段都必须包含一个表示不适用的特殊情况。” 我想知道有哪些特殊情况。当然有“SEE”语句,但它是唯一一个不考虑编码的语句吗?换句话说,如果有几个编码与指令匹配,那么除了一个之外,它们是否都遇到了一个“SEE”语句,或者它是否也有“UNDEFINED”、“unexpective”、“IMPLEMENTATION\

为了实现arm反汇编程序,我正在阅读ARMv7体系结构参考手册。 关于伪代码的附录P.2.1(第2644页)中写道:

“如果有多个匹配的编码图[指令匹配],则除一个伪代码外,所有对应的伪代码段都必须包含一个表示不适用的特殊情况。”

我想知道有哪些特殊情况。当然有“SEE”语句,但它是唯一一个不考虑编码的语句吗?换句话说,如果有几个编码与指令匹配,那么除了一个之外,它们是否都遇到了一个“SEE”语句,或者它是否也有“UNDEFINED”、“unexpective”、“IMPLEMENTATION\u DEFINED”或“SUBARCHITECTURE\u DEFINED”之类的语句,或者我错过了其他什么

我认为“SEE”应该是唯一的一个,因为当只有一个编码匹配时,其他语句可能会出现,并期望执行一些操作来处理它。但是,为什么我在上面引用的那一行中没有指明特殊情况是“SEE”语句呢?我害怕错过一些东西


非常感谢你的帮助

这是用于描述参考手册中ARM指令的伪代码说明。例如,参见
LDRT
;它有很多特殊情况。我不相信这意味着不同的反汇编助记符,而是不同的伪代码用法;也就是说,不同的语义。SEE的意思是看一下这个来得到一个描述。我是按照nop和mov r0,r0的思路思考的。在ARMv7A文档中,
nop
被定义为
msr cpsr_null,#0
。也就是说,一个戴着面具的即时助理,使得指令无效。
msr
op代码确实包含SEE“相关编码”。其他包括
B
IT
LDRD
STRD
VABA/VABAL
VABD/VABDL
,等等。看起来霓虹灯操作码中包含了丰富的编码。