Example #1
0
void tlcs870_device::do_MUL_gg(const uint8_t opbyte0, const uint8_t opbyte1)
{
	/*
	    OP                (opbyte0) (immval0) (opbyte1) (immval1) (immval2)    JF ZF CF HF   cycles
	    MUL W, A          not listed (redundant encoding?)                     ?  ?  ?  ?    ?
	    MUL B, C          1110 1010           0000 0010                        Z  Z  -  -    8
	    MUL D, E          1110 1010           0000 0010                        Z  Z  -  -    8
	    MUL H, L          1110 1011           0000 0010                        Z  Z  -  -    8

	    aka MUL ggH, ggL (odd syntax, basically MUL gg)
	*/
	m_cycles = 8;

	const uint8_t reg = opbyte0 & 0x3; // opbyte0 & 4 = invalid?
	handle_mul(reg);  // flag changes in handler
}
Example #2
0
 virtual status visit(const mul &node) {
     return handle_mul(node);
 }