ASM是C++中的一个关键字,用于在C++源码中内嵌
汇编语言。ASM能写在任何C++合法语句中,asm还不是C的标准关键字,
C11标准未加入正文,仅在Annex J中标记为“公共扩展”。
__asm关键字启动
内联汇编并且能写在任何C++合法语句之处。它不能单独出现,必须接
汇编指令、一组被
大括号包含的指令或一对空括号。术语“__asm 块”在这里是任意一个指令或一组指令无论是否在括号内。
以上三个的例子产生相同的代码,但是第一种风格(把__asm块用括号括起来)有一些优势。括号可以清晰的将C或C++代码和汇编代码分开,并且避免了不必要的重复__asm关键字。括号也能避免模糊性。如果你想在__asm块的同一行放置一个C或C++语句,你必须将块用括号括起来。没有括号,
编译器不能区分汇编代码在哪里停止以及C或C++代码在哪里开始。最后,因为在括号的文字有和原始
MASM一样的格式,你能轻松的从一个已有的MASM
源文件里剪切和黏贴文字到文件来。