exec.c
来自「唯一公开源代码的GBA模拟器」· C语言 代码 · 共 72 行
C
72 行
u32 arm_exec (void)
{
switch (CONDITION_MASK) {
case 0:
if (ZFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 1:
if (!ZFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 2:
if (CFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 3:
if (!CFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 4:
if (NFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 5:
if (!NFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 6:
if (VFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 7:
if (!VFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 8:
if (CFLAG && !ZFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 9:
if (!CFLAG || ZFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 10:
if (NFLAG == VFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 11:
if (NFLAG != VFLAG)
return opcode_handles[OPCODE_MASK]();
break;
case 12:
if (!ZFLAG && (NFLAG == VFLAG))
return opcode_handles[OPCODE_MASK]();
break;
case 13:
if (ZFLAG || (NFLAG != VFLAG))
return opcode_handles[OPCODE_MASK]();
break;
default:
return opcode_handles[OPCODE_MASK]();
}
advance_instruction_pipe();
return 1;
}
u32 thumb_exec (void)
{
return opcode_handles_t [OPCODE_MASK_T]();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?