X86_proc
Definitions shared between the 32 and 64 bit Intel backends.
Helpers for textual emitters
val string_of_reg8l : X86_ast.reg64 -> string
val string_of_reg8h : X86_ast.reg8h -> string
val string_of_reg16 : X86_ast.reg64 -> string
val string_of_reg32 : X86_ast.reg64 -> string
val string_of_reg64 : X86_ast.reg64 -> string
val string_of_registerf : X86_ast.registerf -> string
val string_of_condition : X86_ast.condition -> string
val string_of_float_condition : X86_ast.float_condition -> string
val string_of_rounding : X86_ast.rounding -> string
val buf_bytes_directive : Stdlib.Buffer.t -> string -> string -> unit
Buffer of assembly code
val emit : X86_ast.instruction -> unit
val directive : X86_ast.asm_line -> unit
Code emission
val generate_code : (X86_ast.asm_line list -> unit) option -> unit
Post-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 : system
Support for plumbing a binary code emitter
val register_internal_assembler :
(X86_ast.asm_program -> string -> unit) ->
unit
val with_internal_assembler :
(X86_ast.asm_program -> string -> unit) ->
(unit -> 'a) ->
'a