当前位置: 首页>>代码示例>>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;未经允许,请勿转载。