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

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

    1:中間代碼。這是一個(gè)菲薄納氣函數(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:編譯后的匯編代碼(編譯成機(jī)器碼后使用Visual Studio 2008 Team System進(jìn)行反匯編)
 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ù)進(jìn)行調(diào)用):

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

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

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

不知道樓主使用什么工具將你的轉(zhuǎn)換后的匯編代碼編譯的呢?  回復(fù)  更多評論
  
# re: JIT腳本引擎:成功將第一個(gè)腳本編譯成機(jī)器碼 2009-09-23 20:14 | 陳梓瀚(vczh)
@小強(qiáng)
我自己寫的工具  回復(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免费观看| 国产精品综合| 亚洲视频一区二区在线观看| 久久亚洲综合色| 狠狠久久亚洲欧美| 欧美在线看片| 亚洲欧美日韩天堂一区二区| 国产精品久久久久久五月尺| 亚洲欧美日韩天堂| 欧美日韩另类视频| 国产精品免费aⅴ片在线观看| 亚洲精品乱码久久久久久黑人| 亚洲国产岛国毛片在线| 欧美亚洲在线播放| 亚洲乱码国产乱码精品精| 国产日韩欧美视频| 久久人人爽人人爽| 欧美国产欧美亚洲国产日韩mv天天看完整 | 免费在线成人av| 欧美一区二区精品| 国语自产精品视频在线看一大j8 | 99国产精品私拍| 欧美色另类天堂2015| 欧美影院午夜播放| 国产欧美一级| 亚洲网址在线| 久久精品99久久香蕉国产色戒| 亚洲福利小视频| 国产在线乱码一区二区三区| 欧美成人激情视频| 久久久久久久久久久成人| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲午夜电影| 亚洲综合另类| 国产精品v日韩精品| 亚洲国产高清高潮精品美女| 久久精品女人的天堂av| 亚洲国产精品久久久久秋霞不卡| 亚洲一区二区在线观看视频| 欧美另类极品videosbest最新版本| 欧美日韩一区二区视频在线 | 欧美国产日韩精品| 欧美日韩黄视频| 红桃视频国产一区| 亚洲精品乱码久久久久| 欧美香蕉视频| 亚洲午夜成aⅴ人片| 9色精品在线| 亚洲电影激情视频网站| 久久综合狠狠综合久久综青草| 久久久精品2019中文字幕神马| 国产情侣一区| 久久亚洲私人国产精品va| 老司机凹凸av亚洲导航| 亚洲精品久久久久久久久久久久久 | 久久国产夜色精品鲁鲁99| 免费91麻豆精品国产自产在线观看| 狠狠色噜噜狠狠色综合久| 欧美激情一区二区三区在线| 亚洲一区国产| 亚洲国产欧洲综合997久久| 亚洲午夜激情免费视频| 在线 亚洲欧美在线综合一区| 欧美色视频一区| 欧美成人资源网| 亚洲精品久久7777| 国产欧美日韩精品专区| 欧美国产日韩一区二区在线观看| 午夜精品美女自拍福到在线| 亚洲国产成人不卡| 欧美成人精品三级在线观看| 午夜精品婷婷| 亚洲欧美国产77777| 日韩一区二区久久| 亚洲国产精品成人| 亚洲风情亚aⅴ在线发布| 激情久久久久久| 国产在线欧美| 狠狠色2019综合网| 在线成人欧美| 激情丁香综合| 亚洲激情一区| 日韩一区二区免费看| 一本色道久久综合一区| 一本色道久久88亚洲综合88| 亚洲三级视频在线观看| 99精品免费| 亚洲色图制服丝袜| 亚洲欧美国产va在线影院| 亚洲欧美日韩国产综合精品二区| 亚洲欧美国产日韩中文字幕| 亚洲影院免费观看| 久久综合网络一区二区| 免费亚洲电影在线| 亚洲免费观看在线观看| 亚久久调教视频| 欧美国产精品人人做人人爱| 欧美午夜免费电影| 影音先锋亚洲电影| 亚洲一级二级在线| 欧美不卡视频一区| 亚洲手机视频| 欧美日韩hd| 91久久精品www人人做人人爽 | 免费人成网站在线观看欧美高清 | 亚洲午夜性刺激影院| 久久久噜久噜久久综合| 欧美视频在线观看一区二区| 在线观看亚洲| 久久女同精品一区二区| 亚洲婷婷免费| 欧美日韩视频在线观看一区二区三区 | 欧美成人精品高清在线播放| 在线视频你懂得一区二区三区| 米奇777在线欧美播放| 国产精品一区在线观看| 性色一区二区| 午夜精品久久久| 国产亚洲福利社区一区| 久久精品一本久久99精品| 亚洲欧美日本在线| 国产日韩一区二区| 久久精选视频| 久久综合伊人| 亚洲午夜激情免费视频| 亚洲午夜激情免费视频| 国产小视频国产精品| 久久久久久9| 欧美国产精品久久| 亚洲欧美一区二区三区久久| 午夜电影亚洲| 国产在线不卡| 欧美一区二区视频网站| 久久大综合网| 夜夜嗨av一区二区三区四区| 亚洲线精品一区二区三区八戒| 国产视频一区在线| 亚洲高清视频在线观看| 国产精品久久中文| 欧美韩国一区| 国产亚洲成av人片在线观看桃| 免费观看一级特黄欧美大片| 欧美日韩中文在线观看| 亚洲人精品午夜在线观看| 美女主播一区| 亚洲美女少妇无套啪啪呻吟| 国产精品美女午夜av| 亚洲精品女人| 亚洲国产天堂久久综合网| 亚洲伦理在线免费看| 制服丝袜激情欧洲亚洲| 欧美激情国产日韩精品一区18| 欧美电影电视剧在线观看| 欧美片在线播放| 亚洲精品久久久久久下一站 | 欧美一区二区在线| 亚洲国产精品电影| 99精品99久久久久久宅男| 国产精品永久免费视频| 午夜精品短视频| 亚洲一区3d动漫同人无遮挡| 亚洲高清资源| 久久精品天堂| 久久久精品国产免大香伊| 国产精品久久久久毛片软件 | 99视频超级精品| 欧美精品久久久久久久久老牛影院| 免费成人黄色片| 999亚洲国产精| 欧美日韩综合视频网址| 日韩亚洲综合在线| 欧美一区二区久久久| 韩国三级电影一区二区| 久久久国产91| 亚洲精品久久| 欧美一区二区播放| 永久免费毛片在线播放不卡| 欧美高清一区二区| 亚洲视频axxx| 亚洲第一福利视频| 香蕉久久精品日日躁夜夜躁| 韩国一区电影| 国产精品进线69影院| 美女精品网站| 亚洲免费在线视频| 亚洲人体偷拍| 美女视频黄a大片欧美| 亚洲综合国产| 亚洲小说欧美另类婷婷| 欧美激情国产日韩| 久久精品一区蜜桃臀影院| 在线综合视频| 亚洲精品综合精品自拍| 国产亚洲欧美日韩在线一区| 欧美日韩国产综合网| 欧美国产日韩免费|