22 lines
No EOL
488 B
C
22 lines
No EOL
488 B
C
#include "cpu.h"
|
|
#include <stdint.h>
|
|
#include <stdio.h>
|
|
|
|
void execute_instruction(cpu* cpu, uint8_t opcode, uint16_t operand) {
|
|
switch (opcode) {
|
|
// SEI: Set Interrupt Disable Flag
|
|
case 0x78:
|
|
cpu->p |= 0x4;
|
|
break;
|
|
// CLD: Clear Decimal Flag
|
|
case 0xd8:
|
|
cpu->p &= 0xfd;
|
|
break;
|
|
case 0xa2:
|
|
cpu->x = (uint8_t)operand;
|
|
break;
|
|
default:
|
|
printf("Unknown Opcode: %#04x, with Operand: %#08x\n", opcode, operand);
|
|
break;
|
|
}
|
|
} |