CA = 1<<XERRegs.CA
OV = 1<<XERRegs.OV
if name == 'xer_so':
- #return e.oe.oe & e.oe.oe_ok, SO, SO
+ return e.oe.oe[0] & e.oe.oe_ok, SO, SO
return Const(1), SO, SO # TODO
if name == 'xer_ov':
+ return e.oe.oe[0] & e.oe.oe_ok, OV, OV
return Const(1), OV, OV # TODO
- return e.oe.oe & e.oe.oe_ok, OV, OV
if name == 'xer_ca':
return Const(1), CA, CA # TODO
#return e.input_carry, CA, CA
res['xer_ca'] = carry | (carry32<<1)
# XER.so
- oe = yield dec2.e.oe.data & dec2.e.oe.ok
- if True: #oe:
+ oe = yield dec2.e.oe.data[0] & dec2.e.oe.ok
+ if oe:
so = 1 if sim.spr['XER'][XER_bits['SO']] else 0
res['xer_so'] = so