package bap-std
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=a6e80853aaaa26b7ca564d9878891d7146ec1c83852541387c1bba1ad036b8ea
md5=13f2cb1e3b9d90348852252fb0f2d09f
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) insnval slot :
(Bap_core_theory.Theory.program, full_insn option)
Bap_knowledge.Knowledge.slota decoded representa
val sexp_of_t : ('a, 'k) t -> Core_kernel.Sexp.tsexp_of_t insn returns a sexp representation of insn
val code : ('a, 'k) t -> intcode 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 -> stringname 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 -> stringreturns 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