예제 #1
0
        public bool Run(bool A, bool B, bool F0, bool F1, bool F2, bool carryIn, out bool carryOut)
        {
            bool M0, Output;

            bool[] RDE = new bool[8];
            RDE = DE.Run(F0, F1, F2);

            bool[] RLU = new bool[4];
            bool[] ILU = new bool[4];
            ILU[0] = RDE[0];
            ILU[1] = RDE[1];
            ILU[2] = RDE[2];
            ILU[3] = RDE[3];
            RLU    = LU.Run(A, B, ILU);

            bool RAD;

            bool[] IAD = new bool[2];
            IAD[0] = RDE[4];
            IAD[1] = RDE[5];
            RAD    = AD.Run(A, B, IAD, carryIn, out carryOut);

            M0     = P0.Ativa(RLU[0], RLU[1], RLU[2], RLU[3]);
            Output = P1.Ativa(RAD, M0);

            return(Output);
        }
예제 #2
0
파일: Or8.cs 프로젝트: mateusbslopes/ALU
 public bool Ativa(bool A, bool B, bool C, bool D, bool E, bool F, bool G, bool H)
 {
     M0 = P0.Ativa(A, B, C, D);
     M1 = P1.Ativa(E, F, G, H);
     return(P2.Ativa(M0, M1));
 }