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