pykd/lib/pykdlib/regs.py
2011-03-30 10:57:22 +00:00

43 lines
1006 B
Python

#
# CPU registers
#
import pykd
CPU = pykd.getProcessorMode()
x86Regs = [ "eax", "ebx", "ecx", "edx", "esi", "edi", "eip", "ebp", "esp" ]
amd64Regs = [ "rax", "rbx", "rcx", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "rsi", "rdi", "rip", "rbp", "rsp" ]
def reloadRegs():
""" reload register's values"""
if CPU == "X86":
for regName in x86Regs:
globals()[regName] = pykd.reg(regName)
elif CPU == "X64":
for regName in amd64Regs:
globals()[regName] = pykd.reg(regName)
def printRegs():
""" print CPU registers values"""
if CPU == "X86":
for regName in x86Regs:
pykd.dprintln( "%s = %#x( %d )" % ( regName, globals()[regName], globals()[regName] ) )
elif CPU == "X64":
for regName in amd64Regs:
pykd.dprintln( "%s = %#x( %d )" % ( regName, globals()[regName], globals()[regName] ) )
reloadRegs()