X86 disassembler Page: Link
This disassembler is mainly designed as a Disassembly library, for JavaScript/Java that can run on any system.
Supports x86 Instruction sets:
MMX, F16C, 3DNow.
SSE, SSE2, SSE3, SSSE3, SSE4, SSE4a, SSE4.1, SSE4.2.
SMX, VMX, AMD-V, Intel VT-x.
AES, ADX.
HLE, MPX.
ABM, BMI1, BMI2, TBM.
FMA, SHA.
XOP, TBM, LWP, AVX2.
AVX512F, AVX512CD, AVX512ER, AVX512PF.
AVX512BW, AVX512DQ, AVX512VL.
AVX512IFMA, AVX512VBMI.
Except:
DREX, but DREX never even shipped to any systems, so there is no software that used DREX.
This is because both Linux, and Windows run on X86 machine code native binary language.
(1) For Microsoft programs one would have to decode the program memory, and DLL table setup in the PE header of an exe. Then find the starting point at which the programs machine code instructions start.
(2) For Linux one would have to decode the ELF setup headers before one could find the starting point at which the binary instructions begin.
(3) Boot Sectors. A boot sector is the first sector of any disk drive that contains machine code instructions that your computer follows. It is standard for a computer to start in 16 bit mode then search for a disk to load at sector 0. The boot sector program can very based on which operating system you installed to the computer. By reading the binary at sector 0 in hex you could give the code to the disassembler in 16 bit 8086 mode and it will decode it. Thus you could follow the boot process of the operating system. In the past there use to be viruses that wrote to sector 0 on memory cards, and internal disks to infect other computers when the disk was inserted.
You may also like the project JDasm which guides you through the process of taking a Microsoft, Linux, or macOS binary program apart and visualizing binary file formats. Also lets you see how boot sectors decompile and work. See https://github.com/Recoskie/JDasm