您的位置:首页 > 编程语言 > C语言/C++

VC++与汇编语言混合编程事例-----冒泡排序:

2007-03-21 19:24 260 查看

#include <iostream>


using namespace std;




#define    array_size 10




int a[array_size]={42, 73, 65, 97, 23, 59, 18, 84, 36, 6};




void main()


{


    int *p;


    p=&a[0];


    p--;




    __asm


    {


        mov esi,p;


        mov ecx,array_size;


_outloop:


        mov edx,ecx;


_inloop:


            mov eax, [ esi+ecx*4 ]; //一个int占4字节


        mov ebx, [ esi+edx*4 ];


        cmp eax, ebx;


        jnb _noxchg; //不交换


        mov [ esi+ecx*4 ], ebx;


        mov [ esi+edx*4 ], eax;


_noxchg:


            dec edx;


        jnz _inloop;


        loop _outloop;


    }




        for (int i=0;i<10;i++)


            cout<<a[i]<<" ";


}
/*
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 
*/



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息