radare2/man/esil.7

37 lines
1.0 KiB
Groff
Raw Normal View History

2016-01-20 01:22:00 +00:00
.TH ESIL 7
.SH NAME
Debian patches (#5866) * Fix esil manpage Each manual page should start with a "NAME" section, which lists the name and a brief description of the page separated by "\-". The "NAME" section is parsed by lexgrog and used to generate a database that's queried by commands like apropos and whatis. Without this change lexgrog fails to parse the NAME section of this manual page. This was found by Debian's lintian tool (manpage-has-bad-whatis-entry). * Fix empty input line in manpages Found-By: lintian as manpage-has-errors-from-man * Fix rahash2 manpage .El (end list) is only valid after .Bl (begin list), but no list was started in this section. Found-By: lintian * Avoid build break if no static bin plugins are defined If one disables all static bin plugins, build currently fails, since R_BIN_STATIC_PLUGINS/R_BIN_XTR_STATIC_PLUGINS are not defined. This fixes the build for these kind of setups. (In Debian does not built the mach code, since the Apple Public Source License is not compatible with the Debian Free Software Guidelines. Without the mach code there is not a single binxtr plugin) * Fix implicit declaration of function 'linux_generate_corefile' on i386 Noticed by Debian build farm. * Add support for SOURCE_DATE_EPOCH SOURCE_DATE_EPOCH can be used to make builds reproducible [0]. Note: radare suffers from a second problem making the build unreproducible: It captures the full build path. This is *not* covered by this change. [0] https://reproducible-builds.org/specs/source-date-epoch/
2016-09-28 17:17:43 +00:00
ESIL \- Evaluable Strings Intermediate Language
2016-01-20 01:22:00 +00:00
.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
2016-01-20 13:24:44 +00:00
.IP <source0>,<source1>,<operation>
2016-01-20 01:22:00 +00:00
.IP <source>,<destination>,<operation>
.IP <source_destination>,<operation>
2016-01-20 13:24:44 +00:00
.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,="
2016-01-20 01:22:00 +00:00
.SH "SEE ALSO"
.BR radare2 (1)