oris
This commit is contained in:
@@ -70,6 +70,9 @@ void broadway::execute(ircolib::u32 instr, mem &mem) {
|
||||
case 24: // ori ra, rs, uimm
|
||||
ori(instr);
|
||||
break;
|
||||
case 25:
|
||||
oris(instr);
|
||||
break;
|
||||
case 31:
|
||||
decode_special(instr, mem);
|
||||
break;
|
||||
|
||||
@@ -42,6 +42,7 @@ struct broadway {
|
||||
void addis(ircolib::u32);
|
||||
void addi(ircolib::u32);
|
||||
void ori(ircolib::u32);
|
||||
void oris(ircolib::u32);
|
||||
void bx(ircolib::u32);
|
||||
void bcx(ircolib::u32);
|
||||
void mtspr(ircolib::u32);
|
||||
|
||||
@@ -24,6 +24,9 @@ void broadway::addis(ircolib::u32 instr) {
|
||||
}
|
||||
|
||||
void broadway::ori(ircolib::u32 instr) { gpr[utils::RA(instr)] = gpr[utils::RS(instr)] | utils::UIMM(instr); }
|
||||
void broadway::oris(ircolib::u32 instr) {
|
||||
gpr[utils::RA(instr)] = gpr[utils::RS(instr)] | ((ircolib::u32)utils::UIMM(instr) << 16);
|
||||
}
|
||||
|
||||
void broadway::bx(ircolib::u32 instr) {
|
||||
const bool link = instr & 1;
|
||||
|
||||
Reference in New Issue
Block a user