370 if e
in self.reg_info.expr:
371 self.parent.a_s.value = 0
372 self.
value = self.reg_info.expr.index(e)
373 elif isinstance(e, ExprInt):
375 if v == 0xffff
and self.parent.size.value == 0:
376 self.parent.a_s.value = 0b11
378 elif v == 0xff
and self.parent.size.value == 1:
379 self.parent.a_s.value = 0b11
382 self.parent.a_s.value = 0b10
385 self.parent.a_s.value = 0b01
388 self.parent.a_s.value = 0b11
391 self.parent.a_s.value = 0b10
394 self.parent.a_s.value = 0b00
397 self.parent.a_s.value = 0b11
399 self.parent.off_s.value = v
400 elif isinstance(e, ExprMem):
401 if isinstance(e.arg, ExprId):
402 self.parent.a_s.value = 0b10
403 self.
value = self.reg_info.expr.index(e.arg)
404 elif isinstance(e.arg, ExprInt):
405 self.parent.a_s.value = 0b01
406 self.
value = self.reg_info.expr.index(SR)
407 self.parent.off_s.value = int(e.arg.arg)
408 elif isinstance(e.arg, ExprOp):
409 self.parent.a_s.value = 0b01
410 self.
value = self.reg_info.expr.index(e.arg.args[0])
411 self.parent.off_s.value = int(e.arg.args[1].arg)
413 raise NotImplementedError(
414 'unknown instance e.arg = %s' %
type(e.arg))
415 elif isinstance(e, ExprOp)
and e.op ==
"autoinc":
416 self.parent.a_s.value = 0b11
417 self.
value = self.reg_info.expr.index(e.args[0])
419 raise NotImplementedError(
'unknown instance e = %s' %
type(e))