28 lines
566 B
Python
28 lines
566 B
Python
#!/usr/bin/python -i
|
|
|
|
# Just some helper functions to convert PPC bits (in the docs) to integer
|
|
# values we can actually use in code.
|
|
|
|
def ppcbit(i):
|
|
return 1 << (63 - i)
|
|
|
|
def ppcmask(a,b):
|
|
mask = 0
|
|
for i in range(a, b + 1):
|
|
mask += ppcbit(i)
|
|
return mask
|
|
|
|
def ppcfield(a, b, v):
|
|
return (v & ppcmask(a,b)) >> (63 - b)
|
|
|
|
def ppcbit32(i):
|
|
return 1 << (31 - i)
|
|
|
|
def ppcmask32(a,b):
|
|
mask = 0
|
|
for i in range(a, b + 1):
|
|
mask += ppcbit32(i)
|
|
return mask
|
|
|
|
def ppcfield32(a, b, v):
|
|
return (v & ppcmask32(a,b)) >> (31 - b)
|