curly-system-0.3.3: System-specific code generation libraries for the Curly compiler
Curly.System.ARM.Common
data R Source #
Constructors
Instances
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] #
showsPrec :: Int -> R -> ShowS #
show :: R -> String #
showList :: [R] -> ShowS #
toValue :: R -> Value Source #
toLocus :: R -> Locus Source #
data Cond Source #
succ :: Cond -> Cond #
pred :: Cond -> Cond #
toEnum :: Int -> Cond #
fromEnum :: Cond -> Int #
enumFrom :: Cond -> [Cond] #
enumFromThen :: Cond -> Cond -> [Cond] #
enumFromTo :: Cond -> Cond -> [Cond] #
enumFromThenTo :: Cond -> Cond -> Cond -> [Cond] #
showsPrec :: Int -> Cond -> ShowS #
show :: Cond -> String #
showList :: [Cond] -> ShowS #
data Instruction Source #
bcEncode :: Instruction -> BinaryCode Source #
encode :: Proxy Bytes -> Instruction -> StreamBuilder Bytes #
data Op Source #
reg :: Enum a => a -> RegID Source #
mkInstr :: [(Int, Word32)] -> Word32 Source #
archOffset :: (Semiring n, Num n) => Offset -> n Source #
arm_wordSize :: Num t => t Source #
en :: (Enum n, Num m) => n -> m Source #
toR :: Enum a => RegID -> a Source #
rsrc :: RegID Source #
rdst :: RegID Source #
arm_cp :: Locus -> Value -> [Instruction] Source #
arm_add :: a Source #
arm_sub :: 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 #
cond :: (Bool, Ordering) -> Cond Source #
arm_instr :: (MonadASM m s, Foldable f, BCSerializable s') => f s' -> m () Source #
arm_curlyBuiltin :: t -> Maybe a Source #
arm_load :: t -> a Source #
arm_store :: t -> a Source #
arm_machine :: VonNeumannMachine Source #
arm_sys :: String -> Standalone -> System Source #