asm is not multiplatform, each chip can have its own asm commands, so it usually only works on one chip, unless all you are doing is simple commands. If you need to use cpu-specific extentions, the reason to use asm (to speed up multimedia, etc), your code will work on only one chip, or chips that support those extentions.