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

隨筆-341  評論-2670  文章-0  trackbacks-0
    這次工作將一個中間語言的程序翻譯成了匯編,然后再翻譯成機器碼。這一次產(chǎn)生的匯編比較爛,到時候做個窺孔優(yōu)化稍微處理一下就好了。等上層的設(shè)施搞定之后再將這個中間語言到匯編的程序重寫。下面是一個菲薄納氣數(shù)列的例子。

    1:中間代碼。這是一個菲薄納氣函數(shù)的中間指令。
 1 FUNCTION 4 fab STDCALL
 2   PARAM 4 number
 3 BEGIN
 4 BLOCK
 5   VAR 4 compare_result
 6 BEGIN
 7   LT int32s compare_result, int32s number, int32s 2
 8   JBF int32s compare_result, @COMBINE
 9   MOV int32s #RETURN_VALUE, int32s 1
10   JE @COMBINE
11   BLOCK @COMBINE
12     VAR 4 a
13     VAR 4 b
14     VAR 4 c
15   BEGIN
16     MOV int32s a, int32s 1
17     MOV int32s b, int32s 1
18     BLOCK @LOOP
19     BEGIN
20       ADD int32s c, int32s a, int32s b
21       MOV int32s a, int32s b
22       MOV int32s b, int32s c
23       SUB int32s number, int32s number, int32s 1
24       LT int32s compare_result, int32s number, int32s 2
25       JET int32s compare_result, @LOOP
26       JB @LOOP
27     END BLOCK
28     MOV int32s #RETURN_VALUE, int32s b
29   END BLOCK
30 END BLOCK
31 END FUNCTION

    2:編譯后的匯編代碼(編譯成機器碼后使用Visual Studio 2008 Team System進行反匯編)
 1 000B0000 FF F5            push        ebp  
 2 000B0002 89 E5            mov         ebp,esp 
 3 000B0004 81 EC 1C 00 00 00 sub         esp,1Ch 
 4 000B000A 60               pushad           
 5 000B000B B8 02 00 00 00   mov         eax,2 
 6 000B0010 89 C2            mov         edx,eax 
 7 000B0012 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
 8 000B0018 31 FF            xor         edi,edi 
 9 000B001A B9 01 00 00 00   mov         ecx,1 
10 000B001F 39 D0            cmp         eax,edx 
11 000B0021 0F 4C F9         cmovl       edi,ecx 
12 000B0024 89 F8            mov         eax,edi 
13 000B0026 89 85 EC FF FF FF mov         dword ptr [ebp+FFFFFFECh],eax 
14 000B002C 8B 85 EC FF FF FF mov         eax,dword ptr [ebp+FFFFFFECh] 
15 000B0032 A9 FF FF FF FF   test        eax,0FFFFFFFFh 
16 000B0037 0F 84 10 00 00 00 je          000B004D 
17 000B003D B8 01 00 00 00   mov         eax,1 
18 000B0042 89 85 FC FF FF FF mov         dword ptr [ebp+FFFFFFFCh],eax 
19 000B0048 E9 9C 00 00 00   jmp         000B00E9 
20 000B004D B8 01 00 00 00   mov         eax,1 
21 000B0052 89 85 F0 FF FF FF mov         dword ptr [ebp+FFFFFFF0h],eax 
22 000B0058 B8 01 00 00 00   mov         eax,1 
23 000B005D 89 85 F4 FF FF FF mov         dword ptr [ebp+FFFFFFF4h],eax 
24 000B0063 8B 85 F4 FF FF FF mov         eax,dword ptr [ebp+FFFFFFF4h] 
25 000B0069 89 C2            mov         edx,eax 
26 000B006B 8B 85 F0 FF FF FF mov         eax,dword ptr [ebp+FFFFFFF0h] 
27 000B0071 01 D0            add         eax,edx 
28 000B0073 89 85 F8 FF FF FF mov         dword ptr [ebp+FFFFFFF8h],eax 
29 000B0079 8B 85 F4 FF FF FF mov         eax,dword ptr [ebp+FFFFFFF4h] 
30 000B007F 89 85 F0 FF FF FF mov         dword ptr [ebp+FFFFFFF0h],eax 
31 000B0085 8B 85 F8 FF FF FF mov         eax,dword ptr [ebp+FFFFFFF8h] 
32 000B008B 89 85 F4 FF FF FF mov         dword ptr [ebp+FFFFFFF4h],eax 
33 000B0091 B8 01 00 00 00   mov         eax,1 
34 000B0096 89 C2            mov         edx,eax 
35 000B0098 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
36 000B009E 29 D0            sub         eax,edx 
37 000B00A0 89 85 08 00 00 00 mov         dword ptr [ebp+00000008h],eax 
38 000B00A6 B8 02 00 00 00   mov         eax,2 
39 000B00AB 89 C2            mov         edx,eax 
40 000B00AD 8B 85 08 00 00 00 mov         eax,dword ptr [ebp+00000008h] 
41 000B00B3 31 FF            xor         edi,edi 
42 000B00B5 B9 01 00 00 00   mov         ecx,1 
43 000B00BA 39 D0            cmp         eax,edx 
44 000B00BC 0F 4C F9         cmovl       edi,ecx 
45 000B00BF 89 F8            mov         eax,edi 
46 000B00C1 89 85 EC FF FF FF mov         dword ptr [ebp+FFFFFFECh],eax 
47 000B00C7 8B 85 EC FF FF FF mov         eax,dword ptr [ebp+FFFFFFECh] 
48 000B00CD A9 FF FF FF FF   test        eax,0FFFFFFFFh 
49 000B00D2 0F 85 05 00 00 00 jne         000B00DD 
50 000B00D8 E9 86 FF FF FF   jmp         000B0063 
51 000B00DD 8B 85 F4 FF FF FF mov         eax,dword ptr [ebp+FFFFFFF4h] 
52 000B00E3 89 85 FC FF FF FF mov         dword ptr [ebp+FFFFFFFCh],eax 
53 000B00E9 8B 85 FC FF FF FF mov         eax,dword ptr [ebp+FFFFFFFCh] 
54 000B00EF 89 EC            mov         esp,ebp 
55 000B00F1 8F C5            pop         ebp  
56 000B00F3 C2 04 00         ret         4 

    附上Visual Studio 2008 Team System的截圖:

    最后是執(zhí)行結(jié)果(將函數(shù)指針拿出來,然后使用不同的參數(shù)進行調(diào)用):

    接下來就是漫長的調(diào)試工作了……
posted on 2009-04-14 00:11 陳梓瀚(vczh) 閱讀(2758) 評論(9)  編輯 收藏 引用 所屬分類: JIT

評論:
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼 2009-04-14 00:33 | Lilo
將函數(shù)指針拿出來,然后使用不同的參數(shù)進行調(diào)用

難怪還看不到call printf...  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼 2009-04-14 02:42 | kevin.c
這個強悍 根本看不懂  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼 2009-04-14 07:44 | 肥仔
狄公真乃神人也!  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼 2009-04-14 17:15 | sapielion
牛,能不能給一套代碼,讓我們學(xué)習(xí)學(xué)習(xí),cqm21@yahoo.com.cn  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼 2009-04-14 19:26 | 陳梓瀚(vczh)
@sapielion
正在測,給你有bug的代碼看是沒意義的。  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼 2009-04-14 19:52 | 巫云
膜拜1分鐘。
能推薦點學(xué)習(xí)匯編的資料嗎?新一點的。  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼 2009-04-14 20:50 | 陳梓瀚(vczh)
@巫云
Intel主頁上有匯編手冊下載。  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼[未登錄] 2009-09-16 05:08 | 小強
"2:編譯后的匯編代碼(編譯成機器碼后使用Visual Studio 2008 Team System進行反匯編)"

不知道樓主使用什么工具將你的轉(zhuǎn)換后的匯編代碼編譯的呢?  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個腳本編譯成機器碼 2009-09-23 20:14 | 陳梓瀚(vczh)
@小強
我自己寫的工具  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产亚洲日本欧美韩国| 亚洲国产你懂的| 国产精品稀缺呦系列在线| 嫩草伊人久久精品少妇av杨幂| 亚洲五月六月| 亚洲精品在线二区| 亚洲精品一区二区网址| 亚洲精品专区| 一本色道久久99精品综合| 日韩亚洲不卡在线| 亚洲视频电影在线| 亚洲一区二区成人在线观看| 亚洲伊人久久综合| 久久久久久亚洲精品杨幂换脸| 久久久久一区二区| 欧美日本韩国一区二区三区| 国产精品女主播| 国自产拍偷拍福利精品免费一| 亚洲国产精品久久久久秋霞不卡| 91久久精品国产| 亚洲美女尤物影院| 一区二区三区精品| 久久久久久久久久久久久9999| 欧美激情精品久久久六区热门| 亚洲欧洲精品一区二区三区波多野1战4| 一区二区高清在线观看| 久久九九久久九九| 欧美午夜www高清视频| 国内精品久久久久久久影视蜜臀 | 一本到12不卡视频在线dvd| 亚洲伦理一区| 欧美成人精品h版在线观看| 欧美日韩国产一级| 国产精品丝袜xxxxxxx| 国产有码在线一区二区视频| 在线视频国产日韩| 夜夜爽99久久国产综合精品女不卡| 亚洲视频在线一区| 久久久久久精| 亚洲日本欧美在线| 午夜久久久久久久久久一区二区| 欧美在线观看www| 欧美大片免费观看| 国产日韩欧美| 亚洲每日更新| 久久精品五月| 亚洲女优在线| 宅男噜噜噜66国产日韩在线观看| 亚洲国产精品悠悠久久琪琪| 亚洲国产精品久久| 亚洲亚洲精品在线观看 | 欧美中文字幕在线观看| 欧美激情国产日韩| 国产亚洲福利一区| 在线中文字幕一区| 免费欧美日韩国产三级电影| 99国内精品久久| 亚洲女女做受ⅹxx高潮| 国产亚洲一级高清| 亚洲激情第一页| 午夜宅男久久久| 国产日韩精品一区| 欧美激情影音先锋| 国产日韩欧美一区二区| 国产精品久久99| 国产麻豆精品theporn| 国产欧美短视频| 在线成人www免费观看视频| 日韩视频永久免费| 美女免费视频一区| 欧美在线观看一区| 国产精品社区| 亚洲一区精品视频| 夜夜嗨av一区二区三区网页| 欧美精品大片| 亚洲精品女人| 亚洲第一在线综合网站| 久久精品视频在线看| 国产伦精品一区二区三区免费迷 | 黄色成人av网| 久久国产夜色精品鲁鲁99| 洋洋av久久久久久久一区| 欧美成熟视频| 亚洲精品三级| 亚洲国产天堂久久综合| 欧美精品九九99久久| 99精品欧美一区二区蜜桃免费| 葵司免费一区二区三区四区五区| 欧美亚洲尤物久久| 国产亚洲人成a一在线v站| 久久九九国产| 久久九九国产精品怡红院| 国产一区二区三区四区老人| 久久久蜜桃一区二区人| 久久免费偷拍视频| 亚洲国产精品视频| 亚洲精品久久久一区二区三区| 欧美激情一区二区三区全黄| 日韩视频免费观看高清完整版| 亚洲免费精彩视频| 国产精品天天摸av网| 久久不见久久见免费视频1| 久久精品国产免费观看| 亚洲精品日韩在线观看| 一本色道久久综合狠狠躁篇的优点 | 亚洲精品黄色| 日韩亚洲欧美在线观看| 欧美午夜精品理论片a级按摩| 午夜激情综合网| 欧美一区二区精品久久911| 亚洲高清视频一区| 在线亚洲观看| 亚洲午夜av| 欧美伦理影院| 欧美一区三区三区高中清蜜桃| 午夜宅男久久久| 亚洲欧洲精品一区二区三区| 亚洲免费电影在线| 国产精品日本精品| 噜噜噜噜噜久久久久久91| 欧美精品一级| 久久视频国产精品免费视频在线| 久久久精品日韩| 中国女人久久久| 久久黄色网页| 中国日韩欧美久久久久久久久| 日韩视频一区二区在线观看| 国产性做久久久久久| 亚洲麻豆国产自偷在线| 欧美揉bbbbb揉bbbbb| 亚洲特级片在线| 性色av一区二区三区在线观看| 国产亚洲精品bt天堂精选| 久久久久久久久久久久久久一区| 久久国产日韩欧美| 亚洲黄色一区| 99视频精品全部免费在线| 国产精品播放| 久久九九精品99国产精品| 免费亚洲婷婷| 亚洲私人影院在线观看| 欧美一区二区三区四区视频| 在线免费观看日本欧美| 亚洲一卡久久| 亚洲国产精品一区二区第四页av| 亚洲精品视频二区| 亚洲国产精品123| 欧美一区二区视频免费观看| 中文久久精品| 欧美伊人久久久久久午夜久久久久 | 欧美va天堂va视频va在线| 国产日韩一区二区三区| 一本一本久久a久久精品综合妖精| 亚洲高清色综合| 久久精品首页| 久久综合色88| 精品粉嫩aⅴ一区二区三区四区| 亚洲影院色无极综合| 99视频一区| 欧美极品欧美精品欧美视频| 免费观看成人www动漫视频| 国产一区二区三区高清播放| 亚洲在线观看| 欧美一级在线播放| 国产精品综合不卡av| 亚洲砖区区免费| 欧美一区二区日韩| 国产伦理精品不卡| 欧美电影在线观看| 亚洲高清色综合| 欧美电影免费观看网站| 亚洲区一区二| 亚洲午夜激情| 免费观看亚洲视频大全| 亚洲国产中文字幕在线观看| 亚洲日韩中文字幕在线播放| 一区二区三欧美| 欧美激情第10页| 亚洲精品视频在线观看网站| 一区二区三区日韩欧美精品| 欧美日韩你懂的| 一区二区高清视频| 欧美一区日韩一区| 在线日韩电影| 欧美极品在线播放| 一区二区高清视频| 久久久久**毛片大全| 在线观看不卡| 欧美日韩中字| 午夜国产精品视频| 老司机免费视频一区二区三区| 亚洲国产视频一区二区| 欧美日韩国产a| 午夜激情一区| 欧美国产一区二区在线观看| 亚洲少妇在线| 一区二区在线观看视频在线观看| 麻豆国产精品777777在线| 一本久道久久综合婷婷鲸鱼| 久久精品女人|