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  
*/
 
發佈了39 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章