日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

windows系统-汇编语言与机器码的关系

發布時間:2023/12/18 windows 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows系统-汇编语言与机器码的关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接下來就讓我們進入到本章的前半部分。在前面章節中已經多次提到,計算機CPU能直接解釋運行的只有本地代碼(機器語言)程序。用C語言等編寫的源代碼,需要通過各自的編譯器編譯后,轉換成本地代碼。

通過調查本地代碼的內容,可以了解程序最終是以何種形式來運行的。但是,如果直接打開本地代碼來看的話,只能看到數值的羅列。如果直接使用這些數值來編寫程序的話,還真是不太容易理解。因而就產生了這樣一種想法,那就是在各本地代碼中,附帶上表示其功能的英語單詞縮寫。例如,在加法運算的本地代碼中加上add(addition的縮寫)、在比較運算的本地代碼中加上cmp(compare的縮寫)等。這些縮寫稱為助記符,使用助記符的編程語言稱為匯編語言。這樣,通過查看匯編語言編寫的源代碼,就可以了解程序的本質了。因為這和查看本地代碼的源代碼,是同一級別的。

不過,即使是用匯編語言編寫的源代碼,最終也必須要轉換成本地代碼才能運行。負責轉換工作的程序稱為匯編器,轉換這一處理本身稱為匯編。在將源代碼轉換成本地代碼這個功能方面,匯編器和編譯器是同樣的。

用匯編語言編寫的源代碼,和本地代碼是一一對應的。因而,本地代碼也可以反過來轉換成匯編語言的源代碼。持有該功能的逆變換程序稱為反匯編程序,逆變換這一處理本身稱為反匯編(圖10-1)。

圖10-1 匯編語言的源代碼和本地代碼是一一對應的

哪怕是用C語言編寫的源代碼,編譯后也會轉換成特定CPU用的本地代碼。而將其反匯編的話,就可以得到匯編語言的源代碼,并對其內容進行調查。不過,本地代碼變換成C語言源代碼的反編譯,則要比反匯編困難。這是因為,C語言的源代碼同本地代碼不是一一對應的,因此完全還原到原始的源代碼是不太可能的①。

Ps:①通過解析可執行文件得到源代碼的方式稱為“反匯編”或“反編譯”,也稱為“反向工程”。市場上銷售的軟件程序等,有時會在其使用說明書中明確表明禁止反匯編及反編譯。

總結

以上是生活随笔為你收集整理的windows系统-汇编语言与机器码的关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。