c - What does .byte mean in this asm line? -
i revisiting code wrote while ago math on large numbers. when wrote code, lab had few x86s split between 32 , 64 bits. work on ultrasparcs, , vaguely remember pulling line of code intel manual sure code being used on 64-bit cpu.
unsigned long x[4]; x[0] = 0; x[1] = 0; x[2] = 0; x[3] = 0; asm volatile(".byte 15;.byte 162" : "=a"(x[0]),"=b"(x[1]),"=c"(x[3]),"=d"(x[2]) : "0"(0) ); if x[0] 0, , program started chugging away.
can explain me line of code does?
the bytes .byte 15 , .byte 162 represent cpuid instruction.
when executes results in eax, ebx, ecx, , edx.
these results stored in array elements:
x[0] <- eax x[1] <- ebx x[2] <- edx x[3] <- ecx
Comments
Post a Comment