From 33f42fb3af1ada5ed2135cb3dfc0eff42521d77b Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Wed, 8 May 2013 14:40:48 -0700 Subject: Added z80 test generator and z80 test runner. --- z80inst.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) (limited to 'z80inst.c') diff --git a/z80inst.c b/z80inst.c index d94b4bf..959c73c 100644 --- a/z80inst.c +++ b/z80inst.c @@ -1459,3 +1459,76 @@ int z80_disasm(z80inst * decoded, char * dst) return len; } +uint8_t z80_high_reg(uint8_t reg) +{ + switch(reg) + { + case Z80_C: + case Z80_BC: + return Z80_B; + case Z80_E: + case Z80_DE: + return Z80_D; + case Z80_L: + case Z80_HL: + return Z80_H; + case Z80_IXL: + case Z80_IX: + return Z80_IXH; + case Z80_IYL: + case Z80_IY: + return Z80_IYH; + default: + return Z80_UNUSED; + } +} + +uint8_t z80_low_reg(uint8_t reg) +{ + switch(reg) + { + case Z80_B: + case Z80_BC: + return Z80_C; + case Z80_D: + case Z80_DE: + return Z80_E; + case Z80_H: + case Z80_HL: + return Z80_L; + case Z80_IXH: + case Z80_IX: + return Z80_IXL; + case Z80_IYH: + case Z80_IY: + return Z80_IYL; + default: + return Z80_UNUSED; + } +} + +uint8_t z80_word_reg(uint8_t reg) +{ + switch(reg) + { + case Z80_B: + case Z80_C: + return Z80_BC; + case Z80_D: + case Z80_E: + return Z80_DE; + case Z80_H: + case Z80_L: + return Z80_HL; + case Z80_IXH: + case Z80_IXL: + return Z80_IX; + case Z80_IYH: + case Z80_IYL: + return Z80_IY; + default: + return Z80_UNUSED; + } +} + + -- cgit v1.2.3