Two's Complement

Input:
2s Comp:
Base 10:

Bin/Hex/Dec Conversion

Base 10 (Dec) - Signed:
Base 2 (Bin):
Base 16 (Hex):

Adder

Input A:
Input B:
Added:
Carry:
Overflow:

Hex String Converter

Hex String (do not include 0x):
ASCII String:

Machine Code Decoder for x86 (not 100%, buggy)

Machine Code Hex (do not include 0x):
Output:
Output (from possibly incomplete opcode 1):
Output (from possibly incomplete opcode 2):
Notes:

Float/Double Tool

Float/Double:
Hex[adecimal]:
S[ign]:
Exp[onent]:
Frac[tion]:

Mini Emulator (Stable)

Unsupported: Unsupported instructions will now cause an error message
Supports: mov, add, sub, lea, cmp, jmp, jl, jle, jg, jge, inc, and, or, xor, sal/shl, sar, shr, cltd, test, call, ret, and labels
Experimental Support: imul, idiv, ja, jae, jb, jbe, jo, jno jz, jnz, js, jns
Syntax Support: AT&T Only
EFLAGS only change after a comparison and imul! The only flags that exist are OF (overflow), CF (carry), SF (sign), and ZF (zero)
Input
Safety Shutoff (of commands):
Stack Size (in bytes):
Debug Output
Change Log:
  • May 12th 2022: Fixed shifts masking for all operand sizes.
  • May 12th 2022: Added experimental indexed addressing to add, sub, and imul.
  • May 12th 2022: Added call and ret to emulator. Added error messages for some operations.
  • May 10th 2022: Experimental indexed addressing added for mov only in emulator
  • May 10th 2022: Rewrite of entire core of emulator
  • May 3rd 2022: Added Float/Double Tool
  • May 2nd 2022: Added many missing registers to Mini x86-64 Emulator