mips without optimize
This commit is contained in:
42
backend/mips/instr/MipsComp.java
Normal file
42
backend/mips/instr/MipsComp.java
Normal file
@@ -0,0 +1,42 @@
|
||||
package backend.mips.instr;
|
||||
|
||||
import backend.mips.instr.type.MipsCompareType;
|
||||
import backend.mips.instr.type.MipsType;
|
||||
import backend.mips.Register;
|
||||
|
||||
public class MipsComp extends MipsInstr {
|
||||
private MipsCompareType compareType;
|
||||
private Register rd;
|
||||
private Register rs;
|
||||
private Register rt;
|
||||
private int immediate;
|
||||
private boolean isImmediate;
|
||||
|
||||
public MipsComp(MipsCompareType compareType, Register rd, Register rs, Register rt) {
|
||||
super(MipsType.COMPARE);
|
||||
this.compareType = compareType;
|
||||
this.rd = rd;
|
||||
this.rs = rs;
|
||||
this.rt = rt;
|
||||
this.immediate = 0;
|
||||
this.isImmediate = false;
|
||||
}
|
||||
|
||||
public MipsComp(MipsCompareType compareType, Register rd, Register rs, int immediate) {
|
||||
super(MipsType.COMPARE);
|
||||
this.compareType = compareType;
|
||||
this.rd = rd;
|
||||
this.rs = rs;
|
||||
this.rt = null;
|
||||
this.immediate = immediate;
|
||||
this.isImmediate = true;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
if (this.isImmediate) {
|
||||
return this.compareType.toString() + " " + this.rd + ", " + this.rs + ", " + this.immediate + "\n";
|
||||
} else {
|
||||
return this.compareType.toString() + " " + this.rd + ", " + this.rs + ", " + this.rt + "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user