package bap-std
Subinstruction Sequence Number.
A subinstruction sequence number plays the role of an address for sub-instruction (which otherwise share the same physical address).
Each subinstruction is having a unique address across the whole program (not only unique across to other subinstructions of the same instruction) and much like Theory.Label.for_addr
it is possible to get a label that corresponds to an instruction with the given sequence number using Seqnum.label
.
The sequence number is represented with an integer to enable address arithemetics. A subinstruction that follows a subinstruction with the sequence number N
has the sequence number N+1
.
val label :
?package:string ->
t ->
Bap_core_theory.Theory.Label.t Bap_core_theory.KB.t
label seqnum
returns the program label that corresponds to seqnum
.
val slot : (Bap_core_theory.Theory.program, t option) Bap_core_theory.KB.slot
slot
for accessing the sequence number of a subinstruction.