type condition =
| L
| GE
| LE
| G
| B
| AE
| BE
| A
| E
| NE
| O
| NO
| S
| NS
| P
| NP
type rounding =
| RoundUp
| RoundDown
| RoundNearest
| RoundTruncate
type data_type =
| NONE
| REAL4
| REAL8
| BYTE
| WORD
| DWORD
| QWORD
| OWORD
| NEAR
| PROC
type reg64 =
| RAX
| RBX
| RCX
| RDX
| RSP
| RBP
| RSI
| RDI
| R8
| R9
| R10
| R11
| R12
| R13
| R14
| R15
type reg8h =
| AH
| BH
| CH
| DH
type registerf =
| XMM of int
| TOS
| ST of int
type addr = {
arch : arch;
typ : data_type;
idx : reg64;
scale : int;
base : reg64 option;
sym : string option;
displ : int;
}
type asm_line =
| Ins of instruction
| Align of bool * int
| Byte of constant
| Bytes of string
| Global of string
| Long of constant
| NewLabel of string * data_type
| Quad of constant
| Section of string list * string option * string list
| Space of int
| Word of constant
| External of string * data_type
| Mode386
| Model of string
| Cfi_adjust_cfa_offset of int
| Cfi_endproc
| Cfi_startproc
| File of int * string
| Indirect_symbol of string
| Loc of int * int * int
| Private_extern of string
| Set of string * constant
| Size of string * constant
| Type of string * string