ESIL(7)

πŸ“¦
version 0.8.2 Β· 2 versions
, in arch rolling, epel 10, epel 9, fedora 43, fedora 44, nixos 26.05

πŸ’– NAME πŸ’–

okay bestie, welcome to ESIL(7) from the Miscellaneous Information Manual ✨

ESIL β€” Evaluable Strings Intermediate Language πŸ¦‹


🌸 DESCRIPTION 🌸

So ESIL aims to describe a Forth-like representation for every target CPU opcode semantics. no cap. and ESIL representations can be evaluated (interpreted) in order to emulate individual instructions. it's giving "CPU semantics but make it strings" πŸ’…


✨ SYNTAX ✨

Each command of an ESIL expression is separated by a comma, bestie. periodt.

<source0>,<source1>,<operation>

<source>,<destination>,<operation>

<source_destination>,<operation>

πŸ”₯ BASIC OPERATIONS πŸ”₯

These operations should be enough to emulate most instructions of any architecture. like, the starter pack but make it assembly πŸ‘‘

  • = β€” Set the value of the destination to the value of the source. simple as that πŸ’–
  • + β€” Add the values of source0 and source1 and push the result on the esil stack. math but on the stack ✨
  • - β€” Subtract the value of source0 from the value of source1 and push the result on the esil stack. order matters, bestie 🫢
  • * β€” Multiply the values of source0 and source1 and push the result on the esil stack. iconic πŸ’…
  • / β€” Divide the value of source1 by the value of source0. yes, source1 over source0, don't get it twisted πŸŽ€

πŸ¦‹ BASIC OPERATIONS EXAMPLES (x86) πŸ¦‹

like, x86 said "watch this":

jmp eax -> eax,eip,=

that's it. that's the example πŸ˜­πŸ’–


🌈 SEE ALSO 🌈

  • rizin(1) β€” go check that out too, bestie πŸ‘‘

mwah πŸ’‹ β€” that's the ESIL(7) footer, bestie. from the Miscellaneous Information Manual, and the original footer just has the manual name β€” no extra version/date vibes. so that's the whole tea. periodt πŸŽ€βœ¨

πŸ“¦ where this page comes from
  • arch rolling: rizin 0.8.2-2 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC-PDDC AND CC0-1.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND MIT
  • epel 10: rizin 0.7.4-5.el10_1 Β· LGPL-3.0-or-later AND GPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND MIT AND Apache-2.0 AND MPL-2.0 AND Zlib
  • epel 9: rizin 0.7.4-5.el9 Β· LGPL-3.0-or-later AND GPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND MIT AND Apache-2.0 AND MPL-2.0 AND Zlib
  • fedora 43: rizin 0.7.4-9.fc43 Β· LGPL-3.0-or-later AND GPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND MIT AND Apache-2.0 AND MPL-2.0 AND Zlib
  • fedora 43: rizin 0.7.4-9.fc43 Β· LGPL-3.0-or-later AND GPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND MIT AND Apache-2.0 AND MPL-2.0 AND Zlib
  • fedora 44: rizin 0.7.4-9.fc43 Β· LGPL-3.0-or-later AND GPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND MIT AND Apache-2.0 AND MPL-2.0 AND Zlib
  • fedora 44: rizin 0.7.4-9.fc43 Β· LGPL-3.0-or-later AND GPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND MIT AND Apache-2.0 AND MPL-2.0 AND Zlib
  • nixos 26.05: rizin 0.8.2
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms