mb86235.cpp: ALU OR / XOR (nw)

This commit is contained in:
angelosa 2018-03-13 16:13:22 +01:00
parent 4b748463f0
commit e4a4c8ccb7

View File

@ -1336,6 +1336,24 @@ void mb86235_device::generate_alu(drcuml_block *block, compiler_state *compiler,
if (AU_CALC_REQUIRED) UML_MOV(block, FLAGS_AU, 0);
break;
case 0x19: // OR
generate_alumul_input(block, compiler, desc, i2, I0, false, false);
UML_OR(block, alutemp ? mem(&m_core->alutemp) : get_alu_output(io), I0, get_alu1_input(i1));
if (AN_CALC_REQUIRED) UML_SETc(block, COND_S, FLAGS_AN);
if (AZ_CALC_REQUIRED) UML_SETc(block, COND_Z, FLAGS_AZ);
if (AV_CALC_REQUIRED) UML_MOV(block, FLAGS_AV, 0);
if (AU_CALC_REQUIRED) UML_MOV(block, FLAGS_AU, 0);
break;
case 0x1a: // XOR
generate_alumul_input(block, compiler, desc, i2, I0, false, false);
UML_XOR(block, alutemp ? mem(&m_core->alutemp) : get_alu_output(io), I0, get_alu1_input(i1));
if (AN_CALC_REQUIRED) UML_SETc(block, COND_S, FLAGS_AN);
if (AZ_CALC_REQUIRED) UML_SETc(block, COND_Z, FLAGS_AZ);
if (AV_CALC_REQUIRED) UML_MOV(block, FLAGS_AV, 0);
if (AU_CALC_REQUIRED) UML_MOV(block, FLAGS_AU, 0);
break;
case 0x1c: // LSR
generate_alumul_input(block, compiler, desc, i1, I0, false, false);
UML_SHR(block, I0, I0, i2);