DotNet6502
|
Public Member Functions | |
void | Execute () |
override string | ToString () |
Protected Member Functions | |
InstructionBase (string name, byte opCode, AddressingMode addressingMode, M6502Core core) | |
virtual void | ExecuteInImplicitMode () |
Pure instruction, no arguments. More... | |
virtual void | ExecuteInAccumulatorMode () |
Argument is stored in the accumulator register. More... | |
virtual void | ExecuteInImmediateMode () |
Argument is stored as constant next to operation code. More... | |
byte | ReadAddressInZeroPageMode () |
Arguments length: 1, Cycles: 1. More... | |
virtual void | ExecuteInZeroPageMode () |
Argument is stored at the specified 8-bit address (0 page). More... | |
byte | ReadAddressInZeroPageXMode () |
Arguments length: 1, Cycles: 2. More... | |
virtual void | ExecuteInZeroPageXMode () |
Argument is stored at the specified 8-bit address (0 page) + X register. More... | |
byte | ReadAddressInZeroPageYMode () |
Arguments length: 1, Cycles: 2. More... | |
virtual void | ExecuteInZeroPageYMode () |
Argument is stored at the specified 8-bit address (0 page) + Y register. More... | |
virtual void | ExecuteInRelativeMode () |
Argument contains offset to apply. More... | |
ushort | ReadAddressInAbsoluteMode () |
Arguments length: 2, Cycles: 2. More... | |
virtual void | ExecuteInAbsoluteMode () |
Argument is stored at the specified 16-bit address. More... | |
ushort | ReadAddressInAbsoluteXMode (bool forceBoundaryCheck=false) |
Arguments length: 2, Cycles: 2 + 1B. More... | |
virtual void | ExecuteInAbsoluteXMode () |
Argument is stored at the specified 16-bit address + X register. More... | |
ushort | ReadAddressInAbsoluteYMode (bool forceBoundaryCheck=false) |
Arguments length: 2, Cycles: 2 + 1B. More... | |
virtual void | ExecuteInAbsoluteYMode () |
Argument is stored at the specified 16-bit address + Y register. More... | |
ushort | ReadAddressInIndirectMode () |
Arguments length: 2, Cycles: 4. More... | |
virtual void | ExecuteInIndirectMode () |
Address of the argument is stored at the specified 16-bit address. More... | |
ushort | ReadAddressInIndexedIndirectMode () |
Arguments length: 1, Cycles: 4. More... | |
virtual void | ExecuteInIndexedIndirectMode () |
Address of the argument is stored in the table (0 page) at X register index. More... | |
ushort | ReadAddressInIndirectIndexedMode (bool forceBoundaryCheck=false) |
Arguments length: 1, Cycles: 3 + 1B. More... | |
virtual void | ExecuteInIndirectIndexedMode () |
Address of the argument is stored at the specified address (0 page) + Y register index. More... | |
Properties | |
string | Name [get] |
byte | OpCode [get] |
AddressingMode | AddressingMode [get] |
M6502Core | Core [get] |
|
protected |
void M6502.InstructionDecode.InstructionBase.Execute | ( | ) |
|
protectedvirtual |
Argument is stored at the specified 16-bit address.
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AslInstruction, M6502.InstructionDecode.Instructions.Arithmetic.LsrInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RolInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AdcInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AndInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CmpInstruction, M6502.InstructionDecode.Instructions.Arithmetic.EorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.OraInstruction, M6502.InstructionDecode.Instructions.Arithmetic.SbcInstruction, M6502.InstructionDecode.Instructions.Registers.LdaInstruction, M6502.InstructionDecode.Instructions.Registers.LdxInstruction, M6502.InstructionDecode.Instructions.Registers.LdyInstruction, M6502.InstructionDecode.Instructions.Arithmetic.DecInstruction, M6502.InstructionDecode.Instructions.Arithmetic.IncInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CpxInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CpyInstruction, M6502.InstructionDecode.Instructions.Registers.StaInstruction, M6502.InstructionDecode.Instructions.Registers.StxInstruction, M6502.InstructionDecode.Instructions.Registers.StyInstruction, M6502.InstructionDecode.Instructions.Arithmetic.BitInstruction, M6502.InstructionDecode.Instructions.Flow.JmpInstruction, and M6502.InstructionDecode.Instructions.Flow.JsrInstruction.
|
protectedvirtual |
Argument is stored at the specified 16-bit address + X register.
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AslInstruction, M6502.InstructionDecode.Instructions.Arithmetic.LsrInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RolInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AdcInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AndInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CmpInstruction, M6502.InstructionDecode.Instructions.Arithmetic.EorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.OraInstruction, M6502.InstructionDecode.Instructions.Arithmetic.SbcInstruction, M6502.InstructionDecode.Instructions.Registers.LdaInstruction, M6502.InstructionDecode.Instructions.Registers.LdyInstruction, M6502.InstructionDecode.Instructions.Arithmetic.DecInstruction, M6502.InstructionDecode.Instructions.Arithmetic.IncInstruction, and M6502.InstructionDecode.Instructions.Registers.StaInstruction.
|
protectedvirtual |
Argument is stored at the specified 16-bit address + Y register.
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AdcInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AndInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CmpInstruction, M6502.InstructionDecode.Instructions.Arithmetic.EorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.OraInstruction, M6502.InstructionDecode.Instructions.Arithmetic.SbcInstruction, M6502.InstructionDecode.Instructions.Registers.LdaInstruction, M6502.InstructionDecode.Instructions.Registers.LdxInstruction, and M6502.InstructionDecode.Instructions.Registers.StaInstruction.
|
protectedvirtual |
Argument is stored in the accumulator register.
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AslInstruction, M6502.InstructionDecode.Instructions.Arithmetic.LsrInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RolInstruction, and M6502.InstructionDecode.Instructions.Arithmetic.RorInstruction.
|
protectedvirtual |
Argument is stored as constant next to operation code.
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AdcInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AndInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CmpInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CpxInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CpyInstruction, M6502.InstructionDecode.Instructions.Arithmetic.EorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.OraInstruction, M6502.InstructionDecode.Instructions.Arithmetic.SbcInstruction, M6502.InstructionDecode.Instructions.Registers.LdaInstruction, M6502.InstructionDecode.Instructions.Registers.LdxInstruction, and M6502.InstructionDecode.Instructions.Registers.LdyInstruction.
|
protectedvirtual |
Pure instruction, no arguments.
Reimplemented in M6502.InstructionDecode.Instructions.Flow.RtiInstruction, M6502.InstructionDecode.Instructions.Registers.DexInstruction, M6502.InstructionDecode.Instructions.Registers.DeyInstruction, M6502.InstructionDecode.Instructions.Registers.InxInstruction, M6502.InstructionDecode.Instructions.Registers.InyInstruction, M6502.InstructionDecode.Instructions.Registers.TaxInstruction, M6502.InstructionDecode.Instructions.Registers.TayInstruction, M6502.InstructionDecode.Instructions.Registers.TxaInstruction, M6502.InstructionDecode.Instructions.Registers.TyaInstruction, M6502.InstructionDecode.Instructions.Stack.PlaInstruction, M6502.InstructionDecode.Instructions.Stack.PlpInstruction, M6502.InstructionDecode.Instructions.Stack.TsxInstruction, M6502.InstructionDecode.Instructions.Status.ClcInstruction, M6502.InstructionDecode.Instructions.Status.CldInstruction, M6502.InstructionDecode.Instructions.Status.CliInstruction, M6502.InstructionDecode.Instructions.Status.ClvInstruction, M6502.InstructionDecode.Instructions.Status.SecInstruction, M6502.InstructionDecode.Instructions.Status.SedInstruction, M6502.InstructionDecode.Instructions.Status.SeiInstruction, M6502.InstructionDecode.Instructions.Flow.BrkInstruction, M6502.InstructionDecode.Instructions.Flow.NopInstruction, M6502.InstructionDecode.Instructions.Flow.RtsInstruction, M6502.InstructionDecode.Instructions.Stack.PhaInstruction, M6502.InstructionDecode.Instructions.Stack.PhpInstruction, and M6502.InstructionDecode.Instructions.Stack.TxsInstruction.
|
protectedvirtual |
Address of the argument is stored in the table (0 page) at X register index.
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AdcInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AndInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CmpInstruction, M6502.InstructionDecode.Instructions.Arithmetic.EorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.OraInstruction, M6502.InstructionDecode.Instructions.Arithmetic.SbcInstruction, M6502.InstructionDecode.Instructions.Registers.LdaInstruction, and M6502.InstructionDecode.Instructions.Registers.StaInstruction.
|
protectedvirtual |
Address of the argument is stored at the specified address (0 page) + Y register index.
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AdcInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AndInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CmpInstruction, M6502.InstructionDecode.Instructions.Arithmetic.EorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.OraInstruction, M6502.InstructionDecode.Instructions.Arithmetic.SbcInstruction, M6502.InstructionDecode.Instructions.Registers.LdaInstruction, and M6502.InstructionDecode.Instructions.Registers.StaInstruction.
|
protectedvirtual |
Address of the argument is stored at the specified 16-bit address.
Reimplemented in M6502.InstructionDecode.Instructions.Flow.JmpInstruction.
|
protectedvirtual |
Argument contains offset to apply.
Reimplemented in M6502.InstructionDecode.Instructions.Branch.BccInstruction, M6502.InstructionDecode.Instructions.Branch.BcsInstruction, M6502.InstructionDecode.Instructions.Branch.BeqInstruction, M6502.InstructionDecode.Instructions.Branch.BmiInstruction, M6502.InstructionDecode.Instructions.Branch.BneInstruction, M6502.InstructionDecode.Instructions.Branch.BplInstruction, M6502.InstructionDecode.Instructions.Branch.BvcInstruction, and M6502.InstructionDecode.Instructions.Branch.BvsInstruction.
|
protectedvirtual |
Argument is stored at the specified 8-bit address (0 page).
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AslInstruction, M6502.InstructionDecode.Instructions.Arithmetic.LsrInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RolInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AdcInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AndInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CmpInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CpxInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CpyInstruction, M6502.InstructionDecode.Instructions.Arithmetic.EorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.OraInstruction, M6502.InstructionDecode.Instructions.Arithmetic.SbcInstruction, M6502.InstructionDecode.Instructions.Registers.LdaInstruction, M6502.InstructionDecode.Instructions.Registers.LdxInstruction, M6502.InstructionDecode.Instructions.Registers.LdyInstruction, M6502.InstructionDecode.Instructions.Arithmetic.BitInstruction, M6502.InstructionDecode.Instructions.Arithmetic.DecInstruction, M6502.InstructionDecode.Instructions.Arithmetic.IncInstruction, M6502.InstructionDecode.Instructions.Registers.StaInstruction, M6502.InstructionDecode.Instructions.Registers.StxInstruction, and M6502.InstructionDecode.Instructions.Registers.StyInstruction.
|
protectedvirtual |
Argument is stored at the specified 8-bit address (0 page) + X register.
Reimplemented in M6502.InstructionDecode.Instructions.Arithmetic.AslInstruction, M6502.InstructionDecode.Instructions.Arithmetic.LsrInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RolInstruction, M6502.InstructionDecode.Instructions.Arithmetic.RorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AdcInstruction, M6502.InstructionDecode.Instructions.Arithmetic.AndInstruction, M6502.InstructionDecode.Instructions.Arithmetic.CmpInstruction, M6502.InstructionDecode.Instructions.Arithmetic.EorInstruction, M6502.InstructionDecode.Instructions.Arithmetic.OraInstruction, M6502.InstructionDecode.Instructions.Arithmetic.SbcInstruction, M6502.InstructionDecode.Instructions.Registers.LdaInstruction, M6502.InstructionDecode.Instructions.Registers.LdyInstruction, M6502.InstructionDecode.Instructions.Arithmetic.DecInstruction, M6502.InstructionDecode.Instructions.Arithmetic.IncInstruction, M6502.InstructionDecode.Instructions.Registers.StaInstruction, and M6502.InstructionDecode.Instructions.Registers.StyInstruction.
|
protectedvirtual |
Argument is stored at the specified 8-bit address (0 page) + Y register.
Reimplemented in M6502.InstructionDecode.Instructions.Registers.LdxInstruction, and M6502.InstructionDecode.Instructions.Registers.StxInstruction.
|
protected |
Arguments length: 2, Cycles: 2.
|
protected |
Arguments length: 2, Cycles: 2 + 1B.
|
protected |
Arguments length: 2, Cycles: 2 + 1B.
|
protected |
Arguments length: 1, Cycles: 4.
|
protected |
Arguments length: 1, Cycles: 3 + 1B.
|
protected |
Arguments length: 2, Cycles: 4.
|
protected |
Arguments length: 1, Cycles: 1.
|
protected |
Arguments length: 1, Cycles: 2.
|
protected |
Arguments length: 1, Cycles: 2.
override string M6502.InstructionDecode.InstructionBase.ToString | ( | ) |
|
get |
|
getprotected |
|
get |
|
get |