# # # 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, 32): 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 isWindbgExt(): print "script is launch out of windbg" quit( 0 ) if ( len( sys.argv ) > 1 ): cr0( int( sys.argv[1], 16 ) ) else: cr0()