PC並口的暫存器

2021-04-25 10:03:30 字數 1009 閱讀 1310

pc並口的暫存器

本文摘自王洪輝老師的《嵌入式系統linux核心開發實戰指南(arm平台)》一書

pc上的程式通過訪問並口的i/o埠暫存器來訪問、控制並口的管腳訊號,這些埠包括資料埠、狀態埠和控制埠,其中每個埠都有自己的埠號,相當於它們的位址。程式通過埠號來訪問埠暫存器。

pc並口1的資料埠號為3bch,狀態埠號為3bdh,控制埠號為3beh;

pc並口2的資料埠號為378h,狀態埠號為379h,控制埠號為37ah;

pc並口3的資料埠號為278h,狀態埠號為279h,控制埠號為37ah;

1)資料暫存器

資料暫存器(d0~d7)也叫資料埠,它儲存了寫到資料埠管腳的一位元組資料。資料埠可以寫入資料(輸出),也可以讀出資料(輸入)。寫入的資料是從資料埠管腳輸出的資料,讀出來的資料是我們上次寫入資料埠的資料或者原來保留在裡面的資料,並不是從埠管腳輸入pc的資料。資料埠對應的管腳是pin2~pin9,資料暫存器定義如表10-2所示。

2)狀態暫存器

狀態暫存器(s0~s7)又叫狀態埠,它儲存的是5個輸入(s3~s7)管腳的邏輯狀態,s0~s2位不與管腳對應。除了s0以外,狀態暫存器是唯讀的,讀出資料資訊是狀態埠管腳上的邏輯狀態。s0是支援epp傳輸並口的超時標誌資訊,可以用軟體方法清零。在許多並口中,狀態輸入接有上拉電阻。狀態埠對應的管腳是pin10~pin13、pin15。狀態暫存器定義如表10-3所示。

3)控制暫存器

控制暫存器(c0~c8)又叫控制埠,它儲存了c0~c3的4位的控制資訊,c4~c7不與管腳對應,這些位一般被用來輸出;但在大多數spp並口中,控制位為集電極開路/漏極開路模式,也就是說,它們同樣可以用作輸入。要從控制位上讀取外部邏輯訊號,首先將相應的輸出寫入「1」,然後讀取控制暫存器的值即可。但是,為了提高交換速度,大多數支援epp和ecp模式的並口,控制位工作在不能用作輸入的推拉模式下。在一些多模式介面中,控制位採用的是改進型的推拉模式,可以用作輸入。控制埠對應的管腳是pin1、pin14、pin16和pin17。控制暫存器定義如表10-4所示。

暫存器(通用暫存器)

因為學習使用的是王爽的 組合語言 第3版 因此也只能提到8086cpo的暫存器。對於其他而言,原理都是相通的。對於8086暫存器,有14個暫存器,主要是 ax bx cx dx si di sp bp ip cs ss ds es psw。一 通用暫存器 8086的通用暫存器有ax bx cx dx...

暫存器,標誌暫存器

涉及硬體傳輸資料的,往往包含以下內容 1.資料傳輸引腳 資料放 2.控制引腳 怎麼控制 3.狀態引腳 結果如何 暫存器相當於cpu內部的儲存單元,可能是連續排列,相當於 c語言中的陣列。一 8個通用暫存器 16 bit accumulate axah alr0 count cxch clr1 dat...

ARM彙編中PC暫存器詳解

近日,在研究一些開源native層hook方案的實現方式,並據此對arm彙編層中容易出問題的一些地方做了整理,以便後來人能有從中有所收穫並應用於現實問題中。當然,文中許多介紹參考了許多零散的文章,本文重點工作在於對相關概念的整理收集,並按相對合理順序引出後文中對hook技術中的一些難點的解讀。and...