内联汇编
2015-07-24 09:40
246 查看
内联汇编代码可以使用 C/C++ 变量和函数,因此它能非常容易地整合到 C/C++ 代码中。它能做一些对于单独使用 C/C++ 来说非常笨重或不可能完成的任务。
内联汇编的用途包括:
使用汇编语言编写特定的函数;
编写对速度要求非常较高的代码;
在设备驱动程序中直接访问硬件;
编写 naked 函数的初始化和结束代码。
实现方式:
1.用 __asm 关键字,它可以出现在任何 C/C++ 语句出现的地方。
Style A:_asm 程序块
Style B: 单句前add asm 或 _asm
不像在 C/C++ 中的"{ }",__asm 块的"{ }"不会影响 C/C++ 变量的作用范围。同时,__asm 块可以嵌套,而且嵌套也不会影响变量的作用范围。
Refer from: http://wenku.baidu.com/link?url=xVOiX6Bu11usYpFkVJRckcbgQUKBvBS64V6IUzbNbog1CUI4IhzFVs4BoDKOfQcqbG0xavPG_jobiAhurWusfLVlN-glsP3RLFTSAsJ5Ehi
内联汇编代码可以使用 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>
相关文章推荐
- 软件项目如何选型
- 关于html5不支持frameset的解决方法
- 将博客搬至CSDN
- log4net配置后不运行,没有日志输出
- 【连载】Maven系列(四)——配置私服
- loadrunner 相关的一些 连接
- jQuery上传文件
- javascript 小练习-tab切换
- 触发器启用
- Android NDK开发环境配置
- Coefficient of Determination(R Squared)(How to determine goodness of fit)?
- python 例子1
- jquery.uploadify 在firefox会出现httperror
- 进入指定url就可下载xlsx文件
- UVA-10995 Educational Journey
- hadoop学习笔记(HDFS的文件操作)
- NSFileManager文件操作的十个小功能
- 图像处理------简单数字水印 - 文字轧花效果
- 图像处理------简单数字水印 - 文字轧花效果
- 第一个只出现一次的字符