comparison z80_to_x86.c @ 292:b970ea214ecb

Added z80 test generator and z80 test runner.
author Mike Pavone <pavone@retrodev.com>
date Wed, 08 May 2013 14:40:48 -0700
parents fb840e0a48cd
children 921f9d8819da
comparison
equal deleted inserted replaced
291:eea3b118940d 292:b970ea214ecb
43 if (reg != Z80_UNUSED && reg != Z80_USE_IMMED) { 43 if (reg != Z80_UNUSED && reg != Z80_USE_IMMED) {
44 return reg < Z80_BC ? SZ_B : SZ_W; 44 return reg < Z80_BC ? SZ_B : SZ_W;
45 } 45 }
46 //TODO: Handle any necessary special cases 46 //TODO: Handle any necessary special cases
47 return SZ_B; 47 return SZ_B;
48 }
49
50 uint8_t z80_high_reg(uint8_t reg)
51 {
52 switch(reg)
53 {
54 case Z80_C:
55 case Z80_BC:
56 return Z80_B;
57 case Z80_E:
58 case Z80_DE:
59 return Z80_D;
60 case Z80_L:
61 case Z80_HL:
62 return Z80_H;
63 case Z80_IXL:
64 case Z80_IX:
65 return Z80_IXH;
66 case Z80_IYL:
67 case Z80_IY:
68 return Z80_IYH;
69 default:
70 return Z80_UNUSED;
71 }
72 }
73
74 uint8_t z80_low_reg(uint8_t reg)
75 {
76 switch(reg)
77 {
78 case Z80_B:
79 case Z80_BC:
80 return Z80_C;
81 case Z80_D:
82 case Z80_DE:
83 return Z80_E;
84 case Z80_H:
85 case Z80_HL:
86 return Z80_L;
87 case Z80_IXH:
88 case Z80_IX:
89 return Z80_IXL;
90 case Z80_IYH:
91 case Z80_IY:
92 return Z80_IYL;
93 default:
94 return Z80_UNUSED;
95 }
96 } 48 }
97 49
98 uint8_t * zcycles(uint8_t * dst, uint32_t num_cycles) 50 uint8_t * zcycles(uint8_t * dst, uint32_t num_cycles)
99 { 51 {
100 return add_ir(dst, num_cycles, ZCYCLES, SZ_D); 52 return add_ir(dst, num_cycles, ZCYCLES, SZ_D);