public void CheckRegister(UInt16 xR2Field, Boolean success, UInt16 expected, String message) { try { OperandHandler target = OperandHandler.Register; Word r2 = target.GetOperand(xR2Field, m_registerSet, m_memory); Assert.IsTrue(success, message); WordTest.Check(r2, expected, message); } catch (Casl2SimulatorException) { Assert.IsFalse(success, message); } }
public void CheckEffectiveAddress(UInt16 xR2Field, Boolean success, UInt16 expected, String message) { m_registerSet.PR.Value = NextAddress; try { OperandHandler target = OperandHandler.EffectiveAddress; Word effectiveAddress = target.GetOperand(xR2Field, m_registerSet, m_memory); Assert.IsTrue(success, message); WordTest.Check(effectiveAddress, expected, message); } catch (Casl2SimulatorException) { Assert.IsFalse(success, message); } }
public void EaContents() { const UInt16 X = 6; const UInt16 Adr = 1111; const UInt16 Gr6 = 2222; const UInt16 EffectiveAddress = Adr + Gr6; const UInt16 EaContents = 0xaa55; m_memory.Write(NextAddress, Adr); m_memory.Write(EffectiveAddress, EaContents); m_registerSet.GR[X].Value = Gr6; m_registerSet.PR.Value = NextAddress; OperandHandler target = OperandHandler.EaContents; Word word = target.GetOperand(X, m_registerSet, m_memory); const UInt16 Expected = EaContents; WordTest.Check(word, Expected, "実効アドレスの内容を取得する"); }