Copyright | (c) Rose 2019 |
---|---|
License | BSD3 |
Maintainer | rose@lain.org.uk |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
This module provides a backend to format opcodes as ASM and produce assembly files which are then buildable into ROMs (with RGBDS).
Synopsis
- compileROM :: Lazyboy a -> IO Text
Documentation
compileROM :: Lazyboy a -> IO Text Source #
Compiles an action to an assembly source file.
This function makes use of a "bare" template, which
sets up an appropriate start location for the body of the program
and defines an entry point label main
.
Orphan instances
Show Instruction Source # | A custom Show instance which formats Instructions as assembly. |
showsPrec :: Int -> Instruction -> ShowS # show :: Instruction -> String # showList :: [Instruction] -> ShowS # | |
PrintfArg Label Source # | |
formatArg :: Label -> FieldFormatter # parseFormat :: Label -> ModifierParser # | |
PrintfArg Register16 Source # | Instances of PrintfArg |
formatArg :: Register16 -> FieldFormatter # parseFormat :: Register16 -> ModifierParser # | |
PrintfArg Register8 Source # | |
formatArg :: Register8 -> FieldFormatter # parseFormat :: Register8 -> ModifierParser # | |
PrintfArg Condition Source # | |
formatArg :: Condition -> FieldFormatter # parseFormat :: Condition -> ModifierParser # | |
PrintfArg Location Source # | |
formatArg :: Location -> FieldFormatter # parseFormat :: Location -> ModifierParser # |