亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ciosort.asm

?? 用匯編的類編程實(shí)現(xiàn)快速排序的例子
?? ASM
字號(hào):
ifndef _QUEUE_
    ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    ;EQU 設(shè)置
    ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    _QUEUE_           EQU   1
    MAX_POINTER       EQU   1024
    SIGN_GREATEST     EQU   1
    SIGN_EQUAL        EQU   2
    SIGN_LESS         EQU   3
   
    ; --=====================================================================================--
    CLS_QUEUE_Init        PROTO :DWORD,:DWORD
    QUEUE_Destructor      PROTO :DWORD 
    QUEUE_QueryClient     PROTO :DWORD,:DWORD,:DWORD
    QUEUE_InsertClient    PROTO :DWORD,:DWORD,:DWORD
    QUEUE_DeleteClient    PROTO :DWORD,:DWORD
    QUEUE_BackMove        PROTO :DWORD,:DWORD
    QUEUE_PriorMove       PROTO :DWORD,:DWORD
    QUEUE_GetClient       PROTO :DWORD,:DWORD 
    QUEUE_OutputFile      PROTO :DWORD,:DWORD

    CLS_QUEUE_InitPto     TYPEDEF PROTO :DWORD,:DWORD
    QUEUE_DestructorPto   TYPEDEF PROTO :DWORD 
    QUEUE_QueryClientPto  TYPEDEF PROTO :DWORD,:DWORD,:DWORD
    QUEUE_InsertClientPto TYPEDEF PROTO :DWORD,:DWORD,:DWORD
    QUEUE_DeleteClientPto TYPEDEF PROTO :DWORD,:DWORD
    QUEUE_GetClientPto    TYPEDEF PROTO :DWORD,:DWORD 
    QUEUE_OutputFilePto   TYPEDEF PROTO :DWORD,:DWORD

    ; --=====================================================================================--
    CLASS CLS_QUEUE,QUEUE
       ;類方法定義
       CMETHOD Destructor               ;類清理程序
       CMETHOD QueryClient              ;查找客戶端信息
       CMETHOD InsertClient             ;增加客戶端信息
       CMETHOD DeleteClient             ;刪除客戶端信息
       CMETHOD OutputFile               ;將結(jié)果輸出到文件
       ;類成員變量定義
       m_Count          dd      ?       ;數(shù)組內(nèi)記錄數(shù)
       m_lpQueue        dd      ?       ;指針數(shù)組
    CLS_QUEUE ENDS
    
    .data
    
       ;類初始化
       BEGIN_INIT 
          ;函數(shù)指針初始化(指定調(diào)用那個(gè)函數(shù))
          dd offset QUEUE_Destructor  
          dd offset QUEUE_QueryClient
          dd offset QUEUE_InsertClient
          dd offset QUEUE_DeleteClient
          dd offset QUEUE_OutputFile
          ;成員變量初始化
          dd 0,0
       END_INIT 
             
    .code    
    
    CLS_QUEUE_Init PROC uses edi esi lpTHIS:DWORD,_lpResult:DWORD
       ;說明當(dāng)前類名為【CLS_QUEUE】
       SET_CLASS CLS_QUEUE
       ;指定EDI為類指針
       SetObject edi,CLS_QUEUE
       
       mov    esi,_lpResult
       mov    dword ptr [esi],TRUE
       ;申請(qǐng)錯(cuò)誤信息字符串內(nèi)存
       invoke LocalAlloc,LPTR,MAX_POINTER*sizeof dword
       .if eax==NULL
          mov    dword ptr [esi],FALSE
          jmp    @F
       .endif
       mov    [edi].m_lpQueue,eax
    @@:
       ;取消EDI類指針指定
       ReleaseObject edi
       ret
    CLS_QUEUE_Init ENDP
    
    QUEUE_Destructor PROC uses edi esi ebx lpTHIS:DWORD 
    
       SetObject edi,CLS_QUEUE
       .if [edi].m_lpQueue!=0
          mov    esi,[edi].m_lpQueue
          xor    ebx,ebx
          .while ebx<[edi].m_Count
             mov    eax,[esi]
             .if eax!=0
                 invoke LocalFree,eax
             .endif
             add    esi,sizeof dword
             inc    ebx
          .endw
          invoke LocalFree,[edi].m_lpQueue
       .endif
       ReleaseObject edi
       ret
    QUEUE_Destructor ENDP
    
    QUEUE_QueryClient PROC uses edi esi ebx edx lpTHIS:DWORD,_lpUserGh:DWORD,_lpResult:DWORD
       LOCAL @lpContext     :DWORD
       LOCAL @lpUserGh      :DWORD
       LOCAL @hClient       :DWORD
       LOCAL @dwIndexFirst  :DWORD
       LOCAL @dwIndexCurrent:DWORD
       LOCAL @dwIndexLast   :DWORD
    
       SetObject edi,CLS_QUEUE
       
       mov    @dwIndexFirst  ,0                       ;初始化位置指針
       mov    @dwIndexCurrent,0                       
       m2m    @dwIndexLast   ,[edi].m_Count
       dec    @dwIndexLast
       mov    esi,[edi].m_lpQueue                     ;查找首指針
    @@:
       .if esi==NULL                                  ;〖空〗說明后面沒值
          mov    esi,_lpResult
          mov    dword ptr [esi],SIGN_GREATEST
          jmp    @F
       .endif
       
       mov    eax,[esi]                               ;指針指向串地址
       m2m    @hClient ,dword ptr [eax]
       add    eax,sizeof dword
       mov    @lpUserGh,eax
       
       ;invoke lstrcmpi,_lpUserGh,CTEXT("123458")
       ;.if eax==0
       ;   invoke _ShowConnect,CTEXT("First=%d Last=%d"),@dwIndexFirst,@dwIndexLast
       ;   invoke _ShowConnect,CTEXT("Current=%d %c"),@dwIndexCurrent,10
       ;.endif
       invoke lstrcmpi,_lpUserGh,@lpUserGh
       .if eax==-1                                    ;參數(shù)工號(hào)小于對(duì)應(yīng)的工號(hào),需要向前查找
          mov    eax,@dwIndexCurrent
          .if eax==@dwIndexFirst ;指針越界表示未查找出結(jié)果〖〗
             mov    esi,_lpResult
             mov    dword ptr [esi],SIGN_LESS
             jmp    @F
          .else
             ;dec    @dwIndexCurrent                   ;向前移動(dòng)指針
             m2m    @dwIndexLast,@dwIndexCurrent
             dec    @dwIndexLast
          .endif
         
          mov    eax,@dwIndexCurrent                  ;查找中間值 Current-(Current-First)/2*(Sizeof Dword)
          sub    eax,@dwIndexFirst
          xor    edx,edx
          mov    ebx,2
          div    ebx
          .if edx!=0
             inc    eax
          .endif
          sub    @dwIndexCurrent,eax

          mov    ebx,sizeof dword
          mul    ebx
          sub    esi,eax
          jmp    @B
       .elseif eax>0                                  ;參數(shù)工號(hào)大于對(duì)應(yīng)的工號(hào),需要向后查找
          mov    eax,@dwIndexCurrent
          .if @dwIndexLast==eax                       ;指針越界表示未查找出結(jié)果〖〗
             mov    esi,_lpResult
             mov    dword ptr [esi],SIGN_GREATEST
             jmp    @F
          .else
             ;inc    @dwIndexCurrent                   ;向后移動(dòng)指針
             m2m    @dwIndexFirst,@dwIndexCurrent
             inc    @dwIndexFirst
          .endif
          mov    eax,@dwIndexLast                     ;查找中間值 Current+(Last-Current)/2*(Sizeof Dword)
          sub    eax,@dwIndexCurrent
          xor    edx,edx
          mov    ebx,2
          div    ebx
          .if edx!=0
             inc    eax
          .endif
          add    @dwIndexCurrent,eax

          mov    ebx,sizeof dword
          mul    ebx
          add    esi,eax
          jmp    @B
       .else                                   ;參數(shù)工號(hào)等于對(duì)應(yīng)的工號(hào)
          mov    esi,_lpResult
          mov    dword ptr [esi],SIGN_EQUAL
          jmp    @F
       .endif
     @@:
       ReleaseObject edi
       mov    eax,@dwIndexCurrent
       ret
    QUEUE_QueryClient ENDP

    QUEUE_InsertClient PROC uses edi esi ebx lpTHIS:DWORD,_lpUserGh:DWORD,_hClient:DWORD
       LOCAL @dwResult :DWORD
       LOCAL @dwIndex  :DWORD
       LOCAL @dwLength :DWORD
       
       SetObject edi,CLS_QUEUE
       .if [edi].m_Count!=0
          invoke QUEUE_QueryClient,lpTHIS,_lpUserGh,addr @dwResult
          mov    @dwIndex,eax
          .if @dwResult==SIGN_GREATEST || @dwResult==SIGN_EQUAL ;大于等于均放到最后
             ;invoke _ShowConnect,CTEXT("UserGh=%s 的位置在%d后"),_lpUserGh,@dwIndex
             
             inc    @dwIndex
             invoke QUEUE_BackMove,lpTHIS,@dwIndex
          .else
             ;invoke _ShowConnect,CTEXT("UserGh=%s 的位置在%d前"),_lpUserGh,@dwIndex
             
             invoke QUEUE_BackMove,lpTHIS,@dwIndex
          .endif
       .else
          mov    @dwIndex,0
          ;invoke _ShowConnect,CTEXT("UserGh=%s 的位置首位置"),_lpUserGh,10
       .endif

       mov    esi,[edi].m_lpQueue                         ;移動(dòng)存放位置指針
       mov    eax,@dwIndex
       mov    ebx,sizeof dword
       mul    ebx
       add    esi,eax
       
       invoke lstrlen,_lpUserGh                           ;計(jì)算申請(qǐng)內(nèi)存大小
       add    eax,sizeof dword
       inc    eax
       mov    @dwLength,eax
       invoke LocalAlloc,LPTR,@dwLength
       .if eax!=NULL
          mov    [esi],eax                                ;寫入申請(qǐng)地址
          mov    esi,eax

          m2m    dword ptr [esi],_hClient
          add    esi,sizeof dword

          invoke lstrcpy,esi,_lpUserGh
          inc    [edi].m_Count
       .else
          invoke _ShowConnect,CTEXT("申請(qǐng)〖%d〗大小的內(nèi)存%s"),@dwLength,CTEXT("失敗")
       .endif

       ReleaseObject edi
       ret
    QUEUE_InsertClient ENDP
    
    QUEUE_DeleteClient PROC uses edi esi ebx lpTHIS:DWORD,_hClient:DWORD
       
       SetObject edi,CLS_QUEUE
       mov    esi,[edi].m_lpQueue        ;設(shè)置開始移動(dòng)指針
       xor    ebx,ebx
       .while ebx<[edi].m_Count
          mov    eax,[esi]
          mov    eax,[eax]
          .if _hClient==eax
              mov    eax,[esi]
              invoke LocalFree,eax
              invoke QUEUE_PriorMove,lpTHIS,ebx
              dec    [edi].m_Count
              .break
          .endif
          add    esi,sizeof dword
          inc    ebx
       .endw

       ReleaseObject edi
       ret
    QUEUE_DeleteClient ENDP

    QUEUE_BackMove PROC uses edi esi ebx edx lpTHIS:DWORD,_dwIndex:DWORD
       
       SetObject edi,CLS_QUEUE
       .if [edi].m_Count<MAX_POINTER
          mov    esi,[edi].m_lpQueue        ;設(shè)置開始移動(dòng)指針
          mov    eax,[edi].m_Count
          dec    eax
          mov    ebx,sizeof dword
          mul    ebx
          add    esi,eax
          mov    ebx,[edi].m_Count
          .while ebx>_dwIndex
             mov    eax,[esi]
             mov    [esi+sizeof dword],eax
             sub    esi,sizeof dword
             dec    ebx
          .endw
       .endif

       ReleaseObject edi
       ret
    QUEUE_BackMove ENDP

    QUEUE_PriorMove PROC uses edi esi ebx edx lpTHIS:DWORD,_dwIndex:DWORD
       
       SetObject edi,CLS_QUEUE
       mov    esi,[edi].m_lpQueue        ;設(shè)置開始移動(dòng)指針

       mov    eax,_dwIndex
       mov    ebx,sizeof dword
       mul    ebx
       add    esi,eax
       mov    ebx,_dwIndex
       .while ebx<[edi].m_Count
          mov    eax,[esi+sizeof dword]
          mov    [esi],eax
          add    esi,sizeof dword
          inc    ebx
       .endw

       ReleaseObject edi
       ret
    QUEUE_PriorMove ENDP

    QUEUE_GetClient PROC uses edi esi ebx lpTHIS:DWORD,_dwIndex:DWORD 
       LOCAL @dwResult:DWORD
    
       SetObject edi,CLS_QUEUE
       mov    @dwResult,0
       mov    esi,[edi].m_lpQueue        ;設(shè)置開始移動(dòng)指針

       mov    eax,_dwIndex
       mov    ebx,sizeof dword
       mul    ebx
       add    esi,eax
       mov    eax,[esi]
       mov    @dwResult,eax

       ReleaseObject edi
       mov    eax,@dwResult
       ret
    QUEUE_GetClient ENDP

    QUEUE_OutputFile PROC uses edi esi ebx lpTHIS:DWORD,_lpWriteFile:DWORD
       LOCAL @hFile:DWORD
       LOCAL @dwLen:DWORD
       LOCAL @szBuffer[1024]:BYTE
       LOCAL @hAccept:DWORD
       LOCAL @lpUserGh:DWORD
       
       SetObject edi,CLS_QUEUE
       invoke CreateFile,_lpWriteFile,GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
       .if eax!=INVALID_HANDLE_VALUE
          mov    @hFile,eax
          invoke RtlZeroMemory,addr @szBuffer,sizeof @szBuffer
          mov    esi,[edi].m_lpQueue        ;設(shè)置開始移動(dòng)指針
          xor    ebx,ebx
          .while ebx<[edi].m_Count
             mov    eax,[esi]
             m2m    @hAccept,[eax]
             add    eax,sizeof dword
             m2m    @lpUserGh,eax
             invoke wsprintf,addr @szBuffer,CTEXT("hAccept=%d UserGh=%s%c%c"),@hAccept,@lpUserGh,13,10
             invoke lstrlen,addr @szBuffer
             mov    @dwLen,eax
             invoke WriteFile,@hFile,addr @szBuffer,@dwLen,addr @dwLen,NULL
             add    esi,sizeof dword
             inc    ebx
          .endw
          invoke CloseHandle,@hFile
       .endif
         
       ReleaseObject edi
       ret
    QUEUE_OutputFile ENDP
endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机精品视频导航| 捆绑变态av一区二区三区| 欧美高清视频www夜色资源网| 国产中文字幕一区| 亚洲国产视频一区二区| 久久精品一区二区三区四区| 欧美福利一区二区| 91在线免费看| 国产乱理伦片在线观看夜一区| 亚洲成人动漫在线免费观看| 国产欧美日韩在线视频| 日韩一级大片在线观看| 91丨国产丨九色丨pron| 国产精品99久久久久久似苏梦涵| 五月婷婷综合网| 亚洲欧美日韩国产另类专区| 国产亚洲综合在线| 日韩欧美123| 欧美另类高清zo欧美| 色噜噜久久综合| 成av人片一区二区| 国产麻豆欧美日韩一区| 日本不卡一区二区三区高清视频| 亚洲精品国久久99热| 亚洲欧美一区二区在线观看| 久久综合国产精品| 精品日韩99亚洲| 欧美一级日韩一级| 欧美日韩国产综合视频在线观看| 日本乱码高清不卡字幕| 色婷婷综合五月| 色综合咪咪久久| 一本色道综合亚洲| 91在线你懂得| 91蜜桃免费观看视频| 色综合色狠狠天天综合色| 99re热视频这里只精品| 97久久超碰国产精品| www.欧美日韩国产在线| 99精品久久99久久久久| a亚洲天堂av| 97se亚洲国产综合自在线不卡 | 美国毛片一区二区| 日本sm残虐另类| 久久精品国产亚洲a| 久久精品国产澳门| 国产综合成人久久大片91| 国产精品一二三区| 不卡一区中文字幕| 色综合久久综合网97色综合| 欧美在线播放高清精品| 欧美体内she精高潮| 欧美精品1区2区3区| 欧美va亚洲va| 亚洲国产精品成人久久综合一区| 国产精品色在线观看| 亚洲视频一区二区在线| 亚洲国产色一区| 男男视频亚洲欧美| 国产精品中文字幕日韩精品| 丁香网亚洲国际| 色悠悠久久综合| 91超碰这里只有精品国产| 欧美成人vps| 亚洲国产成人自拍| 亚洲黄色小说网站| 日韩高清不卡在线| 国产一区二区精品在线观看| 99视频在线精品| 欧美系列在线观看| 精品日韩av一区二区| 国产精品三级在线观看| 亚洲精品国产一区二区精华液| 日韩在线观看一区二区| 国产精品自拍网站| 色欧美日韩亚洲| 欧美一级片在线| 中文字幕欧美日本乱码一线二线 | 亚洲一区二区精品3399| 蜜臀va亚洲va欧美va天堂| 成人黄色国产精品网站大全在线免费观看| 91免费看视频| 欧美videofree性高清杂交| 椎名由奈av一区二区三区| 日韩av高清在线观看| 成人免费视频播放| 在线不卡免费欧美| 国产精品视频看| 日日夜夜一区二区| av电影在线观看一区| 日韩欧美一二三区| 亚洲免费在线观看| 韩国女主播一区| 欧美在线视频你懂得| 国产日本欧洲亚洲| 五月激情综合网| eeuss鲁片一区二区三区在线观看| 在线不卡a资源高清| 亚洲日本va在线观看| 国产麻豆欧美日韩一区| 欧美高清性hdvideosex| 自拍偷拍欧美精品| 国产精品中文欧美| 日韩一区二区三区视频在线观看| 亚洲欧美日本韩国| 高清视频一区二区| 日韩免费高清视频| 亚洲va欧美va人人爽| 99精品一区二区三区| 久久久久国产免费免费| 日本色综合中文字幕| 色婷婷精品大在线视频| 中文字幕av一区 二区| 精品亚洲成a人| 欧美一区二区三区在| 亚洲国产精品天堂| 色丁香久综合在线久综合在线观看| 久久精品夜色噜噜亚洲a∨| 免费成人在线观看视频| 欧美日韩精品系列| 夜夜精品浪潮av一区二区三区| 成人午夜av在线| 国产亚洲精品久| 韩国欧美国产一区| 欧美成人一区二区三区| 日本va欧美va精品发布| 欧美日韩午夜精品| 亚洲自拍另类综合| 欧洲一区二区三区在线| 亚洲免费av网站| 一本久久a久久免费精品不卡| 中文字幕一区在线观看视频| 福利电影一区二区三区| 国产女人18水真多18精品一级做| 极品瑜伽女神91| 精品成人一区二区| 国产一区二区在线看| xf在线a精品一区二区视频网站| 免费精品视频最新在线| 91麻豆精品国产| 免费人成精品欧美精品| 日韩三级在线观看| 韩国欧美国产1区| 久久精品一区八戒影视| 懂色av中文一区二区三区| 国产精品色哟哟网站| 99re热这里只有精品视频| 亚洲女同ⅹxx女同tv| 在线观看视频欧美| 视频在线观看一区二区三区| 欧美一区二区三区系列电影| 极品瑜伽女神91| 国产精品乱人伦中文| 色综合久久六月婷婷中文字幕| 亚洲国产精品一区二区www| 91麻豆精品国产无毒不卡在线观看 | 欧美va亚洲va香蕉在线| 国产精品影视在线观看| 国产精品国产三级国产a| 91免费版在线看| 日韩国产欧美在线视频| 精品国产人成亚洲区| 成人黄色小视频| 亚洲一区av在线| 日韩欧美亚洲一区二区| 岛国av在线一区| 亚洲第一综合色| 欧美精品一区二区在线观看| 不卡视频在线观看| 亚洲一区在线观看免费| 精品捆绑美女sm三区| 99久久精品国产导航| 婷婷开心激情综合| 国产亚洲精品久| 欧美日韩一区二区在线视频| 精品一区免费av| 一区二区三区在线视频免费| 日韩美一区二区三区| www.在线成人| 日本色综合中文字幕| 国产精品久久久久久久岛一牛影视| 欧美日韩国产在线观看| 国产高清精品久久久久| 亚洲成年人网站在线观看| 久久久久国产精品人| 欧美人与性动xxxx| 成人av免费在线播放| 日韩中文字幕区一区有砖一区| 中文字幕高清不卡| 6080国产精品一区二区| 99久久精品免费看| 国模冰冰炮一区二区| 色噜噜夜夜夜综合网| 精品一区二区三区蜜桃| 亚洲福利一二三区| 国产精品久久看| wwwwww.欧美系列| 欧美日本视频在线| 99久久99久久久精品齐齐| 久久99精品久久久|