From 02d7d8faa736cef225a44ccb6b41d3d0e3c713a5 Mon Sep 17 00:00:00 2001 From: cuz Date: Fri, 10 Oct 2003 17:38:21 +0000 Subject: [PATCH] Added CPU instruction set encoding git-svn-id: svn://svn.cc65.org/cc65/trunk@2506 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- src/common/cpu.c | 11 ++++++++++- src/common/cpu.h | 16 ++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/common/cpu.c b/src/common/cpu.c index 1d127bcc1..33432d29f 100644 --- a/src/common/cpu.c +++ b/src/common/cpu.c @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* cpu.c */ +/* cpu.c */ /* */ /* CPU specifications */ /* */ @@ -58,6 +58,15 @@ const char* CPUNames[CPU_COUNT] = { "sunplus", }; +/* Tables with CPU instruction sets */ +const unsigned CPUIsets[CPU_COUNT] = { + CPU_ISET_6502, + CPU_ISET_6502 | CPU_ISET_65SC02, + CPU_ISET_6502 | CPU_ISET_65SC02 | CPU_ISET_65C02, + CPU_ISET_6502 | CPU_ISET_65SC02 | CPU_ISET_65C02 | CPU_ISET_65816, + CPU_ISET_SUNPLUS +}; + /*****************************************************************************/ diff --git a/src/common/cpu.h b/src/common/cpu.h index 187bef5ea..f7347d30c 100644 --- a/src/common/cpu.h +++ b/src/common/cpu.h @@ -55,12 +55,24 @@ typedef enum { CPU_COUNT /* Number of different CPUs */ } cpu_t; +/* CPU instruction sets */ +enum { + CPU_ISET_6502 = 1 << CPU_6502, + CPU_ISET_65SC02 = 1 << CPU_65SC02, + CPU_ISET_65C02 = 1 << CPU_65C02, + CPU_ISET_65816 = 1 << CPU_65816, + CPU_ISET_SUNPLUS = 1 << CPU_SUNPLUS +}; + /* CPU used */ extern cpu_t CPU; -/* Table with target names */ +/* Table with CPU names */ extern const char* CPUNames[CPU_COUNT]; +/* Table with CPU the instruction sets */ +extern const unsigned CPUIsets[CPU_COUNT]; + /*****************************************************************************/ @@ -78,7 +90,7 @@ cpu_t FindCPU (const char* Name); /* End of cpu.h */ -#endif +#endif