| Copyright | (c) Rose 2019 |
|---|---|
| License | BSD3 |
| Maintainer | rose@lain.org.uk |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | None |
| Language | Haskell2010 |
Lazyboy.Target.ASM
Contents
Description
This module provides a backend to format opcodes as ASM and produce assembly files which are then buildable into ROMs (with RGBDS).
Documentation
data LazyboyException Source #
Lazyboy exception type.
Constructors
| InvalidStackOperation | |
| InvalidALoad Register16 | |
| AttemptedAFPCLoad | |
| InvalidRSTVector | |
| IllegalHLAddition | |
| IllegalModification Register16 | |
| IntegerBoundsViolation Word8 | |
| Unimplemented |
Instances
| Show LazyboyException Source # | An instance of Show for printing exception messages. |
Defined in Lazyboy.Target.ASM Methods showsPrec :: Int -> LazyboyException -> ShowS # show :: LazyboyException -> String # showList :: [LazyboyException] -> ShowS # | |
| Exception LazyboyException Source # | An instance of Exception itself for LazyboyException. |
Defined in Lazyboy.Target.ASM Methods toException :: LazyboyException -> SomeException # | |
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. |
Methods showsPrec :: Int -> Instruction -> ShowS # show :: Instruction -> String # showList :: [Instruction] -> ShowS # | |
| PrintfArg Label Source # | |
| PrintfArg Register16 Source # | Instances of PrintfArg |
| PrintfArg Register8 Source # | |
| PrintfArg Condition Source # | |
| PrintfArg Location Source # | |