《微計(jì)算機(jī)原理(第2版)》以得到最廣泛應(yīng)用的IA (Intel Architecture)-32結(jié)構(gòu)微處理器家族產(chǎn)品(即80x86/pentium系列)和PC系列微計(jì)算機(jī)為背景,系統(tǒng)地闡述了微處理器的基本工作原理、體系結(jié)構(gòu)、指令系統(tǒng)、匯編語(yǔ)言程序設(shè)計(jì)以及主存儲(chǔ)器、輸入/輸出接口芯片圍繞CPU組建微計(jì)算機(jī)/微處理器系統(tǒng)的基本組成原理、應(yīng)用技術(shù)和方法。 《微計(jì)算機(jī)原理(第2版)》共含8章。內(nèi)容覆蓋了IA-32結(jié)構(gòu)微處理器家族。重點(diǎn)從8086/8088入手,以對(duì)比、類(lèi)推的方式,從性能提升和指令擴(kuò)展角度出發(fā),將家族的后續(xù)產(chǎn)品盡致展現(xiàn)。《微機(jī)算機(jī)原理(第2版)》系統(tǒng)性強(qiáng),深入淺出,既有基本原理的闡述,又配有相應(yīng)的應(yīng)用實(shí)例。書(shū)中的程序都經(jīng)上機(jī)通過(guò),硬件連接實(shí)例都取于成功的系統(tǒng)。每章還附有習(xí)題,便于練習(xí)和掌握。 本書(shū)可作為高等院校、高等教育自學(xué)考試、職業(yè)教育和遠(yuǎn)程教育的工科電子類(lèi)非計(jì)算機(jī)專(zhuān)業(yè)的本科教材,同時(shí)也可供從事微處理器和微機(jī)應(yīng)用的研究生及科技人員學(xué)習(xí)和參考。
《微計(jì)算機(jī)原理(第2版)》共含8章。內(nèi)容覆蓋了IA-32結(jié)構(gòu)微處理器家族。重點(diǎn)從8086/8088入手,以對(duì)比、類(lèi)推的方式,從性能提升和指令擴(kuò)展角度出發(fā),將家族的后續(xù)產(chǎn)品盡致展現(xiàn)。《微機(jī)算機(jī)原理(第2版)》系統(tǒng)性強(qiáng),深入淺出,既有基本原理的闡述,又配有相應(yīng)的應(yīng)用實(shí)例。
第1章 概述?
1.1 計(jì)算機(jī)的基本結(jié)構(gòu)和工作原理?
1.1.1 計(jì)算機(jī)的基本結(jié)構(gòu)?
1.1.2 計(jì)算機(jī)的工作原理?
1.2 微處理器、微計(jì)算機(jī)、微處理器系統(tǒng)?
1.2.1 微處理器(Microprocessor)?
1.2.2 微計(jì)算機(jī)(Microcomputer)?
1.2.3 微處理器系統(tǒng)(Microprocessing System)?
1.3 微處理器的產(chǎn)生和發(fā)展?
1.4 IA?32結(jié)構(gòu)微處理器?
1.5 微計(jì)算機(jī)系統(tǒng)的組成?
1.5.1 硬件系統(tǒng)?
1.5.2 軟件系統(tǒng)?
1.5.3 微計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的特殊性?
1.6 典型微處理器系統(tǒng)結(jié)構(gòu)及工作原理?
1.6.1 系統(tǒng)連接?
1.6.2 典型微處理器的內(nèi)部結(jié)構(gòu)?
1.6.3 典型存儲(chǔ)器的內(nèi)部結(jié)構(gòu)?
1.6.4 簡(jiǎn)單程序的編制和執(zhí)行過(guò)程?
1.7 IA?32結(jié)構(gòu)的數(shù)據(jù)類(lèi)型?
1.7.1 常用的名詞術(shù)語(yǔ)?
1.7.2 數(shù)的表示法?
1.7.3 字符的表示法?
1.7.4 基本數(shù)據(jù)類(lèi)型?
1.8 微計(jì)算機(jī)實(shí)例?
1.8.1 IBM PC/XT微計(jì)算機(jī)?
1.8.2 奔騰4(P4)微計(jì)算機(jī)系統(tǒng)?
1.9 用匯編語(yǔ)言程序開(kāi)通自行設(shè)計(jì)的微處理器系統(tǒng)?
習(xí)題?
第2章 IA?32結(jié)構(gòu)微處理器及其體系結(jié)構(gòu)?
2.1 微處理器的主要性能指標(biāo)?
2.1.1 字長(zhǎng)?
2.1.2 指令數(shù)?
2.1.3 運(yùn)算速度?
2.1.4 訪存空間?
2.1.5 高速緩存大小?
2.1.6 虛擬存儲(chǔ)空間?
2.1.7 是否能構(gòu)成多處理器系統(tǒng)?
2.1.8 工藝形式及其他?
2.2 8086/8088微處理器?
2.2.1 8086的內(nèi)部結(jié)構(gòu)?
2.2.2 8086的寄存器結(jié)構(gòu)?
2.2.3 8086的引腳特性?
2.2.4 8088與8086的比較?
2.2.5 8086的時(shí)鐘和總線周期概念?
2.2.6 8086/8088的工作方式?
2.2.7 8086/8088的總線操作時(shí)序?
2.2.8 存儲(chǔ)器組織?
2.2.9 I/O端口組織?
2.3 80186/80188微處理器?
2.4 80286微處理器?
2.4.1 80286的主要性能?
2.4.2 80286的內(nèi)部結(jié)構(gòu)?
2.4.3 80286的寄存器結(jié)構(gòu)?
2.4.4 80286的地址方式?
2.4.5 80286的系統(tǒng)結(jié)構(gòu)?
2.5 80386微處理器?
2.5.1 80386的主要性能?
2.5.2 80386的內(nèi)部結(jié)構(gòu)?
2.5.3 80386的寄存器結(jié)構(gòu)?
2.5.4 80386的數(shù)據(jù)處理?
2.5.5 80386的工作方式?
2.6 80486微處理器?
2.7 Pentium和Pentium Pro微處理器?
2.7.1 Pentium微處理器?
2.7.2 Pentium Pro微處理器?
2.8 PentiumⅡ,PentiumⅢ及Pentium4微處理器?
2.8.1 PentiumⅡ微處理器?
2.8.2 Pentium Ⅲ微處理器?
2.8.3 Pentium 4微處理器?
習(xí)題?
第3章 80x86指令系統(tǒng)?
3.1 指令的基本格式?
3.2 尋址方式?
3.3 指令執(zhí)行時(shí)間?
3.4 8086/8088指令系統(tǒng)?
3.4.1 數(shù)據(jù)傳送(Data Transfer)類(lèi)指令?
3.4.2 算術(shù)運(yùn)算(Arithmatic)類(lèi)指令?
3.4.3 邏輯運(yùn)算與移位(Logic and shift)類(lèi)指令?
3.4.4 串操作(String Manipulation)類(lèi)指令?
3.4.5 控制轉(zhuǎn)移(Control Jump)類(lèi)指令?
3.4.6 處理器控制(Processor Control)類(lèi)指令?
3.5 中斷類(lèi)指令及PC DOS系統(tǒng)功能調(diào)用?
3.5.1 中斷及中斷返回指令?
3.5.2 8086的專(zhuān)用中斷?
3.5.3 PC DOS的系統(tǒng)功能調(diào)用與基本I/O子程序調(diào)用?
3.5.4 BIOS中斷調(diào)用?
3.5.5 返回DOS的方法及使用的中斷調(diào)用?
3.6 80286擴(kuò)充的指令?
3.6.1 對(duì)8086/8088某些指令功能的擴(kuò)充?
3.6.2 通用擴(kuò)充指令?
3.6.3 保護(hù)模式下的新增指令?
3.7 80386擴(kuò)充的指令?
3.7.1 對(duì)80286工作范圍擴(kuò)大的指令?
3.7.2 實(shí)地址模式下的擴(kuò)充指令?
3.7.3 保護(hù)模式下的特權(quán)指令?
3.8 80486擴(kuò)充的指令?
3.8.1 新增指令?
3.8.2 管理Cache的有關(guān)指令?
3.9 pentium CPU擴(kuò)充的指令?
習(xí)題?
第4章 匯編語(yǔ)言程序設(shè)計(jì)?
4.1 匯編語(yǔ)言和匯編程序?
4.1.1 匯編語(yǔ)言(Assembly Language)?
4.1.2 匯編程序(Assembler)?
4.2 MASM宏匯編語(yǔ)言程序的規(guī)范?
4.2.1 一個(gè)簡(jiǎn)單的匯編語(yǔ)言程序?
4.2.2 分段結(jié)構(gòu)?
4.2.3 語(yǔ)句的構(gòu)成與規(guī)范?
4.3 偽指令及其應(yīng)用?
4.3.1 數(shù)據(jù)定義及存儲(chǔ)器分配偽指令?
4.3.2 符號(hào)定義偽指令EQU和=?
4.3.3 標(biāo)號(hào)定義偽指令LABEL?
4.3.4 段定義偽指令SEGMENT/ENDS?
4.3.5 段尋址偽指令A(yù)SSUME?
4.3.6 過(guò)程定義偽指令PROC/ENDP?
4.3.7 程序計(jì)數(shù)器?GA1E7?和定位偽指令ORG?
4.4 結(jié)構(gòu)與記錄?
4.4.1 結(jié)構(gòu)?
4.4.2 記錄?
4.5 宏指令及其應(yīng)用?
4.5.1 宏指令的定義?
4.5.2 宏指令的使用——宏調(diào)用?
4.5.3 宏指令應(yīng)用舉例?
4.5.4 取消宏指令的偽指令PURGE?
4.5.5 定義局部標(biāo)號(hào)偽指令LOCAL?
4.6 指定處理器及段模式選擇偽指令?
4.6.1 指定處理器偽指令?
4.6.2 段模式選擇偽指令?
4.7 程序的基本設(shè)計(jì)方法?
4.7.1 匯編語(yǔ)言程序的設(shè)計(jì)步驟?
4.7.2 模塊化程序設(shè)計(jì)?
4.8 程序的基本結(jié)構(gòu)及基本程序設(shè)計(jì)?
4.8.1 程序的基本結(jié)構(gòu)?
4.8.2 順序結(jié)構(gòu)與簡(jiǎn)單程序設(shè)計(jì)?
4.8.3 條件結(jié)構(gòu)與分支程序設(shè)計(jì)?
4.8.4 循環(huán)結(jié)構(gòu)與循環(huán)程序設(shè)計(jì)?
4.8.5 子程序結(jié)構(gòu)與子程序設(shè)計(jì)?
4.9 實(shí)用程序設(shè)計(jì)實(shí)例?
4.9.1 代碼轉(zhuǎn)換程序?
4.9.2 BCD數(shù)運(yùn)算程序?
4.9.3 用邏輯尺控制對(duì)數(shù)組的處理?
4.9.4 表處理程序〖?
4.9.5 聲音和動(dòng)畫(huà)程序?
4.9.6 32位微處理器程序?
習(xí)題?
第5章 主存儲(chǔ)器?
5.1 半導(dǎo)體存儲(chǔ)器的分類(lèi)及特點(diǎn)?
5.1.1 半導(dǎo)體存儲(chǔ)器的分類(lèi)?
5.1.2 半導(dǎo)體存儲(chǔ)器的性能指標(biāo)?
5.1.3 半導(dǎo)體存儲(chǔ)器的特點(diǎn)?
5.2 隨機(jī)存取存儲(chǔ)器RAM?
5.2.1 靜態(tài)存儲(chǔ)器SRAM?
5.2.2 動(dòng)態(tài)存儲(chǔ)器DRAM?
5.3 只讀存儲(chǔ)器ROM?
5.3.1 固定掩膜編程ROM?
5.3.2 可編程PROM?
5.3.3 可擦除可編程EPROM?
5.4 新型存儲(chǔ)器?
5.4.1 快擦寫(xiě)Flash存儲(chǔ)器?
5.4.2 多端口讀寫(xiě)存儲(chǔ)器?
5.4.3 內(nèi)存條?
5.5 主存儲(chǔ)器系統(tǒng)設(shè)計(jì)?
5.5.1 存儲(chǔ)器芯片的選擇?
5.5.2 計(jì)算機(jī)系統(tǒng)中存儲(chǔ)器的地址分配?
5.5.3 存儲(chǔ)器芯片與CPU的連接?
5.5.4 存儲(chǔ)器的尋址方法?
5.5.5 線選法的應(yīng)用?
5.5.6 部分譯碼法的應(yīng)用?
5.5.7 芯片片選中全譯碼法的應(yīng)用?
5.5.8 3?8譯碼器芯片74LS138在存儲(chǔ)器芯片組織中的應(yīng)用?
5.5.9 小結(jié)?
習(xí)題?
第6章 輸入/輸出技術(shù)?
6.1 微機(jī)和外設(shè)間的輸入/輸出接口?
6.1.1 為什么需要接口電路?
6.1.2 接口電路中的信息?
6.1.3 接口電路的組成?
6.1.4 I/O端口的編址方式?
6.1.5 80x86系列微機(jī)I/O端口地址分配與地址譯碼?
6.2 輸入/輸出的控制方式?
6.2.1 程序控制方式?
6.2.2 中斷控制方式?
6.2.3 直接存儲(chǔ)器存取(DMA)控制方式?
6.3 DMA控制器8237A及應(yīng)用?
6.3.1 8237A的內(nèi)部結(jié)構(gòu)及與外部的連接)?
6.3.2 8237A的引腳特性〖?
6.3.3 8237A的內(nèi)部寄存器?
6.3.4 8237A的初始化編程?
6.3.5 8237A應(yīng)用舉例?
6.4 微計(jì)算機(jī)功能擴(kuò)展及總線標(biāo)準(zhǔn)?
6.4.1 微計(jì)算機(jī)功能擴(kuò)展?
6.4.2 總線標(biāo)準(zhǔn)?
6.4.3 ISA總線?
6.4.4 PCI局部總線?
6.4.5 USB總線?
習(xí)題?
第7章 微計(jì)算機(jī)的中斷系統(tǒng)?
7.1 中斷控制方式的優(yōu)點(diǎn)?
7.2 8086/8088的中斷機(jī)構(gòu)?
7.2.1 中斷源?
7.2.2 中斷過(guò)程?
7.2.3 中斷向量表的設(shè)置方法?
7.3 外部中斷?
7.3.1 NMI中斷?
7.3.2 INTR中斷?
7.4 中斷的優(yōu)先權(quán)管理?
7.4.1 軟件查詢(xún)方式?
7.4.2 菊花鏈法?
7.4.3 專(zhuān)用芯片管理方式?
7.5 可編程中斷控制器8259A?
7.5.1 8259A的引腳特性?
7.5.2 8259A的內(nèi)部結(jié)構(gòu)及工作原理?
7.5.3 8259A的工作方式?
7.5.4 8259A的級(jí)聯(lián)?
7.5.5 8259A的初始化命令字和操作命令字?
7.5.6 8259A應(yīng)用舉例?
7.6 IBM PC/XT微計(jì)算機(jī)的中斷系統(tǒng)?
7.7 386/486微計(jì)算機(jī)的中斷系統(tǒng)?
7.7.1 80386/80486 CPU的中斷機(jī)構(gòu)?
7.7.2 386/486微機(jī)的硬中斷控制系統(tǒng)?
習(xí)題?
第8章 可編程通用接口芯片?
8.1 可編程接口芯片?
8.1.1 可編程接口的組成及功能?
8.1.2 可編程接口芯片的分類(lèi)?
8.2 并行I/O接口8255A?
8.2.1 8255A的基本性能?
8.2.2 8255A的內(nèi)部結(jié)構(gòu)?
8.2.3 8255A的引腳特性及其與外部的連接?
8.2.4 8255A的控制字?
8.2.5 8255A的工作方式?
8.2.6 8255A用于A/D和D/A接口?
8.2.7 8255A應(yīng)用舉例?
8.3 串行通信接口?
8.3.1 串行接口及串行通信協(xié)議?
8.3.2 串行通信的物理標(biāo)準(zhǔn)?
8.3.3 可編程串行異步通信接口8250?
8.3.4 8250的初始化編程?
8.3.5 8250應(yīng)用舉例?
8.4 可編程定時(shí)器/計(jì)數(shù)器8253/8254?
8.4.1 8253的基本功能及用途?
8.4.2 8253的內(nèi)部結(jié)構(gòu)及工作原理?
8.4.3 8253的引腳特性及其與外部的連接?
8.4.4 8253的控制字?
8.4.5 8253的工作方式?
8.4.6 8253初始化編程?
8.4.7 8253應(yīng)用舉例?
8.4.8 8254與8253的比較?
習(xí)題?
附錄一 8086/8088指令系統(tǒng)一覽表?
附錄二 MASM 偽指令一覽表?
附錄三 中斷向量地址一覽表?
附錄四 DOS功能調(diào)用(INT 21H)?
附錄五 BIOS中斷調(diào)用?
附錄六 IBM PC ASCII 碼字符表?
附錄七 MASM 宏匯編程序出錯(cuò)信息?
附錄八 調(diào)試程序DEBUG的主要命令?
參考資料