use64
mov rax,cr8 ;<----Error: Undefined Symbol
I can't program the Task Priority Register in my OS
Also I see mentioned in the Intel docs that CR9 thru CR15 and DR8 thru DR15 are defined (using REX.R) but as yet unimplemented.
In 64-bit mode, more encodings for control and debug registers are available. The REX.R bit is used to modify the ModR/M reg field when that field encodes a control or debug register (see Table 2-4). These encodings enable the processor to address CR8-CR15 and DR8- DR15. An additional control register (CR8) is defined in 64-bit mode. CR8 becomes the Task Priority Register (TPR).
In the first implementation of IA-32e mode, CR9-CR15 and DR8-DR15 are not implemented. Any attempt to access unimplemented registers results in an invalid-opcode exception (#UD).