#
# 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()