mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 06:10:03 -06:00
more shit! some start of ALU emulation
This commit is contained in:
126
ARMInterpreter_ALU.h
Normal file
126
ARMInterpreter_ALU.h
Normal file
@ -0,0 +1,126 @@
|
||||
|
||||
#ifndef ARMINTERPRETER_ALU_H
|
||||
#define ARMINTERPRETER_ALU_H
|
||||
|
||||
namespace ARMInterpreter
|
||||
{
|
||||
|
||||
s32 A_TST_IMM(ARM* cpu);
|
||||
s32 A_TST_REG_LSL_IMM(ARM* cpu);
|
||||
s32 A_TST_REG_LSR_IMM(ARM* cpu);
|
||||
s32 A_TST_REG_ASR_IMM(ARM* cpu);
|
||||
s32 A_TST_REG_ROR_IMM(ARM* cpu);
|
||||
s32 A_TST_REG_LSL_REG(ARM* cpu);
|
||||
s32 A_TST_REG_LSR_REG(ARM* cpu);
|
||||
s32 A_TST_REG_ASR_REG(ARM* cpu);
|
||||
s32 A_TST_REG_ROR_REG(ARM* cpu);
|
||||
|
||||
s32 A_TEQ_IMM(ARM* cpu);
|
||||
s32 A_TEQ_REG_LSL_IMM(ARM* cpu);
|
||||
s32 A_TEQ_REG_LSR_IMM(ARM* cpu);
|
||||
s32 A_TEQ_REG_ASR_IMM(ARM* cpu);
|
||||
s32 A_TEQ_REG_ROR_IMM(ARM* cpu);
|
||||
s32 A_TEQ_REG_LSL_REG(ARM* cpu);
|
||||
s32 A_TEQ_REG_LSR_REG(ARM* cpu);
|
||||
s32 A_TEQ_REG_ASR_REG(ARM* cpu);
|
||||
s32 A_TEQ_REG_ROR_REG(ARM* cpu);
|
||||
|
||||
s32 A_CMP_IMM(ARM* cpu);
|
||||
s32 A_CMP_REG_LSL_IMM(ARM* cpu);
|
||||
s32 A_CMP_REG_LSR_IMM(ARM* cpu);
|
||||
s32 A_CMP_REG_ASR_IMM(ARM* cpu);
|
||||
s32 A_CMP_REG_ROR_IMM(ARM* cpu);
|
||||
s32 A_CMP_REG_LSL_REG(ARM* cpu);
|
||||
s32 A_CMP_REG_LSR_REG(ARM* cpu);
|
||||
s32 A_CMP_REG_ASR_REG(ARM* cpu);
|
||||
s32 A_CMP_REG_ROR_REG(ARM* cpu);
|
||||
|
||||
s32 A_CMN_IMM(ARM* cpu);
|
||||
s32 A_CMN_REG_LSL_IMM(ARM* cpu);
|
||||
s32 A_CMN_REG_LSR_IMM(ARM* cpu);
|
||||
s32 A_CMN_REG_ASR_IMM(ARM* cpu);
|
||||
s32 A_CMN_REG_ROR_IMM(ARM* cpu);
|
||||
s32 A_CMN_REG_LSL_REG(ARM* cpu);
|
||||
s32 A_CMN_REG_LSR_REG(ARM* cpu);
|
||||
s32 A_CMN_REG_ASR_REG(ARM* cpu);
|
||||
s32 A_CMN_REG_ROR_REG(ARM* cpu);
|
||||
|
||||
s32 A_ORR_IMM(ARM* cpu);
|
||||
s32 A_ORR_REG_LSL_IMM(ARM* cpu);
|
||||
s32 A_ORR_REG_LSR_IMM(ARM* cpu);
|
||||
s32 A_ORR_REG_ASR_IMM(ARM* cpu);
|
||||
s32 A_ORR_REG_ROR_IMM(ARM* cpu);
|
||||
s32 A_ORR_REG_LSL_REG(ARM* cpu);
|
||||
s32 A_ORR_REG_LSR_REG(ARM* cpu);
|
||||
s32 A_ORR_REG_ASR_REG(ARM* cpu);
|
||||
s32 A_ORR_REG_ROR_REG(ARM* cpu);
|
||||
s32 A_ORR_IMM_S(ARM* cpu);
|
||||
s32 A_ORR_REG_LSL_IMM_S(ARM* cpu);
|
||||
s32 A_ORR_REG_LSR_IMM_S(ARM* cpu);
|
||||
s32 A_ORR_REG_ASR_IMM_S(ARM* cpu);
|
||||
s32 A_ORR_REG_ROR_IMM_S(ARM* cpu);
|
||||
s32 A_ORR_REG_LSL_REG_S(ARM* cpu);
|
||||
s32 A_ORR_REG_LSR_REG_S(ARM* cpu);
|
||||
s32 A_ORR_REG_ASR_REG_S(ARM* cpu);
|
||||
s32 A_ORR_REG_ROR_REG_S(ARM* cpu);
|
||||
|
||||
s32 A_MOV_IMM(ARM* cpu);
|
||||
s32 A_MOV_REG_LSL_IMM(ARM* cpu);
|
||||
s32 A_MOV_REG_LSR_IMM(ARM* cpu);
|
||||
s32 A_MOV_REG_ASR_IMM(ARM* cpu);
|
||||
s32 A_MOV_REG_ROR_IMM(ARM* cpu);
|
||||
s32 A_MOV_REG_LSL_REG(ARM* cpu);
|
||||
s32 A_MOV_REG_LSR_REG(ARM* cpu);
|
||||
s32 A_MOV_REG_ASR_REG(ARM* cpu);
|
||||
s32 A_MOV_REG_ROR_REG(ARM* cpu);
|
||||
s32 A_MOV_IMM_S(ARM* cpu);
|
||||
s32 A_MOV_REG_LSL_IMM_S(ARM* cpu);
|
||||
s32 A_MOV_REG_LSR_IMM_S(ARM* cpu);
|
||||
s32 A_MOV_REG_ASR_IMM_S(ARM* cpu);
|
||||
s32 A_MOV_REG_ROR_IMM_S(ARM* cpu);
|
||||
s32 A_MOV_REG_LSL_REG_S(ARM* cpu);
|
||||
s32 A_MOV_REG_LSR_REG_S(ARM* cpu);
|
||||
s32 A_MOV_REG_ASR_REG_S(ARM* cpu);
|
||||
s32 A_MOV_REG_ROR_REG_S(ARM* cpu);
|
||||
|
||||
s32 A_BIC_IMM(ARM* cpu);
|
||||
s32 A_BIC_REG_LSL_IMM(ARM* cpu);
|
||||
s32 A_BIC_REG_LSR_IMM(ARM* cpu);
|
||||
s32 A_BIC_REG_ASR_IMM(ARM* cpu);
|
||||
s32 A_BIC_REG_ROR_IMM(ARM* cpu);
|
||||
s32 A_BIC_REG_LSL_REG(ARM* cpu);
|
||||
s32 A_BIC_REG_LSR_REG(ARM* cpu);
|
||||
s32 A_BIC_REG_ASR_REG(ARM* cpu);
|
||||
s32 A_BIC_REG_ROR_REG(ARM* cpu);
|
||||
s32 A_BIC_IMM_S(ARM* cpu);
|
||||
s32 A_BIC_REG_LSL_IMM_S(ARM* cpu);
|
||||
s32 A_BIC_REG_LSR_IMM_S(ARM* cpu);
|
||||
s32 A_BIC_REG_ASR_IMM_S(ARM* cpu);
|
||||
s32 A_BIC_REG_ROR_IMM_S(ARM* cpu);
|
||||
s32 A_BIC_REG_LSL_REG_S(ARM* cpu);
|
||||
s32 A_BIC_REG_LSR_REG_S(ARM* cpu);
|
||||
s32 A_BIC_REG_ASR_REG_S(ARM* cpu);
|
||||
s32 A_BIC_REG_ROR_REG_S(ARM* cpu);
|
||||
|
||||
s32 A_MVN_IMM(ARM* cpu);
|
||||
s32 A_MVN_REG_LSL_IMM(ARM* cpu);
|
||||
s32 A_MVN_REG_LSR_IMM(ARM* cpu);
|
||||
s32 A_MVN_REG_ASR_IMM(ARM* cpu);
|
||||
s32 A_MVN_REG_ROR_IMM(ARM* cpu);
|
||||
s32 A_MVN_REG_LSL_REG(ARM* cpu);
|
||||
s32 A_MVN_REG_LSR_REG(ARM* cpu);
|
||||
s32 A_MVN_REG_ASR_REG(ARM* cpu);
|
||||
s32 A_MVN_REG_ROR_REG(ARM* cpu);
|
||||
s32 A_MVN_IMM_S(ARM* cpu);
|
||||
s32 A_MVN_REG_LSL_IMM_S(ARM* cpu);
|
||||
s32 A_MVN_REG_LSR_IMM_S(ARM* cpu);
|
||||
s32 A_MVN_REG_ASR_IMM_S(ARM* cpu);
|
||||
s32 A_MVN_REG_ROR_IMM_S(ARM* cpu);
|
||||
s32 A_MVN_REG_LSL_REG_S(ARM* cpu);
|
||||
s32 A_MVN_REG_LSR_REG_S(ARM* cpu);
|
||||
s32 A_MVN_REG_ASR_REG_S(ARM* cpu);
|
||||
s32 A_MVN_REG_ROR_REG_S(ARM* cpu);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user