2013-11-25 72 views
0

我正在查看芯片的存儲器映射,並且我看到PORTA被指定爲十六進制0000的地址。PORTB的地址爲十六進制0001. PORTA有8個引腳,意味着它是8位寬。 PORTB有8個引腳,也是8位。幫助!瞭解寄存器地址以及ROM或RAM中的地址

我知道每個十六進制數字都是4位。換句話說,十六進制值FF實際上是8位寬,因爲每個數字都是4位。那麼這是否意味着PORTA 0000的存儲位置是16位寬,存儲位置0001也是16位寬。

我很困惑如何解釋這一點。我認爲每個存儲器位置是RAM還是ROM或STACK都是8位寬,除了類似寄存器X的特殊寄存器和16位寄存器Y和D.

有人能幫助我更好地理解這一點。

+1

不,這些寄存器的大小始終爲8位。您引用的地址實際上是從基本端口地址的偏移量。這由系統構建者決定。可以通過內存映射或在I/O總線上使用,地址的大小是設計選擇。 –

回答

0

「PORTB的地址在十六進制0001」
這很可能是一個偏移值,而不是地址。 檢查您設備的文檔。


一個十六進制數字是4位。 (例如'F')
十六進制通常以兩個字符的組顯示,因爲這是一個字節。 (1字節= 8位)

所以需要一個字節或8位來表示'FF'的十六進制。

參考wiki頁面on hex here
Bin - 十六進制轉換article here