enum AddressMode { Immediate, Direct, Indexed, Extended, Inherent }; struct OpCodes { const char *mnuemonic; unsigned char opcode; unsigned char cycles; unsigned char numbytes; enum AddressMode mode; } opcodes[] = {"ABX", 0x3A, 3, 1, Inherent, "ADCA", 0x89, 2, 2, Immediate, "ADCA", 0x99, 4, 2, Direct, "ADCA", 0xA9, 4, 2, Indexed, "ADCA", 0xB9, 5, 3, Extended, "ADCB", 0xC9, 2, 2, Immediate, "ADCB", 0xD9, 4, 2, Direct, "ADCB", 0xE9, 4, 2, Indexed, "ADCB", 0xF9, 5, 3, Extended };