More FPU exceptions

This commit is contained in:
CocoSimone
2022-09-24 20:41:54 +02:00
parent 19bf3e55e5
commit 6ad8d00a92
12 changed files with 360 additions and 308 deletions

View File

@@ -226,18 +226,24 @@ void RSP::sqv(u32 instr) {
}
void RSP::sllv(u32 instr) {
u8 sa = gpr[RS(instr)] & 0x1F;
gpr[RD(instr)] = (u32)gpr[RT(instr)] << sa;
u8 sa = (gpr[RS(instr)]) & 0x1F;
u32 rt = gpr[RT(instr)];
u32 result = rt << sa;
gpr[RD(instr)] = result;
}
void RSP::srlv(u32 instr) {
u8 sa = gpr[RS(instr)] & 0x1F;
gpr[RD(instr)] = (u32)gpr[RT(instr)] >> sa;
u8 sa = (gpr[RS(instr)]) & 0x1F;
u32 rt = gpr[RT(instr)];
u32 result = rt >> sa;
gpr[RD(instr)] = result;
}
void RSP::srav(u32 instr) {
u8 sa = gpr[RS(instr)] & 0x1F;
gpr[RD(instr)] = gpr[RT(instr)] >> sa;
u8 sa = (gpr[RS(instr)]) & 0x1F;
s32 rt = gpr[RT(instr)];
s32 result = rt >> sa;
gpr[RD(instr)] = result;
}
void RSP::sll(u32 instr) {