TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
匯編語言程序設計(第5版)(簡體書)
滿額折

匯編語言程序設計(第5版)(簡體書)

人民幣定價:52 元
定  價:NT$ 312 元
優惠價:87271
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:8 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書為“十二五”普通高等教育本科國家級規劃教材,是教育部‐微軟精品課程教學成果。本書以Intel 80x86指令系統和MASM 6.x為主體,共10章,分為基礎和提高兩部分。前5章為基礎部分,以當前“匯編語言程序設計”課程的教學為目標,講解16位基本整數指令及其匯編語言程序設計的知識,包括:匯編語言程序設計基礎知識,8086指令詳解,MASM偽指令和操作符,程序格式,程序結構及其設計方法。後5章為提高部分,介紹匯編語言程序設計的深入內容和實際應用知識,包括:32位80x86 CPU的整數指令系統及其編程,匯編語言與C/C++混合編程,80x87 FPU浮點指令系統及其編程,多媒體擴展指令系統及其編程,64位指令簡介。本書可作為高等院校“匯編語言程序設計”課程的教材或參考書。本書內容廣博、語言淺顯、結構清晰、實例豐富,也適合電子信息、自動控制等專業的高校學生和成教學生、計算機應用開發人員、深入學習微機應用技術的普通讀者閱讀。

作者簡介

錢曉捷,男,鄭州大學計算機軟件與理論專業碩士學位,碩士生導師。中國計算機學會會員,現任河南省計算機學會教育專委副主任,主要從事計算機系統結構、嵌入式系統、計算機輔助教學等方面的研究。主持教育部-微軟、河南省精品課程“匯編語言程序設計”、校級遠程教育精品課程“微機原理及接口技術”建設。主持完成“網絡CAI課件研究與開發”、“河南省新世紀網絡課程建設工程項目”等科研項目。
主編10余部高校教材,其中2部屬于普通高等教育“十一五”國家級規劃教材。具有豐富的教學經歷和教研體會,主講計算機硬件系列課程20餘年,主要包括“微機原理及接口技術”、“匯編語言程序設計”、“計算機組織與結構”、“高級計算機系統結構”等。

前 言
本書以Intel 80x86指令系統和MASM 6.x為主體,在個人微機的MS-DOS和Windows操作系統平臺上,依據循序漸進的原則,以淺顯的語言、清晰的結構、豐富的實例,全面而系統地介紹整數指令、浮點指令、多媒體指令的匯編語言程序設計方法,以及匯編語言的模塊化開發、32位Windows應用程序的編寫、與C/C++混合編程等高級技術。
全書共10章,分為前5章的基礎部分和後5章的提高部分。
第1章總結性地給出進行匯編語言程序設計所需要學習的基本知識,包括微型計算機系統的軟件和硬件組成、數據表示,並重點展開8086通用寄存器和尋址方式。第2章詳盡講述8086微處理器整數指令的功能和使用,並引導讀者正確書寫每條指令、理解程序段的功能,以及編寫常見問題的匯編語言程序。第3章結合匯編語言源程序格式,引出程序開發、語句格式、常用偽指令和操作符、段定義等內容。第4章以程序設計技術為主線,結合大量的程序實例詳述順序、分支、循環、子程序結構的匯編語言程序設計方法。第5章介紹匯編語言的高級程序設計技術,包括MASM的高級語言特性、宏結構程序、模塊化程序設計和I/O程序設計。
第6章首先將16位指令及編程擴展到32位環境,其次介紹新增整數指令及其應用,最後重點展開利用匯編語言編寫32位Windows控制台和窗口應用程序的開發環境和基本方法。第7章討論匯編語言與高級語言Turbo C和Visual C++的混合編程,並說明如何利用匯編語言優化C++代碼,以及利用Visual C++集成環境開發匯編語言程序的方法。第8章介紹Intel 80x87浮點數據格式、浮點指令及其程序設計方法。第9章介紹MMX、SSE、SSE2和SSE3多媒體指令及其編程方法。第10章簡介Intel 64結構的64位指令。
附錄內容包括:① DEBUG調試程序,可用於配合前5章,尤其是第1章和第2章尋址方式、指令功能、程序片段的學習;② CodeView調試程序的使用方法,可用于第3章以後進行源程序級的程序調試;③ 匯編程序MASM 6.11的偽指令、Intel 80x86整數指令和常見彙編錯誤列表;④ 與本書配套的輸入/輸出子程序庫的使用說明。
每章最後配有相當數量的習題,既可以作為課後作業,也可以作為上機練習。
本書特點
本書自2000年出版以來獲得廣大師生讀者好評,相繼被評為普通高等教育“十一五”國家級規劃教材、“十二五”普通高等教育本科國家級規劃教材。作者主持的“匯編語言程序設計”課程為教育部―微軟精品課程和河南省精品課程。總結教學經驗和改革思路,結合師生反饋,我們在前4版的基礎上編寫了本書,並保持了原來的諸多特點。
(1)知識全面
本書的編寫參照國內高校和自學考試“匯編語言程序設計”課程的本、專科教學大綱,兼顧相關專業教學要求,既滿足當前教學需求,又面向今後改革方向。
本書全面講解80x86指令系統及編程,除完整的8086指令外,還包括32位指令、浮點指令、多媒體指令。本書不僅介紹基本的匯編語言程序設計知識,還介紹高級匯編語言程序設計技術,如開發大型程序需要的模塊化方法、實際應用當中的混合編程實用技術、32位Windows應用程序編寫等。本書採用MASM 6.x匯編程序,採用簡化段定義源程序格式,涉及DOS和Windows操作系統平臺的匯編語言程序設計。
(2)教材實用
本書示例中的指令、程序片段和完整的源程序都經過驗證,能夠運行通過。本書經過4個版本、16年的使用,已經發現並糾正了絕大多數錯誤。
本書採用淺顯、明晰、循序漸進的描述方法,具有前後對照、貫穿始終的風格,加上清晰的結構、豐富的示例,使得本書既適合課堂教學,又適合讀者自學。配合本書,作者製作有精美的多媒體電子教案(PowerPoint演示文檔),為教師利用現代化教學手段提供方便。
(3)突出實踐
本書特別強調上機實踐,不僅在正文中引導讀者通過調試程序或者帶輸出結果的源程序理解指令、程序功能,各章還配有豐富的習題和上機練習題;附錄介紹調試程序的使用方法、調試指令和程序的步驟。
本書的結構安排適合儘早上機實踐,並將實踐過程貫穿始終。第1章引出MASM開發軟件包,可用於熟悉命令行MS-DOS基本操作(基於Windows),第2章充分利用調試程序學習指令功能和調試程序段,第3章引出完整的源程序格式,並給出程序開發方法。後續章節通過大量程序強化編程開發,還介紹了開發Windows應用程序的MASM32環境、利用Visual C++開發調試匯編語言程序的方法。
寫給教師
“匯編語言程序設計”的教學內容在高校相關學科的教學中有兩種處理方式。一種作為獨立的課程,這主要是用在計算機專業的本科、專科教學中;而在電子、通信、自動控制等專業則將匯編語言作為主體融入微機原理課程。本書內容自成一個相對完整的知識體系,適合作為獨立課程的教材,也可以作為微機原理課程的參考書和補充教材。傳統上,“匯編語言程序設計”課程在MS-DOS操作系統平臺上採用微軟的MASM匯編程序,介紹16位8086微處理器指令系統的程序設計。當前,有些院校已將匯編語言的教學重點轉向32位IA-32微處理器指令系統,操作系統平臺也過渡為Windows,也出現在Linux環境下的匯編語言課程。
本書從簡單的16位匯編語言入手,使其滿足當前教學要求(包括與“微機原理與接口技術”、“計算機組成原理”等課程的配合);在32位匯編語言展開許多深入的內容,使其面向以後的應用需求。本書在組織教學內容上,體現了許多新的理念。例如,沒有從純軟件角度介紹匯編語言,教學的重點是硬指令而不是偽指令,強調程序設計不是程序格式,引出實用技術但淡化具體應用,通過程序實例和上機實踐掌握程序設計方法,而不是通過大量細節的描述講解程序設計。
匯編語言的基本語句是處理器指令。對於Intel 80x86系列微處理器,由於其屬￿複雜指令集計算機CISC,再加上幾十年發展的歷史沉澱,因此它的指令系統非常龐大和複雜。雖然作為本書的一個特色,介紹了Pentium 4及之前處理器的所有指令,但教材的重點教學內容卻是常用的簡單指令,全書的實例程序也主要採用各種處理器指令系統所共有的基本指令編寫。教師尤其應該注意這個問題,否則許多學生會面對繁雜的指令望而卻步、失去進一步學習的興趣。
各種高級語言程序設計的教學中,調試程序及程序的調試方法往往被忽略或回避,但作為低級程序語言的匯編語言不應避而不談。在匯編語言的教學過程中,可以利用調試程序的單步執行和斷點執行能力,直觀地理解指令和程序的功能,進而掌握程序的動態調試和排錯。對於專科層次或程度較低的學生,掌握調試程序本身就是一個似乎不可逾越的難關。一方面,教師可以通過多媒體教學手段,演示調試程序的使用;學生通過上機實踐學習調試程序。另一方面,本書自編了一個顯示輸出和鍵盤輸入的I/O子程序庫,教師和學生可以直接使用其中的子程序來編寫具有顯示結果的源程序,同時可以配合列表文件,暫時避開調試程序這個難點。這個I/O子程序庫可以作為一個教學案例,用於組織學習中有餘力的學生圍繞輸入輸出子程序庫進行項目開發。
教材在主體教學內容上保持了兼容,仍然遵循由淺入深、循序漸進的原則:先16位8086指令系統、基本匯編語言編程技術,然後介紹32位指令編程,並將匯編語言知識加深,從混合編程、浮點編程、多媒體編程等角度展開。
與前一版相比,本書保持整體結構不變,主要修改集中在前4章,對相關知識單元(或知識點)進行更清晰的描述,具體如下:
① 第1章:改寫第1.2節(數據表示),修改寄存器等部分內容,添加若干數據尋址的圖形、增寫第1.6.5節(數據尋址的組合)。
② 第2章:修改堆棧、符號擴展指令、指令尋址等部分內容,添加條件轉移、循環和子程序指令的若干圖形。
③ 第3章:改寫第3.1.1節(語句格式)和3.1.2節(源程序框架),強調源程序框架的作用,刪除第3、4、5章中示例程序的框架性語句。修改配套軟件包組成、增加64位平臺操作方法等。
④ 第4章:改寫第4.1節(順序程序設計),增加了多分支和循環的3個圖示。
⑤ 其他章:改寫第8.1.1節(浮點格式)、增寫舍入處理示例,第10章中補充64位寄存器圖示和一個64位Windows示例程序。
寫給學生
學習匯編語言到底有什麼用途?這是許多學生首先要提問的。
在計算機科學與技術的知識體系當中,“匯編語言程序設計”課程的教學內容屬￿計算機系統結構的一個方面。匯編語言配合“計算機組成原理”和“微機原理及接口技術”等相關課程,幫助學生從軟件角度理解計算機工作原理;同時,為“操作系統”、“編譯原理”等課程提供必須的基礎知識,也是自動控制等與硬件相關應用領域的程序設計基礎。“匯編語言程序設計”課程是繼“高級語言程序設計”後的又一門計算機語言程序設計課程,但匯編語言是一種低級語言。通過匯編語言的學習,學生能比較全面地瞭解程序設計語言,利於更深入地學習和應用高級語言。
隨著高級語言的發展、可視化開發工具的應用,匯編語言往往被應用程序開發人員忽略,其應用領域也逐漸萎縮。但是,作為一個面向機器的程序設計語言,匯編語言具有直接有效控制硬件的能力,能夠編寫出運行速度快、代碼量小的高效程序,在許多場合具有不可替代的作用,如操作系統的核心程序段、實時控制系統的軟件、智能儀器儀錶的控制程序、頻繁調用的子程序或動態連接庫、加密解密軟件、分析和防治計算機病毒,等等。
學習什麼樣的匯編語言呢?這是許多學生感到困惑的。
匯編語言與處理器指令系統相關,不同的處理器指令系統具有不同的匯編語言。但是,作為一個底層開發語言,它還是有許多共性的。從指令系統的典型性、實用性、編程環境以及教學內容連續性等方面考慮,Intel 80x86指令系統作為“匯編語言程序設計”課程的主要教學內容具有顯而易見的優勢,應成為計算機及相關學科的首選。
日常工作和學習中廣泛使用的個人微機(PC)採用Intel 8

目次

目 錄
第1章 匯編語言基礎知識 1
1.1 計算機系統概述 1
1.1.1 計算機的硬件 1
1.1.2 計算機的軟件 3
1.1.3 計算機的程序設計語言 3
1.2 數據表示 5
1.2.1 數制 5
1.2.2 數值的編碼 8
1.2.3 字符的編碼 10
1.3 Intel 80x86系列微處理器 13
1.3.1 16位80x86微處理器 13
1.3.2 IA-32微處理器 14
1.3.3 Intel 64處理器 15
1.4 微型計算機系統 16
1.5 8086微處理器 18
1.5.1 8086的功能結構 18
1.5.2 8086的寄存器 19
1.5.3 8086的存儲器組織 22
1.6 8086的尋址方式 25
1.6.1 8086的機器代碼格式 26
1.6.2 立即數尋址方式 27
1.6.3 寄存器尋址方式 28
1.6.4 存儲器尋址方式 28
1.6.5 數據尋址的組合 30
習題1 31
第2章 8086的指令系統 33
2.1 數據傳送類指令 33
2.1.1 通用數據傳送指令 33
2.1.2 堆棧操作指令 36
2.1.3 標誌傳送指令 38
2.1.4 地址傳送指令 39
2.2 算術運算類指令 39
2.2.1 狀態標誌 39
2.2.2 加法指令 41
2.2.3 減法指令 42
2.2.4 乘法指令 44
2.2.5 除法指令 44
2.2.6 符號擴展指令 45
2.2.7 十進制調整指令 46
2.3 位操作類指令 49
2.3.1 邏輯運算指令 49
2.3.2 移位指令 50
2.3.3 循環移位指令 51
2.4 控制轉移類指令 52
2.4.1 無條件轉移指令 53
2.4.2 條件轉移指令 54
2.4.3 循環指令 57
2.4.4 子程序指令 58
2.4.5 中斷指令 59
2.5 處理機控制類指令 61
習題2 63
第3章 匯編語言程序格式 68
3.1 匯編語言程序的開發 68
3.1.1 匯編語言程序的語句格式 68
3.1.2 匯編語言的源程序框架 70
3.1.3 匯編語言程序的開發過程 73
3.1.4 DOS系統功能調用 82
3.2 參數、變量和標號 84
3.2.1 數值型參數 84
3.2.2 變量定義偽指令 86
3.2.3 變量和標號的屬性 90
3.3 程序段的定義和屬性 92
3.3.1 DOS的程序結構 92
3.3.2 簡化段定義的格式 93
3.3.3 完整段定義的格式 97
3.4 複雜數據結構 100
3.4.1 結構 100
3.4.2 記錄 102
習題3 103
第4章 基本匯編語言程序設計 106
4.1 順序程序設計 106
4.2 分支程序設計 107
4.2.1 單分支結構 107
4.2.2 雙分支結構 108
4.2.3 多分支結構 109
4.3 循環程序設計 112
4.3.1 計數控制循環 113
4.3.2 條件控制循環 114
4.3.3 多重循環 115
4.3.4 串操作類指令 116
4.4 子程序設計 121
4.4.1 過程定義偽指令 122
4.4.2 子程序的參數傳遞 124
4.4.3 子程序的嵌套、遞歸和重入 127
4.4.4 子程序的應用 129
習題4 134
第5章 高級匯編語言程序設計 137
5.1 高級語言特性 137
5.1.1 條件控制偽指令 137
5.1.2 循環控制偽指令 139
5.1.3 過程聲明和過程調用偽指令 141
5.2 宏結構程序設計 143
5.2.1 宏匯編 144
5.2.2 重複彙編 149
5.2.3 條件彙編 150
5.3 模塊化程序設計 153
5.3.1 源程序文件的包含 153
5.3.2 目標代碼文件的連接 158
5.3.3 子程序庫的調入 160
5.4 輸入 / 輸出程序設計 162
5.4.1 輸入/輸出指令 163
5.4.2 程序直接控制輸入/輸出 164
5.4.3 程序查詢輸入/輸出 165
5.4.4 中斷服務程序 166
習題5 173
第6章 32位指令及其編程 176
6.1 32位CPU的指令運行環境 176
6.1.1 寄存器 177
6.1.2 尋址方式 179
6.1.3 機器代碼格式 180
6.2 32位擴展指令 182
6.2.1 數據傳送類指令 182
6.2.2 算術運算類指令 184
6.2.3 位操作類指令 185
6.2.4 串操作類指令 185
6.2.5 控制轉移類指令 186
6.3 DOS下的32位程序設計 189
6.4 32位新增指令 193
6.4.1 80386新增指令 193
6.4.2 80486新增指令 196
6.4.3 Pentium新增指令 197
6.4.4 Pentium Pro新增指令 201
6.5 用匯編語言編寫32位Windows應用程序 202
6.5.1 32位Windows應用程序的特點 203
6.5.2 32位Windows控制台程序 204
6.5.3 Windows應用程序的開發 208
6.5.4 創建消息窗口 209
6.5.5 創建窗口應用程序 210
習題6 217
第7章 匯編語言與C/C++的混合編程 221
7.1 Turbo C嵌入彙編方式 221
7.1.1 嵌入彙編語句的格式 222
7.1.2 彙編語句訪問C語言的數據 223
7.1.3 嵌入彙編的編譯過程 224
7.2 Turbo C模塊連接方式 225
7.2.1 混合編程的約定規則 225
7.2.2 彙編模塊的編譯和連接 227
7.2.3 混合編程的參數傳遞 228
7.2.4 匯編語言程序對C語言程序的調用 235
7.3 匯編語言在Visual C++中的應用 238
7.3.1 嵌入匯編語言指令 238
7.3.2 調用匯編語言過程 241
7.3.3 使用匯編語言優化C++代碼 245
7.3.4 使用Visual C++開發匯編語言程序 248
習題7 251
第8章 80x87浮點指令及其編程 254
8.1 浮點數據格式 254
8.1.1 實數和浮點格式 254
8.1.2 80x87的數據格式 257
8.2 浮點寄存器 259
8.3 浮點指令的程序設計 262
8.3.1 浮點傳送類指令 263
8.3.2 算術運算類指令 265
8.3.3 超越函數類指令 268
8.3.4 浮點比較類指令 269
8.3.5 FPU控制類指令 273
習題8 277
第9章 多媒體指令及其編程 280
9.1 MMX指令系統 280
9.1.1 MMX的數據結構 280
9.1.2 MMX指令 282
9.1.3 MMX指令的程序設計 289
9.2 SSE指令系統 291
9.2.1 SIMD浮點指令 291
9.2.2 SIMD整數指令 299
9.2.3 高速緩存優化處理指令 301
9.2.4 SSE指令的程序設計 302
9.3 SSE2指令系統 306
9.3.1 SSE2的數據類型 306
9.3.2 SSE2浮點指令 307
9.3.3 SSE2擴展指令 312
9.3.4 SSE2指令的程序設計 314
9.4 SSE3指令系統 316
9.4.1 SSE3指令 316
9.4.2 SSE3指令的程序設計 318
習題9 319
第10章 64位指令簡介 321
10.1 64位方式的運行環境 321
10.2 64位方式的指令 324
附錄A 調試程序DEBUG 328
A.1 DEBUG程序的調用 328
A.2 DEBUG命令的格式 328
A.3 DEBUG的命令 329
A.4 程序片段的調試方法 333
A.5 可執行程序文件的調試方法 334
A.6 使用調試程序的注意事項 336
附錄B 調試程序CodeView 338
B.1 CodeView的菜單命令 338
B.2 CodeView的窗口 340
B.3 CodeView的設置 342
B.4 使用CodeView的調試示例 343
附錄C 匯編程序MASM的偽指令和操作符 346
附錄D 80x86整數指令系統 347
附錄E 常見彙編錯誤信息 353
附錄F 輸入/輸出子程序庫 355
參考文獻 356

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 271
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區