Y86 is a simplified x86-like instruction set.
EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI
AOK, HLT, ADR, INS
halt, nop, rrmovl(cmovXX), irmovl, rmmovl, mrmovl,
OPl, jXX, call, ret, pushl, popl
OP: add, sub, and, xor
XX: all, le, l, e, ne, ge, g
see example
For more details: Chapter 4 of CSAPP
Build:
make Y86asm
Run:
Y86asm <input> [<output>]
use y.out by default if <output> is not specified.
Build:
make Y86sim
Run:
Y86sim <input>
MIT License