pykd/snippets/cr0.py

33 lines
820 B
Python
Raw Normal View History

#
#
#
import sys
from pykd import *
def cr0( value = 0 ):
if value == 0:
value = reg( "cr0" )
dprintln( "CR0: %x (" % value + "".join( [ ( value & ( 1 << ( 31 - i ) ) ) and "1" or "0" for i in range(0,32) ] ) + ")" )
for i in range (0, 31):
bits = { 0 : "PE", 1 : "MP", 2 : "EM", 3 : "TS", 4 : "ET", 5 : "NE", 16 : "WP", 18 : "AM", 29 : "NW", 30 : "CD", 31 : "PG" }
if ( ( 1 << ( 31 -i ) ) & value ) and 31-i in bits:
dprint( " " + bits[31-i] )
dprintln("")
if __name__ == "__main__":
if not isSessionStart():
print "script is launch out of windbg"
quit( 0 )
if ( len( sys.argv ) > 1 ):
cr0( int( sys.argv[1], 16 ) )
else:
cr0()