Provided by: radare2_2.3.0+dfsg-2_amd64
NAME
ESIL - Evaluable Strings Intermediate Language
DESCRIPTION
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.
SYNTAX
Each command of an ESIL expression is separated by a comma <source0>,<source1>,<operation> <source>,<destination>,<operation> <source_destination>,<operation>
BASIC OPERATIONS
These operations should be enough to emulate most instructions of any architecture = sets the value of the destination to the value of the source + adds the values of source0 and source1 and pushes the result on the esil stack - subtracts the value of source0 from the value of source1 and pushes the result on the esil stack * multiplies the values of source0 and source1 and pushes the result on the esil stack / divides the value of source1 by the value of source0
BASIC OPERATIONS EXAMPLES (x86)
jmp eax -> eax,eip,=
SEE ALSO
radare2(1) ESIL(7)