void process(int* q)
{
asm (//std命名空间下,不能使用_asm_
"push %eax\n\r" //寄存器要在前面加上%,多个命令时,命令以\n\r结尾,使得在将汇
//编代码插入目标文件时会换行
"push %ebx\n\r"
"push %ebx\n\r"
"mov $0x10,%eax\n\r" //立即数前加$
"mov $0x15,%ebx\n\r"
"add %ebx,%eax\n\r"
);
asm(
"mov %%eax,%0"
:"=r"((int)*q)
);
asm(
"pop %ecx\n\r"
"pop %ebx\n\r"
"pop %eax\n\r"
);
cout <<*q;
}
扩展:
http://www.ibm.com/developerworks/cn/linux/sdk/assemble/inline/index.html
http://blog.csdn.net/hgd_dingjun/article/details/2809988
http://hi.baidu.com/pangbanme/blog/item/bace5b66fb83ae25ab184cad.html
http://blog.csdn.net/feixiaoxing/article/details/6755132
分享到:
相关推荐
64位Windows不支持内嵌汇编,在VC2008下将32位C++内嵌汇编迁移到64位,解决64位系统不支持内嵌汇编。
C++内嵌汇编x86实现加法,汇编原理实验实现
在C++中内嵌汇编代码分析 用JAVA或者Python的人常常会告诉你,现在的硬件已经太快了,以至于你可以完全不再考虑性能,快速的开发才是最最重要的。这是个速食者的年代,什么都是,甚至是编程。 C/C++程序员常常会发现...
NULL 博文链接:https://chuanwang66.iteye.com/blog/1433218
支持Linux 下 C与C++混合编程的makefile 。
主要介绍了linux系统中c++写日志文件功能,简化了glog,只保留了写日志文件的功能,只是改写了linux版本,需要的朋友可以参考下
工程主要时C++内联汇编的示例,内部简单的用汇编实现了函数传参及调用,循环以及if语句的实现
这是我自己学习汇编vs下优化时写的一个简单示例,仅供初学者参考,在编译工程时遇到问题,请下看一下Readme1.txt。
linux 下的GCC。。。。。。。。。。 用于 LINUX unix 下 的编译器
c++反汇编 c++反汇编的好教程c++反汇编 c++反汇编的好教程c++反汇编 c++反汇编的好教程
c++反汇编中文教程,国外大牛非常经典之作,教你如何用IDA逆向C++。
linux C/C++超有用linux C/C++超有用linux C/C++超有用linux C/C++超有用linux C/C++超有用linux C/C++超有用linux C/C++超有用
这个例子演示了通过mcc将.m函数编译成动态链接库供c++调用的方式实现c++和matlab的交互。具体例子介绍请结合我的博文:blog.csdn.net/arackethis/article/details/43372553
各种学习资料 Android Python Java Java web C语言 C++ 汇编 Android逆向 Arm开发 51单片机 Photoshop 会声会影 Windows Unity cocos2dx 教程 视频 各种学习资料 Android Python Java Java web C语言 C++ 汇编 ...
LINUX_c++线程池框架汇编.pdf
本文浅析了ARM汇编 C语言 C++ 相互调用的方法。
Linux 下使用C++进行Socket编程(源码):c和c++源码
Dev c++ for linux 集成开发环境Dev c++ for linux 集成开发环境Dev c++ for linux 集成开发环境Dev c++ for linux 集成开发环境
vs2010调用汇编dll的方法,内含示例工程文档
C+++汇编+混合编程