The source files for a virtual device must start with the .386p directive to inform the assembler that protected-mode instructions are permitted. Although virtual devices have ring 0 privilege, they should not use protected instructions to modify the operation of the CPU, 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.