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 }
virtual status visit(const mul &node) { return handle_mul(node); }