??? 11/06/08 13:35 Read: times |
#159832 - A limited example Responding to: ???'s previous message |
There are mainly two problems involved:
1) The inline assembler may often not support all instructions, or all addressing modes. 2) The compiler may have hard-coded the detection of the few assembler instructions used in the header files, to catch their behaviour in relation to the automatically generated code. Most inline assemblers have significant limitations in regards to allowed constructs. You may for example be unable to create externally linkable symbols with inline assembly. So #include files using __asm { xxx } will only prove that these specific constructs are safe to use. Only the manual - or heavy reading of the internal source code - may reveal the full extent of the inline assembler support. It is an example where we can establish the possibility of using inline assembly without reading the manual or the source code. But it is not valid to extrapolate from these intrinsics into any general case. |