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