出版時(shí)間:2009-3 出版社:丁輝 電子工業(yè)出版社 (2009-03出版) 作者:丁輝 編 頁數(shù):279
Tag標(biāo)簽:無
前言
在眾多程序設(shè)計(jì)語言中,匯編語言屬于低級語言?!暗图墶敝饕侵冈诿嫦蛴脩舴矫?,匯編語言不及C/C++、Java等程序設(shè)計(jì)語言。而在面向機(jī)器方面,匯編語言之“高級”則無與倫比。匯編語言可以充分利用計(jì)算機(jī)的硬件特性,編制對時(shí)間和空間要求很高的程序,在實(shí)時(shí)控制場合,匯編語言更是無可替代,由此決定了匯編語言程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)及相近專業(yè)人員的必備知識。本書以Intel 8086/8088系列微機(jī)作為基礎(chǔ)機(jī)型介紹匯編語言程序設(shè)計(jì)知識。在介紹8086/8088 CPU尋址方式和指令系統(tǒng)的基礎(chǔ)上,詳細(xì)介紹了匯編語言程序設(shè)計(jì)的基本方法和技巧,掌握這些內(nèi)容,可以為Intel 80x86及Pentium系列微機(jī)的匯編語言程序設(shè)計(jì)奠定基礎(chǔ)??紤]到Intel 80x86及Pentium系列微機(jī)的廣泛應(yīng)用,本書設(shè)置了關(guān)于Intel 80x86及Pentium的增強(qiáng)和擴(kuò)展指令內(nèi)容,在介紹各種程序設(shè)計(jì)方法的例題中也兼顧了這些指令的應(yīng)用。本書的主體內(nèi)容為Intel 8086/8088指令系統(tǒng)和各種程序設(shè)計(jì)方法,第1章和第2章則提供了學(xué)習(xí)匯編語言的基礎(chǔ)知識,第9章和第10章提供了進(jìn)行高效率、大規(guī)模匯編語言程序設(shè)計(jì)的必備知識;第11章講述了用C/C++進(jìn)行混合編程的基本方法。本書以編者長期使用的該課程講稿為主體,以前兩版本為基礎(chǔ),進(jìn)行了系統(tǒng)的整合和內(nèi)容的擴(kuò)充,力求難點(diǎn)分散、循序漸進(jìn),為避免大量的匯編語言指令集中堆砌,將部分指令融于相關(guān)程序設(shè)計(jì)方法的介紹之中。對于同類內(nèi)容講透一點(diǎn),以點(diǎn)帶面。例題和習(xí)題的設(shè)置力圖緊扣重點(diǎn),舉一反三,不僅有一般例題,更有綜合舉例和應(yīng)用實(shí)例。每項(xiàng)實(shí)驗(yàn)均設(shè)有驗(yàn)證和設(shè)計(jì)兩種類型的實(shí)驗(yàn)題,以便讀者在鞏固書本知識的基礎(chǔ)上,提高應(yīng)用和創(chuàng)新的能力。本書由丁輝主編,張麗虹、魏遠(yuǎn)旺為副主編。第5章至第9章,以及上機(jī)實(shí)驗(yàn)指導(dǎo)由丁輝編寫;第1章至第4章由張麗虹編寫;第10、11章由魏遠(yuǎn)旺編寫;全書由丁輝統(tǒng)稿。陳書謙、伍俊明、傅揚(yáng)烈、姜宏岸、邵崢嶸、馮亞東、常趙罡為本書的編寫提出了不少有益的建議,并參與了資料的整理工作。在編寫過程中參考了相關(guān)書籍,包括書后參考文獻(xiàn)中未能列出者,在此對相關(guān)作者表示誠摯的謝意。由于編者水平有限,書中難免存在疏漏,敬請同行專家指正。在本書的編寫過程中,得到了電子工業(yè)出版社的熱情支持,在此一并表示衷心的感謝。
內(nèi)容概要
《匯編語言程序設(shè)計(jì)》內(nèi)容主要包括:微機(jī)基礎(chǔ)知識,Intel 8086/8088指令系統(tǒng),Intel 80x86、Pentium增強(qiáng)和擴(kuò)展指令,程序設(shè)計(jì)方法,高級匯編技術(shù),系統(tǒng)功能調(diào)用,匯編語言與C/C++的混合編程技術(shù),上機(jī)操作方法。在程序設(shè)計(jì)各章中在給出一般例題的基礎(chǔ)上,特別設(shè)置了綜合舉例章節(jié);在系統(tǒng)功能調(diào)用、匯編語言與C/C++的混合編程兩章中更特地設(shè)置了實(shí)例章節(jié)。每章附有習(xí)題,書后附有上機(jī)實(shí)驗(yàn)指導(dǎo)?!秴R編語言程序設(shè)計(jì)》可作為高等學(xué)校、高等職業(yè)學(xué)校計(jì)算機(jī)專業(yè)或相近專業(yè)匯編語言程序設(shè)計(jì)課程教材,微型計(jì)算機(jī)原理課程輔助教材,亦可供軟件開發(fā)人員參考。
書籍目錄
第1章 基礎(chǔ)知識1.1 匯編語言與匯編語言程序設(shè)計(jì)1.1.1 匯編語言1.1.2 匯編語言程序設(shè)計(jì)1.2 進(jìn)位計(jì)數(shù)制1.2.1 常用計(jì)數(shù)制及其數(shù)的算術(shù)運(yùn)算1.2.2 數(shù)制轉(zhuǎn)換1.3 計(jì)算機(jī)中數(shù)和字符的表示1.3.1 數(shù)的表示1.3.2 字符的表示第2章 IBM-PC計(jì)算機(jī)系統(tǒng)概述2.1 INTEL 8086/8088 CPU的功能結(jié)構(gòu)2.1.1 執(zhí)行單元與接口部件單元2.2 INTEL 8086/8088 存儲(chǔ)器的組織2.2.1 存儲(chǔ)單元的地址和內(nèi)容2.2.2 Intel8086/8088存儲(chǔ)器的組織2.2.3 堆棧2.3 INTEL 80X86系列微處理器簡介2.3.1 80386微處理器2.3.2 Pentium微處理器2.4 外部設(shè)備第3章 指令系統(tǒng)3.1 指令格式3.2 尋址方式3.2.1 固定尋址(Inherent Addressing)3.2.2 立即尋址(Immediate Addressing)3.2.3 寄存器尋址(Register Addressing)3.2.4 存儲(chǔ)器尋址3.3 指令的執(zhí)行時(shí)間3.4 INTEL8086/8088指令系統(tǒng)3.4.1 數(shù)據(jù)傳送指令3.4.2 算術(shù)運(yùn)算指令3.4.3 位操作指令3.4.4 串操作指令3.4.5 轉(zhuǎn)移指令3.4.6 處理器控制指令3.5 INTEL 80X86及PENTIUM指令系統(tǒng)3.5.1 Intel80386新增和擴(kuò)充指令3.5.2 Pentium新增指令第4章 匯編語言與匯編語言程序4.1 匯編語言程序與匯編程序4.2 匯編語言程序的格式和組成元素4.2.1 標(biāo)識符4.2.2 保留字4.2.3 表達(dá)式4.3 偽指令4.3.1 符號定義偽指令4.3.2 變量定義偽指令4.3.3 段定義偽指令4.3.4 過程定義偽指令4.3.5 80x86指令集選擇偽指令4.4 匯編語言程序的上機(jī)過程4.4.1 MSAM匯編環(huán)境4.4.2 TASM匯編環(huán)境第5章 順序程序設(shè)計(jì)5.1 匯編語言程序設(shè)計(jì)的基本步驟5.2 順序程序設(shè)計(jì)5.2.1 十進(jìn)制算術(shù)運(yùn)算5.2.2 匯編語言程序中的輸入/輸出功能調(diào)用5.3 順序程序設(shè)計(jì)綜合舉例第6章 分支程序設(shè)計(jì)6.1 分支程序結(jié)構(gòu)6.2 轉(zhuǎn)移指令6.2.1 條件轉(zhuǎn)移指令6.2.2 無條件轉(zhuǎn)移指令6.3 分支程序設(shè)計(jì)6.3.1 測試法分支程序設(shè)計(jì)6.3.2 跳轉(zhuǎn)表法分支程序設(shè)計(jì)6.4 分支程序設(shè)計(jì)綜合舉例第7章 循環(huán)程序設(shè)計(jì)7.1 循環(huán)程序結(jié)構(gòu)7.2 循環(huán)指令7.2.1 重復(fù)控制指令7.2.2 串操作指令及重復(fù)前綴7.3 循環(huán)程序設(shè)計(jì)7.3.1 計(jì)數(shù)控制的循環(huán)程序設(shè)計(jì)7.3.2 條件控制的循環(huán)程序設(shè)計(jì)7.3.3 多重循環(huán)程序設(shè)計(jì)7.4 循環(huán)程序設(shè)計(jì)綜合舉例第8章 子程序設(shè)計(jì)及系統(tǒng)調(diào)用8.1 調(diào)用程序與子程序8.2 調(diào)用與返回指令8.3 子程序設(shè)計(jì)8.3.1 子程序的定義8.3.2 子程序的調(diào)用與返回8.3.3 保護(hù)現(xiàn)場與恢復(fù)現(xiàn)場8.3.4 參數(shù)的傳遞8.4 程序的嵌套和遞歸8.4.1 子程序的嵌套8.4.2 子程序的遞歸8.5 子程序調(diào)用與系統(tǒng)功能調(diào)用8.5.1 子程序調(diào)用與系統(tǒng)功能調(diào)用間的關(guān)系8.5.2 系統(tǒng)功能調(diào)用的方法8.6 子程序設(shè)計(jì)綜合舉例第9章 高級匯編語言技術(shù)9.1 宏匯編9.1.1 宏定義9.1.2 宏調(diào)用和宏擴(kuò)展9.1.3 宏定義和宏調(diào)用中參數(shù)的使用9.1.4 宏嵌套9.2 重復(fù)匯編9.2.1 使用REPT偽指令的重復(fù)匯編結(jié)構(gòu)9.2.2 使用IRP偽指令的重復(fù)匯編結(jié)構(gòu)9.2.3 使用IRPC偽指令的重復(fù)匯編結(jié)構(gòu)9.3 條件匯編9.3.1 條件匯編的概念及條件匯編的結(jié)構(gòu)9.3.2 條件匯編偽指令9.4 庫的使用9.4.1 庫的建立9.4.2 庫的使用9.5 模塊化程序設(shè)計(jì)9.5.1 模塊化程序設(shè)計(jì)概述9.5.2 段的定義9.5.3 模塊間的通信9.5.4 模塊的連接第10章 系統(tǒng)功能調(diào)用及實(shí)例10.1 中斷10.1.1 中斷的基本概念10.1.2 中斷的處理過程10.2 系統(tǒng)功能調(diào)用方法10.2.1 DOS功能調(diào)用10.2.2 BIOS功能調(diào)用10.3 系統(tǒng)功能調(diào)用應(yīng)用實(shí)例第11章 匯編語言與C/C++混合編程及實(shí)例11.1 TURBO C嵌入?yún)R編方式11.1.1 嵌入?yún)R編語句的格式11.1.2 匯編語句訪問C語言的數(shù)據(jù)11.1.3 嵌入?yún)R編的編譯過程11.1.4 Turbo C模塊連接方式11.2 匯編語言在VISUAL C++中的應(yīng)用11.2.1 嵌入?yún)R編語言指令11.2.2 調(diào)用匯編語言過程11.2.3 使用匯編語言優(yōu)化C++代碼11.2.4 使用Visual C++開發(fā)匯編語言程序11.3 匯編語言與C/C++的混合編程實(shí)例附錄A 上機(jī)實(shí)驗(yàn)實(shí)驗(yàn)一 程序的編輯、匯編、連接和調(diào)試實(shí)驗(yàn)二 分支程序設(shè)計(jì)實(shí)驗(yàn)三 循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)四 子程序?qū)嶒?yàn)五 高級匯編語言技術(shù)實(shí)驗(yàn)六 DOS功能調(diào)用與BIOS中斷調(diào)用實(shí)驗(yàn)七 C/C++語言與匯編語言的混合編程附錄B ASCII碼表附錄C 80X86指令表附錄D MASM 5.0宏匯編程序出錯(cuò)信息附錄E DEBUG命令表附錄F BIOS和MS-DOS功能調(diào)用參考文獻(xiàn)
章節(jié)摘錄
插圖:第1章 基礎(chǔ)知識本章提供了學(xué)習(xí)匯編語言程序設(shè)計(jì)所需的一些基礎(chǔ)知識。首先對匯編語言程序設(shè)計(jì)進(jìn)行了概述,其次對計(jì)算機(jī)常用的幾種數(shù)制及其相互間的轉(zhuǎn)換方法進(jìn)行了講解,并且介紹了數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)在計(jì)算機(jī)中的表示方法。 1.1 匯編語言與匯編語言程序設(shè)計(jì) 1.1.1 匯編語言 計(jì)算機(jī)程序設(shè)計(jì)語言是人機(jī)交流的重要工具,可分為機(jī)器語言、匯編語言和高級語言。 機(jī)器語言是機(jī)器指令的集合,是一種面向機(jī)器的程序設(shè)計(jì)語言。機(jī)器指令是由0和1構(gòu)成的二進(jìn)制代碼,不同種類的計(jì)算機(jī)具有各自的機(jī)器語言。其優(yōu)點(diǎn)是可為計(jì)算機(jī)直接接受,用其編寫的機(jī)器語言程序執(zhí)行速度快,占內(nèi)存空間小,可充分利用計(jì)算機(jī)的硬件特性;缺點(diǎn)是指令難記,用其編寫的機(jī)器語言程序難以閱讀且通用性差。高級語言是面向問題求解過程或面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。典型的高級語言有Pascal,F(xiàn)ORTRAN,C++,Java等。高級語言接近于人類的自然語言,而且通用于各種計(jì)算機(jī)。其優(yōu)點(diǎn)是易學(xué)易記,用其編寫的高級語言程序易讀易改,通用性強(qiáng);其缺點(diǎn)是高級語言程序需經(jīng)過編譯或解釋方能被計(jì)算機(jī)接受,執(zhí)行速度慢,占內(nèi)存空間大,不能直接利用計(jì)算機(jī)的硬件特性。匯編語言又稱為符號語言,實(shí)際上是一種符號化的機(jī)器語言。它將機(jī)器指令的操作碼、操作數(shù)由二進(jìn)制代碼改為人們所熟悉的符號,例如ADD AL,5表示將數(shù)字5加到AL中。匯編語言程序需經(jīng)過匯編才能為計(jì)算機(jī)接受,這一點(diǎn)不如機(jī)器語言方便。雖然所用符號為人們所熟悉,然而不如高級語言那樣接近人類的自然語言,程序編寫和交流較為困難。除此以外,匯編語言幾乎具備了機(jī)器語言的所有優(yōu)點(diǎn),一定程度上彌補(bǔ)了機(jī)器語言的缺陷,而且不存在高級語言的上述缺點(diǎn)??梢哉J(rèn)為,匯編語言是目前使用的唯一直接利用計(jì)算機(jī)硬件特性的程序設(shè)計(jì)語言。 1.1.2 匯編語言程序設(shè)計(jì) 匯編語言程序設(shè)計(jì)是指使用匯編語言設(shè)計(jì)程序的過程。為什么要學(xué)習(xí)匯編語言程序設(shè)計(jì)?其原因至少有以下幾點(diǎn)。(1)通過匯編語言程序設(shè)計(jì),人們可以高效地使用計(jì)算機(jī)解決現(xiàn)實(shí)問題。在解決同一現(xiàn)實(shí)問題時(shí),匯編語言程序與高級語言程序相比,占用內(nèi)存更小,執(zhí)行速度更快。(2)通過匯編語言程序設(shè)計(jì),人們可以直接利用計(jì)算機(jī)的硬件特性,準(zhǔn)確計(jì)算解決某一問題所需的時(shí)間,從而可實(shí)現(xiàn)實(shí)時(shí)控制。這一點(diǎn)是高級語言程序難以替代的。
編輯推薦
《匯編語言程序設(shè)計(jì)》設(shè)置了關(guān)于Intel 80x86及Pentium的增強(qiáng)和擴(kuò)展指令內(nèi)容,在介紹各種程序設(shè)計(jì)方法的例題中也兼顧了這些指令的應(yīng)用?!秴R編語言程序設(shè)計(jì)》的主體內(nèi)容為Intel 8086/8088指令系統(tǒng)和各種程序設(shè)計(jì)方法,第1章和第2章則提供了學(xué)習(xí)匯編語言的基礎(chǔ)知識,第9章和第10章提供了進(jìn)行高效率、大規(guī)模匯編語言程序設(shè)計(jì)的必備知識;第11章講述了用C/C++進(jìn)行混合編程的基本方法。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載