救命!!了解寄存器地址以及ROM或RAM中的地址

时间:2013-11-25 18:11:49

标签: assembly cpu-registers

我正在查看芯片的存储器映射,我看到PORTA以十六进制0000的形式分配地址.PORTB的地址为十六进制0001.PORTA有8个引脚,这意味着它是8位宽。 PORTB有8个引脚,也是8位。

我知道每个十六进制数字是4位。换句话说,十六进制值FF实际上是8位宽,因为每个数字是4位。这是否意味着PORTA 0000的存储位置是16位宽,存储位置0001也是16位宽。

我对如何解释这一点很困惑。我认为除了像寄存器X和Y和D这样的特殊寄存器(16位寄存器)之外,每个存储器位置是RAM还是ROM还是STACK都是8位宽。

有人可以帮助我更直观地理解这一点。

1 个答案:

答案 0 :(得分:0)

“PORTB的地址为hex 0001”
这很可能是偏移值,而不是地址。 查看设备的文档。


一个十六进制数字是4位。 (例如'F')
十六进制通常以两个字符为一组显示,因为它是一个字节。 (1字节= 8位)

因此需要一个字节或8位来表示十六进制的'FF'。

参考维基页面on hex here Bin - 十六进制转换article here