Advertisement
Guest User

Untitled

a guest
Sep 11th, 2022
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.26 KB | None | 0 0
  1. --- /tmp/cr5    2022-09-11 10:58:50.436198774 +0300
  2. +++ /tmp/cr3    2022-09-11 10:58:32.965068102 +0300
  3. @@ -1,11 +1,9 @@
  4. -class CR5Operand(RegisterOperand):
  5. +class CR3Operand(RegisterOperand):
  6.      def spec(self, insn, record):
  7.          def merge(vector, value, span, spec, spec_span):
  8. -            # record the 2 lsbs first
  9. -            lsbs = _SelectableInt(value=value.value&3, bits=2)
  10.              bits = (len(span) + len(spec_span))
  11.              #print ("value", bin(value.value), value.bits)
  12. -            value = _SelectableInt(value=value.value>>2, bits=bits)
  13. +            value = _SelectableInt(value=value.value, bits=bits)
  14.              spec = _SelectableInt(value=spec.value, bits=bits)
  15.              #print ("spec", bin(spec.value), spec.bits)
  16.              #print ("value", bin(value.value), value.bits)
  17. @@ -23,9 +21,7 @@
  18.                  span = (('{0}', '{0}') + spec_span + span)
  19.  
  20.              # add the 2 LSBs back in
  21. -            res = _SelectableInt(value=(value.value<<2)+lsbs.value, bits=bits+2)
  22.              #print ("after", bin(value.value), value.bits)
  23. -            #print ("res", bin(res.value), res.bits)
  24. -            return (res, span)
  25. +            return (value, span)
  26.  
  27.          return super().spec(insn=insn, record=record, merge=merge)
  28.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement