新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 內(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

          }

          }

          可以利用設置斷點的方法來觀察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)閉
        主站蜘蛛池模板: 茶陵县| 柯坪县| 通城县| 芜湖县| 东乡县| 金溪县| 高陵县| 化州市| 天全县| 固阳县| 新建县| 荔浦县| 金乡县| 大英县| 北辰区| 五台县| 克山县| 凉城县| 绩溪县| 东平县| 蒙山县| 海门市| 西乡县| 翁牛特旗| 衡东县| 湖北省| 中超| 五华县| 如皋市| 门源| 莒南县| 三亚市| 南宫市| 曲阜市| 资阳市| 浑源县| 衢州市| 英德市| 田东县| 色达县| 龙州县|