在C++中,asm关键字是做什么用的,能帮我举个例子吗?

 我来答
不再是壹个人
2018-03-30 · TA获得超过9371个赞
知道小有建树答主
回答量:43
采纳率:0%
帮助的人:8113
展开全部

ASM是C++中的一个关键字,用于在C++源码中内嵌汇编语言。ASM能写在任何C++合法语句中,目前asm还不是C的标准关键字,C11标准未加入正文,仅在Annex J中标记为“公共扩展”。

C++中的asm关键字用法。

  1. __asm关键字启动内联汇编并且能写在任何C++合法语句之处。它不能单独出现,必须接汇编指令、一组被大括号包含的指令或一对空括号。术语“__asm 块”在这里是任意一个指令或一组指令无论是否在括号内。

  2. 以下代码片段是在括号内的一个简单的__asm块。

_asm { mov al, 2  mov dx, 0xD007 out al, dx }

另一种方法是,你可以在每个汇编指令前放置__asm

__asm mov al, 2

__asm mov dx, 0xD007

__asm out al, dx

因为__asm关键字是一个语句分隔符,你也可以将汇编指令放在同一行。

__asm mov al, 2 __asm mov dx, 0xD007 __asm out al, dx。

以上三个的例子产生相同的代码,但是第一种风格(把__asm块用括号括起来)有一些优势。括号可以清晰的将C或C++代码和汇编代码分开,并且避免了不必要的重复__asm关键字。括号也能避免模糊性。如果你想在__asm块的同一行放置一个C或C++语句,你必须将块用括号括起来。没有括号,编译器不能区分汇编代码在哪里停止以及C或C++代码在哪里开始。最后,因为在括号的文字有和原始MASM一样的格式,你能轻松的从一个已有的MASM源文件里剪切和黏贴文字到文件来。

不同于C和C++的括号,在Visual Studio中,包含__asm块的括号对变量的作用域并没有效果。你也能嵌套__asm块,嵌套对变量作用域也没有效果。

匿名用户
2010-10-28
展开全部
内联汇编

简单的说是在 C/C++ 中使用 ASM 汇编语言.

网上应该介绍很多的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feixhan
推荐于2017-11-23 · TA获得超过289个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:131万
展开全部
C++的关键字 asm

微软详述:

__asm关键字启动内联汇编并且能写在任何c/c++合法语句之处.它不能单独出现.它必须接汇编指令、一组被大括号包含的指令或一对空括号.术语“__asm 块”在这里是任意一个指令或一组指令无论是否在括号内。

以下代码片段是在括号内的一个简单的__asm块。

__asm

{

mov al, 2

mov dx, 0xD007

out al, dx

}

另一种方法是,你可以在每个汇编指令前放置__asm

__asm mov al, 2

__asm mov dx, 0xD007

__asm out al, dx

因为__asm关键字是一个语句分隔符,你也可以将汇编指令放在同一行:

__asm mov al, 2 __asm mov dx, 0xD007 __asm out al, dx

以上三个的例子产生相同的代码,但是第一种风格(把__asm块用括号括起来)有一些优势。括号可以清晰的将C或C++代码和汇编代码分开,并且避免了不必要的重复__asm关键字。括号也能避免模糊性。如果你想在__asm块的同一行放置一个C或C++语句,你必须将块用括号括

起来。没有括号,编译器不能告诉汇编代码在哪里停止而C或C++代码在哪里开始。最后,因为在括号的文字有和原始MASM一样的格式,你能轻松的从一个已有的MASM源文件里剪切和黏贴文字到文件来。

不同于C和C++的括号,包含__asm块的括号对变量的作用域并没有效果。你也能嵌套__asm块,嵌套对变量作用域也没有效果。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
killer_jacket
2010-10-28 · TA获得超过701个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:344万
展开全部
嵌入汇编代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式