rfi
This commit is contained in:
+15
-2
@@ -40,7 +40,20 @@ void broadway::decode_special(ircolib::u32 instr, mem &mem) {
|
||||
add(instr);
|
||||
break;
|
||||
default:
|
||||
ircolib::panic("broadway unknown special 0x{:04X}", utils::secondary(instr));
|
||||
ircolib::panic("broadway unknown special 0x{:04X} (pc 0x{:08X})", utils::secondary(instr), pc - 4);
|
||||
}
|
||||
}
|
||||
|
||||
void broadway::decode_branch(ircolib::u32 instr, mem &mem) {
|
||||
switch (utils::secondary(instr)) {
|
||||
case 0x10:
|
||||
bclrx(instr);
|
||||
break;
|
||||
case 0x32:
|
||||
rfi(instr);
|
||||
break;
|
||||
default:
|
||||
ircolib::panic("broadway unknown branch 0x{:04X} (pc 0x{:08X})", utils::secondary(instr), pc - 4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +75,7 @@ void broadway::execute(ircolib::u32 instr, mem &mem) {
|
||||
bx(instr);
|
||||
break;
|
||||
case 19:
|
||||
bclrx(instr);
|
||||
decode_branch(instr, mem);
|
||||
break;
|
||||
case 21:
|
||||
rlwinm(instr);
|
||||
|
||||
Reference in New Issue
Block a user