summaryrefslogtreecommitdiff
path: root/src/cpu/instructions.h
blob: 705cc0d0adaff381b7409b8d066f11bf66e3c6c6 (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 fLDA(Addressing);
void fLDX(Addressing);
void fLDY(Addressing);
void fSTA(Addressing);
void fSTX(Addressing);
void fSTY(Addressing);

// Arithmetic Instructions
void fADC(Addressing);
void fSBC(Addressing);

//Increment and Decrement Instructions
void fINC(Addressing);
void fINX(Addressing);
void fINY(Addressing);
void fDEC(Addressing);
void fDEX(Addressing);
void fDEY(Addressing);

// Logical Instructions
void fAND(Addressing);
void fORA(Addressing);
void fEOR(Addressing);

// Jump, Branch, Compare, and Test Bits
void fJMP(Addressing);
void fBCC(Addressing);
void fBCS(Addressing);
void fBEQ(Addressing);
void fBNE(Addressing);
void fBMI(Addressing);
void fBPL(Addressing);
void fBVS(Addressing);
void fBVC(Addressing);
void fCMP(Addressing);
void fCPX(Addressing);
void fCPY(Addressing);
void fBIT(Addressing);

// Shift and Rotate Instructions
void fASL(Addressing);
void fLSR(Addressing);
void fROL(Addressing);
void fROR(Addressing);

// Transfer Instructions
void fTAX(Addressing);
void fTAY(Addressing);
void fTXA(Addressing);
void fTYA(Addressing);

// Stack Instructions
void fTSX(Addressing);
void fTXS(Addressing);
void fPHA(Addressing);
void fPHP(Addressing);
void fPLA(Addressing);
void fPLP(Addressing);

// Subroutine Instructions
void fJSR(Addressing);
void fRTS(Addressing);
void fRTI(Addressing);

// Set/Reset Insutrctions
void fCLC(Addressing);
void fCLD(Addressing);
void fCLI(Addressing);
void fCLV(Addressing);
void fSEC(Addressing);
void fSED(Addressing);
void fSEI(Addressing);

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