CodeGen.X86

Byte sequences

data Bytes

class HasBytes a

Sizes (in bits)

data Size

class HasSize a

class IsSize s

Addresses

base

disp

index1

index2

index4

index8

Operands

data Access

data Operand

resizeOperand

Immediate values

imm

Memory references

addr

ipBase

Registers

64 bit registers

rax

rcx

rdx

rbx

rsp

rbp

rsi

rdi

r8

r9

r10

r11

r12

r13

r14

r15

32 bit registers

eax

ecx

edx

ebx

esp

ebp

esi

edi

r8d

r9d

r10d

r11d

r12d

r13d

r14d

r15d

16 bit registers

ax

cx

dx

bx

sp

bp

si

di

r8w

r9w

r10w

r11w

r12w

r13w

r14w

r15w

8 bit low registers

al

cl

dl

bl

spl

bpl

sil

dil

r8b

r9b

r10b

r11b

r12b

r13b

r14b

r15b

8 bit high registers

ah

ch

dh

bh

Conditions

data Condition

Assembly codes

data Code

Compound assembly codes

(<>)

(<.>)

(<:>)

j

j_back

if_

lea8

leaData

Compilation

class Callable a

compile

Calling C and Haskell from Assembly

callFun

saveNonVolatile

arg1

arg2

arg3

arg4

result

class CallableHs a

hsPtr

Misc

runTests

data CString

traceReg