| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Nes.CPU.Instructions.Addressing
Synopsis
- data AddressingMode
- getOperandAddr :: AddressingMode -> CPU r Addr
- getOperandAddr' :: AddressingMode -> CPU r (Addr, Bool)
- getOperandSize :: AddressingMode -> Int
Documentation
data AddressingMode Source #
Mode that say how to get an Op code's parameter
https://www.nesdev.org/obelisk-6502-guide/addressing.html#IMM
Constructors
| Immediate | |
| Accumulator | |
| Relative | |
| ZeroPage | |
| ZeroPageX | |
| ZeroPageY | |
| Absolute | |
| AbsoluteX | |
| AbsoluteY | |
| Indirect | |
| IndirectX | |
| IndirectY | |
| None |
Instances
| Show AddressingMode Source # | |
Defined in Nes.CPU.Instructions.Addressing Methods showsPrec :: Int -> AddressingMode -> ShowS # show :: AddressingMode -> String # showList :: [AddressingMode] -> ShowS # | |
| Eq AddressingMode Source # | |
Defined in Nes.CPU.Instructions.Addressing Methods (==) :: AddressingMode -> AddressingMode -> Bool # (/=) :: AddressingMode -> AddressingMode -> Bool # | |
getOperandAddr :: AddressingMode -> CPU r Addr Source #
Gives the address of the current op code's parameter
Will shift PC accordingly and ticks once when page is crossed
Source: https://bugzmanov.github.io/nes_ebook/chapter_3_2.html
getOperandAddr' :: AddressingMode -> CPU r (Addr, Bool) Source #
Gives the address of the current op code's parameter
Will shift PC accordingly, but does not tick when page is crossed
getOperandSize :: AddressingMode -> Int Source #