summaryrefslogtreecommitdiffstats
path: root/lldb/examples/customization/bin-utils/binutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/examples/customization/bin-utils/binutils.py')
-rw-r--r--lldb/examples/customization/bin-utils/binutils.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/lldb/examples/customization/bin-utils/binutils.py b/lldb/examples/customization/bin-utils/binutils.py
index 313a354ec3a..576dcba02f7 100644
--- a/lldb/examples/customization/bin-utils/binutils.py
+++ b/lldb/examples/customization/bin-utils/binutils.py
@@ -2,6 +2,7 @@
import StringIO
+
def binary(n, width=None):
"""
Return a list of (0|1)'s for the binary representation of n where n >= 0.
@@ -12,7 +13,7 @@ def binary(n, width=None):
if width and width <= 0:
width = None
while n > 0:
- l.append(1 if n&1 else 0)
+ l.append(1 if n & 1 else 0)
n = n >> 1
if width:
@@ -22,14 +23,15 @@ def binary(n, width=None):
l.reverse()
return l
+
def twos_complement(n, width):
"""
Return a list of (0|1)'s for the binary representation of a width-bit two's
complement numeral system of an integer n which may be negative.
"""
- val = 2**(width-1)
+ val = 2**(width - 1)
if n >= 0:
- if n > (val-1):
+ if n > (val - 1):
return None
# It is safe to represent n with width-bits.
return binary(n, width)
@@ -38,7 +40,7 @@ def twos_complement(n, width):
if abs(n) > val:
return None
# It is safe to represent n (a negative int) with width-bits.
- return binary(val*2 - abs(n))
+ return binary(val * 2 - abs(n))
# print binary(0xABCD)
# [1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1]
@@ -53,12 +55,13 @@ def twos_complement(n, width):
# print twos_complement(-5, 64)
# [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1]
+
def positions(width):
"""Helper function returning a list describing the bit positions.
Bit positions greater than 99 are truncated to 2 digits, for example,
100 -> 00 and 127 -> 27."""
return ['{0:2}'.format(i)[-2:] for i in reversed(range(width))]
-
+
def utob(debugger, command_line, result, dict):
"""Convert the unsigned integer to print its binary representation.
@@ -88,9 +91,10 @@ def utob(debugger, command_line, result, dict):
return
if verbose and width > 0:
pos = positions(width)
- print ' '+' '.join(pos)
+ print ' ' + ' '.join(pos)
print ' %s' % str(bits)
+
def itob(debugger, command_line, result, dict):
"""Convert the integer to print its two's complement representation.
args[0] (mandatory) is the integer to be converted
@@ -117,6 +121,5 @@ def itob(debugger, command_line, result, dict):
return
if verbose and width > 0:
pos = positions(width)
- print ' '+' '.join(pos)
+ print ' ' + ' '.join(pos)
print ' %s' % str(bits)
-
OpenPOWER on IntegriCloud