VC++与汇编语言混合编程事例-----冒泡排序:
2007-03-21 19:24
260 查看
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#include <iostream>
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
using namespace std;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#define array_size 10
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int a[array_size]={42, 73, 65, 97, 23, 59, 18, 84, 36, 6};
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
void main()
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int *p;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
p=&a[0];
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
p--;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
__asm
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
mov esi,p;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
mov ecx,array_size;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
_outloop:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
mov edx,ecx;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
_inloop:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
mov eax, [ esi+ecx*4 ]; //一个int占4字节
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
mov ebx, [ esi+edx*4 ];
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
cmp eax, ebx;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
jnb _noxchg; //不交换
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
mov [ esi+ecx*4 ], ebx;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
mov [ esi+edx*4 ], eax;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
_noxchg:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
dec edx;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
jnz _inloop;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
loop _outloop;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
for (int i=0;i<10;i++)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
cout<<a[i]<<" ";
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
/*
http://f2.9612.org//vcpp/webinfo/WebInfoBata1.asp
QQ群:
34409541 讨论网页
34409326 讨论JAVA 已满
34408784 讨论VC++
34409699 讨论VC++
9143041 讨论MFC编程
10614204 讨论C#
10613030 讨论Win32编程
10613067 讨论游戏开发
18779860 讨论JAVA
*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
相关文章推荐
- VC++与汇编语言混合编程事例-----冒泡排序:
- VC++与汇编语言混合编程事例-----两个无符号整数相加:
- VC++与汇编语言混合编程事例-----两个无符号整数相加
- 混合语言编程之VC++和C#管道通信
- 基于ARM的C语言与汇编语言混合编程
- 汇编与C语言混合 实现的从小到大的冒泡排序
- 李现路:DSP6000中C/C++语言和汇编语言的混合编程的方法
- 汇编与C语言混合 实现的从小到大的冒泡排序
- 汇编语言和C语言的混合编程
- C51与汇编语言混合编程之一
- 5种语言混合编程:C++、JS、python、Lisp、汇编
- ARM中ADS环境下C语言和汇编语言混合编程及示例
- keil C语言与汇编语言混合编程
- 5种语言混合编程:C++、JS、python、Lisp、汇编
- keil C语言与汇编语言混合编程
- 麦博士数据库—C语言和汇编语言的混合编程
- 浅谈汇编语言与Visual C++的混合编程
- R语言基础编程技巧汇编 - 20
- 汇编语言:编程,将datasg段中的每个单词改为大写字母
- 汇编语言的硬盘编程