出版時(shí)間:2006-1 出版社:機(jī)械工業(yè)出版社 作者:布魯姆 頁(yè)數(shù):409
Tag標(biāo)簽:無(wú)
前言
在目前正在使用的程序設(shè)計(jì)語(yǔ)言之中,匯編語(yǔ)言是被誤解得最深的一種。當(dāng)提到“匯編語(yǔ)言”這個(gè)術(shù)語(yǔ)時(shí),經(jīng)常使人聯(lián)想到低級(jí)的位移動(dòng)和在長(zhǎng)達(dá)數(shù)千頁(yè)的指令手冊(cè)中費(fèi)力地查找正確的指令格式。隨著各種出色的高級(jí)語(yǔ)言開發(fā)工具的快速發(fā)展,在各種程序設(shè)計(jì)新聞組中“匯編語(yǔ)言程序設(shè)計(jì)已經(jīng)死亡了”這種評(píng)論并不少見(jiàn)。但是,匯編語(yǔ)言程序設(shè)計(jì)遠(yuǎn)沒(méi)有到死亡的時(shí)候。每種高級(jí)語(yǔ)言程序在能夠連接為可執(zhí)行程序之前都必須被編譯為匯編語(yǔ)言程序。對(duì)于高級(jí)語(yǔ)言程序設(shè)計(jì)者來(lái)說(shuō),了解編譯器如何生成匯編語(yǔ)言代碼很有用處,這表現(xiàn)在使用匯編語(yǔ)言直接編寫例程和了解編譯器如何把高級(jí)語(yǔ)言轉(zhuǎn)換為匯編語(yǔ)言方面。
內(nèi)容概要
每種高級(jí)語(yǔ)言程序在連接為可執(zhí)行程序之前,都必須被編譯為匯編語(yǔ)言程序,因此對(duì)于高級(jí)語(yǔ)言程序設(shè)計(jì)者來(lái)說(shuō),了解編譯器如何生成匯編語(yǔ)言代碼十分有用。 本書分為三部分。第一部分講解匯編語(yǔ)言程序設(shè)計(jì)環(huán)境基礎(chǔ),第二部分研究匯編語(yǔ)言程序設(shè)計(jì),最后一部分講解高級(jí)匯編語(yǔ)言技術(shù)。本書的主要目的是向使用高級(jí)語(yǔ)言的程序員講解編譯器如何從C和C++程序創(chuàng)建匯編語(yǔ)言例程,以及編程人員應(yīng)如何掌握生成的匯編語(yǔ)言代碼,調(diào)整匯編語(yǔ)言例程以提高應(yīng)用程序的性能。 本書適合有一定編程經(jīng)驗(yàn)的開發(fā)人員參考。
作者簡(jiǎn)介
Richard Blum 畢業(yè)于美國(guó)普度大學(xué)電氣工程專業(yè),在美國(guó)一家政府組織工作了15年以上。在此期間,他使用過(guò)各種編程語(yǔ)言(C、C++、Java和Microsoft VB .NET以及C#)編寫實(shí)用程序,因此他發(fā)現(xiàn)一個(gè)非常有價(jià)值的事實(shí):通過(guò)研究編譯器生成的匯編語(yǔ)言代碼及使用匯編語(yǔ)言例程,可
書籍目錄
第一部分 匯編語(yǔ)言程序設(shè)計(jì)環(huán)境基礎(chǔ) 第1章 什么是匯編語(yǔ)言 1.1 處理器指令 1.1.1 指令碼處理 1.1.2 指令碼格式 1.2 高級(jí)語(yǔ)言 1.2.1 高級(jí)語(yǔ)言的種類 1.2.2 高級(jí)語(yǔ)言的特性 1.3 匯編語(yǔ)言 1.3.1 操作碼助記符 1.3.2 定義數(shù)據(jù) 1.3.3 命令 1.4 小結(jié) 第2章 IA-32平臺(tái) 2.1 IA-32處理器的核心部分 2.1.1 控制單元 2.1.2 執(zhí)行單元 2.1.3 寄存器 2.1.4 標(biāo)志 2.2 IA-32的高級(jí)特性 2.2.1 x87浮點(diǎn)單元 2.2.2 多媒體擴(kuò)展 2.2.3 流化SIMD擴(kuò)展 2.2.4 超線程 2.3 IA-32處理器系列 2.3.1 Intel處理器 2.3.2 非Intel處理器 2.4 小結(jié) 第3章 相關(guān)的工具 3.1 開發(fā)工具 3.1.1 匯編器 3.1.2 連接器 3.1.3 調(diào)試器 3.1.4 編譯器 3.1.5 目標(biāo)代碼反匯編器 3.1.6 簡(jiǎn)檔器 3.2 GNU匯編器 3.2.1 安裝匯編器 3.2.2 使用匯編器 3.2.3 關(guān)于操作碼語(yǔ)法 3.3 GNU連接器 3.4 GNU編譯器 3.4.1 下載和安裝gcc 3.4.2 使用gcc 3.5 GNU調(diào)試器程序 3.5.1 下載和安裝gdb 3.5.2 使用gdb 3.6 KDE調(diào)試器 3.6.1 下載和安裝kdbg 3.6.2 使用kdbg 3.7 GNU objdump程序 3.7.1 使用objdump 3.7.2 objdump范例 3.8 GNU簡(jiǎn)檔器程序 3.8.1 使用簡(jiǎn)檔器 3.8.2 簡(jiǎn)檔范例 3.9 完整的匯編開發(fā)系統(tǒng) 3.9.1 Linux基礎(chǔ) 3.9.2 下載和運(yùn)行MEPIS 3.9.3 新的開發(fā)系統(tǒng) 3.10 小結(jié) 第4章 匯編語(yǔ)言程序范例 4.1 程序的組成 4.1.1 定義段 4.1.2 定義起始點(diǎn) 4.2 創(chuàng)建簡(jiǎn)單程序 4.2.1 CPUID指令 4.2.2 范例程序 4.2.3 構(gòu)建可執(zhí)行程序 4.2.4 運(yùn)行可執(zhí)行程序 4.2.5 使用編譯器進(jìn)行匯編 4.3 調(diào)試程序 4.4 在匯編語(yǔ)言中使用C庫(kù)函數(shù) 4.4.1 使用printf 4.4.2 連接C庫(kù)函數(shù) 4.5 小結(jié) 第二部分 匯編語(yǔ)言程序設(shè)計(jì)基礎(chǔ) 第5章 傳送數(shù)據(jù) 第6章 控制執(zhí)行流程 第7章 使用數(shù)字 第8章 基本數(shù)學(xué)功能 第9章 高級(jí)數(shù)學(xué)功能 第10章 處理字符串 第11章 使用函數(shù) 第12章 使用Linux系統(tǒng)調(diào)用 第三部分 高級(jí)匯編語(yǔ)言技術(shù) 第13章 使用內(nèi)聯(lián)匯編 第14章 調(diào)用匯編庫(kù) 第15章 優(yōu)化例程 第16章 使用文件 第17章 使用高級(jí)IA-32特性
編輯推薦
每種高級(jí)語(yǔ)言(比如C和C++)在連接為可執(zhí)行程序之前都會(huì)被編譯器轉(zhuǎn)換成匯編語(yǔ)言。本書面向使用高級(jí)語(yǔ)言的開發(fā)人員,講解如何查看和解釋編譯器生成的匯編語(yǔ)言代碼,了解它們是如何創(chuàng)建的,從而可以修改編譯器生成的代碼或創(chuàng)建自己的匯編語(yǔ)言例程。本書揭示如何使程序中的函數(shù)更快更高效的內(nèi)幕,以及提高應(yīng)用程序性能的方法?! ”緯饕獌?nèi)容: ● 查看高級(jí)語(yǔ)言程序生成的匯編語(yǔ)言代碼的好處; ● 如何為L(zhǎng)inux奔騰處理器環(huán)境創(chuàng)建獨(dú)立的匯編語(yǔ)言程序; ● 如何將高級(jí)函數(shù)和庫(kù)整合到匯編語(yǔ)言程序中; ● 如何將匯編語(yǔ)言例程整合到C和C++應(yīng)用程序中; ● 如何在匯編語(yǔ)言程序中使用Linux系統(tǒng)調(diào)用; ● 如何在應(yīng)用程序中使用奔騰處理器的MMX和SSE功能。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載