print("setup: 0x%x 0x%x %s" % (pc, ins & 0xffffffff, bin(ins)))
print ("NIA, CIA", self.pc.CIA.value, self.pc.NIA.value)
- yield self.dec2.dec.raw_opcode_in.eq(ins)
+ yield self.dec2.dec.raw_opcode_in.eq(ins & 0xffffffff)
yield self.dec2.dec.bigendian.eq(0) # little / big?
def execute_one(self):
# https://bugs.libre-soc.org/show_bug.cgi?id=390
if int_op == InternalOp.OP_MTCRF.value:
dec_insn = yield self.dec2.e.insn
- print ("mtcrf", bin(dec_insn), (dec_insn & (1<<20)))
- if dec_insn & (1<<21) != 0: # sigh
+ if dec_insn & (1<<20) != 0: # sigh
asmop = 'mtocrf'
else:
asmop = 'mtcrf'