Пример #1
0
        public override void Start()
        {
            PDP.Load8(0200);

            PDP.Toggle8(0000);

            StartAndWaitForCompletion();
        }
Пример #2
0
        public override void Start()
        {
            PDP.Load8(0200);

            PDP.Toggle8(7777);

            PDP.Continue();

            Assert.AreEqual(0147.ToDecimal(), PDP.Processor.Registers.PC.Address);

            StartAndWaitForCompletion();
        }
Пример #3
0
        public override void Start()
        {
            PDP.Load8(0200);

            PDP.Continue();

            Assert.IsTrue(PDP.Processor.Teleprinter.Printout.Contains("EA8-E EXT MEM ADDR TEST"));
            Assert.IsTrue(PDP.Processor.Teleprinter.Printout.Contains("SETUP SR & CONT"));

            PDP.Toggle8(0007);

            StartAndWaitForCompletion();
        }
Пример #4
0
        public void TestHelloWorld()
        {
            PDP.Load8(0200);

            PDP.Deposit8(7200);
            PDP.Deposit8(7100);
            PDP.Deposit8(1220);
            PDP.Deposit8(3010);
            PDP.Deposit8(7000);
            PDP.Deposit8(1410);
            PDP.Deposit8(7450);
            PDP.Deposit8(7402); //5577
            PDP.Deposit8(4212);
            PDP.Deposit8(5204);
            PDP.Deposit8(0000);
            PDP.Deposit8(6046);
            PDP.Deposit8(6041);
            PDP.Deposit8(5214);
            PDP.Deposit8(7200);
            PDP.Deposit8(5612);
            PDP.Deposit8(0220);
            PDP.Deposit8(0110);
            PDP.Deposit8(0105);
            PDP.Deposit8(0114);
            PDP.Deposit8(0114);
            PDP.Deposit8(0117);
            PDP.Deposit8(0040);
            PDP.Deposit8(0127);
            PDP.Deposit8(0117);
            PDP.Deposit8(0122);
            PDP.Deposit8(0114);
            PDP.Deposit8(0104);
            PDP.Deposit8(0041);
            PDP.Deposit8(0000);

            //pdp.Load8(0177);
            //pdp.Deposit8(7600);

            //PDP.DumpMemory();

            PDP.Clear();

            PDP.Load8(0200);
            PDP.Continue();

            Assert.AreEqual("HELLO WORLD!", PDP.Processor.Teleprinter.Printout);

            Log.Information(PDP.Processor.Teleprinter.Printout);
        }
Пример #5
0
        public void TestIAC()
        {
            var length = 10;

            PDP.Load8(0200);

            for (int i = 0; i < length; i++)
            {
                PDP.Deposit8(7001);
            }

            PDP.Deposit8(7402);

            PDP.Load8(0200);

            PDP.Continue();

            Assert.IsTrue(PDP.Processor.Registers.AC.Accumulator == length);
        }
Пример #6
0
        public void TestPaging()
        {
            PDP.Load8(0200);

            PDP.Deposit8(7300);
            PDP.Deposit8(1205);
            PDP.Deposit8(1206);
            PDP.Deposit8(3207);
            PDP.Deposit8(7402);
            PDP.Deposit8(0002);
            PDP.Deposit8(0003);

            PDP.Load8(0200);
            PDP.Continue();

            PDP.Load8(0207);
            PDP.Exam();

            Assert.AreEqual(5u, PDP.Processor.Registers.AC.Accumulator);
        }
Пример #7
0
        public void TestAddition()
        {
            PDP.Load8(0000);

            PDP.Deposit8(7300);
            PDP.Deposit8(1005);
            PDP.Deposit8(1006);
            PDP.Deposit8(3007);
            PDP.Deposit8(7402);
            PDP.Deposit8(0002);
            PDP.Deposit8(0003);

            PDP.Load8(0000);
            PDP.Continue();

            PDP.Load8(0007);
            PDP.Exam();

            Assert.AreEqual(5u, PDP.Processor.Registers.AC.Accumulator);
        }