MOV R0, #1 STR R0, [R0] MOV PC, LR
An essential utility for security researchers, malware analysts, and embedded systems developers. While simple online versions are great for quick "one-liner" checks, professional-grade suites are necessary for complex binaries. Pros:
E3A01002 E3A02003 E0812002
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 [ cond ][ 0 0 ][ opcode ][ S ][ Rn ][ Rd ][ operand2 ]
| Hex | Assembly | |------|-----------| | E1A00000 | MOV R0, R0 (NOP) | | E3A0102A | MOV R1, #42 | | E2833001 | ADD R3, R3, #1 | | E5902000 | LDR R2, [R0] | | EA000005 | B 0x20 (branch) | hex to arm converter
A converter must parse these bits. For instance, 1A000001 might decode to BNE label (Branch if Not Equal). Understanding that the instruction only executes if the Zero flag is clear is a crucial part of the conversion interpretation.
Basic converters often lose "labels" or "branch targets," making it hard to follow complex logic flow compared to full-featured disassemblers like those found on Hex-Rays . MOV R0, #1 STR R0, [R0] MOV PC,
| Set | Instruction width | Typical devices | |------|------------------|----------------| | ARM (A32) | 32-bit fixed | Classic ARM cores, Cortex-A | | Thumb (T16) | 16-bit | Cortex-M, lower memory footprint | | Thumb-2 (T32) | Mixed 16/32-bit | Modern Cortex-M3/M4/M7/M33 |