gcc inline assembler - filling a structure
Vincent De Groote
list.encelade@gmail.com
Thu Apr 2 16:23:00 GMT 2009
Hello,
I would like to execute the cpuid instruction on a x86
So I declared
typedef unsigned long int register_t;
struct response_t {
register_t eax;
register_t ebx;
register_t ecx;
register_t edx;
};
void cpuid ( register_t command, struct response_t * response ) {
...
}
How can I, in assembler, assign the value of a register (for example
ebx) to the response->ebx field ?
I also would like to wrap such function under a preprocessor #ifdef
directive, to check the target machine.
Is there a preprocessor definition I can use for this (a target like
x86) ? I cannot find the list of all preprocessor definitions defined
by gcc.
Thanks for your replies and your time
Vincent De Groote
More information about the Gcc-help
mailing list