table of contents
other versions
- unstable 4.3.1+dfsg-1
ESIL(7) | Miscellaneous Information Manual | ESIL(7) |
NAME¶
ESIL - Evaluable Strings Intermediate LanguageDESCRIPTION¶
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,=