mirror of
https://github.com/radareorg/radare2.git
synced 2024-12-03 19:01:31 +00:00
37 lines
1.0 KiB
Groff
37 lines
1.0 KiB
Groff
.TH ESIL 7
|
|
.SH NAME
|
|
ESIL Evaluable Strings Intermediate Language
|
|
.SH 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.
|
|
|
|
.SH SYNTAX
|
|
|
|
Each command of an ESIL expression is separated by a comma
|
|
|
|
.IP <source0>,<source1>,<operation>
|
|
.IP <source>,<destination>,<operation>
|
|
.IP <source_destination>,<operation>
|
|
|
|
.SH BASIC OPERATIONS
|
|
|
|
These operations should be enough to emulate most instructions of any architecture
|
|
|
|
.IP =
|
|
sets the value of the destination to the value of the source
|
|
.IP +
|
|
adds the values of source0 and source1 and pushes the result on the esil stack
|
|
.IP -
|
|
subtracts the value of source0 from the value of source1 and pushes the result on the esil stack
|
|
.IP *
|
|
multiplies the values of source0 and source1 and pushes the result on the esil stack
|
|
.IP /
|
|
divides the value of source1 by the value of source0
|
|
|
|
.SH BASIC OPERATIONS EXAMPLES (x86)
|
|
|
|
.IP "jmp eax -> eax,eip,="
|
|
|
|
.SH "SEE ALSO"
|
|
.BR radare2 (1)
|