예제 #1
0
        public static void Ands(AILEmitterCtx Context)
        {
            EmitDataLoadOpers(Context);

            Context.Emit(OpCodes.And);

            EmitZeroCVFlags(Context);

            Context.EmitZNFlagCheck();

            EmitDataStoreS(Context);
        }
예제 #2
0
        public static void Adds(AILEmitterCtx Context)
        {
            Context.TryOptMarkCondWithoutCmp();

            EmitDataLoadOpers(Context);

            Context.Emit(OpCodes.Add);

            Context.EmitZNFlagCheck();

            EmitAddsCCheck(Context);
            EmitAddsVCheck(Context);
            EmitDataStoreS(Context);
        }
예제 #3
0
        private static void EmitBic(AILEmitterCtx Context, bool SetFlags)
        {
            EmitDataLoadOpers(Context);

            Context.Emit(OpCodes.Not);
            Context.Emit(OpCodes.And);

            if (SetFlags)
            {
                Context.EmitZNFlagCheck();
            }

            EmitDataStore(Context, SetFlags);
        }