匯編語言(第2版)/高等院校精品課程係列教材

匯編語言(第2版)/高等院校精品課程係列教材 pdf epub mobi txt 電子書 下載 2025

鄭曉薇 著
圖書標籤:
  • 匯編語言
  • 計算機科學
  • 程序設計
  • 底層編程
  • x86
  • Intel
  • 教學教材
  • 高等教育
  • 精品課程
  • 第二版
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 機械工業齣版社
ISBN:9787111444503
版次:2
商品編碼:11388469
品牌:機工齣版
包裝:平裝
叢書名: 高等院校精品課程係列教材
開本:16開
齣版時間:2014-01-01
用紙:膠版紙
頁數:272
正文語種:中文

具體描述

內容簡介

  匯編語言是計算機專業的重要專業基礎課程,也是電子、通信及自動控製等相關專業計算機技術課程的內容。《匯編語言(第2版)/高等院校精品課程係列教材》以80X86係列微型計算機為基礎,以MASM5��0為匯編上機實驗環境,重點介紹Intel8086指令係統。《匯編語言(第2版)/高等院校精品課程係列教材》中實驗練習貫穿始終,在各章中布置瞭實驗任務模塊,並在第10章專門安排瞭綜閤性、設計性實驗內容,通過多層次的實驗訓練來加強讀者對各章內容的學習理解、融會貫通。
  《匯編語言(第2版)/高等院校精品課程係列教材》結構清晰,內容豐富,例題多樣,練習和習題針對性強,可以作為計算機專業匯編語言課程的教材(含實驗),或者作為其他專業相關課程的參考書和自學教材。

內頁插圖

目錄

前言
教學建議
第1章 基礎知識
1.1 匯編語言基本概念
1.2 計算機中數的錶示
1.2.1 進製轉換
1.2.2 進製運算
1.2.3 補碼運算
1.2.4 編碼
1.3 實例一揭開數的麵紗
1.3.1 數的正確錶示
1.3.2 數的符號問題
習題一
測驗一
第2章 計算機基本原理
2.1 馮·諾依曼計算機
2.1.1 馮·諾依曼計算機的原理
2.1.2 馮·諾依曼計算機的基本結構
2.2 微型計算機係統
2.2.1 微型計算機係統概念
2.2.2 微處理器
2.3 80X86寄存器
2.3.1 8086寄存器組
2.3.2 80X86寄存器組
2.4 內存儲器
2.4.1 物理地址與邏輯地址
2.4.2 存儲單元
2.4.3 存儲器分段
2.5 實例二進入計算機
2.5.1 調試工具DEBUG
2.5.2 實驗任務
習題二
測驗二
第3章 指令係統與尋址方式
3.1 匯編語言指令
3.1.1 機器指令
3.1.2 匯編指令
3.1.3 指令係統
3.2 指令的尋址方式
3.2.1 尋址方式
3.2.2 立即尋址方式
3.2.3 寄存器尋址方式
3.2.4 存儲器尋址方式
3.3 實例三尋找操作數
3.3.1 尋址方式的選擇
3.3.2 實驗示例
3.3.3 實驗任務
習題三
測驗三
第4章 匯編語言程序設計
4.1 匯編語言程序設計初步
4.1.1 第一個匯編語言程序
4.1.2 從源程序到可執行程序
4.2 僞指令
4.2.1 段定義僞操作
4.2.2 數據定義僞指令
4.2.3 其他僞指令
4.3 基本匯編指令
4.3.1 數據、棧及查錶
4.3.2 邏輯地址的獲得
4.3.3 符號位擴展
4.3.4 雙精度數運算
4.3.5 多字節數運算
4.3.6 混閤算術運算
4.3.7 十進製數運算
4.4 屏幕顯示和鍵盤輸入
4.4.1 DOS功能調用
4.4.2 直接寫顯存顯示字符
4.5 實例四帶彩色顯示的算術程序
4.5.1 簡化的程序結構
4.5.2 實驗示例
4.5.3 實驗任務
習題四
測驗四
第5章 分支程序設計
5.1 分支的概念
5.1.1 分支結構
5.1.2 分支程序例子
5.2 與分支有關的指令
5.2.1 轉移地址的尋址
5.2.2 條件轉移方式
5.3 位操作的分支程序
5.3.1 邏輯運算
5.3.2 測試指令TEST
5.3.3 移位操作
5.3.4 處理機控製指令
5.3.5 分支程序舉例
5.4 深入分析轉移特徵
5.4.1 內存空間分配
5.4.2 係統啓動
5.4.3 程序的加載
5.4.4 JMP轉移特徵
5.5 實例五走嚮分支
5.5.1 分支的選擇
5.5.2 菜單程序設計
5.5.3 用分支錶實現多路轉移
5.5.4 實驗示例
5.5.5 實驗任務
習題五
測驗五
第6章 循環程序設計
6.1 循環的概念
6.1.1 循環結構
6.1.2 循環程序例子
6.1.3 與循環有關的指令
6.2 循環指令
6.2.1 LOOP
6.2.2 LOOPZ/LOOPE
6.2.3 LOOPNZ/LOOPNE
6.3 串處理
6.3.1 串的概念
6.3.2 串處理例子
6.3.3 串處理指令
6.3.4 串與循環
6.4 多重循環
6.4.1 多重循環結構
6.4.2 排序程序
6.5 循環程序舉例
6.6 實例六循環之循環
6.6.1 循環的執行
6.6.2 實驗示例
6.6.3 實驗任務
習題六
測驗六
第7章 子程序設計
7.1 子程序的概念
7.1.1 主程序和子程序
7.1.2 一個改造的例子
7.2 調用和返迴
7.2.1 調用指令CALL
7.2.2 返迴指令RET
7.3 過程定義
7.3.1 僞指令PROC
7.3.2 過程屬性
7.4 現場保護
7.5 子程序參數傳遞
7.5.1 寄存器傳參
7.5.2 存儲單元傳參
7.5.3 堆棧傳參
7.6 嵌套與遞歸
7.6.1 子程序嵌套
7.6.2 子程序遞歸
7.7 實例七子程序與模塊化
7.7.1 模塊化結構
7.7.2 實驗示例
7.7.3 實驗任務
習題七
測驗七
第8章 宏匯編及多模塊技術
8.1 宏
8.1.1 宏定義
8.1.2 宏調用
8.1.3 宏展開
8.1.4 宏與子程序
8.1.5 宏的參數
8.1.6 宏運算
8.2 其他宏功能
8.2.1 宏標號
8.2.2 宏刪除
8.2.3 宏嵌套
8.2.4 宏庫建立與調用
8.3 結構僞操作
8.4 重復匯編和條件匯編
8.4.1 重復匯編
8.4.2 條件匯編
8.5 多模塊結構
8.5.1 多個代碼段下的模塊
8.5.2 模塊的參數設置
8.6 實例八宏與多模塊
8.6.1 多模塊設計
8.6.2 一個段的模塊
8.6.3 實驗示例
8.6.4 實驗任務
習題八
測驗八
第9章 中斷程序設計
9.1 中斷的概念
9.1.1 軟件中斷
9.1.2 硬件中斷
9.1.3 中斷類型與中斷嚮量
9.1.4 中斷過程
9.2 定製自己的中斷
9.2.1 軟件中斷子程序的編寫
9.2.2 中斷的設置
9.2.3 軟件中斷的觸發與處理
9.2.4 對除0中斷的修改
9.3 BIOS中斷
9.3.1 屏幕及光標控製INT10H
9.3.2 鍵盤中斷INT16H
9.3.3 時鍾中斷INT1AH
9.4 DOS中斷
9.4.1 DOS顯示功能調用
9.4.2 DOS鍵盤功能調用
9.4.3 DOS日期、時間功能調用
9.5 實例九中斷程序應用
9.5.1 時間與計數
9.5.2 實驗示例
9.5.3 實驗任務
習題九
測驗九
第10章 綜閤實驗
10.1 I/O端口實驗
10.1.1 I/O端口地址
10.1.2 IN指令和OUT指令
10.1.3 讀取CMOS時鍾
10.2 隨機數實驗
10.2.1 用CMOS時鍾産生隨機數
10.2.2 用DOS時間功能齣算術題
10.3 圖形動畫實驗
10.3.1 文本模式下的圖形動畫
10.3.2 圖形模式下的繪圖與動畫
10.4 磁盤文件讀寫實驗
10.4.1 文件操作的DOS係統調用
10.4.2 磁盤文件讀寫示例
10.5 綜閤實驗題目
10.5.1 實驗一CMOS時間和日期
10.5.2 實驗二英文打字練習軟件
10.5.3 實驗三英文填字遊戲軟件
10.5.4 實驗四設計一個小計算器
10.5.5 實驗五小學生算術練習軟件
10.5.6 實驗六進製及編碼轉換工具
10.5.7 實驗七繪製圖形動畫
10.5.8 實驗八磁盤文件
附錄A 8086指令係統錶
附錄B 匯編齣錯提示信息
附錄C DEBUG的用法
附錄D 各章 測驗答案
參考文獻

前言/序言


《匯編語言(第2版)/高等院校精品課程係列教材》圖書簡介 本書籍,即《匯編語言(第2版)/高等院校精品課程係列教材》,是一本麵嚮高等院校計算機科學與技術、軟件工程等相關專業學生精心編寫的教材。其核心目標在於係統性地傳授匯編語言的知識體係,培養讀者對計算機底層工作原理的深刻理解,以及掌握利用匯編語言進行程序設計的能力。作為“高等院校精品課程係列教材”的一員,本書力求內容嚴謹、結構清晰、易於學習,並緊密結閤當前計算機技術的發展趨勢與教學需求。 一、 內容深度與廣度 本書內容涵蓋瞭匯編語言的方方麵麵,從基礎的指令集介紹到復雜的程序設計實踐,力求為讀者構建一個全麵而紮實的匯編語言知識框架。 基礎概念與體係結構: 計算機體係結構基礎:在深入講解匯編語言之前,本書首先會迴顧並介紹計算機的基本組成,包括CPU、內存、輸入/輸齣設備等,以及它們之間如何通過總綫進行數據傳輸和控製。這部分內容旨在為讀者建立一個宏觀的計算機工作模型,為理解匯編指令的操作對象和方式奠定基礎。 二進製與十六進製錶示:匯編語言直接操作二進製數據,因此,對二進製、八進製、十進製以及十六進製之間的相互轉換,以及它們在計算機中如何錶示整數、浮點數等,是理解匯編語言的基礎。本書將詳細講解這些概念,並提供豐富的練習。 數據類型與尋址模式:匯編語言中存在多種數據類型,如字節(byte)、字(word)、雙字(doubleword)等。理解這些數據類型的大小和內存錶示方式至關重要。同時,本書將深入探討各種尋址模式,包括立即數尋址、寄存器尋址、直接尋址、寄存器間接尋址、基址尋址、變址尋址、基址變址尋址以及相對基址變址尋址等。透徹理解尋址模式是編寫高效且靈活的匯編代碼的關鍵。 核心指令集與操作: 數據傳輸指令:本書將詳細介紹各類數據傳輸指令,如`MOV`(move)、`PUSH`(push)、`POP`(pop)、`XCHG`(exchange)等。這些指令是匯編語言中最基本也是最常用的指令,用於在寄存器、內存和棧之間搬運數據。 算術與邏輯指令:涵蓋加法(`ADD`)、減法(`SUB`)、乘法(`MUL`)、除法(`DIV`)、邏輯與(`AND`)、邏輯或(`OR`)、邏輯異或(`XOR`)、取反(`NOT`)、移位(`SHL`、`SHR`、`SAL`、`SAR`)和循環移位(`ROL`、`ROR`、`RCL`、`RCR`)等指令。這些指令構成瞭程序進行計算和判斷的基礎。本書將著重講解指令的語法、操作數、標誌位的影響以及實際應用場景。 控製轉移指令:包括無條件跳轉(`JMP`)、條件跳轉(如`JE`、`JNE`、`JG`、`JL`等)、調用子程序(`CALL`)和返迴子程序(`RET`)等。這些指令是實現程序流程控製、實現循環和分支判斷的核心。本書將深入分析不同條件跳轉指令的工作原理,以及`CALL`和`RET`指令在棧幀管理中的作用。 字符串與位操作指令:對於需要處理字符串和位信息的場景,本書會介紹相關的指令,如字符串拷貝(`MOVS`)、字符串比較(`CMPS`)、掃描(`SCAS`)、查找(`LODS`)、存儲(`STOS`)以及位操作指令等。 處理器控製指令:介紹如中斷(`INT`)、中斷返迴(`IRET`)、標誌位操作(`STC`、`CLC`、`CMC`、`STD`、`CLD`)以及等待(`WAIT`)等指令,這些指令用於控製處理器的狀態和響應外部事件。 程序設計方法與實踐: 宏定義與段:講解如何使用宏(macro)來簡化重復性的代碼段,提高代碼的可讀性和可維護性。同時,詳細介紹匯編程序中的段(segment)概念,如代碼段(.code)、數據段(.data)、堆棧段(.stack)等,以及它們在內存管理中的作用。 子程序設計:深入講解子程序(subroutine)的設計、調用和返迴機製,包括參數傳遞(通過寄存器或棧)、局部變量的使用以及返迴值。這部分內容對於組織大型匯編程序至關重要。 棧(Stack)的使用:棧在匯編程序設計中扮演著極其重要的角色,本書將詳細講解棧的結構、`PUSH`和`POP`指令的使用,以及它在函數調用、中斷處理和臨時數據存儲中的應用。 輸入/輸齣(I/O)操作:介紹如何通過特定的端口或中斷來與外部設備進行交互,實現程序的輸入和輸齣功能。本書將結閤實際的硬件接口(例如,PC機上的常用端口)進行講解。 中斷與異常處理:講解中斷(interrupt)的原理,包括中斷嚮量錶、中斷服務程序(ISR)以及如何編寫自定義的中斷處理程序。同時,也會涉及一些常見的異常情況和處理方法。 內存管理:探討匯編語言層麵如何訪問和管理內存,包括內存分段、偏移地址的計算以及動態內存分配的基本概念。 高級主題與應用: 浮點運算:如果涉及,本書會介紹處理浮點數的指令集(例如x87 FPU指令或SSE/AVX指令),以及相應的浮點數運算原理和編程技巧。 多任務與綫程(可選):針對部分進階內容,可能會介紹在匯編層麵如何實現簡單的多任務調度或與操作係統交互以創建綫程。 與高級語言的接口:講解如何將匯編代碼嵌入到C/C++等高級語言程序中,以及它們之間如何進行數據交換和函數調用。這部分內容對於理解現有係統的底層實現和進行性能優化尤為重要。 典型應用場景分析:通過分析操作係統內核、設備驅動程序、嵌入式係統、遊戲開發中的圖形渲染、高性能計算等典型應用場景,展示匯編語言在實際工程中的價值和應用。 二、 教材特色與教學理念 本書的編寫遵循以下幾項核心原則,旨在提供卓越的學習體驗: 理論與實踐相結閤:本書不僅注重理論知識的講解,更強調動手實踐。每一章都配有大量的代碼示例,這些示例力求精煉、典型,並能清晰地展示所學概念。同時,本書也提供瞭豐富的課後習題,涵蓋瞭概念理解、代碼編寫、程序調試等多個層麵,幫助讀者鞏固所學知識。 循序漸進,由淺入深:本書的章節安排邏輯清晰,從最基礎的概念齣發,逐步深入到更復雜的技巧和應用。對於初學者來說,可以按照章節順序穩步學習;對於有一定基礎的學習者,也可以根據需要查閱特定章節。 現代化與實用性:本書緊密結閤現代計算機體係結構(如x86-64架構)和主流的匯編語言開發工具(如NASM、MASM、GAS等)。雖然匯編語言的指令集可能有所差異,但本書會重點介紹最常用和最具代錶性的指令集,並講解通用的編程思想,使其具有較強的跨平颱適應性和實用價值。 麵嚮精品課程的定位:作為“高等院校精品課程係列教材”,本書在內容組織、深度、難度以及習題設計上都充分考慮瞭高校教學的要求。其內容覆蓋瞭多數高校開設匯編語言課程的標準教學大綱,能夠很好地滿足課堂教學、自學以及考試需求。 易讀性與清晰性:本書的語言力求簡潔明瞭,避免使用過於晦澀的術語。關鍵概念會通過圖示、錶格和類比進行解釋,提高內容的直觀性和易理解性。代碼示例的注釋也十分詳細,方便讀者理解每一行代碼的含義和作用。 三、 目標讀者 本書適閤以下讀者群: 計算機科學與技術、軟件工程、電子工程等相關專業的本科生和研究生:作為必修或選修課程的教材,為學生打下堅實的底層計算基礎。 對計算機底層原理感興趣的開發者:希望深入理解程序是如何在硬件上運行,以及如何進行性能優化。 係統程序員、嵌入式係統開發者:需要直接操作硬件、進行低級編程或開發驅動程序的專業人士。 對計算機組成原理、操作係統原理有深入學習需求的學生:匯編語言是理解這些學科的關鍵基礎。 四、 總結 《匯編語言(第2版)/高等院校精品課程係列教材》不僅是一本技術書籍,更是一扇通往計算機世界深層奧秘的窗口。通過係統學習本書,讀者將能夠掌握匯編語言這一強大的工具,深刻理解計算機的工作機製,為未來在各個計算機領域的學習和職業發展奠定堅實的基礎。本書緻力於培養學生的邏輯思維能力、問題分析能力和解決問題的實踐能力,使其能夠從更宏觀和更微觀的視角審視和構建軟件係統。

用戶評價

評分

從一個完全不懂匯編語言的角度來說,這本書的內容著實是把我拉進瞭一個全新的世界。我一直以為編程就隻是寫寫 C++ 或者 Python,沒想到在它們之下,竟然還有這麼一個“基石”般的存在。一開始,我被書中那些看起來像是亂碼一樣的指令嚇住瞭,比如 `MOV AX, BX` 這樣的,完全不知道它在乾什麼。但隨著我耐心地讀下去,書中的解釋一點點地打消瞭我的疑慮。作者似乎很瞭解初學者會遇到什麼睏難,所以總是在關鍵的地方給齣詳細的提示和解釋。 特彆值得一提的是,書中對於一些核心概念的闡述,比如寄存器、內存尋址、中斷等等,都寫得非常透徹。我印象最深的是關於中斷的部分,作者用瞭一個生動的比喻,讓我立刻就理解瞭中斷是如何工作的,以及它在操作係統中扮演的角色。以前我覺得這些概念離我好遠,但通過這本書,我仿佛看到瞭計算機內部的“心跳”和“呼吸”。我還在書的幫助下,嘗試著寫瞭一些簡單的程序,比如計算兩個數的和,或者在屏幕上顯示一些字符,雖然很簡單,但那種親手“觸碰”到計算機底層邏輯的感覺,真的非常奇妙。這本書讓我對計算機的理解不再停留在錶層,而是有瞭更深層次的認識。

評分

當我收到這本書的時候,我其實對匯編語言瞭解不多,隻是知道它和底層的機器碼很接近。翻開書的第一頁,我就被裏麵的內容吸引住瞭。作者並沒有一開始就講那些復雜的指令,而是先從計算機最基本的概念講起,比如二進製、十六進製,還有我們熟悉的CPU是什麼樣的,它裏麵有哪些重要的部件。這種循序漸進的方式,讓我這個完全的“小白”也能跟上節奏,一點點地理解匯編語言背後的邏輯。 最讓我覺得有意思的是,書中不僅僅是在講解匯編的知識,更是在教我如何去“思考”問題。比如,當我們需要讓計算機做一件事情時,在匯編語言層麵,我們具體需要告訴CPU哪些指令,需要用到哪些寄存器,數據又是如何從內存中讀取和存儲的。書中有很多小例子,我跟著例子一步步地操作,感覺就像是在和電腦對話一樣。特彆是關於如何調試程序的章節,作者分享瞭很多實用的技巧,讓我不再害怕程序齣錯,而是能夠主動地去尋找和解決問題。這本書讓我覺得,匯編語言並不是高不可攀的,隻要掌握瞭方法,一樣可以寫齣有用的程序,並且能更深入地理解計算機的運行機製。

評分

說實話,一開始我拿到這本書,是帶著一種“試試看”的心態。我之前對匯編語言的印象一直停留在“難懂”、“枯燥”、“過時”這些標簽上,總覺得它隻屬於那些非常資深的程序員或者研究操作係統底層的人。然而,《匯編語言(第2版)》這本書,卻在很大程度上顛覆瞭我的認知。它並沒有迴避匯編語言的復雜性,而是用一種非常係統化的方式,將它分解成一個個易於理解的部分。 我尤其欣賞書中對各種指令的講解,不是簡單地羅列,而是會給齣實際的應用場景,以及不同指令之間的比較和選擇。比如,在講解跳轉指令時,作者會分析在不同情況下應該選擇哪種跳轉指令,以及它們之間的性能差異。這種深入的分析,讓我覺得這本書不僅僅是在教我“怎麼做”,更是在教我“為什麼這麼做”。而且,書中的一些章節,比如關於程序的鏈接和加載,以及匯編語言在嵌入式係統中的應用,都讓我看到瞭匯編語言的生命力,它並不是一個被時代淘汰的技術,而是在很多關鍵領域依然發揮著不可替代的作用。通過這本書,我開始重新審視匯編語言的價值,也讓我對其産生瞭濃厚的興趣。

評分

作為一名有一定編程基礎的讀者,我一直想深入瞭解計算機的底層工作原理,而匯編語言無疑是連接高級語言和硬件之間的橋梁。這本書的到來,恰好滿足瞭我的這個需求。我之前也翻閱過一些關於匯編語言的書籍,但總覺得它們要麼過於理論化,要麼過於簡略。而《匯編語言(第2版)》則在深度和廣度上都做得非常齣色。 它不僅詳細講解瞭各種匯編指令的語法和功能,更重要的是,它深入剖析瞭指令的執行過程,以及它們如何影響CPU的狀態。書中對於內存管理、堆棧操作、過程調用等核心概念的講解,都非常到位,邏輯清晰,條理分明。我特彆喜歡書中關於“宏”和“僞指令”的章節,這些內容在其他教材中可能不會被提及,但在實際的匯編編程中卻非常有用。通過學習這些,我能夠寫齣更高效、更易於維護的匯編代碼。這本書就像一把鑰匙,為我打開瞭理解計算機體係結構和操作係統原理的大門,讓我對計算機的整體運作有瞭更深刻的認識。

評分

這本書的齣現,真是我在學習匯編語言這條道路上的一劑強心針!在此之前,我對這個領域幾乎是一無所知,感覺它就像一個古老的、晦澀難懂的迷宮,充滿瞭各種符號和指令,讓人望而卻步。然而,當我翻開《匯編語言(第2版)》時,這種恐懼感瞬間消散瞭不少。作者用一種非常清晰、循序漸進的方式,將那些原本抽象的概念具象化,讓我這個初學者也能窺見其中的奧妙。 最讓我印象深刻的是,它並沒有一股腦地拋齣大量的理論知識,而是將理論與實踐緊密地結閤起來。書中大量的代碼示例,雖然一開始看起來有點眼花繚亂,但通過作者的詳細解釋,我逐漸明白瞭每一行代碼的含義,以及它們是如何協同工作的。特彆是那些針對不同指令集和處理器架構的講解,讓我意識到匯編語言的強大之處在於其對底層硬件的直接控製能力。我嘗試著跟著書中的例子去敲代碼、去運行、去調試,這個過程雖然充滿挑戰,但每當我成功運行一段代碼,看到預期的結果時,那種成就感是無與倫比的。這本書不僅僅是知識的傳授,更是一種思維方式的引導,它教會瞭我如何去思考計算機是如何工作的,如何去理解程序的執行過程,這對我後續學習更高級的編程語言也起到瞭至關重要的作用。

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有