package bap-std
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=63ada71fa4f602bd679174dc6bf780d54aeded40ad4ec20d256df15886e3d2d5
md5=b8b1aff8c6846f2213eafc54de07b304
doc/bap/Bap/Std/Disasm_expert/Basic/Insn/index.html
Module Basic.Insn
Basic instruction aka machine-specific instruction.
The machine-specific instruction is composed of a name, operands, and kinds (or flags) that denote additional information about the instruction.
The meaning of the name and operands is specific to a particular machine and encoding (see Insn.encoding
). The meaning of the instruction kinds is more or less universal.
type ('a, 'k) t = ('a, 'k) insn
val slot :
(Bap_core_theory.Theory.program, full_insn option)
Bap_knowledge.Knowledge.slot
a decoded representa
val sexp_of_t : ('a, 'k) t -> Core_kernel.Sexp.t
sexp_of_t insn
returns a sexp representation of insn
val code : ('a, 'k) t -> int
code insn
returns an integer code, that is bijective with instruction opcode. It might not be the actual opcode, it may also change between different backends, and different versions of the same backend.
val name : ('a, 'k) t -> string
name insn
returns a textual representation of the instruction name. It might be the mnemonics, or a name, specific to a backend. The name is guaranteed to biject with the opcode (and thus to code
).
val encoding : ('a, 'k) t -> string
returns the name of the backend that encoded this instruction.
kinds insn
returns a high-level semantic information about the instruction. See Kind
for the description of semantic codes.
is insn kind
checks whether instruction insn
belongs to the semantic kind