curly-system-0.3.3: System-specific code generation libraries for the Curly compiler

Safe HaskellNone
LanguageHaskell2010

Curly.System.ARM.Common

Documentation

data R Source #

Constructors

R_r0 
R_r1 
R_r2 
R_r3 
R_r4 
R_r5 
R_r7 
R_r8 
R_r9 
R_r10 
R_r11 
R_r12 
R_sp 
R_lr 
R_pc 

Instances

Enum R Source # 

Methods

succ :: R -> R #

pred :: R -> R #

toEnum :: Int -> R #

fromEnum :: R -> Int #

enumFrom :: R -> [R] #

enumFromThen :: R -> R -> [R] #

enumFromTo :: R -> R -> [R] #

enumFromThenTo :: R -> R -> R -> [R] #

Show R Source # 

Methods

showsPrec :: Int -> R -> ShowS #

show :: R -> String #

showList :: [R] -> ShowS #

IsValue R Source # 

Methods

toValue :: R -> Value Source #

IsLocus R Source # 

Methods

toLocus :: R -> Locus Source #

data Cond Source #

Constructors

C_EQ 
C_NE 
C_CS 
C_CC 
C_MI 
C_PL 
C_VS 
C_VC 
C_HI 
C_LS 
C_GE 
C_LT 
C_GT 
C_LE 
C_AL 
C_None 

Instances

reg :: Enum a => a -> RegID Source #

archOffset :: (Semiring n, Num n) => Offset -> n Source #

en :: (Enum n, Num m) => n -> m Source #

toR :: Enum a => RegID -> a Source #

arm_push :: MonadASM m s => Value -> m () Source #

arm_pop :: MonadASM m s => Either Int Locus -> m () Source #

arm_ret :: MonadASM m s => m () Source #

arm_call :: MonadASM f s => Value -> f () Source #

arm_jmp :: MonadASM m s => Value -> m () Source #

arm_jcmp :: (Functor f, MonadASM m s) => f Bool -> (Bool, Ordering) -> Value -> Value -> BinAddress -> m () Source #

toReg :: MonadASM f s => RegID -> Locus -> f RegID Source #

arm_instr :: (MonadASM m s, Foldable f, BCSerializable s') => f s' -> m () Source #

arm_load :: t -> a Source #

arm_store :: t -> a Source #