| Copyright | (c) roki 2019 |
|---|---|
| License | MIT |
| Maintainer | falgon53@yahoo.co.jp |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | None |
| Language | Haskell2010 |
Htcc.Asm.Intrinsic.Structure.Internal
Description
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
Constructors
| Asm | |
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 Methods 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
Constructors
| AsmInfo | |
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