• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# mame.UIntSubArray类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中xnamame036.mame.UIntSubArray的典型用法代码示例。如果您正苦于以下问题:C# UIntSubArray类的具体用法?C# UIntSubArray怎么用?C# UIntSubArray使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



UIntSubArray类属于xnamame036.mame命名空间,在下文中一共展示了UIntSubArray类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: m68000_dbf

            static void m68000_dbf()
            {
                UIntSubArray d_reg = new UIntSubArray(m68k_cpu.dr, (int)m68k_cpu.ir & 7);
                uint res = ((d_reg[0] - 1) & 0xffff);

                d_reg[0] = (uint)((d_reg[0]) & ~0xffff) | res;
                if (res != 0xffff)
                {
                    ; /* auto-disable (see m68kcpu.h) */
                    m68k_cpu.pc += (uint)MAKE_INT_16(m68ki_read_16(m68k_cpu.pc));
                    m68k_clks_left[0] -= (10);
                    return;
                }
                m68k_cpu.pc += 2;
                m68k_clks_left[0] -= (14);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:16,代码来源:m86kopdm.cs


示例2: m68000_abcd_rr

            static void m68000_abcd_rr()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);
                uint src = (m68k_cpu.dr[m68k_cpu.ir & 7]);
                uint dst = d_dst[0];
                uint res = ((src) & 0x0f) + ((dst) & 0x0f) + ((m68k_cpu.x_flag != 0) ? 1u : 0u);

                if (res > 9)
                    res += 6;
                res += ((src) & 0xf0) + ((dst) & 0xf0);
                if ((m68k_cpu.x_flag = m68k_cpu.c_flag = (res > 0x99) ? 1u : 0) != 0)
                    res -= 0xa0;

                d_dst[0] = (uint)((d_dst[0]) & ~0xff) | ((res) & 0xff);

                m68k_cpu.n_flag = ((res) & 0x80); /* officially undefined */

                if (((res) & 0xff) != 0)
                    m68k_cpu.not_z_flag = 1;
                m68k_clks_left[0] -= (6);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:21,代码来源:m68kopac.cs


示例3: m68000_nbcd_d

            static void m68000_nbcd_d()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, m68k_cpu.ir & 7);
                uint dst = d_dst[0];
                uint res = ((0x9a - dst - (((m68k_cpu.x_flag != 0) ? 1u : 0u))) & 0xff);

                if (res != 0x9a)
                {
                    if ((res & 0x0f) == 0xa)
                        res = (res & 0xf0) + 0x10;

                    d_dst[0] = (uint)((d_dst[0]) & ~0xff) | res;

                    if (res != 0)
                        m68k_cpu.not_z_flag = 1;
                    m68k_cpu.c_flag = m68k_cpu.x_flag = 1;
                }
                else
                    m68k_cpu.c_flag = m68k_cpu.x_flag = 0;
                m68k_clks_left[0] -= (6);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:21,代码来源:m86kopnz.cs


示例4: m68000_movep_er_16

            static void m68000_movep_er_16()
            {
                uint ea = (m68k_cpu.ar[m68k_cpu.ir & 7]) + (uint)MAKE_INT_16(((m68ki_read_imm_16()) & 0xffff));
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);

                d_dst[0] =(uint) ((d_dst[0]) & ~0xffff) | ((m68ki_read_8(ea) << 8) + m68ki_read_8(ea + 2));
                m68k_clks_left[0] -= (16);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:8,代码来源:m86kopdm.cs


示例5: m68000_move_dd_i_32

            static void m68000_move_dd_i_32()
            {
                uint res = m68ki_read_imm_32();
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);

                d_dst[0] = res;

                m68k_cpu.n_flag = ((res) & 0x80000000);
                m68k_cpu.not_z_flag = res;
                m68k_cpu.v_flag = m68k_cpu.c_flag = 0;
                m68k_clks_left[0] -= (4 + 8);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:12,代码来源:m86kopdm.cs


示例6: m68000_move_dd_di_32

            static void m68000_move_dd_di_32()
            {
                uint res = m68ki_read_32(((m68k_cpu.ar[m68k_cpu.ir & 7]) + (uint)MAKE_INT_16(m68ki_read_imm_16())));
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);

                d_dst[0] = res;

                m68k_cpu.n_flag = ((res) & 0x80000000);
                m68k_cpu.not_z_flag = res;
                m68k_cpu.v_flag = m68k_cpu.c_flag = 0;
                m68k_clks_left[0] -= (4 + 12);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:12,代码来源:m86kopdm.cs


示例7: m68000_divs_i_16

            static void m68000_divs_i_16()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);
                int src = MAKE_INT_16(m68ki_read_imm_16());

                m68k_cpu.c_flag = 0;

                if (src != 0)
                {
                    int quotient = MAKE_INT_32(d_dst[0]) / src;
                    int remainder = MAKE_INT_32(d_dst[0]) % src;

                    if (quotient == MAKE_INT_16(quotient))
                    {
                        m68k_cpu.not_z_flag = (uint)quotient;
                        m68k_cpu.n_flag = (uint)((quotient) & 0x8000);
                        m68k_cpu.v_flag = 0;
                        d_dst[0] = (uint)(((quotient) & 0xffff) | (remainder << 16));
                        m68k_clks_left[0] -= (158 + 4);
                        return;
                    }
                    m68k_cpu.v_flag = 1;
                    m68k_clks_left[0] -= (158 + 4);
                    return;
                }
                m68ki_interrupt(5);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:27,代码来源:m86kopdm.cs


示例8: m68000_move_dd_pi_16

            static void m68000_move_dd_pi_16()
            {
                uint res = m68ki_read_16((((m68k_cpu.ar[m68k_cpu.ir & 7]) += 2) - 2));
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);

                d_dst[0] = (uint)((d_dst[0]) & ~0xffff) | res;

                m68k_cpu.n_flag = ((res) & 0x8000);
                m68k_cpu.not_z_flag = res;
                m68k_cpu.v_flag = m68k_cpu.c_flag = 0;
                m68k_clks_left[0] -= (4 + 4);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:12,代码来源:m86kopdm.cs


示例9: m68000_lsl_r_32

            static void m68000_lsl_r_32()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, m68k_cpu.ir & 7);
                uint shift = (m68k_cpu.dr[(m68k_cpu.ir >> 9) & 7]) & 0x3f;
                uint src = d_dst[0];
                uint res = (src << (int)shift);

                m68k_clks_left[0] -= (int)((shift << 1) + 8);
                if (shift != 0)
                {
                    if (shift < 32)
                    {
                        d_dst[0] = res;
                        m68k_cpu.x_flag = m68k_cpu.c_flag = (src >> (int)(32 - shift)) & 1;
                        m68k_cpu.n_flag = ((res) & 0x80000000);
                        m68k_cpu.not_z_flag = res;
                        m68k_cpu.v_flag = 0;
                        return;
                    }

                    d_dst[0] = 0;
                    m68k_cpu.x_flag = m68k_cpu.c_flag = (shift == 32 ? src & 1 : 0);
                    m68k_cpu.n_flag = 0;
                    m68k_cpu.not_z_flag = 0;
                    m68k_cpu.v_flag = 0;
                    return;
                }

                m68k_cpu.c_flag = 0;
                m68k_cpu.n_flag = ((res) & 0x80000000);
                m68k_cpu.not_z_flag = res;
                m68k_cpu.v_flag = 0;
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:33,代码来源:m86kopdm.cs


示例10: m68000_mulu_i_16

            static void m68000_mulu_i_16()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);
                uint res = m68ki_read_imm_16() * ((d_dst[0]) & 0xffff);

                d_dst[0] = res;

                m68k_cpu.not_z_flag = res;
                m68k_cpu.n_flag = ((res) & 0x80000000);
                m68k_cpu.v_flag = m68k_cpu.c_flag = 0;
                m68k_clks_left[0] -= (54 + 4);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:12,代码来源:m86kopdm.cs


示例11: m68000_mulu_pcdi_16

            static void m68000_mulu_pcdi_16()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);
                uint old_pc = (m68k_cpu.pc += 2) - 2;
                uint ea = old_pc + (uint)MAKE_INT_16(m68ki_read_16(old_pc));
                uint res = m68ki_read_16(ea) * ((d_dst[0]) & 0xffff);

                d_dst[0] = res;

                m68k_cpu.not_z_flag = res;
                m68k_cpu.n_flag = ((res) & 0x80000000);
                m68k_cpu.v_flag = m68k_cpu.c_flag = 0;
                m68k_clks_left[0] -= (54 + 8);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:14,代码来源:m86kopdm.cs


示例12: m68000_muls_pcix_16

            static void m68000_muls_pcix_16()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);
                uint res = (uint)MAKE_INT_16(m68ki_read_16(m68ki_get_ea_pcix())) * (uint)MAKE_INT_16(((d_dst[0]) & 0xffff));

                d_dst[0] = res;

                m68k_cpu.not_z_flag = res;
                m68k_cpu.n_flag = ((res) & 0x80000000);
                m68k_cpu.v_flag = m68k_cpu.c_flag = 0;
                m68k_clks_left[0] -= (54 + 10);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:12,代码来源:m86kopdm.cs


示例13: m68020_cas2_32

            static void m68020_cas2_32()
            {
                if ((m68k_cpu.mode & (4 | 8)) != 0)
                {
                    uint word2 = m68ki_read_imm_32();
                    UIntSubArray r_src1 = new UIntSubArray(m68k_cpu.dr,(int)(word2 >> 16) & 7);
                    uint ea1 = m68k_cpu_dar[word2 >> 31][(int)(word2 >> 28) & 7];
                    uint dst1 = m68ki_read_32(ea1);
                    uint res1 = (dst1 - r_src1[0]);
                    UIntSubArray r_src2 = new UIntSubArray(m68k_cpu.dr, (int)word2 & 7);
                    uint ea2 = m68k_cpu_dar[word2 >> 15][(int)(word2 >> 12) & 7];
                    uint dst2 = m68ki_read_32(ea2);
                    uint res2;

                    ; /* auto-disable (see m68kcpu.h) */
                    m68k_cpu.n_flag = ((res1) & 0x80000000);
                    m68k_cpu.not_z_flag = res1;
                    m68k_cpu.v_flag = (((~r_src1[0] & dst1 & ~res1) | (r_src1[0] & ~dst1 & res1)) & 0x80000000);
                    m68k_cpu.c_flag = (((r_src1[0] & ~dst1) | (res1 & ~dst1) | (r_src1[0] & res1)) & 0x80000000);

                    if (m68k_cpu.not_z_flag==0)
                    {
                        res2 = (dst2 - r_src2[0]);

                        m68k_cpu.n_flag = ((res2) & 0x80000000);
                        m68k_cpu.not_z_flag = res2;
                        m68k_cpu.v_flag = (((~r_src2[0] & dst2 & ~res2) | (r_src2[0] & ~dst2 & res2)) & 0x80000000);
                        m68k_cpu.c_flag = (((r_src2[0] & ~dst2) | (res2 & ~dst2) | (r_src2[0] & res2)) & 0x80000000);

                        if (m68k_cpu.not_z_flag==0)
                        {
                            m68ki_write_32(ea1, m68k_cpu.dr[(word2 >> 22) & 7]);
                            m68ki_write_32(ea2, m68k_cpu.dr[(word2 >> 6) & 7]);
                            m68k_clks_left[0] -= (22);
                            return;
                        }
                    }
                    r_src1[0] = dst1;
                    r_src2[0] = dst2;
                    m68k_clks_left[0] -= (25);
                    return;
                }
                m68000_illegal();
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:44,代码来源:m68kopac.cs


示例14: m68020_cas_al_32

            static void m68020_cas_al_32()
            {
                if ((m68k_cpu.mode & (4 | 8)) != 0)
                {
                    uint word2 = m68ki_read_imm_16();
                    uint ea = m68ki_read_imm_32();
                    uint dst = m68ki_read_32(ea);
                    UIntSubArray d_src = new UIntSubArray(m68k_cpu.dr,(int)word2 & 7);
                    uint res = (dst - d_src[0]);

                    ; /* auto-disable (see m68kcpu.h) */
                    m68k_cpu.n_flag = ((res) & 0x80000000);
                    m68k_cpu.not_z_flag = res;
                    m68k_cpu.v_flag = (((~d_src[0] & dst & ~res) | (d_src[0] & ~dst & res)) & 0x80000000);
                    m68k_cpu.c_flag = (((d_src[0] & ~dst) | (res & ~dst) | (d_src[0] & res)) & 0x80000000);

                    if (m68k_cpu.not_z_flag!=0)
                        d_src[0] = dst;
                    else
                        m68ki_write_32(ea, m68k_cpu.dr[(word2 >> 6) & 7]);
                    m68k_clks_left[0] -= (15 + 16);
                    return;
                }
                m68000_illegal();
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:25,代码来源:m68kopac.cs


示例15: m68000_add_er_i_32

            static void m68000_add_er_i_32()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);
                uint src = m68ki_read_imm_32();
                uint dst = d_dst[0];
                uint res = d_dst[0] = (src + dst);

                m68k_cpu.n_flag = ((res) & 0x80000000);
                m68k_cpu.not_z_flag = res;
                m68k_cpu.v_flag = (((src & dst & ~res) | (~src & ~dst & res)) & 0x80000000);
                m68k_cpu.x_flag = m68k_cpu.c_flag = (((src & dst) | (~res & dst) | (src & ~res)) & 0x80000000);
                m68k_clks_left[0] -= (6 + 10);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:13,代码来源:m68kopac.cs


示例16: m68000_lsl_s_32

            static void m68000_lsl_s_32()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, m68k_cpu.ir & 7);
                uint shift = (((m68k_cpu.ir >> 9) - 1) & 7) + 1;
                uint src = d_dst[0];
                uint res = (src << (int)shift);

                d_dst[0] = res;

                m68k_cpu.n_flag = ((res) & 0x80000000);
                m68k_cpu.not_z_flag = res;
                m68k_cpu.x_flag = m68k_cpu.c_flag = (src >> (int)(32 - shift)) & 1;
                m68k_cpu.v_flag = 0;
                m68k_clks_left[0] -= (int)((shift << 1) + 8);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:15,代码来源:m86kopdm.cs


示例17: m68000_lsl_r_16

            static void m68000_lsl_r_16()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, m68k_cpu.ir & 7);
                uint shift = (m68k_cpu.dr[(m68k_cpu.ir >> 9) & 7]) & 0x3f;
                uint src = ((d_dst[0]) & 0xffff);
                uint res = ((src << (int)shift) & 0xffff);

                m68k_clks_left[0] -= (int)((shift << 1) + 6);
                if (shift != 0)
                {
                    if (shift <= 16)
                    {
                        d_dst[0] = (uint)((d_dst[0]) & ~0xffff) | res;
                        m68k_cpu.x_flag = m68k_cpu.c_flag = (src >> (int)(16 - shift)) & 1;
                        m68k_cpu.n_flag = ((res) & 0x8000);
                        m68k_cpu.not_z_flag = res;
                        m68k_cpu.v_flag = 0;
                        return;
                    }

                    d_dst[0] &= 0xffff0000;
                    m68k_cpu.x_flag = m68k_cpu.c_flag = 0;
                    m68k_cpu.n_flag = 0;
                    m68k_cpu.not_z_flag = 0;
                    m68k_cpu.v_flag = 0;
                    return;
                }

                m68k_cpu.c_flag = 0;
                m68k_cpu.n_flag = ((res) & 0x8000);
                m68k_cpu.not_z_flag = res;
                m68k_cpu.v_flag = 0;
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:33,代码来源:m86kopdm.cs


示例18: m68000_exg_da

            static void m68000_exg_da()
            {
                UIntSubArray reg_a = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);
                UIntSubArray reg_b = new UIntSubArray(m68k_cpu.ar, (int)m68k_cpu.ir & 7);
                uint tmp = reg_a[0];

                reg_a[0] = reg_b[0];
                reg_b[0] = tmp;

                m68k_clks_left[0] -= (6);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:11,代码来源:m86kopdm.cs


示例19: m68000_move_dd_aw_8

            static void m68000_move_dd_aw_8()
            {
                uint res = m68ki_read_8((uint)MAKE_INT_16(m68ki_read_imm_16()));
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, (int)(m68k_cpu.ir >> 9) & 7);

                d_dst[0] = (uint)((d_dst[0]) & ~0xff) | res;

                m68k_cpu.n_flag = ((res) & 0x80);
                m68k_cpu.not_z_flag = res;
                m68k_cpu.v_flag = m68k_cpu.c_flag = 0;
                m68k_clks_left[0] -= (4 + 8);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:12,代码来源:m86kopdm.cs


示例20: m68000_ext_32

            static void m68000_ext_32()
            {
                UIntSubArray d_dst = new UIntSubArray(m68k_cpu.dr, m68k_cpu.ir & 7);

                d_dst[0] = ((d_dst[0]) & 0xffff) | (((d_dst[0]) & 0x8000) != 0 ? 0xffff0000 : 0);

                m68k_cpu.n_flag = ((d_dst[0]) & 0x80000000);
                m68k_cpu.not_z_flag = d_dst[0];
                m68k_cpu.v_flag = m68k_cpu.c_flag = 0;
                m68k_clks_left[0] -= (4);
            }
开发者ID:DarrenRainey,项目名称:xnamame036,代码行数:11,代码来源:m86kopdm.cs



注:本文中的xnamame036.mame.UIntSubArray类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# zlib.ZStream类代码示例发布时间:2022-05-26
下一篇:
C# Expressions.Variable类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap