Exemple #1
0
 static void PosEdge()
 {
     if (W.dstE != 0xf)
     {
         reg[W.dstE] = W.valE;
     }
     if (W.dstM != 0xf)
     {
         reg[W.dstM] = W.valM;
     }
     W = m; M = e; E = d;
     if (!D.stall)
     {
         D = f;
     }
     stat = W.stat;
 }
Exemple #2
0
        static bool Cnd(Prece x, ulong fun)
        {
            switch (fun)
            {
            case (0): return(true);

            case (1): return((x.SF ^ x.OF) | x.ZF);

            case (2): return(x.SF ^ x.OF);

            case (3): return(x.ZF);

            case (4): return(!x.ZF);

            case (5): return(!(x.SF ^ x.OF));

            case (6): return(!(x.SF ^ x.OF) & !x.ZF);

            default: return(false);
            }
        }