您的位置:首页 > 其它

内联汇编

2015-07-24 09:40 246 查看

内联汇编代码可以使用 C/C++ 变量和函数,因此它能非常容易地整合到 C/C++ 代码中。它能做一些对于单独使用 C/C++ 来说非常笨重或不可能完成的任务。

内联汇编的用途包括:

使用汇编语言编写特定的函数;

编写对速度要求非常较高的代码;

在设备驱动程序中直接访问硬件;

编写 naked 函数的初始化和结束代码。

实现方式:

1.用 __asm 关键字,它可以出现在任何 C/C++ 语句出现的地方。

Style A:_asm 程序块

<span style="font-size:14px;">__asm
{
MOV AL, 2
MOV DX, 0xD007
OUT AL, DX
} </span>

Style B: 单句前add asm 或 _asm

__asm MOV AL, 2
__asm MOV DX, 0xD007
__asm OUT AL, DX
<span style="font-size:14px;">
</span>


不像在 C/C++ 中的"{ }",__asm 块的"{ }"不会影响 C/C++ 变量的作用范围。同时,__asm 块可以嵌套,而且嵌套也不会影响变量的作用范围。

Refer from: http://wenku.baidu.com/link?url=xVOiX6Bu11usYpFkVJRckcbgQUKBvBS64V6IUzbNbog1CUI4IhzFVs4BoDKOfQcqbG0xavPG_jobiAhurWusfLVlN-glsP3RLFTSAsJ5Ehi

<span style="font-size:14px;color:#333300;">
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: