Man pages sections > man7 > esil

ESIL - Evaluable Strings Intermediate Language

ESIL(7) Miscellaneous Information Manual ESIL(7)

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)
Debian Sid