1
by Martin Decky
Initial import |
1 |
#!/usr/bin/env python
|
2 |
"""
|
|
3 |
Decode 64-bit address into components
|
|
4 |
"""
|
|
5 |
import sys |
|
6 |
||
7 |
def main(): |
|
8 |
if len(sys.argv) != 2 or not sys.argv[1].startswith('0x'): |
|
686
by Vojtech Horky
update scripts for compatibility with Python 3 (thx Vojtech Horky and Martin Sucha) |
9 |
print("%s 0x..." % sys.argv[0]) |
1
by Martin Decky
Initial import |
10 |
sys.exit(1) |
11 |
||
12 |
address = int(sys.argv[1],16) |
|
13 |
offset = address & 0xfff |
|
14 |
ptl3 = (address >> 12) & 0x1ff |
|
15 |
ptl2 = (address >> 21) & 0x1ff |
|
16 |
ptl1 = (address >> 30) & 0x1ff |
|
17 |
ptl0 = (address >> 39) & 0x1ff |
|
686
by Vojtech Horky
update scripts for compatibility with Python 3 (thx Vojtech Horky and Martin Sucha) |
18 |
print("Ptl0: %3d" % ptl0) |
19 |
print("Ptl1: %3d" % ptl1) |
|
20 |
print("Ptl2: %3d" % ptl2) |
|
21 |
print("Ptl3: %3d" % ptl3) |
|
22 |
print("Offset: 0x%x" % offset) |
|
1
by Martin Decky
Initial import |
23 |
|
24 |
if __name__ == '__main__': |
|
25 |
main() |