-
Notifications
You must be signed in to change notification settings - Fork 44
Closed
Labels
FeedbackFeedback from users about their experienceFeedback from users about their experiencebugSomething isn't workingSomething isn't working
Description
| (Unsigned_32'Asm_Output ("=a", High), |
In this example, the order of registers is in the rdtsc instruction is written as follows:
Asm ("rdtsc",
Outputs =>
(Unsigned_32'Asm_Output ("=a", High),
Unsigned_32'Asm_Output ("=d", Low)),
Volatile => True);But the rdtsc stores the 32-bit parts of the value the other way around - low into EAX, high into EDX.
From the intel Manual: "The EDX register is loaded with the high-order 32 bits of the MSR and the EAX register is loaded with the low-order 32 bits. "
For more details, refer to Intel® 64 and IA-32 Architectures Software Developer’s Manual, vol. 2B, chapter 4.3.
Metadata
Metadata
Assignees
Labels
FeedbackFeedback from users about their experienceFeedback from users about their experiencebugSomething isn't workingSomething isn't working