You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确读取ARM指令编码?基础编码后二级编码识别异常求助

ARM指令集编码解析困境:无法识别第二个有效编码

我目前正依据ARM指令集参考手册尝试读取指令,但遇到了一个难题——基础编码(数据处理和杂项指令)之后的第二个有效编码始终无法匹配到合法指令类型。我已经尝试重新解读编码规则,逐行解析二进制数据,但问题依然存在。

以下是我收集到的相关代码与解析信息:

function = 0x2d02dd 
bit length: 32 
lines to read = 4 (1 line == 32 bits read) 
buffer = 0x2d02dd b0 80 b5 6f 
10110000 10000000 10110101 01101111 
bufferb = 0x2d02dd 
bit = 0x2d02dd 
encoding = 0x2d02dd 
cond = 1011 
Mnemonic extention: LT 
Meaning (integer): Signed less than 
Meaning (floating point){a}: Less than, or unordered 
a. Unordered means at least one NaN operand 
Condition flags: N != V 
op1 = 000 
unspecified1 = 01000000010110101011 
op = 0 
unspecified2 = 1111 
encoding group: data processing and miscellaneous instructions 
bitc = 4 

encoding = 0x2d02e1 
cond = 0100 
zero1 = 0 
zero2 = 1 
op = 1 
op1 = 00111 
unspecified1 = 101101100001 
op2 = 0011 
unspecified2 = 1010 
encoding group: b0 80 b5 6f 

function = 0x2d02dd 
i*length = 0 
buffer = 0x2d02e1 46 7b 61 3a 
01000110 01111011 01100001 00111010 
bufferb = 0x2d02e1 
bit = 0x2d02e1 
encoding = 0x2d02e1 
cond = 0100 
Mnemonic extention: MI 
Meaning (integer): Minus, negative 
Meaning (floating point){a}: Less than 
a. Unordered means at least one NaN operand 
Condition flags: N == 1 
op1 = 011 
unspecified1 = 00111101101100001001 
op = 1 
unspecified2 = 1010 
encoding group: 46 7b 61 3a 

function = 0x2d02dd 
i*length = 4 
buffer = 0x2d02e5 61 f9 60 00 
01100001 11111001 01100000 00000000 
bufferb = 0x2d02e5 
bit = 0x2d02e5 
encoding = 0x2d02e5 
cond = 0110 
Mnemonic extention: VS 
Meaning (integer): Overflow 
Meaning (floating point){a}: Unordered 
a. Unordered means at least one NaN operand 
Condition flags: V == 1 
op1 = 000 
unspecified1 = 11111100101100000000 
op = 0 
unspecified2 = 0000 
encoding group: data processing and miscellaneous instructions 
bitc = 4 

encoding = 0x2d02e9 
cond = 0010 
zero1 = 0 
zero2 = 0 
op = 0 
op1 = 11011 
unspecified1 = 100001100000 
op2 = 0000 
unspecified2 = 0111 
encoding group: 61 f9 60 00 

function = 0x2d02dd 
i*length = 8 
buffer = 0x2d02e9 21 b8 60 07 
00100001 10111000 01100000 00000111 
bufferb = 0x2d02e9 
bit = 0x2d02e9 
encoding = 0x2d02e9 
cond = 0010 
Mnemonic extention: CS{b} 
Meaning (integer): Carry Set 
Meaning (floating point){a}: Greater than, equal, or unordered 
a. Unordered means at least one NaN operand 
Condition flags: C == 1 
b. HS (unsigned higher or same) is a synonym for CS 
op1 = 000 
unspecified1 = 11011100001100000000 
op = 0 
unspecified2 = 0111 
encoding group: data processing and miscellaneous instructions 
bitc = 4 

encoding = 0x2d02ed 
cond = 1111 
zero1 = 0 
zero2 = 0 
op = 0 
op1 = 10000 
unspecified1 = 100000000000 
op2 = 0000 
unspecified2 = 0001 
encoding group: miscellaneous instructions 

21 b8 60 07 
function = 0x2d02dd 
i*length = 12 
function = 0x2d02dd 

内容的提问来源于stack exchange,提问作者Clark Kent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:11:47