書名: x86/x64體系探索及編程作者名: 鄧志著本章字數: 1546字更新時間: 2019-03-01 11:49:24
序
我還記得我最初碰到鄧志,是因為我碰到需求不得不要寫一個比較簡單的x86指令的編碼器。其實我并不是要寫一個匯編器那么強大的工具,只是需要動態地生成一部分x86的指令來完成一些功能。我在網上找了很多代碼,包括下載了nasm的源碼,改了一段時間,因為牽涉太廣實在是無法精簡。沒辦法就只好自己學習x86的指令編碼規則。于是在志志的主頁上看到了他對x86指令編碼規則的簡單通俗的介紹。學了一下受益頗多,比看Intel提供的指令手冊要簡單多了,而且照樣好用。不過,可惜的是,現在我又忘得精光了。當然,如果我要再用,我會去找他的。現在可簡單多了,我會要他送一本他的新書給我。我想這本書應該很快就會和讀者們見面了,因為我已經在幫他寫序了。
從他網站上的文章來看,他是個基礎非常扎實的技術人。這點和我就不一樣了。我多年來一直疲于奔命地開發各種各樣的項目,做了無數種稀奇古怪的東西,但基本上都是做完即忘。下次碰到一樣的問題,唯一的記憶是知道應該去哪里找線索。所以我在寫《天書夜讀》和《寒江獨釣》的時候,也只能一邊寫代碼一邊寫書。如果是代碼上沒有用到的地方,也就避而不談了。避不開的,我只能說,這個問題筆者沒有研究過,請讀者自己研究云云。當然這也招來了不少讀者的不滿。不過我總覺得,我作為一個工程師,只能寫出工程上遇到過和處理過的問題。否則就只能瞎編或者照搬了。但是志志的風格和我完全不一樣。我感覺他總是要親手編碼研究每個細節問題,而不在乎這個問題在實際項目中是否真會遇到。否則我無法理解他的作品為何會那么詳盡。
我曾經把《天書夜讀》第二版(這個版本至今還沒有出版)的一些章節發給他,讓他幫我給點意見。結果他自己“過濾”了每個字和每個標點符號,針對每個遣詞用句、技術細節給了無數的反饋意見,而且任何一個小問題都引經據典地同我辯駁,我往往無言以對。從此我只能叫他鄧學究。
我很高興為鄧學究的書寫序。他的書是學院派的,并非工程派的。學院派的好處是體系完整,事無巨細,盡情囊括。讀者盡可以從中學到全貌的知識,而不像每天只知道干活的工程師寫出的經驗總結——那些經驗或許很有價值,能夠協助你快速入門,甚至完成一個項目的任務,但是夯實自己的技術基礎,那依然是自己不得不要去完成的任務。
我甚至覺得他這本書非常適合作為教材。一般的學院派的書理論居多,指導實踐的少。我在大學的時候就常常是覺得學過了大部頭的教材,還是完全不知道學到的東西如何使用。往往是幾個簡單的實驗做完就了事了。到了工作中早就忘記得一干二凈。幸運的是鄧志的這本書完全不是如此。幾乎書中講到的每一步,他都介紹了在計算機上實際操作的方法。而所用的軟件工具,無一不詳盡提供其細節,真正達到了從零基礎開始動手,也不會存在任何障礙的程度。當然,學習這樣一本書,是需要極大努力和耐心的。如果我是教師,我甚至可能都不敢選擇這本書作為教材。因為我要花很多時間,才能去把上面的示例代碼一一跑通。而且還要時刻擔心在課堂上演示出問題,而又解決不了時滿頭大汗的尷尬呢。但要是學習的話,就一定會選擇這本書。很顯然,在實踐中解決困難,應用所學知識的樂趣,是任何高大全的課程所無法比擬的。如果耐心地將這本書上的內容讀過,將鄧學究提供的例子一一運行過,我相信自己對關于x86處理器的知識,必定會了然于胸了。
當然,有些讀者會覺得奇怪,為什么要學習這本書呢?這本書有什么價值呢?我覺得可以拿大學的一門課程來解釋這本書的價值,那就是“80x86微機原理與接口技術”。在我讀大學的時候,這門課程的內容就已經嚴重地過時了。此后工作許多年,我也沒有碰到過這門課程中有令我滿意的資料。有一些翻譯的書還算不錯,比如我后來用過的《Intel微處理器》,但是鄧志的這本書真正是讓我眼前一亮。目前為止,這是我見過的對x86處理器介紹得最詳盡又最具實踐指導意義的書。
譚文于2012年秋
- 集成架構中型系統
- 手把手教你玩轉RPA:基于UiPath和Blue Prism
- 數據中心建設與管理指南
- 機器學習與大數據技術
- 人工智能工程化:應用落地與中臺構建
- Multimedia Programming with Pure Data
- Blender 3D Printing by Example
- Visual FoxPro數據庫基礎及應用
- Practical Big Data Analytics
- 悟透AutoCAD 2009案例自學手冊
- FPGA/CPLD應用技術(Verilog語言版)
- 水晶石影視動畫精粹:After Effects & Nuke 影視后期合成
- 強化學習
- Linux系統下C程序開發詳解
- ZigBee無線通信技術應用開發