rz-esil7
Evaluable strings intermediate language
Usage
Each command
of
an
ESIL
expression
is
separated
by
a
comma
Overview
ESIL aims to describe a Forth-like representation for every target CPU opcode semantics. ESIL representations can be evaluated (interpreted) in order to emulate individual instructions.
Basic operations
These operations should be enough to emulate most instructions of any architecture
- =
-
Set the value of the destination to the value of the source
- +
-
Add the values of source0 and source1 and push the result on the esil stack
- -
-
Subtract the value of source0 from the value of source1 and push the result on the esil stack
- *
-
Multiply the values of source0 and source1 and push the result on the esil stack
- /
-
Divide the value of source1 by the value of source0
BASIC OPERATIONS EXAMPLES (x86)
- jmp eax -> eax,eip,=