MASMGen-0.1.0.0: Generate MASM code from haskell

Safe HaskellSafe
LanguageHaskell2010

Language.MASMGen.Types

Documentation

class Def a where Source

Methods

def :: a Source

Instances

data Lit Source

Constructors

IntLit Word8 
Lits [Lit] 

data Operand where Source

Constructors

Imm :: Word16 -> Operand 
Direct :: Addr -> Operand 
Reg :: forall a. Reg a => a -> Operand 
RegIndirect :: forall a. Reg a => a -> Operand 
RegIndex :: forall a. Reg a => a -> Displacement -> Operand 
RegIndexScale :: forall a. Reg a => a -> a -> Scale -> Displacement -> Operand 
VarAddr :: String -> Operand 

data Reg32 Source

Constructors

EAX 
EBX 
ECX 
EDX 
ESI 
EDI 
ESP 
EBP 

data Reg16 Source

Constructors

AX 
BX 
CX 
DX 
SI 
DI 
SP 
BP 

data Reg8 Source

Constructors

AH 
AL 
BH 
BL 
CH 
CL 
DH 
DL 
SPL 
BPL 
SIL 
DIL 

data RegClass Source

Constructors

Reg32 
Reg16 
Reg8 
RegXMM 

class Show a => Reg a where Source

Minimal complete definition

regClass

data MASMType where Source

Constructors

DB :: MASMType 
DW :: MASMType 
DD :: MASMType 
Ptr :: MASMType -> MASMType 

Instances

data MASMFunc Source

Constructors

MASMFunc 

Fields

funcName :: String
 
instrs :: [MASMInstr]
 

data MASMTopLevel Source

Constructors

Func MASMFunc