+ def setup_one(self):
+ """set up one instruction
+ """
+ if self.respect_pc:
+ pc = self.pc.CIA.value
+ else:
+ pc = self.fake_pc
+ ins = yield self.imem.ld(pc, 4, False)
+ yield self.pdecode2.dec.raw_opcode_in.eq(ins)
+ yield self.pdecode2.dec.bigendian.eq(0) # little / big?
+ self._pc
+
+ def execute_one(self):
+ """execute one instruction
+ """
+ # get the disassembly code for this instruction
+ code = self.disassembly[self._pc]
+ opname = code.split(' ')[0]
+ yield from call(opname)
+
+ if not self.respect_pc:
+ self.fake_pc += 4
+ #else:
+ #self.pc.CIA.value = self.pc.NIA.value
+