Transforming assembly language into machine code is the job of an assembler, and the reverse can at least partially be achieved by a disassembler. In each case, the MOV mnemonic is translated directly into one of the opcodes 88-8C, 8E, A0-A3, B0-BF, C6 or C7 by an assembler, and the programmer normally does not have to know or remember which.It runs on MSDOS, Win32, Linux and other platforms. It supports Pentium, P6, MMX, 3DNow!, SSE, and SSE2 opcodes. It generates a wide range of object file formats, including a.out, ELF, COFF, Mach-0, Microsoft OBJ, etc. This is a free macro assembler that assembles Intel x86 assembly code.They are at their heart actually quite simple devices, even the decades of stuff built on stuff built on stuff that is the modern X86/X64 Intel/AMD style processor (by comparison the ARM of just about everything else nowadays, along with the Z80, 68K, 6502, PowerPC, 8080, MIPS and other things you will have seen if you looked at specs sheets.Ok, what we know now is that in firmware image there is a region with many strings written one after another, like on the first hexdump. But if we look closer, it seems that this in fact is some kind of machine code.