-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstructions.h
71 lines (62 loc) · 1.52 KB
/
instructions.h
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
#ifndef CHIP8_INSTRUCTIONS
#define CHIP8_INSTRUCTIONS
#include "chip8.h"
void NOP(chip8 *chip8);
void SYSA(chip8 *chip8);
void CLS(chip8 *chip8);
void RET(chip8 *chip8);
void JP(chip8 *chip8);
void CALL(chip8 *chip8);
void SEXB(chip8 *chip8);
void SNEXB(chip8 *chip8);
void SEXY(chip8 *chip8);
void LDXB(chip8 *chip8);
void ADDXB(chip8 *chip8);
void LDXY(chip8 *chip8);
void ORXY(chip8 *chip8);
void ANDXY(chip8 *chip8);
void XORXY(chip8 *chip8);
void ADDXY(chip8 *chip8);
void SUBXY(chip8 *chip8);
void SHRX(chip8 *chip8);
void SUBNXY(chip8 *chip8);
void SHLX(chip8 *chip8);
void SNEXY(chip8 *chip8);
void LDIA(chip8 *chip8);
void JPVA(chip8 *chip8);
void RNDXB(chip8 *chip8);
void DRWXYN(chip8 *chip8);
void SKPX(chip8 *chip8);
void SKNPX(chip8 *chip8);
void LDXT(chip8 *chip8);
void LDXK(chip8 *chip8);
void LDTX(chip8 *chip8);
void LDSX(chip8 *chip8);
void ADDIX(chip8 *chip8);
void LDFX(chip8 *chip8);
void LDBX(chip8 *chip8);
void LDIX(chip8 *chip8);
void LDXI(chip8 *chip8);
void ZERO(chip8 *chip8);
void ARITHMETIC(chip8 *chip8);
void KEYBOARD(chip8 *chip8);
void INDEX(chip8 *chip8);
void (*chip8Instructions[16])(chip8 *chip8);
void (*chip8InstructionsArithmetic[16])(chip8 *chip8);
const void *chip8Instructions[16] =
{
ZERO,
JP, CALL, SEXB, SNEXB,
SEXY, LDXB, ADDXB, ARITHMETIC,
SNEXY, LDIA, JPVA, RNDXB,
DRWXYN, KEYBOARD, INDEX
};
const void *chip8InstructionsArithmetic[16] =
{
LDXY,
ORXY, ANDXY, XORXY, ADDXY,
SUBXY, SUBXY, SHRX, SUBNXY,
SHLX, NOP, NOP, NOP,
NOP, NOP, SNEXY
};
#endif // CHIP8_INSTRUCTIONS