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

#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  
*/
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值