summaryrefslogtreecommitdiff
path: root/src/cpu/instructions.h
blob: 4bf93b353483ff6771bf5f0ffd97a2bda4963480 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
//	instructions.h
#pragma once

#include"core.h"
#include"6502.h"

// Load and Store Instructions
void LDA(Addressing);
void LDX(Addressing);
void LDY(Addressing);
void STA(Addressing);
void STX(Addressing);
void STY(Addressing);

// Arithmetic Instructions
void ADC(Addressing);
void SBC(Addressing);

//Increment and Decrement Instructions
void INC(Addressing);
void INX(Addressing);
void INY(Addressing);
void DEC(Addressing);
void DEX(Addressing);
void DEY(Addressing);

// Logical Instructions
void AND(Addressing);
void ORA(Addressing);
void EOR(Addressing);

// Jump, Branch, Compare, and Test Bits
void JMP(Addressing);
void BCC(Addressing);
void BCS(Addressing);
void BEQ(Addressing);
void BNE(Addressing);
void BMI(Addressing);
void BPL(Addressing);
void BVS(Addressing);
void BVC(Addressing);
void CMP(Addressing);
void CPX(Addressing);
void CPY(Addressing);
void BIT(Addressing);

// Shift and Rotate Instructions
void ASL(Addressing);
void LSR(Addressing);
void ROL(Addressing);
void ROR(Addressing);

// Transfer Instructions
void TAX(Addressing);
void TAY(Addressing);
void TXA(Addressing);
void TYA(Addressing);

// Stack Instructions
void TSX(Addressing);
void TXS(Addressing);
void PHA(Addressing);
void PHP(Addressing);
void PLA(Addressing);
void PLP(Addressing);

// Subroutine Instructions
void JSR(Addressing);
void RTS(Addressing);
void RTI(Addressing);

// Set/Reset Insutrctions
void CLC(Addressing);
void CLD(Addressing);
void CLI(Addressing);
void CLV(Addressing);
void SEC(Addressing);
void SED(Addressing);
void SEI(Addressing);

// NOP/BRK Instructions
void NOP(Addressing);
void BRK(Addressing);