青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

huyutian

他強由他強,清風拂山崗;他橫由他橫,明月照大江。他自狠來他自惡,我自一口真氣足

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  20 隨筆 :: 47 文章 :: 22 評論 :: 0 Trackbacks
今天調試一個程序時遇到了一段奇怪的匯編代碼
        mov     eax, 68DB8BADh
        push    edi
        movsx   ecx, word ptr [esi+0Eh]
        imul    ecx
        sar     edx, 0Ch
        mov     eax, edx
        shr     eax, 1Fh
        add     edx, eax
看了半天也沒看明白,主要是這個68DB8BADh出現的很突兀,與前后代碼在邏輯上都不相關聯。到網上搜了下,還居然找到了答案。原來這是一段編譯器將除法優化為乘法運算的典型代碼。眾所周知,除法是最耗CPU的,能夠轉化為等效的乘法就要快得多了。但不是每次除法都能這么優化的。對于一些特定數作為被除數時,這種優化還是很有效的。
http://www.thesolver.it/Manuali/Factotum/source/076.htm這里列出了一些典型數的除法轉換表。

這個表是32位運算下除法轉換為乘法的一些案例。比如68DB8BADh這個魔術數就是用來轉換除以625的。要計算x/625 = (x * 68DB8BADh) >>8.所以上面的代碼其實就是計算[esi +0Eh] / 10000.
下面這個表是64位運算時除法轉換為乘法的一些魔術數,摘錄在此,以防備忘

如果想搞清楚相關的運算原理可以看該網站的Chapter 10. Integer Division by Constants ,網址是http://www.thesolver.it/Manuali/Factotum/source/062.htm
大家也可以自己編一段小程序驗證一下。
 1 #include <stdio.h>
 2 
 3 int main(int argc, char* argv[])
 4 {
 5     int a = getchar();
 6     int b = a / 10000;
 7     printf("a=%d\nb=a/10000=%d\n", a, b);
 8     return 0;
 9 }
10 
在VC2008下設置項目編譯屬性Assembler Output,選擇輸出匯編代碼,看看編譯出來的代碼與上面的完全一致。
posted on 2010-08-25 22:26 胡雨田 閱讀(3182) 評論(0)  編輯 收藏 引用 所屬分類: 編程技巧
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲福利久久| 亚洲精品国产品国语在线app | 欧美在线|欧美| 国产日韩精品视频一区二区三区 | 精品99一区二区| 久久综合亚州| 毛片一区二区三区| 亚洲三级免费观看| 中国女人久久久| 国产精品欧美精品| 久久国产精品久久久久久电车| 亚洲女人av| 在线观看日韩av电影| 免费一区二区三区| 欧美日韩精品一区二区在线播放| 亚洲男女毛片无遮挡| 欧美亚洲免费电影| 亚洲人成毛片在线播放| 亚洲精品美女免费| 国产精品毛片| 欧美成人高清视频| 欧美午夜电影在线| 久久在线观看视频| 欧美日韩在线播放| 麻豆成人综合网| 欧美电影资源| 久久国产精品第一页| 免费一区视频| 欧美一级理论性理论a| 免费视频一区二区三区在线观看| 亚洲午夜av在线| 久久亚洲精品一区| 香蕉久久一区二区不卡无毒影院 | 亚洲天堂成人在线观看| 在线电影国产精品| 亚洲午夜国产一区99re久久 | 欧美日韩国产片| 老司机午夜精品视频| 欧美亚洲动漫精品| 亚洲福利视频网| 国产偷国产偷亚洲高清97cao| 亚洲第一中文字幕| 韩国av一区二区三区在线观看| 亚洲精品免费观看| 在线视频观看日韩| 亚洲欧美日韩国产综合| 一区二区三区精密机械公司| 久久久久久午夜| 欧美一区二区在线免费观看| 欧美精品在线极品| 欧美成人精品1314www| 国产美女在线精品免费观看| 日韩午夜av| 99天天综合性| 免费亚洲电影在线| 蜜臀久久久99精品久久久久久| 国产精品影院在线观看| 亚洲最黄网站| 99国产成+人+综合+亚洲欧美| 久久精品视频免费观看| 久久久无码精品亚洲日韩按摩| 欧美日韩在线精品| 日韩写真在线| 亚洲先锋成人| 欧美日韩一区国产| 一区二区三区你懂的| 亚洲婷婷在线| 欧美午夜a级限制福利片| 亚洲免费电影在线观看| aa亚洲婷婷| 欧美系列一区| 亚洲一区二区三区乱码aⅴ| 亚洲一区影院| 国产精品视屏| 久久成人久久爱| 卡一卡二国产精品| 最新高清无码专区| 欧美日韩成人| 国产欧美日韩亚洲精品| 欧美在线视频一区二区三区| 久久久在线视频| 亚洲国产精品一区二区第一页| 免费在线观看成人av| 亚洲韩国青草视频| 亚洲素人在线| 国产亚洲精品高潮| 久久中文精品| 亚洲最新在线| 久久久成人精品| 亚洲激情二区| 国产精品日韩高清| 久久久精品欧美丰满| 亚洲国产91精品在线观看| 一本色道久久99精品综合| 国产精品久久久久9999| 欧美在线视频观看免费网站| 欧美激情视频一区二区三区免费| 99精品福利视频| 国产日韩久久| 欧美黑人国产人伦爽爽爽| 在线视频欧美一区| 老司机午夜精品| 亚洲一区二区三区视频| 韩国欧美国产1区| 欧美日韩国产麻豆| 久久精品123| 一区二区三区精密机械公司 | 老司机免费视频一区二区三区| 亚洲人精品午夜在线观看| 国产精品福利片| 久久婷婷国产综合精品青草| 9色国产精品| 免费中文字幕日韩欧美| 亚洲欧美日韩精品| 亚洲国产日韩精品| 国产三级欧美三级| 欧美日韩精品一区视频 | 中日韩午夜理伦电影免费| 久久久久久久久久久久久9999| 一区二区三区www| 亚洲电影免费观看高清| 国产欧美精品一区二区色综合| 欧美mv日韩mv国产网站app| 亚久久调教视频| 宅男在线国产精品| 亚洲激情电影在线| 久久综合伊人77777麻豆| 亚洲男人第一网站| 夜夜嗨av色一区二区不卡| 樱花yy私人影院亚洲| 国产乱肥老妇国产一区二| 欧美视频精品一区| 欧美日韩国产小视频在线观看| 久久永久免费| 久久久av水蜜桃| 性欧美xxxx大乳国产app| 亚洲天堂激情| 中文国产一区| 一本色道久久综合亚洲精品高清 | 性色av一区二区三区红粉影视| 亚洲欧洲日韩女同| 91久久黄色| 亚洲精品一区二区三区福利| 亚洲国产精品一区二区三区| 亚洲第一福利视频| 亚洲第一偷拍| 亚洲日韩成人| 9l国产精品久久久久麻豆| 日韩一区二区免费高清| 亚洲精选视频在线| 亚洲深夜av| 欧美亚洲一区| 久久久99免费视频| 久久亚洲精品一区| 欧美国产欧美亚州国产日韩mv天天看完整| 久久亚洲一区| 亚洲福利视频在线| 亚洲精品美女在线观看| 一区二区久久久久| 午夜精品久久久久久久 | 亚洲二区视频在线| 亚洲人午夜精品| 亚洲毛片一区| 亚洲一区二区三区激情| 亚洲伊人一本大道中文字幕| 亚洲麻豆视频| 欧美在线播放高清精品| 欧美中文在线观看国产| 欧美自拍偷拍午夜视频| 亚洲电影免费观看高清完整版在线| 欧美激情精品久久久六区热门| 欧美大尺度在线| 亚洲国产高清aⅴ视频| 亚洲第一福利社区| 亚洲国产成人久久综合| 亚洲经典一区| 中文久久精品| 久久伊人一区二区| 欧美国产日韩精品| 欧美视频精品在线| 国产精品久久久久久久久久久久久久| 欧美视频在线免费| 国产亚洲成av人在线观看导航| 一区在线播放| 亚洲欧美精品在线| 久久久久九九视频| 亚洲人成人99网站| 欧美影院成年免费版| 久久尤物视频| 国产精品国产自产拍高清av| 国产精品日韩欧美| 亚洲国产午夜| 午夜精品一区二区三区四区| 久久精品中文字幕一区| 亚洲美女性视频| 欧美中文字幕久久| 欧美日韩成人激情| 国产视频亚洲精品| 亚洲美女91| 久久久精品动漫|