Here is a list of differences between the language, the compiler accepts, and the one defined by the ISO standard:
asm__asm__fastcall__fastcall____AX____EAX____func____attribute__The keywords without the underlines are disabled in strict ANSI mode.
There may be some more minor differences, I'm currently not aware off. The biggest problem is the missing float data type. With this limitation in mind, you should be able to write fairly portable code.