asm volatile encoding : Doubt.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello All,

  The following is a line in rtems' timer driver
source.
    asm volatile(".byte 0x0F, 0x31" : "=A" (result));
  
  I could not understand this. RTEMS mailing list
clarified me saying that it is encoding of pentium
rdtsc instruction.  Please tell me how the above
statement differs from the one below.
        asm("rdtsc result");
(Assuming the instruction pnemonic is correct)

  Only thing I found from gnu documentation for gcc
that '=' specifies that result is a output of the
instruction.  According to the document, there must be
an instruction pnemonic string first inside the
paranthesis.  But there is the directive .byte there. 
Does this mean the opcode directly?

  The document also says that the arguments can be
referred like %0, %1 etc.  But there is nothing like
this here.  Is it because, since there is only one
operand, it is assumed that it follows the opcode?
   
  Please clear my doubts.

With Best Regards
Srinivasan

________________________________________________________________________
Yahoo! India Insurance Special: Be informed on the best policies, services, tools and more. 
Go to: http://in.insurance.yahoo.com/licspecial/index.html

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux