6502-emulator/src/opcode/handler/jump-opcode-handler-contain...

36 lines
902 B
C++

#ifndef INC_6502_EMULATOR_JUMP_OPCODE_HANDLER_CONTAINER_H
#define INC_6502_EMULATOR_JUMP_OPCODE_HANDLER_CONTAINER_H
#include "opcode-handler-container.h"
namespace emu_6502 {
class JumpOpcodeHandlerContainer : public OpcodeHandlerContainer {
private:
enum Op {
JMP_ABS = 0x4C,
JMP_IND = 0x6C,
JSR = 0x20,
RTI = 0x40,
RTS = 0x60
};
void jmp_abs(Machine& machine);
void jmp_ind(Machine& machine);
void jsr(Machine& machine);
void rti(Machine& machine);
void rts(Machine& machine);
public:
JumpOpcodeHandlerContainer();
JumpOpcodeHandlerContainer(const JumpOpcodeHandlerContainer&) = delete;
JumpOpcodeHandlerContainer& operator=(const JumpOpcodeHandlerContainer&) = delete;
};
}
#endif //INC_6502_EMULATOR_JUMP_OPCODE_HANDLER_CONTAINER_H