當前位置: 首頁>>代碼示例>>C#>>正文


C# Snes.CPUCoreOpArgument類代碼示例

本文整理匯總了C#中Snes.CPUCoreOpArgument的典型用法代碼示例。如果您正苦於以下問題:C# CPUCoreOpArgument類的具體用法?C# CPUCoreOpArgument怎麽用?C# CPUCoreOpArgument使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


CPUCoreOpArgument類屬於Snes命名空間,在下文中一共展示了CPUCoreOpArgument類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: op_rts

 public void op_rts(CPUCoreOpArgument args)
 {
     op_io();
     op_io();
     rd.l = op_readstack();
     rd.h = op_readstack();
     last_cycle();
     op_io();
     regs.pc.w = ++rd.w;
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:10,代碼來源:CPUCore.cs

示例2: op_write_dp_w

 public void op_write_dp_w(CPUCoreOpArgument args)
 {
     int n = args.x;
     dp = op_readpc();
     op_io_cond2();
     op_writedp(dp + 0U, (byte)(regs.r[n] >> 0));
     last_cycle();
     op_writedp(dp + 1U, (byte)(regs.r[n] >> 8));
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:9,代碼來源:CPUCore.cs

示例3: op_xba

 public void op_xba(CPUCoreOpArgument args)
 {
     op_io();
     last_cycle();
     op_io();
     regs.a.l ^= regs.a.h;
     regs.a.h ^= regs.a.l;
     regs.a.l ^= regs.a.h;
     regs.p.n = Convert.ToBoolean(regs.a.l & 0x80);
     regs.p.z = (regs.a.l == 0);
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:11,代碼來源:CPUCore.cs

示例4: op_write_addr_b

 public void op_write_addr_b(CPUCoreOpArgument args)
 {
     int n = args.x;
     aa.l = op_readpc();
     aa.h = op_readpc();
     last_cycle();
     op_writedbr(aa.w, (byte)regs.r[n]);
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:8,代碼來源:CPUCore.cs

示例5: op_write_dpr_w

 public void op_write_dpr_w(CPUCoreOpArgument args)
 {
     int n = args.x;
     int i = args.y;
     dp = op_readpc();
     op_io_cond2();
     op_io();
     op_writedp(dp + (uint)regs.r[i] + 0, (byte)(regs.r[n] >> 0));
     last_cycle();
     op_writedp(dp + (uint)regs.r[i] + 1, (byte)(regs.r[n] >> 8));
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:11,代碼來源:CPUCore.cs

示例6: op_txs_n

 public void op_txs_n(CPUCoreOpArgument args)
 {
     last_cycle();
     op_io_irq();
     regs.s.w = regs.x.w;
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:6,代碼來源:CPUCore.cs

示例7: op_wdm

 public void op_wdm(CPUCoreOpArgument args)
 {
     last_cycle();
     op_readpc();
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:5,代碼來源:CPUCore.cs

示例8: op_sta_ildp_w

 public void op_sta_ildp_w(CPUCoreOpArgument args)
 {
     dp = op_readpc();
     op_io_cond2();
     aa.l = op_readdp(dp + 0U);
     aa.h = op_readdp(dp + 1U);
     aa.b = op_readdp(dp + 2U);
     op_writelong(aa.d + 0, regs.a.l);
     last_cycle();
     op_writelong(aa.d + 1, regs.a.h);
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:11,代碼來源:CPUCore.cs

示例9: op_sta_isry_w

 public void op_sta_isry_w(CPUCoreOpArgument args)
 {
     sp = op_readpc();
     op_io();
     aa.l = op_readsp(sp + 0U);
     aa.h = op_readsp(sp + 1U);
     op_io();
     op_writedbr((uint)(aa.w + regs.y.w + 0), regs.a.l);
     last_cycle();
     op_writedbr((uint)(aa.w + regs.y.w + 1), regs.a.h);
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:11,代碼來源:CPUCore.cs

示例10: op_sta_idpy_b

 public void op_sta_idpy_b(CPUCoreOpArgument args)
 {
     dp = op_readpc();
     op_io_cond2();
     aa.l = op_readdp(dp + 0U);
     aa.h = op_readdp(dp + 1U);
     op_io();
     last_cycle();
     op_writedbr((uint)(aa.w + regs.y.w), regs.a.l);
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:10,代碼來源:CPUCore.cs

示例11: op_sta_idp_w

 public void op_sta_idp_w(CPUCoreOpArgument args)
 {
     dp = op_readpc();
     op_io_cond2();
     aa.l = op_readdp(dp + 0U);
     aa.h = op_readdp(dp + 1U);
     op_writedbr(aa.w + 0U, regs.a.l);
     last_cycle();
     op_writedbr(aa.w + 1U, regs.a.h);
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:10,代碼來源:CPUCore.cs

示例12: op_sta_idpx_b

 public void op_sta_idpx_b(CPUCoreOpArgument args)
 {
     dp = op_readpc();
     op_io_cond2();
     op_io();
     aa.l = op_readdp((uint)(dp + regs.x.w + 0));
     aa.h = op_readdp((uint)(dp + regs.x.w + 1));
     last_cycle();
     op_writedbr(aa.w, regs.a.l);
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:10,代碼來源:CPUCore.cs

示例13: op_sbc_w

        public void op_sbc_w(CPUCoreOpArgument args)
        {
            int result;
            rd.w ^= 0xffff;

            if (!regs.p.d)
            {
                result = regs.a.w + rd.w + Convert.ToInt32(regs.p.c);
            }
            else
            {
                result = (regs.a.w & 0x000f) + (rd.w & 0x000f) + (Convert.ToInt32(regs.p.c) << 0);
                if (result <= 0x000f)
                {
                    result -= 0x0006;
                }
                regs.p.c = result > 0x000f;
                result = (regs.a.w & 0x00f0) + (rd.w & 0x00f0) + (Convert.ToInt32(regs.p.c) << 4) + (result & 0x000f);
                if (result <= 0x00ff)
                {
                    result -= 0x0060;
                }
                regs.p.c = result > 0x00ff;
                result = (regs.a.w & 0x0f00) + (rd.w & 0x0f00) + (Convert.ToInt32(regs.p.c) << 8) + (result & 0x00ff);
                if (result <= 0x0fff)
                {
                    result -= 0x0600;
                }
                regs.p.c = result > 0x0fff;
                result = (regs.a.w & 0xf000) + (rd.w & 0xf000) + (Convert.ToInt32(regs.p.c) << 12) + (result & 0x0fff);
            }

            regs.p.v = Convert.ToBoolean(~(regs.a.w ^ rd.w) & (regs.a.w ^ result) & 0x8000);
            if (regs.p.d && result <= 0xffff)
            {
                result -= 0x6000;
            }
            regs.p.c = result > 0xffff;
            regs.p.n = Convert.ToBoolean(result & 0x8000);
            regs.p.z = (ushort)result == 0;

            regs.a.w = (ushort)result;
        }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:43,代碼來源:CPUCore.cs

示例14: op_sbc_b

        public void op_sbc_b(CPUCoreOpArgument args)
        {
            int result;
            rd.l ^= 0xff;

            if (!regs.p.d)
            {
                result = regs.a.l + rd.l + Convert.ToInt32(regs.p.c);
            }
            else
            {
                result = (regs.a.l & 0x0f) + (rd.l & 0x0f) + (Convert.ToInt32(regs.p.c) << 0);
                if (result <= 0x0f)
                {
                    result -= 0x06;
                }
                regs.p.c = result > 0x0f;
                result = (regs.a.l & 0xf0) + (rd.l & 0xf0) + (Convert.ToInt32(regs.p.c) << 4) + (result & 0x0f);
            }

            regs.p.v = Convert.ToBoolean(~(regs.a.l ^ rd.l) & (regs.a.l ^ result) & 0x80);
            if (regs.p.d && result <= 0xff)
            {
                result -= 0x60;
            }
            regs.p.c = result > 0xff;
            regs.p.n = Convert.ToBoolean(result & 0x80);
            regs.p.z = (byte)result == 0;

            regs.a.l = (byte)result;
        }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:31,代碼來源:CPUCore.cs

示例15: op_tsx_w

 public void op_tsx_w(CPUCoreOpArgument args)
 {
     last_cycle();
     op_io_irq();
     regs.x.w = regs.s.w;
     regs.p.n = Convert.ToBoolean(regs.x.w & 0x8000);
     regs.p.z = (regs.x.w == 0);
 }
開發者ID:MiLO83,項目名稱:snesbox,代碼行數:8,代碼來源:CPUCore.cs


注:本文中的Snes.CPUCoreOpArgument類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。