1 / 13

第一章 微電腦系統介紹

第一章 微電腦系統介紹. 電腦內部硬體電路是由半導體電路所設計完成,這些半導體電路被設計成 二進制系統 0 與 1 ,來表示電子信號的低電位與高電位,稱之為數位電路。電腦 使用二進系統 0 與 1 ,來處理大量的資料,我們可以將二進資料編成指令碼來控 制電腦的運作,這些指令碼稱之為機械碼。但是對程式設計者而言,面對一群 無意義的機械碼,除了程式設計上的困難之外,日後的修改與維護,也是一大 障礙。如果我們將每一個指令碼都指定一個名稱 (name) ,在程式設計上將大大 地獲得改善。這些指令碼的名稱,稱之為助憶符號 (mnemonic) 。

Download Presentation

第一章 微電腦系統介紹

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第一章 微電腦系統介紹 電腦內部硬體電路是由半導體電路所設計完成,這些半導體電路被設計成 二進制系統0與1,來表示電子信號的低電位與高電位,稱之為數位電路。電腦 使用二進系統0與1,來處理大量的資料,我們可以將二進資料編成指令碼來控 制電腦的運作,這些指令碼稱之為機械碼。但是對程式設計者而言,面對一群 無意義的機械碼,除了程式設計上的困難之外,日後的修改與維護,也是一大 障礙。如果我們將每一個指令碼都指定一個名稱(name),在程式設計上將大大 地獲得改善。這些指令碼的名稱,稱之為助憶符號(mnemonic)。 每一個微處理機所提供的指令集(instruction set),都有一套自己的助憶符號 ,而使用這些指令所撰寫而成的程式,稱之為組合語言。因此在學習組合語言 之前,有必要先了解數字系統之十進制、二進制、八進制與十六進制的意義與 其之間的轉換。

  2. 第一章 微電腦系統介紹 1-1 十進制系統 十進制(Decimal)系統使用0到9十個阿拉伯數字來表示其數值。 1-2 二進制系統 二進制(Binary)系統使用0與1兩個數字來表示其數值。 1-3 八進制系統 八進制系統使用0到7共八個阿拉伯數字來表示其數值。 1-4         十六進制系統 十六進制系統使用0~9及A~F共16個數來表示其數值。

  3. 表1-1 進制比較表 第一章 微電腦系統介紹

  4. 表1-5 資料表示法 表1-6 段、頁、節之位元組數目 第一章 微電腦系統介紹 1-7 資料表示法 電腦最基本的資料單位為位元(bit),而電腦每次所存取資料的最小單位為 位元組(byte),利用不同數目位元所組合出來的資料單位及其大小,如表1-5所 示。此外,組合語言在處理資料時,將16個位元組稱為一段(paragraph;簡稱para) ,16個段(para)稱為一頁(page),256頁稱為一個節區(segment),詳如表1-6所示。

  5. 表1-7 位元組(byte)、字元組(word)資料表示範圍 第一章 微電腦系統介紹 1-8 組合語言數制表示法 組合語言的數值進制表示,是使用進制英文名稱的第一個英文字,加於數值 之後,來表示其進制單位。其中十進制(Decimal)使用『D』,亦可省略,二進制 (Binary)使用『B』,八進制(Octal)使用『O』,十六進制(Hexadecimal)使用『H』。 1-9 負數(補數)表示法 目前電腦使用「2補數表示法」來表示負數,其方法是將二進數值的每一個 位元先取「1補數」,即0變成1,1變成0,待所有位元皆取完1補數之後,最後 結果再加上1,即為負數之2補數表示法。

  6. 圖2-1 微電腦系統 第二章 中央處理器內部硬體結構介紹 微電腦系統,係由中央處理單元(Central Processing Unit;CPU)、記憶體(Memory) 與輸入/輸出(Input/Output;I/O)單元,三大部份所組成。其中CPU可分成兩部分, 即算術邏輯運算單元(Arithmatic and Logic Unit;ALU)及控制單元(Control Unit;CU)。 CPU負責指令碼的提取、解碼與執行算術或邏輯的運算,並且將運算結果儲存至 記憶體中,或是經由I/O輸出至外界週邊設備。記憶體單元提供存放程式與資料的 空間,而I/O則提供CPU與外界週邊設備或元件溝通的管道。 記憶體單元 輸入單元 算術邏輯單元 輸出單元 控制單元 資料匯流排 控制匯流排

  7. 第二章 中央處理器內部硬體結構介紹 2-1 中央處理器(CPU) 為了提高CPU的執行速度與效率,在CPU內部也有記憶體存在,稱之為暫存器 (Register),在8086/8088 CPU內部有14個16位元暫存器,共分為5組。 n一般用途暫存器:AX、BX、CX、DX n指標暫存器:SP、BP、IP n索引暫存器:SI、DI n區段暫存器:CS、DS、SS、ES n 旗標暫存器:FLAG

  8. 圖2-2 一般用途暫存器AX、BX、CX、DX 第二章 中央處理器內部硬體結構介紹 2-1-1 一般用途暫存器:AX、BX、CX、DX 一般用途暫存器除了可以當成16位元暫存器使用之外,也可以分成兩個8位元 暫存器來使用,即AX(AH、AL),BX(BH、BL),CX(CH、CL),DX (DH、DL)。其中H代表暫存器之高(High)位元組,L代表暫存器之低(Low)位元 組,如圖2-2所示。

  9. 第二章 中央處理器內部硬體結構介紹 2-1-2 指標暫存器:SP、BP、IP SP暫存器又稱為堆疊指標(Stack Pointer),堆疊(Stack)是一種資料的管理方法,而堆疊區也是記憶體的一部份。程式使用PUSH指令將資料存入堆疊區中,使用POP指令自堆疊區中取出資料,為一種先入後出(First In Last Out;FILO)的資料結構,另外一種資料管理的方法是佇列(Queue),為一種先入先出(First In First Out;FIFO)的資料結構。 BP暫存器又稱為基底指標(Base Pointer),BP暫存器與SP暫存器一樣,都可以作為堆疊的指標,所不同的是SP暫存器永遠指向堆疊區的頂端,只能存取堆疊區頂端的資料,而BP暫存器可以存取在堆疊區中的所有資料,我們可以利用堆疊區來傳送引數,再使用BP暫存器來存取。 IP暫存器又稱為指令指標(Instruction Pointer)暫存器,IP的內容控制程式執行的流程 ,CPU會依據IP的內容至記憶體相對位址上,提取指令碼執行。當CPU執行完一行指令時,IP即指向下一行即將被執行的指令,程式不可以直接使用MOV指令改變IP的內容,但程式流程控制指令,如JMP、CALL等,會改變IP的內容。

  10. 圖2-4 旗標暫存器FLAG 第二章 中央處理器內部硬體結構介紹 2-1-3 索引暫存器:SI、DI 索引(Index)暫存器常用於字串指令運算,其中SI是作為來源(Source)字串指標,而DI是作為目的(Destination)字串指標,索引暫存器也可用於索引定址法時之索引以存取記憶體內容。 2-1-4 區段暫存器:CS、DS、SS、ES 8088/8086有四個區段暫存器,分別為程式區段(Code Segment;CS)暫存器、資料區段(Data Segment;DS)暫存器、堆疊區段(Stack Segment;SS)暫存器,以及額外區段(Extra Segment;ES)暫存器。 2-1-5 旗標暫存器:FLAG 8088/8086的旗標為一16位元暫存器,如圖2-4所示。

  11. 圖2-5(a) 80386/486一般暫存器 圖2-5(b) 80386/486旗標暫存器 第二章 中央處理器內部硬體結構介紹 2-1-6 80386/80486暫存器

  12. 圖2-5(c) 80386/486指標、索引暫存器 圖2-5(d) 80386/486區段暫存器 第二章 中央處理器內部硬體結構介紹

  13. 圖2-6 記憶體結構 第二章 中央處理器內部硬體結構介紹 2-2 記憶體(Memory) 對電腦而言,記憶體(Memory)是由大量而連續排列的位元組(byte)所組成,而且 每一個位元組都有一個編號,稱之為位址(address),我們可以依據這些位址來存 取記憶體的內容。在實際定址模式下,80X86 CPU可以管理1M(1Mega=220)位元 組的記憶體空間,如果以十六進制表示其位址,即為00000H~FFFFFH, 如圖2-6所示。

More Related