MASMGen-0.7.0.0: Generate MASM code from haskell

Copyright(c) Ruey-Lin Hsu (petercommand)
LicenseLGPL-3
Maintainerpetercommand@gmail.com
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Language.MASMGen.Types

Description

 

Documentation

data Lit Source #

Constructors

Lit8 Word8 
Lit16 Word16 
Lit32 Word32 
Instances
Show Lit Source # 
Instance details

Defined in Language.MASMGen.Types

Methods

showsPrec :: Int -> Lit -> ShowS #

show :: Lit -> String #

showList :: [Lit] -> ShowS #

data Var Source #

Instances
Show Var Source # 
Instance details

Defined in Language.MASMGen.Types

Methods

showsPrec :: Int -> Var -> ShowS #

show :: Var -> String #

showList :: [Var] -> ShowS #

type Scale = Int Source #

data Operand where Source #

Constructors

Imm :: Word32 -> 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 :: Var -> Operand 
Instances
Show Operand Source # 
Instance details

Defined in Language.MASMGen.Types

data Reg32 Source #

Constructors

EAX 
EBX 
ECX 
EDX 
ESI 
EDI 
ESP 
EBP 
Instances
Show Reg32 Source # 
Instance details

Defined in Language.MASMGen.Types

Methods

showsPrec :: Int -> Reg32 -> ShowS #

show :: Reg32 -> String #

showList :: [Reg32] -> ShowS #

data Reg16 Source #

Constructors

AX 
BX 
CX 
DX 
SI 
DI 
SP 
BP 
Instances
Show Reg16 Source # 
Instance details

Defined in Language.MASMGen.Types

Methods

showsPrec :: Int -> Reg16 -> ShowS #

show :: Reg16 -> String #

showList :: [Reg16] -> ShowS #

data Reg8 Source #

Constructors

AH 
AL 
BH 
BL 
CH 
CL 
DH 
DL 
SPL 
BPL 
SIL 
DIL 
Instances
Show Reg8 Source # 
Instance details

Defined in Language.MASMGen.Types

Methods

showsPrec :: Int -> Reg8 -> ShowS #

show :: Reg8 -> String #

showList :: [Reg8] -> ShowS #

data RegXMM Source #

Instances
Show RegXMM Source # 
Instance details

Defined in Language.MASMGen.Types

data RegClass Source #

Constructors

Reg32 
Reg16 
Reg8 
RegXMM 

data MASMType where Source #

Constructors

DB :: MASMType 
DW :: MASMType 
DD :: MASMType 
Ptr :: MASMType -> MASMType 
Instances
Show MASMType Source # 
Instance details

Defined in Language.MASMGen.Types

data MASMFunc Source #

Constructors

MASMFunc 

Fields

data MASMTopLevel Source #

Constructors

Func MASMFunc 

operandClass :: OperandClass a => a -> OpClass Source #

def :: Def a => a Source #

showReg :: Reg a => a -> String Source #

regClass :: Reg a => a -> RegClass Source #