Example #1
0
        public void TestMethod2()
        {
            // test add
            RegisterFile <int> iRF = new RegisterFile <int>(16);
            Memory             m   = new Memory(5000);
            addi a = new addi(0, 1, 15);

            a.Process(iRF, m);
            Assert.AreEqual <int>(15, iRF[0]);
        }
Example #2
0
        public void TestMethod7()
        {
            // test bnz (take branch)
            RegisterFile <int> iRF = new RegisterFile <int>(16);
            Memory             m   = new Memory(5000);
            addi a = new addi(2, 0, 1);
            bnz  b = new bnz(2, 10);

            a.Process(iRF, m);
            b.Process(iRF, m);
            Assert.AreEqual <int>(10, iRF[15]);
        }
Example #3
0
        public void TestMethod4()
        {
            // test mul
            RegisterFile <int> iRF = new RegisterFile <int>(16);
            Memory             m   = new Memory(5000);
            addi a  = new addi(0, 1, 2);
            muli mu = new muli(0, 0, 2);

            a.Process(iRF, m);
            mu.Process(iRF, m);
            Assert.AreEqual <int>(4, iRF[0]);
        }
Example #4
0
        public void TestMethod13()
        {
            // test ble (don't take branch with rd > 0)
            RegisterFile <int> iRF = new RegisterFile <int>(16);
            Memory             m   = new Memory(5000);
            addi a = new addi(2, 0, 1);
            ble  b = new ble(2, 10);

            a.Process(iRF, m);
            b.Process(iRF, m);
            Assert.AreEqual <int>(0, iRF[15]);
        }
Example #5
0
        public void TestMethod17()
        {
            // ToString() test
            add a = new add(0, 1, 5);

            Assert.AreEqual("add r0 r1 r5", a.ToString());
            addi ai = new addi(0, 1, 5);

            Assert.AreEqual("addi r0 r1 5", ai.ToString());
            bz bz = new bz(1, 1);

            Assert.AreEqual("bz r1 1", bz.ToString());
            bge bge = new bge(1, 1);

            Assert.AreEqual("bge r1 1", bge.ToString());
            bnz bnz = new bnz(1, 1);

            Assert.AreEqual("bnz r1 1", bnz.ToString());
            ble ble = new ble(1, 1);

            Assert.AreEqual("ble r1 1", ble.ToString());
            finish f = new finish();

            Assert.AreEqual("finish", f.ToString());
            launch l = new launch(1);

            Assert.AreEqual("launch r1", l.ToString());
            ld ld = new ld(2, 1, 3);

            Assert.AreEqual("ld r2 r1 3", ld.ToString());
            mul m = new mul(1, 2, 3);

            Assert.AreEqual("mul r1 r2 r3", m.ToString());
            muli mi = new muli(1, 2, 3);

            Assert.AreEqual("muli r1 r2 3", mi.ToString());
            st s = new st(1, 2, 3);

            Assert.AreEqual("st r1 r2 3", s.ToString());
            sub sub = new sub(1, 2, 3);

            Assert.AreEqual("sub r1 r2 r3", sub.ToString());
            subi subi = new subi(1, 2, 3);

            Assert.AreEqual("subi r1 r2 3", subi.ToString());
        }
Example #6
0
        public void TestMethod16()
        {
            // test st
            RegisterFile <int> iRF = new RegisterFile <int>(16);
            Memory             m   = new Memory(5000);

            addi a = new addi(0, 1, 1);
            addi b = new addi(1, 1, 1);
            st   s = new st(0, 1, 1);
            ld   l = new ld(0, 1, 1);

            a.Process(iRF, m);
            b.Process(iRF, m);
            s.Process(iRF, m);
            l.Process(iRF, m);

            Assert.AreEqual(1, iRF[0]);
        }