在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 內(nèi)聯(lián)匯編的技巧

            內(nèi)聯(lián)匯編的技巧

            作者: 時(shí)間:2010-09-13 來源:網(wǎng)絡(luò) 收藏

              有時(shí)我們的程序需要一些很高的執(zhí)行效率或者執(zhí)行系統(tǒng)底層的功能模塊,這些關(guān)鍵的部分我們可以采用直接插入指令來達(dá)到我們的要求,以下是幾個(gè)與大家共同探討.

            本文引用地址:http://www.biyoush.com/article/151564.htm

              1.嵌入VC語句:

              在VC中匯編非常方便,只需要按照如下格式

              __asm{

              //匯編語句

              }

              請(qǐng)看如下示例代碼

              void CAlcmemDlg::OnButton3()

              {

              DWORD d=(m_size*1024*1024)/sizeof(DWORD);

              DWORD*p=(DWORD*)m_p;

              DWORD s;

              m_pr.SetMin(0);

              m_pr.SetMax((float)d);

              m_pr.SetEnabled(TRUE);

              if(NULL!=m_p){

              __asm{

              mov ecx,d

              mov eax,0

              L:        mov edx,DWORD ptr p

              mov [edx+eax],1  //隨便寫入數(shù)據(jù),此處寫入1

              inc eax

              mov s,eax

              pushad

              }

              m_pr.SetValue((float)s);

              __asm{

              popad

              loop L

              }

              }

              }

              請(qǐng)注意示例代碼中兩個(gè)__asm塊中的pushad 和 popad 語句,pushad保存了寄存器環(huán)境,popad恢復(fù)了寄存器環(huán)境,使得m_pr.SetValue((float)s);語句對(duì)寄存器的影響被抵銷,你還可以調(diào)用其他任何語句。但建議是盡量少打斷內(nèi)聯(lián)匯編塊,以減少運(yùn)行時(shí)來回倒騰寄存器環(huán)境的時(shí)間。筆者的測(cè)試是,當(dāng)刪除m_pr.SetValue((float)s);并且合并兩個(gè)__asm塊,同時(shí)刪除pushad,和popad后,速度明顯提高。可見這種打斷通常是得不償失。

              通常要保存的寄存器環(huán)境還有Flags寄存器等,這些視具體情況而定。

              2.自由使用FPU,MMX等指令


            上一頁 1 2 下一頁

            關(guān)鍵詞: 技巧 匯編 內(nèi)聯(lián)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉