Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- /tmp/cr5 2022-09-11 10:58:50.436198774 +0300
- +++ /tmp/cr3 2022-09-11 10:58:32.965068102 +0300
- @@ -1,11 +1,9 @@
- -class CR5Operand(RegisterOperand):
- +class CR3Operand(RegisterOperand):
- def spec(self, insn, record):
- def merge(vector, value, span, spec, spec_span):
- - # record the 2 lsbs first
- - lsbs = _SelectableInt(value=value.value&3, bits=2)
- bits = (len(span) + len(spec_span))
- #print ("value", bin(value.value), value.bits)
- - value = _SelectableInt(value=value.value>>2, bits=bits)
- + value = _SelectableInt(value=value.value, bits=bits)
- spec = _SelectableInt(value=spec.value, bits=bits)
- #print ("spec", bin(spec.value), spec.bits)
- #print ("value", bin(value.value), value.bits)
- @@ -23,9 +21,7 @@
- span = (('{0}', '{0}') + spec_span + span)
- # add the 2 LSBs back in
- - res = _SelectableInt(value=(value.value<<2)+lsbs.value, bits=bits+2)
- #print ("after", bin(value.value), value.bits)
- - #print ("res", bin(res.value), res.bits)
- - return (res, span)
- + return (value, span)
- return super().spec(insn=insn, record=record, merge=merge)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement