新聞中心

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

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

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

  void CAlcmemDlg::OnButton4()

  {

  float f_t=.132;

  float f_s=0;

  __asm{

  fld f_s

  fld f_s

  fld f_s

  fld f_t

  fadd f_t

  fst f_t

  //    fadd fs

  }

  }

  可以利用設(shè)置斷點的方法來觀察FPU寄存器的情況,通常你用VC寫的代碼,不會被編譯為引用特殊指令集的代碼,雖然微軟號稱編譯器支持這些指令。所以你必須用方法來調(diào)用這些指令以優(yōu)化程序,充分利用資源。示例中的代碼調(diào)用了FPU處理器的指令,使操作浮點數(shù)的能力被充分發(fā)揮。但當然你還可以調(diào)用3DNOW!指令,SSE,SSE2等指令,但筆者沒有試過,如果你有什么新的發(fā)現(xiàn),還望賜教,再此先謝了!

  總的來說提高了速度,尤其是游戲編程,更應該努力使用,把CPU充分榨干,但壞處就是有些低端的機器無法運行,兼容性差。同時微軟又號稱,編譯器不會去優(yōu)化你寫的匯編碼,他只是簡單的翻譯為等價的機器碼,優(yōu)化的事情交給你自己來完成,所以你不但得是C++高手,同時還得是匯編高手。


上一頁 1 2 下一頁

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

評論


相關(guān)推薦

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

關(guān)閉