Module X86_proc
Definitions shared between the 32 and 64 bit Intel backends.
Helpers for textual emitters
val string_of_reg8l : X86_ast.reg64 -> stringval string_of_reg8h : X86_ast.reg8h -> stringval string_of_reg16 : X86_ast.reg64 -> stringval string_of_reg32 : X86_ast.reg64 -> stringval string_of_reg64 : X86_ast.reg64 -> stringval string_of_regf : X86_ast.regf -> stringval string_of_gpr : X86_ast.arch -> X86_ast.reg64 -> stringval string_of_reg_idx : X86_ast.arch -> X86_ast.reg_idx -> stringval string_of_condition : X86_ast.condition -> stringval string_of_float_condition : X86_ast.float_condition -> stringval string_of_float_condition_imm : X86_ast.arg -> stringval string_of_rounding : X86_ast.rounding -> stringval imm_of_float_condition : X86_ast.float_condition -> X86_ast.argval imm_of_rounding : X86_ast.rounding -> X86_ast.argval string_of_prefetch_temporal_locality_hint :
X86_ast.prefetch_temporal_locality_hint ->
stringval buf_bytes_directive : Stdlib.Buffer.t -> string -> string -> unitBuffer of assembly code
val create_asm_file : bool Stdlib.refval emit : X86_ast.instruction -> unitval directive : X86_ast.asm_line -> unitCode emission
val generate_code : (X86_ast.asm_line list -> unit) option -> unitPost-process the stream of instructions. Dump it (using the provided syntax emitter) in a file (if provided) and compile it with an internal assembler (if registered through register_internal_assembler).
Generate an object file corresponding to the last call to generate_code. An internal assembler is used if available (and the input file is ignored). Otherwise, the source asm file with an external assembler.
System detection
val system : X86_proc.systemval is_linux : X86_proc.system -> boolval is_macosx : X86_proc.system -> boolval is_win32 : X86_proc.system -> boolval is_win64 : X86_proc.system -> boolval is_solaris : X86_proc.system -> boolmodule Section_name : sig ... endSupport for plumbing a binary code emitter
val internal_assembler :
(delayed:(unit -> (X86_proc.Section_name.t * X86_ast.asm_program) list) ->
(X86_proc.Section_name.t * X86_ast.asm_program) list ->
string ->
unit)
option
Stdlib.refval register_internal_assembler :
(delayed:(unit -> (X86_proc.Section_name.t * X86_ast.asm_program) list) ->
(X86_proc.Section_name.t * X86_ast.asm_program) list ->
string ->
unit) ->
unit