X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fparameters%2FMnemonic.java;fp=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fparameters%2FMnemonic.java;h=5ea2be05432702daea5866e6b59623bd8aee5925;hb=7d05144c25daa53e60fc9ed9fd503546a86567f8;hp=0000000000000000000000000000000000000000;hpb=8bed58cd47f4e53a0a83e066d38864aa6875502f;p=Mograsim.git diff --git a/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/Mnemonic.java b/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/Mnemonic.java new file mode 100644 index 00000000..5ea2be05 --- /dev/null +++ b/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/Mnemonic.java @@ -0,0 +1,64 @@ +package net.mograsim.machine.mi.parameters; + +import net.mograsim.logic.core.types.BitVector; + +public final class Mnemonic implements MicroInstructionParameter +{ + private final String text; + private final BitVector vector; + final MnemonicFamily owner; + private final int ordinal; + + Mnemonic(String text, BitVector vector, MnemonicFamily owner, int ordinal) + { + super(); + this.text = text; + this.vector = vector; + this.owner = owner; + this.ordinal = ordinal; + } + + public String getText() + { + return text; + } + + @Override + public BitVector getValue() + { + return vector; + } + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = prime * result + ((text == null) ? 0 : text.hashCode()); + result = prime * result + ((vector == null) ? 0 : vector.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) + { + return this == obj; + } + + @Override + public ParameterType getType() + { + return owner.getExpectedType(); + } + + public int ordinal() + { + return ordinal; + } + + @Override + public String toString() + { + return text; + } +}