コード例 #1
0
        public void Check_DC_truePlus()
        {
            int          lit1         = 136;
            OverflowInfo overflowInfo = new OverflowInfo()
            {
                Operand1 = lit1, Operand2 = lit1, Operator = "+"
            };
            int result = opHelpers.Check_DC_C(overflowInfo, lit1 + lit1);

            int dc = mem.RAM[MemoryConstants.STATUS_B1] & 0b_0000_0010;

            Assert.AreEqual(2, dc);
        }
コード例 #2
0
        public void Check_C_falsePlus()
        {
            int          lit1         = 0;
            int          lit2         = 6;
            OverflowInfo overflowInfo = new OverflowInfo()
            {
                Operand1 = lit1, Operand2 = lit2, Operator = "+"
            };

            opHelpers.Check_DC_C(overflowInfo, lit1 + lit2);

            int c = mem.RAM[MemoryConstants.STATUS_B1] & 0b_0000_0001;

            Assert.AreEqual(0, c);
        }
コード例 #3
0
        public void Check_C_trueMinus()
        {
            int          lit1         = 68;
            int          lit2         = 136;
            OverflowInfo overflowInfo = new OverflowInfo()
            {
                Operand1 = lit1, Operand2 = lit2, Operator = "-"
            };

            opHelpers.Check_DC_C(overflowInfo, lit1 - lit2);

            int c = mem.RAM[MemoryConstants.STATUS_B1] & 0b_0000_0001;

            //umgekehrte logik
            Assert.AreEqual(0, c);
        }