summaryrefslogtreecommitdiff
path: root/pysc-v/InstructionSets/instructions.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysc-v/InstructionSets/instructions.py')
-rw-r--r--pysc-v/InstructionSets/instructions.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/pysc-v/InstructionSets/instructions.py b/pysc-v/InstructionSets/instructions.py
index 5587f2e..625226a 100644
--- a/pysc-v/InstructionSets/instructions.py
+++ b/pysc-v/InstructionSets/instructions.py
@@ -16,12 +16,18 @@ class Instruction:
return
class InstructionSet:
+
def __init__(self, init=None):
- self.data = dict()
+ self.instructions = dict()
+
+ def instruction(self, ins):
+ if ins.name not in self.instructions:
+ self.instructions[ins.name] = ins
+ return ins
- def add_instruction(self, ins):
- if ins.name not in self.data:
- self.data[ins.name] = ins
+ # NOTE: We don't need to treat pseudoinstructions in an special way yet,
+ # but we separate the decorator for clarity
+ pseudoinstruction = instruction
if __name__ == "__main__":