summaryrefslogtreecommitdiff
path: root/opcode_pc.h
diff options
context:
space:
mode:
authorleo <leo@azuminha.com>2024-03-18 21:21:20 -0300
committerleo <leo@azuminha.com>2024-03-18 21:21:20 -0300
commit1cffb789b5d258c3d6fced0fb949f068b1b23bae (patch)
tree069aa9dc20433c38893cc4354cab63d626415708 /opcode_pc.h
parent21bb49029a4a30c80714a4b05193e1ba58117d5a (diff)
CLC
CLD CLI CLV CMP CPX CPY
Diffstat (limited to 'opcode_pc.h')
-rw-r--r--opcode_pc.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/opcode_pc.h b/opcode_pc.h
index 0d79aad..30a0d7b 100644
--- a/opcode_pc.h
+++ b/opcode_pc.h
@@ -1,6 +1,7 @@
#ifndef _OPCODEPC
#define _OPCODEPC
#include "CPU.h"
+#include <stdint.h>
enum _INSTRUCTION{
ADC = 1,
@@ -19,6 +20,13 @@ enum _INSTRUCTION{
BPL,
BVC,
BVS,
+ CLC,
+ CLD,
+ CLI,
+ CLV,
+ CMP,
+ CPX,
+ CPY,
};
struct _OPCODE{
@@ -82,6 +90,31 @@ void init_opcode_pc(){
OPCODE[0x50] = (struct _OPCODE){BVC, NoneAddressing, 2};
/*BVS*/
OPCODE[0x70] = (struct _OPCODE){BVS, NoneAddressing, 2};
+ /*CLC*/
+ OPCODE[0x18] = (struct _OPCODE){CLC, NoneAddressing, 2};
+ /*CLD*/
+ OPCODE[0xD8] = (struct _OPCODE){CLD, NoneAddressing, 2};
+ /*CLI*/
+ OPCODE[0x58] = (struct _OPCODE){CLI, NoneAddressing, 2};
+ /*CLV*/
+ OPCODE[0xB8] = (struct _OPCODE){CLV, NoneAddressing, 2};
+ /*CMP*/
+ OPCODE[0xC9] = (struct _OPCODE){CMP, Immediate, 2};
+ OPCODE[0xC5] = (struct _OPCODE){CMP, ZeroPage, 2};
+ OPCODE[0xD5] = (struct _OPCODE){CMP, ZeroPage_X, 2};
+ OPCODE[0xCD] = (struct _OPCODE){CMP, Absolute, 3};
+ OPCODE[0xDD] = (struct _OPCODE){CMP, Absolute_X, 3};
+ OPCODE[0xD9] = (struct _OPCODE){CMP, Absolute_Y, 3};
+ OPCODE[0xC1] = (struct _OPCODE){CMP, Indirect_X, 2};
+ OPCODE[0xD1] = (struct _OPCODE){CMP, Indirect_Y, 2};
+ /*CPX*/
+ OPCODE[0xE0] = (struct _OPCODE){CPX, Immediate, 2};
+ OPCODE[0xE4] = (struct _OPCODE){CPX, ZeroPage, 2};
+ OPCODE[0xEC] = (struct _OPCODE){CPX, Absolute, 3};
+ /*CPY*/
+ OPCODE[0xC0] = (struct _OPCODE){CPY, Immediate, 2};
+ OPCODE[0xC4] = (struct _OPCODE){CPY, ZeroPage, 2};
+ OPCODE[0xCC] = (struct _OPCODE){CPY, Absolute, 3};
}
-#endif \ No newline at end of file
+#endif