⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i8085.c

📁 这个是延伸mame的在wince平台下的游戏模拟器的代码
💻 C
📖 第 1 页 / 共 4 页
字号:
                        I.BC.B.l = RDMEM(I.HL.D);
                        break;
                case 0x4f: I8085_ICount -= 4;   /* MOV  C,A */
                        I.BC.B.l = I.AF.B.h;
                        break;

                case 0x50: I8085_ICount -= 4;   /* MOV  D,B */
                        I.DE.B.h = I.BC.B.h;
                        break;
                case 0x51: I8085_ICount -= 4;   /* MOV  D,C */
                        I.DE.B.h = I.BC.B.l;
                        break;
                case 0x52: I8085_ICount -= 4;   /* MOV  D,D */
                        /* no op */
                        break;
                case 0x53: I8085_ICount -= 4;   /* MOV  D,E */
                        I.DE.B.h = I.DE.B.l;
                        break;
                case 0x54: I8085_ICount -= 4;   /* MOV  D,H */
                        I.DE.B.h = I.HL.B.h;
                        break;
                case 0x55: I8085_ICount -= 4;   /* MOV  D,L */
                        I.DE.B.h = I.HL.B.l;
                        break;
                case 0x56: I8085_ICount -= 7;   /* MOV  D,M */
                        I.DE.B.h = RDMEM(I.HL.D);
                        break;
                case 0x57: I8085_ICount -= 4;   /* MOV  D,A */
                        I.DE.B.h = I.AF.B.h;
                        break;

                case 0x58: I8085_ICount -= 4;   /* MOV  E,B */
                        I.DE.B.l = I.BC.B.h;
                        break;
                case 0x59: I8085_ICount -= 4;   /* MOV  E,C */
                        I.DE.B.l = I.BC.B.l;
                        break;
                case 0x5a: I8085_ICount -= 4;   /* MOV  E,D */
                        I.DE.B.l = I.DE.B.h;
                        break;
                case 0x5b: I8085_ICount -= 4;   /* MOV  E,E */
                        /* no op */
                        break;
                case 0x5c: I8085_ICount -= 4;   /* MOV  E,H */
                        I.DE.B.l = I.HL.B.h;
                        break;
                case 0x5d: I8085_ICount -= 4;   /* MOV  E,L */
                        I.DE.B.l = I.HL.B.l;
                        break;
                case 0x5e: I8085_ICount -= 7;   /* MOV  E,M */
                        I.DE.B.l = RDMEM(I.HL.D);
                        break;
                case 0x5f: I8085_ICount -= 4;   /* MOV  E,A */
                        I.DE.B.l = I.AF.B.h;
                        break;

                case 0x60: I8085_ICount -= 4;   /* MOV  H,B */
                        I.HL.B.h = I.BC.B.h;
                        break;
                case 0x61: I8085_ICount -= 4;   /* MOV  H,C */
                        I.HL.B.h = I.BC.B.l;
                        break;
                case 0x62: I8085_ICount -= 4;   /* MOV  H,D */
                        I.HL.B.h = I.DE.B.h;
                        break;
                case 0x63: I8085_ICount -= 4;   /* MOV  H,E */
                        I.HL.B.h = I.DE.B.l;
                        break;
                case 0x64: I8085_ICount -= 4;   /* MOV  H,H */
                        /* no op */
                        break;
                case 0x65: I8085_ICount -= 4;   /* MOV  H,L */
                        I.HL.B.h = I.HL.B.l;
                        break;
                case 0x66: I8085_ICount -= 7;   /* MOV  H,M */
                        I.HL.B.h = RDMEM(I.HL.D);
                        break;
                case 0x67: I8085_ICount -= 4;   /* MOV  H,A */
                        I.HL.B.h = I.AF.B.h;
                        break;

                case 0x68: I8085_ICount -= 4;   /* MOV  L,B */
                        I.HL.B.l = I.BC.B.h;
                        break;
                case 0x69: I8085_ICount -= 4;   /* MOV  L,C */
                        I.HL.B.l = I.BC.B.l;
                        break;
                case 0x6a: I8085_ICount -= 4;   /* MOV  L,D */
                        I.HL.B.l = I.DE.B.h;
                        break;
                case 0x6b: I8085_ICount -= 4;   /* MOV  L,E */
                        I.HL.B.l = I.DE.B.l;
                        break;
                case 0x6c: I8085_ICount -= 4;   /* MOV  L,H */
                        I.HL.B.l = I.HL.B.h;
                        break;
                case 0x6d: I8085_ICount -= 4;   /* MOV  L,L */
                        /* no op */
                        break;
                case 0x6e: I8085_ICount -= 7;   /* MOV  L,M */
                        I.HL.B.l = RDMEM(I.HL.D);
                        break;
                case 0x6f: I8085_ICount -= 4;   /* MOV  L,A */
                        I.HL.B.l = I.AF.B.h;
                        break;

                case 0x70: I8085_ICount -= 7;   /* MOV  M,B */
                        WRMEM(I.HL.D, I.BC.B.h);
                        break;
                case 0x71: I8085_ICount -= 7;   /* MOV  M,C */
                        WRMEM(I.HL.D, I.BC.B.l);
                        break;
                case 0x72: I8085_ICount -= 7;   /* MOV  M,D */
                        WRMEM(I.HL.D, I.DE.B.h);
                        break;
                case 0x73: I8085_ICount -= 7;   /* MOV  M,E */
                        WRMEM(I.HL.D, I.DE.B.l);
                        break;
                case 0x74: I8085_ICount -= 7;   /* MOV  M,H */
                        WRMEM(I.HL.D, I.HL.B.h);
                        break;
                case 0x75: I8085_ICount -= 7;   /* MOV  M,L */
                        WRMEM(I.HL.D, I.HL.B.l);
                        break;
                case 0x76: I8085_ICount -= 4;   /* HALT */
                        I.PC.W.l--;
                        I.HALT = 1;
                        if (I8085_ICount > 0)
                                I8085_ICount = 0;
                        break;
                case 0x77: I8085_ICount -= 7;   /* MOV  M,A */
                        WRMEM(I.HL.D, I.AF.B.h);
                        break;

                case 0x78: I8085_ICount -= 4;   /* MOV  A,B */
                        I.AF.B.h = I.BC.B.h;
                        break;
                case 0x79: I8085_ICount -= 4;   /* MOV  A,C */
                        I.AF.B.h = I.BC.B.l;
                        break;
                case 0x7a: I8085_ICount -= 4;   /* MOV  A,D */
                        I.AF.B.h = I.DE.B.h;
                        break;
                case 0x7b: I8085_ICount -= 4;   /* MOV  A,E */
                        I.AF.B.h = I.DE.B.l;
                        break;
                case 0x7c: I8085_ICount -= 4;   /* MOV  A,H */
                        I.AF.B.h = I.HL.B.h;
                        break;
                case 0x7d: I8085_ICount -= 4;   /* MOV  A,L */
                        I.AF.B.h = I.HL.B.l;
                        break;
                case 0x7e: I8085_ICount -= 7;   /* MOV  A,M */
                        I.AF.B.h = RDMEM(I.HL.D);
                        break;
                case 0x7f: I8085_ICount -= 4;   /* MOV  A,A */
                        /* no op */
                        break;

                case 0x80: I8085_ICount -= 4;   /* ADD  B */
                        M_ADD(I.BC.B.h);
                        break;
                case 0x81: I8085_ICount -= 4;   /* ADD  C */
                        M_ADD(I.BC.B.l);
                        break;
                case 0x82: I8085_ICount -= 4;   /* ADD  D */
                        M_ADD(I.DE.B.h);
                        break;
                case 0x83: I8085_ICount -= 4;   /* ADD  E */
                        M_ADD(I.DE.B.l);
                        break;
                case 0x84: I8085_ICount -= 4;   /* ADD  H */
                        M_ADD(I.HL.B.h);
                        break;
                case 0x85: I8085_ICount -= 4;   /* ADD  L */
                        M_ADD(I.HL.B.l);
                        break;
                case 0x86: I8085_ICount -= 7;   /* ADD  M */
                        M_ADD(RDMEM(I.HL.D));
                        break;
                case 0x87: I8085_ICount -= 4;   /* ADD  A */
                        M_ADD(I.AF.B.h);
                        break;

                case 0x88: I8085_ICount -= 4;   /* ADC  B */
                        M_ADC(I.BC.B.h);
                        break;
                case 0x89: I8085_ICount -= 4;   /* ADC  C */
                        M_ADC(I.BC.B.l);
                        break;
                case 0x8a: I8085_ICount -= 4;   /* ADC  D */
                        M_ADC(I.DE.B.h);
                        break;
                case 0x8b: I8085_ICount -= 4;   /* ADC  E */
                        M_ADC(I.DE.B.l);
                        break;
                case 0x8c: I8085_ICount -= 4;   /* ADC  H */
                        M_ADC(I.HL.B.h);
                        break;
                case 0x8d: I8085_ICount -= 4;   /* ADC  L */
                        M_ADC(I.HL.B.l);
                        break;
                case 0x8e: I8085_ICount -= 7;   /* ADC  M */
                        M_ADC(RDMEM(I.HL.D));
                        break;
                case 0x8f: I8085_ICount -= 4;   /* ADC  A */
                        M_ADC(I.AF.B.h);
                        break;

                case 0x90: I8085_ICount -= 4;   /* SUB  B */
                        M_SUB(I.BC.B.h);
                        break;
                case 0x91: I8085_ICount -= 4;   /* SUB  C */
                        M_SUB(I.BC.B.l);
                        break;
                case 0x92: I8085_ICount -= 4;   /* SUB  D */
                        M_SUB(I.DE.B.h);
                        break;
                case 0x93: I8085_ICount -= 4;   /* SUB  E */
                        M_SUB(I.DE.B.l);
                        break;
                case 0x94: I8085_ICount -= 4;   /* SUB  H */
                        M_SUB(I.HL.B.h);
                        break;
                case 0x95: I8085_ICount -= 4;   /* SUB  L */
                        M_SUB(I.HL.B.l);
                        break;
                case 0x96: I8085_ICount -= 7;   /* SUB  M */
                        M_SUB(RDMEM(I.HL.D));
                        break;
                case 0x97: I8085_ICount -= 4;   /* SUB  A */
                        M_SUB(I.AF.B.h);
                        break;

                case 0x98: I8085_ICount -= 4;   /* SBB  B */
                        M_SBB(I.BC.B.h);
                        break;
                case 0x99: I8085_ICount -= 4;   /* SBB  C */
                        M_SBB(I.BC.B.l);
                        break;
                case 0x9a: I8085_ICount -= 4;   /* SBB  D */
                        M_SBB(I.DE.B.h);
                        break;
                case 0x9b: I8085_ICount -= 4;   /* SBB  E */
                        M_SBB(I.DE.B.l);
                        break;
                case 0x9c: I8085_ICount -= 4;   /* SBB  H */
                        M_SBB(I.HL.B.h);
                        break;
                case 0x9d: I8085_ICount -= 4;   /* SBB  L */
                        M_SBB(I.HL.B.l);
                        break;
                case 0x9e: I8085_ICount -= 7;   /* SBB  M */
                        M_SBB(RDMEM(I.HL.D));
                        break;
                case 0x9f: I8085_ICount -= 4;   /* SBB  A */
                        M_SBB(I.AF.B.h);
                        break;

                case 0xa0: I8085_ICount -= 4;   /* ANA  B */
                        M_ANA(I.BC.B.h);
                        break;
                case 0xa1: I8085_ICount -= 4;   /* ANA  C */
                        M_ANA(I.BC.B.l);
                        break;
                case 0xa2: I8085_ICount -= 4;   /* ANA  D */
                        M_ANA(I.DE.B.h);
                        break;
                case 0xa3: I8085_ICount -= 4;   /* ANA  E */
                        M_ANA(I.DE.B.l);
                        break;
                case 0xa4: I8085_ICount -= 4;   /* ANA  H */
                        M_ANA(I.HL.B.h);
                        break;
                case 0xa5: I8085_ICount -= 4;   /* ANA  L */
                        M_ANA(I.HL.B.l);
                        break;
                case 0xa6: I8085_ICount -= 7;   /* ANA  M */
                        M_ANA(RDMEM(I.HL.D));
                        break;
                case 0xa7: I8085_ICount -= 4;   /* ANA  A */
                        M_ANA(I.AF.B.h);
                        break;

                case 0xa8: I8085_ICount -= 4;   /* XRA  B */
                        M_XRA(I.BC.B.h);
                        break;
                case 0xa9: I8085_ICount -= 4;   /* XRA  C */
                        M_XRA(I.BC.B.l);
                        break;
                case 0xaa: I8085_ICount -= 4;   /* XRA  D */
                        M_XRA(I.DE.B.h);
                        break;
                case 0xab: I8085_ICount -= 4;   /* XRA  E */
                        M_XRA(I.DE.B.l);
                        break;
                case 0xac: I8085_ICount -= 4;   /* XRA  H */
                        M_XRA(I.HL.B.h);
                        break;
                case 0xad: I8085_ICount -= 4;   /* XRA  L */
                        M_XRA(I.HL.B.l);
                        break;
                case 0xae: I8085_ICount -= 7;   /* XRA  M */
                        M_XRA(RDMEM(I.HL.D));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -