self.width = width
self.fields = []
- def add_field(self, field,):
+ def add_field(self, field):
self.fields.append(field)
def decode(self, value, ignore_zero):
field_width = (self.width + 3) / 4
name_width = max(map(lambda f: len(f.name), self.fields))
+
str = "0x%0*lx [%d]\n" % (field_width, value, value)
+
for field in self.fields:
v = field.mask(self.width, value);
if ignore_zero and v == 0:
print "No such register '%s'" % reg_id
return 1
- r = regs[reg_id]
- print "decoding as %s" % r.name
+ reg = regs[reg_id]
+ print "decoding as %s" % reg.name
if args:
- values = args
+ value_iter = args.__iter__()
else:
- try:
- values = sys.stdin.readlines()
- except KeyboardInterrupt, e:
- return
-
- for value in values:
- decode_value(r, value.strip(), options)
+ value_iter = iter(sys.stdin.readline, '')
+
+ try:
+ for value in value_iter:
+ decode_value(reg, value.strip(), options)
+ except KeyboardInterrupt, e:
+ pass
return 0