您好,登錄后才能下訂單哦!
|
|
2.5 外部設備
計算機運行時的程序和數據以及所產生的的結果都要通過輸入/輸出設備與人交互,或者保存在大容量的外存儲器中,因此輸入/輸出設備(或簡稱外部設備)是計算機必不可少的組成部分,對外設進行有效的管理和信息傳輸是匯編語言的重要應用領域之一。
從圖2.1可見,外部設備與主機(微處理器和存儲器)的通信是通過外設接口進行的。每個接口包括一組寄存器。一般說來,這些寄存器有三種不同的用途:
1. 數據寄存器:用來存放要在外設和主機間傳送的數據,這種寄存器實際上起緩沖器的作用。
2. 狀態寄存器:用來保存外部設備或接口的狀態信息,以便微處理器在必要時測試外設狀態,了解外設的工作情況。
3. 命令寄存器:CPU給外設或接口的控制命令通過此寄存器送給外部設備。例如,CPU要啟動磁盤工作,必須發出啟動命令等。
各種外部設備都有以上三種類型的寄存器,只是每個接口所配備的寄存器數量是根據設備的需要確定的。
為了便于主機訪問外設,外設中的每個寄存器給予一個端口地址(又稱端口號),由這些端口地址組成了一個獨立于內存儲器的I/O地址空間。80x86的I/O地址空間可達64KB,所以端口地址的范圍是0000~FFFFH,用16位二進制代碼來表示。端口可以是8位或16位。
在80x86系列機中,由于I/O地址空間是獨立編址的,所以系統提供了訪問外設的輸入/輸出指令IN和OUT。
為了便于用戶使用外設,8086提供了兩種類型的例行程序供用戶調用。一種是BIOS(Basic Input/Output System),另一種是DOS(Disk Operating System)功能調用。它們都是系統編制的子程序,通過中斷方式轉入所需要的子程序去執行。用戶通過調用DOS或BIOS例行程序來實現對外設的訪問,降低了程序設計的復雜程度,縮短了開發周期。
【本章小結】
1.計算機系統
計算機系統包括硬件和軟件兩部分。硬件結構包括80X86微處理器、存儲器和I/O子系統,這三個主要部分由系統總線連接在一起。軟件分為系統軟件和應用軟件。操作系統是系統軟件的核心,主要對系統的硬、軟件資源進行管理,其中匯編程序是將匯編語言程序翻譯成機器語言程序的一種系統程序。
2.存儲器
存儲器以字節為單位存儲信息,一個字節單元對應一個地址編碼,地址碼用無符號整數來表示。8086微型機既能處理8位數據(字節),也能處理16位數據(字),字數據存儲在連續的兩個字節單元中。
存儲空間在邏輯上分為代碼段、數據段、附加段和堆棧段,每個段可尋址64KB,段的起始地址分別由段寄存器CS、DS、ES、SS給出,段內地址稱為偏移地址。
存儲器單元的物理地址(20位)的計算:物理地址=段地址×24+偏移地址。
存儲器的分段是很靈活的,各段之間可以相互獨立,也可以互相重疊。
3.8086寄存器組
8086寄存器按功能可分為:①通用數據寄存器(AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL)②指針及變址寄存器(SP、BP、SI、DI)③段寄存器(CS、DS、ES、SS)④專用寄存器(IP、FLAGS)
4.外部設備
外設接口負責微處理器對I/O設備的控制和信息的傳送,每個接口包括一組寄存器,分別存放控制信息、狀態信息和數據信息。
外設中的寄存器都分配一個端口地址,CPU與外設交換信息用兩條專門的輸入輸出指令IN和OUT來完成。
BIOS和DOS功能調用是系統提供給用戶的例行程序,這些例行程序給程序員提供了易于使用的直接對硬件操作的子功能,程序員編程時可直接中斷調用這些功能,而不必了解硬件操作的具體細節。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。