ARM opcodes are very different from x86 opcodes?
, . , . , :
, , , .
: ARM , /, x86 , , /.
: . (, add), - .
, , .
, int/float/double SIMD ?
, . , IEEE 754 . , x86 80- , , 32- 64- , . SIMD , , , .
, Windows, Mac Unix?
Intel x86, Windows, Mac OS X Unix/Linux, , , . . , , , , . , , Windows Linux.
PE , , , ?
, PE . , , . PE .
: .NET PE , , . PE "" , . , mono Linux .NET.
EXE (, 3DNOW! SSE/MMX?)
, (. ), , , . . , x86 CPUID, , . , .
.NET
, - .NET , CIL (Common Intermediate Language). CIL . CIL . ( Windows mscoree.dll, Linux mono) , Just-In-Time (JIT) CIL . , . - . , , , .
ARM?
ARM, , , . ARM 32-. (, ), ARM :
31 28 27 26 25 21 20 16
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--
| Condition | 0 | 0 |R/I| Opcode | S | Operand 1 | ...
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--
12 0
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
... | Destination | Operand 2 |
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
:
- . , , true, . Zero, Carry, Negative Overflow. 1110, .
- R/I: 0 2 . 1, 2 .
- Opcode: .
- S. 1, Zero, Carry, Negative Overflow .
- Operand1: , .
- : , -.
- 2: . R/I - 0, . R/I 1, 8- . 2 , / .
ARM, . ARM7TDMI-S, 4 .
, ARM, , , 4 . - ARM- 16- Thumb. , 32- , .
, x86-64 . ARM , x86 x86-64, x86-64 Encoding Encoding, OSDev.org.
. , , .