mips without optimize
This commit is contained in:
58
backend/mips/Register.java
Executable file
58
backend/mips/Register.java
Executable file
@@ -0,0 +1,58 @@
|
||||
package backend.mips;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public enum Register {
|
||||
ZERO("$zero"),
|
||||
AT("$at"),
|
||||
V0("$v0"),
|
||||
V1("$v1"),
|
||||
A0("$a0"),
|
||||
A1("$a1"),
|
||||
A2("$a2"),
|
||||
A3("$a3"),
|
||||
T0("$t0"),
|
||||
T1("$t1"),
|
||||
T2("$t2"),
|
||||
T3("$t3"),
|
||||
T4("$t4"),
|
||||
T5("$t5"),
|
||||
T6("$t6"),
|
||||
T7("$t7"),
|
||||
S0("$s0"),
|
||||
S1("$s1"),
|
||||
S2("$s2"),
|
||||
S3("$s3"),
|
||||
S4("$s4"),
|
||||
S5("$s5"),
|
||||
S6("$s6"),
|
||||
S7("$s7"),
|
||||
T8("$t8"),
|
||||
T9("$t9"),
|
||||
K0("$k0"),
|
||||
K1("$k1"),
|
||||
GP("$gp"),
|
||||
SP("$sp"),
|
||||
FP("$fp"),
|
||||
RA("$ra");
|
||||
|
||||
private String regName;
|
||||
|
||||
Register(String regName) {
|
||||
this.regName = regName;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return regName;
|
||||
}
|
||||
|
||||
public static ArrayList<Register> availableRegisters() {
|
||||
ArrayList<Register> regs = new ArrayList<>();
|
||||
for (Register reg : Register.values()) {
|
||||
if (reg.toString().charAt(1) == 't' || reg.toString().charAt(1) == 's') {
|
||||
regs.add(reg);
|
||||
}
|
||||
}
|
||||
return regs;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user