The source files for a virtual device must start with the .386p directive to inform the assembler that 80386 protected-mode instructions are permitted. Although virtual devices have ring 0 privilege, they should not use protected 80386 instructions to modify the operation of the 80386, to change descriptors in the global or interrupt descriptor table, or to modify task state segments or registers. Such modifications can adversely affect the operation of Windows. The only exception to this is the virtual math coprocessor device (VMCPD), which is allowed to change the 80387 bits in the CR0 register.