内联汇编代码可以使用 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 块可以嵌套,而且嵌套也不会影响变量的作用范围。
<span style="font-size:14px;color:#333300;">
</span>