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

隨筆-341  評論-2670  文章-0  trackbacks-0
    雖然CMinus到中間指令的代碼是精心控制的,但是中間指令到x86的代碼卻是很隨意寫出來的。現在看來用窺孔優化只是一種治標不治本的方法。打算在CMinus整個都完成了之后,將中間指令到x86的代碼生成那部分重寫,使用一種廣為人知的寄存器分配算法來做。下面是冒泡排序的程序:

    CMinus代碼:
 1 void BubbleSort(int* Input , int Count)
 2 {
 3   int i=0;
 4   while(i<Count-1)
 5   {
 6     int j=Count-2;
 7     while(j>=i)
 8     {
 9       if(Input[j]>Input[j+1])
10       {
11         int Temp=Input[j];
12         Input[j]=Input[j+1];
13         Input[j+1]=Temp;
14       }
15       j-=1;
16     }
17     i+=1;
18   }
19 }

    下面是生成的x86指令:
  1 0072103A FF F5            push        ebp  
  2 0072103C 89 E5            mov         ebp,esp 
  3 0072103E 81 EC C0 00 00 00 sub         esp,0C0h 
  4 00721044 60               pushad           
  5 00721045 B8 00 00 00 00   mov         eax,0 
  6 0072104A 89 85 58 FF FF FF mov         dword ptr [ebp+FFFFFF58h],eax 
  7 00721050 B8 01 00 00 00   mov         eax,1 
  8 00721055 89 C2            mov         edx,eax 
  9 00721057 8B 85 0C 00 00 00 mov         eax,dword ptr [ebp+0000000Ch] 
 10 0072105D 29 D0            sub         eax,edx 
 11 0072105F 89 85 48 FF FF FF mov         dword ptr [ebp+FFFFFF48h],eax 
 12 00721065 8B 85 48 FF FF FF mov         eax,dword ptr [ebp+FFFFFF48h] 
 13 0072106B 89 C2            mov         edx,eax 
 14 0072106D 8B 85 58 FF FF FF mov         eax,dword ptr [ebp+FFFFFF58h] 
 15 00721073 31 C9            xor         ecx,ecx 
 16 00721075 39 D0            cmp         eax,edx 
 17 00721077 0F 9C F9         setl        cl   
 18 0072107A 89 C8            mov         eax,ecx 
 19 0072107C 88 85 4C FF FF FF mov         byte ptr [ebp+FFFFFF4Ch],al 
 20 00721082 31 C0            xor         eax,eax 
 21 00721084 8A 85 4C FF FF FF mov         al,byte ptr [ebp+FFFFFF4Ch] 
 22 0072108A A9 FF FF FF FF   test        eax,0FFFFFFFFh 
 23 0072108F 0F 84 52 02 00 00 je          007212E7 
 24 00721095 B8 02 00 00 00   mov         eax,2 
 25 0072109A 89 C2            mov         edx,eax 
 26 0072109C 8B 85 0C 00 00 00 mov         eax,dword ptr [ebp+0000000Ch] 
 27 007210A2 29 D0            sub         eax,edx 
 28 007210A4 89 85 5C FF FF FF mov         dword ptr [ebp+FFFFFF5Ch],eax 
 29 007210AA 8B 85 58 FF FF FF mov         eax,dword ptr [ebp+FFFFFF58h] 
 30 007210B0 89 C2            mov         edx,eax 
 31 007210B2 8B 85 5C FF FF FF mov         eax,dword ptr [ebp+FFFFFF5Ch] 
 32 007210B8 31 C9            xor         ecx,ecx 
 33 007210BA 39 D0            cmp         eax,edx 
 34 007210BC 0F 9D F9         setge       cl   
 35 007210BF 89 C8            mov         eax,ecx 
 36 007210C1 88 85 48 FF FF FF mov         byte ptr [ebp+FFFFFF48h],al 
 37 007210C7 31 C0            xor         eax,eax 
 38 007210C9 8A 85 48 FF FF FF mov         al,byte ptr [ebp+FFFFFF48h] 
 39 007210CF A9 FF FF FF FF   test        eax,0FFFFFFFFh 
 40 007210D4 0F 84 E3 01 00 00 je          007212BD 
 41 007210DA B8 04 00 00 00   mov         eax,4 
 42 007210DF 89 C2            mov         edx,eax 
 43 007210E1 8B 85 5C FF FF FF mov         eax,dword ptr [ebp+FFFFFF5Ch] 
 44 007210E7 F7 EA            imul        edx  
 45 007210E9 89 85 4C FF FF FF mov         dword ptr [ebp+FFFFFF4Ch],eax 
 46 007210EF 8B 85 4C FF FF FF mov         eax,dword ptr [ebp+FFFFFF4Ch] 
 47 007210F5 89 C2            mov         edx,eax 
 48 007210F7 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
 49 007210FD 01 D0            add         eax,edx 
 50 007210FF 89 85 48 FF FF FF mov         dword ptr [ebp+FFFFFF48h],eax 
 51 00721105 8B 8D 48 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF48h] 
 52 0072110B 8B 01            mov         eax,dword ptr [ecx] 
 53 0072110D 89 85 50 FF FF FF mov         dword ptr [ebp+FFFFFF50h],eax 
 54 00721113 B8 01 00 00 00   mov         eax,1 
 55 00721118 89 C2            mov         edx,eax 
 56 0072111A 8B 85 5C FF FF FF mov         eax,dword ptr [ebp+FFFFFF5Ch] 
 57 00721120 01 D0            add         eax,edx 
 58 00721122 89 85 48 FF FF FF mov         dword ptr [ebp+FFFFFF48h],eax 
 59 00721128 B8 04 00 00 00   mov         eax,4 
 60 0072112D 89 C2            mov         edx,eax 
 61 0072112F 8B 85 48 FF FF FF mov         eax,dword ptr [ebp+FFFFFF48h] 
 62 00721135 F7 EA            imul        edx  
 63 00721137 89 85 4C FF FF FF mov         dword ptr [ebp+FFFFFF4Ch],eax 
 64 0072113D 8B 85 4C FF FF FF mov         eax,dword ptr [ebp+FFFFFF4Ch] 
 65 00721143 89 C2            mov         edx,eax 
 66 00721145 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
 67 0072114B 01 D0            add         eax,edx 
 68 0072114D 89 85 48 FF FF FF mov         dword ptr [ebp+FFFFFF48h],eax 
 69 00721153 8B 8D 48 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF48h] 
 70 00721159 8B 01            mov         eax,dword ptr [ecx] 
 71 0072115B 89 85 54 FF FF FF mov         dword ptr [ebp+FFFFFF54h],eax 
 72 00721161 8B 85 54 FF FF FF mov         eax,dword ptr [ebp+FFFFFF54h] 
 73 00721167 89 C2            mov         edx,eax 
 74 00721169 8B 85 50 FF FF FF mov         eax,dword ptr [ebp+FFFFFF50h] 
 75 0072116F 31 C9            xor         ecx,ecx 
 76 00721171 39 D0            cmp         eax,edx 
 77 00721173 0F 9F F9         setg        cl   
 78 00721176 89 C8            mov         eax,ecx 
 79 00721178 88 85 48 FF FF FF mov         byte ptr [ebp+FFFFFF48h],al 
 80 0072117E 31 C0            xor         eax,eax 
 81 00721180 8A 85 48 FF FF FF mov         al,byte ptr [ebp+FFFFFF48h] 
 82 00721186 A9 FF FF FF FF   test        eax,0FFFFFFFFh 
 83 0072118B 0F 84 02 01 00 00 je          00721293 
 84 00721191 B8 04 00 00 00   mov         eax,4 
 85 00721196 89 C2            mov         edx,eax 
 86 00721198 8B 85 5C FF FF FF mov         eax,dword ptr [ebp+FFFFFF5Ch] 
 87 0072119E F7 EA            imul        edx  
 88 007211A0 89 85 4C FF FF FF mov         dword ptr [ebp+FFFFFF4Ch],eax 
 89 007211A6 8B 85 4C FF FF FF mov         eax,dword ptr [ebp+FFFFFF4Ch] 
 90 007211AC 89 C2            mov         edx,eax 
 91 007211AE 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
 92 007211B4 01 D0            add         eax,edx 
 93 007211B6 89 85 50 FF FF FF mov         dword ptr [ebp+FFFFFF50h],eax 
 94 007211BC 8B 8D 50 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF50h] 
 95 007211C2 8B 01            mov         eax,dword ptr [ecx] 
 96 007211C4 89 85 60 FF FF FF mov         dword ptr [ebp+FFFFFF60h],eax 
 97 007211CA B8 04 00 00 00   mov         eax,4 
 98 007211CF 89 C2            mov         edx,eax 
 99 007211D1 8B 85 5C FF FF FF mov         eax,dword ptr [ebp+FFFFFF5Ch] 
100 007211D7 F7 EA            imul        edx  
101 007211D9 89 85 48 FF FF FF mov         dword ptr [ebp+FFFFFF48h],eax 
102 007211DF 8B 85 48 FF FF FF mov         eax,dword ptr [ebp+FFFFFF48h] 
103 007211E5 89 C2            mov         edx,eax 
104 007211E7 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
105 007211ED 01 D0            add         eax,edx 
106 007211EF 89 85 54 FF FF FF mov         dword ptr [ebp+FFFFFF54h],eax 
107 007211F5 B8 01 00 00 00   mov         eax,1 
108 007211FA 89 C2            mov         edx,eax 
109 007211FC 8B 85 5C FF FF FF mov         eax,dword ptr [ebp+FFFFFF5Ch] 
110 00721202 01 D0            add         eax,edx 
111 00721204 89 85 50 FF FF FF mov         dword ptr [ebp+FFFFFF50h],eax 
112 0072120A B8 04 00 00 00   mov         eax,4 
113 0072120F 89 C2            mov         edx,eax 
114 00721211 8B 85 50 FF FF FF mov         eax,dword ptr [ebp+FFFFFF50h] 
115 00721217 F7 EA            imul        edx  
116 00721219 89 85 4C FF FF FF mov         dword ptr [ebp+FFFFFF4Ch],eax 
117 0072121F 8B 85 4C FF FF FF mov         eax,dword ptr [ebp+FFFFFF4Ch] 
118 00721225 89 C2            mov         edx,eax 
119 00721227 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
120 0072122D 01 D0            add         eax,edx 
121 0072122F 89 85 48 FF FF FF mov         dword ptr [ebp+FFFFFF48h],eax 
122 00721235 8B 8D 48 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF48h] 
123 0072123B 8B 01            mov         eax,dword ptr [ecx] 
124 0072123D 8B 8D 54 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF54h] 
125 00721243 89 01            mov         dword ptr [ecx],eax 
126 00721245 B8 01 00 00 00   mov         eax,1 
127 0072124A 89 C2            mov         edx,eax 
128 0072124C 8B 85 5C FF FF FF mov         eax,dword ptr [ebp+FFFFFF5Ch] 
129 00721252 01 D0            add         eax,edx 
130 00721254 89 85 48 FF FF FF mov         dword ptr [ebp+FFFFFF48h],eax 
131 0072125A B8 04 00 00 00   mov         eax,4 
132 0072125F 89 C2            mov         edx,eax 
133 00721261 8B 85 48 FF FF FF mov         eax,dword ptr [ebp+FFFFFF48h] 
134 00721267 F7 EA            imul        edx  
135 00721269 89 85 4C FF FF FF mov         dword ptr [ebp+FFFFFF4Ch],eax 
136 0072126F 8B 85 4C FF FF FF mov         eax,dword ptr [ebp+FFFFFF4Ch] 
137 00721275 89 C2            mov         edx,eax 
138 00721277 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
139 0072127D 01 D0            add         eax,edx 
140 0072127F 89 85 50 FF FF FF mov         dword ptr [ebp+FFFFFF50h],eax 
141 00721285 8B 85 60 FF FF FF mov         eax,dword ptr [ebp+FFFFFF60h] 
142 0072128B 8B 8D 50 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF50h] 
143 00721291 89 01            mov         dword ptr [ecx],eax 
144 00721293 8D 85 5C FF FF FF lea         eax,[ebp+FFFFFF5Ch] 
145 00721299 89 85 54 FF FF FF mov         dword ptr [ebp+FFFFFF54h],eax 
146 0072129F B8 01 00 00 00   mov         eax,1 
147 007212A4 89 C2            mov         edx,eax 
148 007212A6 8B 8D 54 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF54h] 
149 007212AC 8B 01            mov         eax,dword ptr [ecx] 
150 007212AE 29 D0            sub         eax,edx 
151 007212B0 8B 8D 54 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF54h] 
152 007212B6 89 01            mov         dword ptr [ecx],eax 
153 007212B8 E9 ED FD FF FF   jmp         007210AA 
154 007212BD 8D 85 58 FF FF FF lea         eax,[ebp+FFFFFF58h] 
155 007212C3 89 85 48 FF FF FF mov         dword ptr [ebp+FFFFFF48h],eax 
156 007212C9 B8 01 00 00 00   mov         eax,1 
157 007212CE 89 C2            mov         edx,eax 
158 007212D0 8B 8D 48 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF48h] 
159 007212D6 8B 01            mov         eax,dword ptr [ecx] 
160 007212D8 01 D0            add         eax,edx 
161 007212DA 8B 8D 48 FF FF FF mov         ecx,dword ptr [ebp+FFFFFF48h] 
162 007212E0 89 01            mov         dword ptr [ecx],eax 
163 007212E2 E9 69 FD FF FF   jmp         00721050 
164 007212E7 61               popad            
165 007212E8 8B 85 FC FF FF FF mov         eax,dword ptr [ebp+FFFFFFFCh] 
166 007212EE 89 EC            mov         esp,ebp 
167 007212F0 8F C5            pop         ebp  
168 007212F2 C2 08 00         ret         8  

    整個看起來都很糟糕啊……
posted on 2009-05-19 16:51 陳梓瀚(vczh) 閱讀(3004) 評論(3)  編輯 收藏 引用 所屬分類: JIT

評論:
# re: JIT腳本引擎:CMinus編譯冒泡排序程序 2009-05-20 06:22 | he
這樣寫沒什么意義吧  回復  更多評論
  
# re: JIT腳本引擎:CMinus編譯冒泡排序程序 2009-05-20 20:45 | 陳梓瀚(vczh)
@he
存在那些想看匯編的人的話,就有意義了。  回復  更多評論
  
# re: JIT腳本引擎:CMinus編譯冒泡排序程序 2009-05-25 01:58 | 井淵
只是希望這些跟智力沒關系  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            午夜精品久久久久99热蜜桃导演| 国产精品第一页第二页第三页| 欧美日韩在线一区二区三区| 在线电影欧美日韩一区二区私密| 亚洲一区二区三区成人在线视频精品| 欧美高清在线一区二区| 欧美一区二区三区在线观看| 国产精品日韩在线| 亚洲综合日韩| 亚洲在线一区二区| 国产精品理论片在线观看| 久久爱www.| 久久精品国产亚洲aⅴ| 一区二区视频免费完整版观看| 久久久久久久欧美精品| 久久精品国产一区二区电影| 亚洲电影免费在线| 91久久久在线| 国产精品porn| 久久精品国产成人| 亚洲综合精品四区| 影音先锋另类| 亚洲精品在线观看免费| 欧美激情一区二区三区在线视频| 一区二区三区视频在线看| 亚洲网站在线看| 国产一区视频在线观看免费| 亚洲第一精品影视| 欧美精品尤物在线| 亚洲精品欧美激情| 欧美午夜一区二区福利视频| 欧美亚洲在线| 欧美激情亚洲一区| 久久亚洲影音av资源网| 欧美视频亚洲视频| 欧美黄色影院| 好看不卡的中文字幕| 国产日韩精品久久久| 欧美日韩成人一区| 亚洲国产精品一区二区第四页av | 亚洲国产欧美一区| 国产日韩欧美| 一区二区三区日韩| 日韩午夜在线视频| 狼人社综合社区| 久久久999精品免费| 欧美午夜一区二区| 免费视频最近日韩| 国产亚洲欧洲997久久综合| 亚洲香蕉伊综合在人在线视看| 亚洲精品国产精品乱码不99| 久久国产手机看片| 久久蜜桃精品| 国产一区亚洲| 欧美在线视频在线播放完整版免费观看| 亚洲视频1区| 欧美精品在线一区二区三区| 亚洲国产精品激情在线观看| 亚洲风情亚aⅴ在线发布| 久久久久88色偷偷免费| 久久久人成影片一区二区三区观看| 国产精品日本欧美一区二区三区| 亚洲图片欧美一区| 欧美亚洲在线播放| 国产视频欧美视频| 欧美在线国产精品| 久久久夜夜夜| 尤物yw午夜国产精品视频| 久久精品久久99精品久久| 久久伊人免费视频| 亚洲国产成人不卡| 欧美激情精品久久久久| 99在线精品视频| 亚洲欧美另类在线观看| 国产精品中文字幕在线观看| 先锋影院在线亚洲| 嫩草成人www欧美| 亚洲全黄一级网站| 欧美午夜精品| 欧美影院成人| 亚洲福利视频一区| 亚洲一二三区在线观看| 国产日韩亚洲欧美精品| 久久亚洲综合| 亚洲精品久久久久久久久久久久久| 这里只有精品视频在线| 国产精品色在线| 久久蜜桃香蕉精品一区二区三区| 欧美激情国产日韩精品一区18| 一本久道久久综合婷婷鲸鱼 | 久久成人在线| 最新亚洲一区| 久久成人羞羞网站| 亚洲人成网站影音先锋播放| 国产精品久久久久免费a∨大胸| 午夜精品电影| 亚洲国产欧美日韩精品| 久久成人在线| 日韩午夜精品视频| 国产欧美日韩在线视频| 欧美国产日韩一区二区| 先锋影音国产精品| 亚洲精品视频免费观看| 狠狠色综合日日| 亚洲视频在线观看视频| 蜜桃伊人久久| 亚洲欧美日韩一区二区| 亚洲国产视频a| 国产九九视频一区二区三区| 欧美va亚洲va国产综合| 欧美一二三视频| 亚洲人成欧美中文字幕| 久久人人爽人人爽爽久久| 亚洲一区在线看| 最新亚洲电影| 狠狠色综合色区| 国产毛片一区二区| 欧美日韩成人| 免费久久99精品国产自| 欧美在线观看视频| 亚洲在线视频一区| 99国产精品| 亚洲国产视频一区二区| 欧美aⅴ一区二区三区视频| 久久成人精品| 欧美一激情一区二区三区| 亚洲图中文字幕| 99精品视频一区| 亚洲人午夜精品| 亚洲国产欧美国产综合一区 | 欧美激情亚洲自拍| 欧美不卡高清| 欧美成人午夜激情在线| 美女久久一区| 久久久噜噜噜久久狠狠50岁| 欧美中文字幕久久| 欧美一区二区大片| 欧美一区免费视频| 久久www成人_看片免费不卡| 久久国产精品久久久久久久久久| 欧美亚洲视频一区二区| 久久av红桃一区二区小说| 亚洲欧美综合国产精品一区| 午夜精品一区二区三区四区| 亚洲欧美中文日韩v在线观看| 亚洲一区二区三区高清不卡| 亚洲视频在线免费观看| 亚洲一区影音先锋| 性欧美video另类hd性玩具| 久久国产精品久久久| 久久免费国产精品1| 你懂的网址国产 欧美| 欧美激情 亚洲a∨综合| 欧美日韩卡一卡二| 国产精品成人一区二区三区夜夜夜| 国产精品成人一区二区| 国产色爱av资源综合区| 亚洲大片av| 一本色道久久88综合亚洲精品ⅰ| 亚洲性色视频| 久久久久网址| 亚洲二区精品| 亚洲图片欧洲图片av| 久久精品青青大伊人av| 欧美精品在线极品| 国产精品一卡二| 亚洲高清不卡在线| 亚洲线精品一区二区三区八戒| 香蕉久久夜色精品| 欧美黄色视屏| 亚洲欧美日韩精品久久久| 噜噜噜在线观看免费视频日韩| 欧美日韩国产美| 国产一区二区丝袜高跟鞋图片| 亚洲经典三级| 欧美一区二区在线观看| 亚洲电影自拍| 欧美一级久久久久久久大片| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久久久亚洲综合| 亚洲人成网在线播放| 亚洲午夜精品视频| 猫咪成人在线观看| 国产精品一区二区三区成人| 91久久久一线二线三线品牌| 欧美一区二区三区免费观看 | 欧美在线观看视频在线| 亚洲高清在线播放| 午夜欧美视频| 欧美日韩在线视频一区| 尤物yw午夜国产精品视频| 香蕉久久一区二区不卡无毒影院| 欧美福利视频在线观看| 欧美一区二区啪啪| 欧美色图一区二区三区| 亚洲国产一区二区三区高清| 久久久久国产精品一区二区| 一区二区三区视频观看| 免费精品视频| 亚洲高清中文字幕|