📄 i8085.c
字号:
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 + -