Copyright | (c) roki 2019 |
---|---|
License | MIT |
Maintainer | falgon53@yahoo.co.jp |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
The modules of intrinsic (x86_64) assembly
Synopsis
- newtype Asm ctx e a = Asm {}
- data AsmInfo e = AsmInfo {}
- data AsmCodeCtx
- unCtx :: Asm ctx e a -> Asm ctx' e a
- runAsm :: (Num e, Enum e) => Asm AsmCodeCtx e a -> IO a
- putStrWithIndent :: Text -> Asm ctx e ()
- putStrLnWithIndent :: Text -> Asm ctx e ()
- errCtx :: Text -> Asm ctx e ()
- writeCurFn :: Maybe Text -> Asm ctx e ()
- section :: Text -> Asm ctx e a -> Asm AsmCodeCtx e a
- labeled :: Asm ctx e a -> Asm ctx e a
Documentation
A monad that represents the context of the assembly code
Instances
Monad (Asm ctx e) Source # | |
Functor (Asm ctx e) Source # | |
Applicative (Asm ctx e) Source # | |
Defined in Htcc.Asm.Intrinsic.Structure.Internal | |
MonadFinally (Asm ctx e) Source # | |
Defined in Htcc.Asm.Intrinsic.Structure.Internal finally' :: Asm ctx e α -> (Maybe α -> Asm ctx e β) -> Asm ctx e (α, β) # finally :: Asm ctx e α -> Asm ctx e β -> Asm ctx e α # bracket' :: Asm ctx e r -> (r -> Maybe α -> Asm ctx e β) -> (r -> Asm ctx e α) -> Asm ctx e (α, β) # bracket :: Asm ctx e r -> (r -> Asm ctx e β) -> (r -> Asm ctx e α) -> Asm ctx e α # | |
Semigroup (Asm ctx e a) Source # | |
Monoid a => Monoid (Asm ctx e a) Source # | |
Counter and label information used when generating assembly code
data AsmCodeCtx Source #
Type representing assembly code
runAsm :: (Num e, Enum e) => Asm AsmCodeCtx e a -> IO a Source #
the executor that outputs assembly code
putStrWithIndent :: Text -> Asm ctx e () Source #
print a string with indentation
putStrLnWithIndent :: Text -> Asm ctx e () Source #
print a string with indentation, output is broken on a new line