匯編語言(Assembly Language)是面向機(jī)器的程序設(shè)計語言.匯編語言是一種功能很強(qiáng)的程序設(shè)計語言,也是利用計算機(jī)所有硬件特性并能直接控制硬件的語言。匯編語言”作為一門語言,對應(yīng)于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機(jī)器可執(zhí)行的代碼。高級的匯編器如MASM, TASM等等為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級語言。現(xiàn)在的匯編環(huán)境已經(jīng)如此高級,即使全部用匯編語言來編寫windows的應(yīng)用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機(jī)器硬件精確控制的程序。
在匯編語言中,用助記符(Mnemonic)代替操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替地址碼。這樣用符號代替機(jī)器語言的二進(jìn)制碼,就把機(jī)器語言變成了匯編語言。因此匯編語言亦稱為符號語言。
使用匯編語言編寫的程序,機(jī)器不能直接識別,要由一種程序?qū)R編語言翻譯成機(jī)器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)軟件。匯編語言編譯器把匯編程序翻譯成機(jī)器語言的過程稱為匯編。
匯編語言比機(jī)器語言易于讀寫、調(diào)試和修改,同時具有機(jī)器語言全部優(yōu)點。但在編寫復(fù)雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。
匯編語言的特點:
1.面向機(jī)器的低級語言,通常是為特定的計算機(jī)或系列計算機(jī)專門設(shè)計的。
2.保持了機(jī)器語言的優(yōu)點,具有直接和簡捷的特點。
3.可有效地訪問、控制計算機(jī)的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。
4.目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。
5.經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。
匯編語言的應(yīng)用:
目 錄
第1章 計算機(jī)系統(tǒng)概論
1.1 計算機(jī)的發(fā)展?fàn)顩r
1.1.1 計算機(jī)的發(fā)展
1.1.2 微處理器的發(fā)展
1.2 計算機(jī)的類別、特點及應(yīng)用
1.2.1 計算機(jī)的分類
1.2.2 計算機(jī)的特點
1.2.3 計算機(jī)的應(yīng)用
1.3 計算機(jī)系統(tǒng)的組成
1.3.1 計算機(jī)硬件系統(tǒng)
1.3.2 計算機(jī)軟件系統(tǒng)
1.3.3 計算機(jī)硬件系統(tǒng)和軟件系統(tǒng)的關(guān)系
1.4 計算機(jī)系統(tǒng)結(jié)構(gòu)
1.4.1 計算機(jī)系統(tǒng)的層次結(jié)構(gòu)
1.4.2 軟件與硬件的邏輯等價性
1.5 8086/8088宏匯編語言的基礎(chǔ)知識
1.5.1 進(jìn)位計數(shù)制及相互轉(zhuǎn)換
1.5.2 Intel 8086/8088微處理器簡介
1.5.3 主存儲器和堆棧
習(xí)題1
第2章 運算方法和運算器
2.1 數(shù)據(jù)與字符的機(jī)內(nèi)表示
2.1.1 數(shù)值數(shù)據(jù)在機(jī)內(nèi)的表示
2.1.2 非數(shù)值數(shù)據(jù)在機(jī)內(nèi)的表示
2.2 定點加法、減法運算
2.2.1 補(bǔ)碼加法運算
2.2.2 補(bǔ)碼減法運算
2.2.3 溢出概念及檢測方法
2.2.4 基本的二進(jìn)制加法/減法器
2.2.5 十進(jìn)制加法器
2.3 定點乘法運算
2.3.1 原碼1位乘法
2.3.2 補(bǔ)碼1位乘法
2.3.3 陣列乘法器
2.4 定點除法運算
2.4.1 原碼1位除法
2.4.2 補(bǔ)碼1位除法
2.4.3 陣列除法器
2.5 邏輯運算
2.5.1 邏輯非
2.5.2 邏輯或
2.5.3 邏輯與
2.5.4 邏輯異或
2.6 定點運算器的組成和結(jié)構(gòu)
2.6.1 多功能算術(shù)/邏輯運算單元(ALU)
2.6.2 內(nèi)部總線
2.6.3 定點運算器的基本結(jié)構(gòu)
2.7 浮點運算方法和浮點運算器
2.7.1 浮點加法和減法
2.7.2 浮點乘、除法運算
2.7.3 浮點運算器
習(xí)題2
第3章 存儲系統(tǒng)
3.1 存儲器概述
3.1.1 存儲器分類
3.1.2 存儲器的分級結(jié)構(gòu)
3.1.3 主存儲器的技術(shù)指標(biāo)
3.2 半導(dǎo)體讀寫存儲器
3.2.1 靜態(tài)MOS存儲器
3.2.2 動態(tài)MOS存儲器
3.2.3 雙極型存儲器
3.3 半導(dǎo)體只讀存儲器
3.3.1 掩膜式只讀存儲器(ROM)
3.3.2 可編程的只讀存儲器(PROM)
3.3.3 可擦可編程的只讀存儲器(EPROM)
3.4 高速存儲器
3.4.1 雙端口存儲器
3.4.2 多體交叉存儲器
3.4.3 相聯(lián)存儲器
3.5 高速緩沖存儲器
3.5.1 Cache的功能與基本原理
3.5.2 Cache存儲器的地址映象
3.5.3 替換策略
3.6 虛擬存儲器
3.6.1 虛擬存儲器的基本概念
3.6.2 頁式虛擬存儲器
3.6.3 段式虛擬存儲器
3.6.4 段頁式虛擬存儲器
3.6.5 替換算法
3.7 存儲保護(hù)
3.7.1 存儲區(qū)域保護(hù)
3.7.2 訪問方式保護(hù)
習(xí)題3
第4章 8086/8088尋址方式及指令系統(tǒng)
4.1 8086/8088尋址方式
4.1.1 操作數(shù)種類
4.1.2 與數(shù)據(jù)有關(guān)的尋址方式
4.1.3 與轉(zhuǎn)移地址有關(guān)的尋址方式
4.2 跨段及尋址綜合舉例
4.2.1 跨段的有關(guān)問題
4.2.2 尋址綜合舉例
4.3 8086/8088指令系統(tǒng)
4.3.1 數(shù)據(jù)傳送指令
4.3.2 算術(shù)運算指令
4.3.3 邏輯指令
4.3.4 串處理指令
4.3.5 控制轉(zhuǎn)移指令
4.3.6 處理機(jī)控制指令
4.4 8086/8088偽指令
4.4.1 8086/8088宏匯編語句格式
4.4.2 數(shù)據(jù)定義及存儲器分配偽指令
4.4.3 表達(dá)式賦值偽操作EQU
4.4.4 段定義偽操作
4.4.5 程序開始和結(jié)束偽操作
4.5 上機(jī)操作過程
4.5.1 匯編語言的工作環(huán)境
4.5.2 建立ASM文件
4.5.3 用MASM程序產(chǎn)生OBJ文件
4.5.4 LINK程序產(chǎn)生EXE文件
4.5.5 程序的執(zhí)行
習(xí)題4
第5章 中央處理器CPU
5.1 CPU的功能和結(jié)構(gòu)
5.1.1 CPU的功能
5.1.2 CPU的基本組成
5.1.3 操作控制器與時序產(chǎn)生器
5.2 指令的執(zhí)行過程和指令周期
5.2.1 指令周期的基本概念
5.2.2 非訪問主存儲器指令的指令周期
5.2.3 直接訪問主存儲器指令的指令周期
5.2.4 間接訪問主存儲器指令的指令周期
5.2.5 程序控制指令的指令周期
5.2.6 用方框圖語言表示指令周期
5.3 時序產(chǎn)生器和控制方式
5.3.1 時序信號的作用和體制
5.3.2 時序信號產(chǎn)生器
5.3.3 控制方式
5.4 微程序設(shè)計技術(shù)和微程序控制器
5.4.1 微程序設(shè)計技術(shù)
5.4.2 微程序控制器
5.5 硬布線控制器與門陣列控制器
5.5.1 硬布線控制器
5.5.2 門陣列控制器
5.6 CPU的基本常識及Intel系列CPU
5.6.1 CPU的基本常識
5.6.2 Intel系列CPU簡介
5.7 CPU新技術(shù)
5.7.1 流水CPU
5.7.2 RISC CPU
5.7.3 多媒體CPU
習(xí)題5
第6章 匯編程序設(shè)計及高級匯編語言技術(shù)
6.1 順序程序設(shè)計
6.2 分支程序設(shè)計
6.2.1 分支程序設(shè)計概述
6.2.2 分支程序設(shè)計
6.3 循環(huán)程序設(shè)計
6.3.1 循環(huán)程序設(shè)計概述
6.3.2 循環(huán)程序設(shè)計
6.4 子程序設(shè)計
6.4.1 子程序設(shè)計概述
6.4.2 子程序程序設(shè)計
6.5 宏匯編
6.5.1 宏的定義
6.5.2 宏的調(diào)用和展開
習(xí)題6
第7章 總線系統(tǒng)
7.1 概述
7.1.1 總線的基本概念
7.1.2 總線標(biāo)準(zhǔn)
7.1.3 總線傳送方式
7.1.4 總線仲裁
7.1.5 總線通信協(xié)議
7.1.6 總線負(fù)載能力
7.2 系統(tǒng)總線和局部總線
7.2.1 ISA總線
7.2.2 EISA總線
7.2.3 VESA總線
7.2.4 PCI總線
7.3 外部通信總線
7.3.1 RS 232C串行通信總線
7.3.2 通用串行總線USB
7.4 總線控制和通信
7.4.1 總線控制
7.4.2 總線通信
習(xí)題7
第8章 輸入/輸出及中斷系統(tǒng)
8.1 輸入/輸出接口概述
8.1.1 概述
8.1.2 信息交換方式
8.2 PC機(jī)I/O端口布局
8.2.1 I/O端口尋址方式
8.2.2 I/O端口地址分配
8.3 中斷系統(tǒng)
8.3.1 中斷的基本概念
8.3.2 中斷向量表
8.3.3 中斷處理過程
8.3.4 8259A中斷控制器
8.3.5 DOS系統(tǒng)功能調(diào)用
8.4 DMA控制器
8.4.1 DMA的基本知識
8.4.2 8237A 5 DMA控制器
8.4.3 8237A芯片編程舉例
8.5 可編程接口芯片及應(yīng)用
8.5.1 定時/計數(shù)器接口芯片8253應(yīng)用
8.5.2 串行接口芯片8251A
8.5.3 并行接口芯片8255A及其應(yīng)用
習(xí)題8
第9章 常用外設(shè)及其應(yīng)用
9.1 外部設(shè)備概述
9.2 顯示設(shè)備
9.2.1 顯示設(shè)備的分類及有關(guān)的概念
9.2.2 顯示技術(shù)中的有關(guān)術(shù)語
9.2.3 字符顯示器
9.2.4 圖形和圖像顯示器
9.2.5 IBM PC機(jī)的視頻子系統(tǒng)
9.3 輸入設(shè)備與打印設(shè)備
9.3.1 輸入設(shè)備
9.3.2 打印設(shè)備
9.4 磁盤子系統(tǒng)
9.4.1 硬盤系統(tǒng)
9.4.2 軟磁盤存儲器
9.4.3 磁盤系統(tǒng)操作原理
9.5 磁帶存儲設(shè)備
9.5.1 磁帶機(jī)的分類
9.5.2 磁帶機(jī)的結(jié)構(gòu)
9.5.3 磁帶機(jī)的發(fā)展動向
9.6 光盤存儲設(shè)備
9.6.1 光盤存儲器的種類
9.6.2 光盤存儲器的工作原理
9.6.3 磁光盤存儲器
9.6.4 光盤存儲器的組成
習(xí)題9
附錄A 8086 ASCII碼表
附錄B 調(diào)試程序DEBUG
附錄C BIOS功能調(diào)用
附錄D DOS功能調(diào)用
附錄E 8086指令系統(tǒng)
附錄F 8086偽指令表
參考文獻(xiàn)