組合語言
| 作者 | 數位新知 |
|---|---|
| 出版社 | 五南圖書出版股份有限公司 |
| 商品描述 | 組合語言:|本書特色|●循序漸進地導入觀念,強調理解而不只是列舉指令。●利用Windows內建的Debug工具輔助教學,直觀呈現記憶體配置與暫存器運用。●以實例驅動學習,讓 |
| 作者 | 數位新知 |
|---|---|
| 出版社 | 五南圖書出版股份有限公司 |
| 商品描述 | 組合語言:|本書特色|●循序漸進地導入觀念,強調理解而不只是列舉指令。●利用Windows內建的Debug工具輔助教學,直觀呈現記憶體配置與暫存器運用。●以實例驅動學習,讓 |
內容簡介 |本書特色| ● 循序漸進地導入觀念,強調理解而不只是列舉指令。 ● 利用Windows 內建的Debug 工具輔助教學,直觀呈現記憶體配置與暫存器運用。 ● 以實例驅動學習,讓你在操作中體會抽象概念的具體樣貌。 你是否曾好奇,電腦內部究竟如何從一串指令演變出「操作結果」? 本書帶你一路從零開始,解構CPU 的運作原理,藉由組合語言這扇窗,親眼看見硬體與軟體如何環環相扣。你將逐條指令向下拆解,理解資料在記憶體與暫存器之間穿梭的過程,從中建立扎實的硬體邏輯觀念。當你開始編寫自己的組合語言程式時,那些原本抽象的機制,終將在你腦中化為清晰流程。 本書專為初學者打造,選用80×86架構作為學習藍本,兼顧易於取得的開發環境與概念的完整呈現。內容編排從淺入深,步步推進;每一個核心議題都搭配大量範例與圖示輔助解釋,幫助你從觀念到實作無縫接軌,穩健地奠定組合語言的實力。
作者介紹 ◎數位新知主要從事電腦圖書編著及資訊課程教育學習平台研發,團隊是由多位專業作者組成,皆為長期從事資訊教育的工作者,故寫作的領域相當豐富多元,包括APCS大學先修程式檢測、程式語言、網頁設計、人工智慧、演算法、資料結構、影像處理、視訊剪輯、大數據、電競與遊戲設計、電子商務、網路行銷等現代資訊社會必備的各種課程。
產品目錄 目錄第一章 機器碼與組合語言 課前導讀閱讀建議1-1 簡化的處理器硬體架構1-2 機器碼的執行1-3 組合語言與高階語言1-4 學習組合語言的三個理由1-5 x86 CPU發展歷程課後練習第二章 數字系統與資料表示法 課前導讀閱讀建議2-1 位元與位元組2-2 數字系統2-3 進制轉換2-4 正負數表示2-5 電腦資料表示課後習題第三章 微電腦的基本架構 課前導讀閱讀建議3-1 微電腦的內部構造3-2 CPU的暫存器3-3 一般暫存器3-4 區段暫存器與指位暫存器3-5 堆疊(Stack)3-6 旗標暫存器3-7 區段記憶體管理3-8 儲存資料與位址到記憶體中3-9 定址模式課後練習第四章 用MASM來開發程式 課前導讀閱讀建議4-1 如何開發組合語言程式4-2 DEBUG的使用4-3 組合語言指令格式4-4 程式的結構4-5 MASM的結構4-6 啟動MASM4-7 MASM的額外檔案4-8 基礎MASM程式設計課後習題第五章 虛擬指令與資料傳送指令 課前導讀閱讀建議5-1 虛擬指令5-2 資料傳送指令課後習題第六章 算術邏輯指令 課前導讀閱讀建議6-1 算術指令6-2 邏輯指令課後習題第七章 字串及位元處理指令 課前導讀閱讀建議7-1 字串運算處理7-2 位元運算7-3 ASCII與BCD碼的轉換課後習題第八章 比較與流程控制指令 課前導讀閱讀建議8-1 CMP比較指令8-2 JMP無條件跳躍指令8-3 有條件跳躍指令8-4 旗標設定指令8-5 迴圈指令8-6 中斷應用課後習題第九章 MASM6.X的結構流程虛指令 課前導讀閱讀建議9-1 .IF-.ENDIF描述9-2 .IF-.ELSE-.ENDIF描述9-3 .IF─.ELSEIF─.ENDIF描述9-4 巢狀式判斷描述9-5 關係運算子9-6 .WHILE-.ENDW描述9-7 .REPEAT-.UNTIL描述9-8 .BREAK、.CONTINUE描述課後習題第十章 副程式的使用 課前導讀閱讀建議10-1 副程式的結構10-2 呼叫副程式10-3 呼叫檔內的副程式10-4 外部副程式10-5 參數傳遞10-6 副程式庫課後習題第十一章 巨集應用的使用 課前導讀閱讀建議11-1 巨集的定義11-2 巨集的參數傳遞11-3 INCLUDE指令的使用11-4 巨集之條件式組譯11-5 巨集與副程式課後習題第十二章 堆疊與定址法範例 課前導讀閱讀建議12-1 定址法範例12-2 用堆疊暫存資料範例12-3 用堆疊傳遞副程式參數範例課後習題第十三章 螢幕顯像控制 課前導讀閱讀建議13-1 DOS文字輸出13-2 BIOS螢幕輸出13-3 螢幕顯像原理13-4 BIOS INT 10H的螢幕處理13-5 Hercules繪圖模式13-6 VGA繪圖模式13-7 繪點程式13-8 顯示中文系統課後習題第十四章 輸入/出控制 課前導讀閱讀建議14-1 輸入控制14-2 輸出控制課後習題第十五章 四則運算 課前導讀閱讀建議15-1 加法運算15-2 減法運算15-3 乘法運算15-4 除法運算15-5 四則綜合運算課後習題第十六章 磁碟檔案管理 課前導讀閱讀建議16-1 磁碟架構16-2 磁碟系統區與資料區16-3 檔案管理16-4 檔案代碼管理16-5 檔案存取與屬性16-6 檔案處理課後習題第十七章 記憶體管理 課前導讀閱讀建議17-1 .COM檔的結構17-2 .EXE檔的結構17-3 程式前置區PSP17-4 記憶體配置17-5 ISR中斷服務課後習題第十八章 32位元暫存器簡介 課前導讀閱讀建議18-1 80386 80486介紹18-2 32位元CPU暫存器18-3 一般暫存器18-4 區段暫存器與指位暫存器18-5 EFLAG(延伸旗標暫存器)18-6 記憶體管理暫存器18-7 控制暫存器18-8 應用範例附錄A ASCII控制碼及相關字元集 附錄B BIOS中斷服務
| 書名 / | 組合語言 |
|---|---|
| 作者 / | 數位新知 |
| 簡介 / | 組合語言:|本書特色|●循序漸進地導入觀念,強調理解而不只是列舉指令。●利用Windows內建的Debug工具輔助教學,直觀呈現記憶體配置與暫存器運用。●以實例驅動學習,讓 |
| 出版社 / | 五南圖書出版股份有限公司 |
| ISBN13 / | 9786264420051 |
| ISBN10 / | |
| EAN / | 9786264420051 |
| 誠品26碼 / | 2683059257007 |
| 頁數 / | 560 |
| 裝訂 / | P:平裝 |
| 語言 / | 1:中文 繁體 |
| 尺寸 / | 23*17*2.8 |
| 級別 / | N:無 |
| 重量(g) / | 930 |
| 提供維修 / | 無 |
自序 : 序
現今的世界,知識累積的數量與更新的速度已非人們所能想像。以傳播知識的為使命的大學為因應這種情況,經常調整課程也是必然的。在電子與資工領域,有一門課程自從計算機誕生後,就屹立不搖,那就是組合語言。把組合語言視為電子與資工領域的必修課程,一點也不為過,但有些人會有以下的疑問,現今人們用來編寫程式的計算機語言都已是高階語言了,像C、Java、C#及VB等等,為什麼還要學組合語言?針對這個問題,我們做以下的回答。
機器碼才是計算機CPU最終可以接受並執行的指令,而且不同的機器碼會引發不同硬體電路的動作。然而要一位程式設計師以機器碼編寫程式,一定毫無效率可言。因為這個緣故,就有了高階語言的替代方案,也就是先以高階程式語言完成程式的編寫,然後再用軟體工具(編譯連結器)轉換成機器碼。高階語言隱藏了許多硬體電路的細節,縱然熟悉了某一高階語言也沒有辦法了解CPU的硬體架構。組合語言則剛好介於機器碼與高階語言之間,不似機器碼低階到難以理解與記憶,也不似高階語言把硬體的運作細節都隱藏了。
對於電子與資工領域的學生,了解CPU的硬體架構可以說是必要的,而學習組合語言對於了解CPU的硬體架構則具有絕對的幫助,因為一個組合語言的指令就幾乎相當於一個機器碼,程式設計師在進行指令的組合時,硬體的運作流程自然會在心裡形成,否則無法編寫出所要功能的組合語言程式。不同的CPU架構就會有不同的組合語言指令集,一般目的用途的CPU,像80×6,有它的組合語言指令集,特殊目的用途的CPU例如像TMS320C50這一類的數位信號處理器以及單晶片微控制器CPU(較正確的說法是MCU)像8051,同樣也有它們自己的組合語言指令集。幾乎所有的CPU都會提供對應的組合語言指令集及其開發環境,但並非都會提供高階語言的開發環境,這種情形又是組合語言可以發揮的地方。由以上的論述就可以知道為什麼到現在組合語言仍然是許多學系的必修課程了。
另外,由於80×6架構的CPU幾乎隨處可見,所以組合語言課程也都以80×6架構為目標進行課程內容設計。其實,對於一個組合語言的初學者,以哪一種CPU架構的組合語言為學習目標並沒有很大的差別,主要考慮的是架構與開發環境取得的方便性與教材內容的安排,能否清楚說明組合語言與CPU架構的一些重要概念。本書定位為學習組合語言的第一本書,考慮到方便性,因此以80×6為學習目標,在內容安排上則盡量做到循序漸進、由淺入深、並以大量的範例說明重要的概念。初學組合語言者只要耐著性子,一章一節,每個範例,按部就班閱讀,必定能為你的組合語言程式編寫能力奠定很好的基礎。
網際網路時代的學習,最佳方式是理解基礎知識之後,再把網際網路當做一座知識寶庫與問答庫進行進階學習。這是我們寫這本書的初衷。
最佳賣點 : |本書特色|
● 循序漸進地導入觀念,強調理解而不只是列舉指令。
● 利用Windows 內建的Debug 工具輔助教學,直觀呈現記憶體配置與暫存器運用。
● 以實例驅動學習,讓你在操作中體會抽象概念的具體樣貌。