问题描述
在英特尔的 IP 核数据表之一中,他们进行了从字节 (0x17ff) 到 32 位 (0x5ff) 的转换,我想知道他们是如何做到的(从参数编辑器地址到 Avalon-MM 地址),一个例子是很棒。
解决方法
这只是除以 0x100 (4),即向右位移两位。
0x1800 / 4 = 0x600
0x3000 / 4 = 0xC00
这是有道理的,因为 32 位是四个字节。您还会看到,出于同样的原因,字节地址的数量是 32 位地址的四倍。
在英特尔的 IP 核数据表之一中,他们进行了从字节 (0x17ff) 到 32 位 (0x5ff) 的转换,我想知道他们是如何做到的(从参数编辑器地址到 Avalon-MM 地址),一个例子是很棒。
这只是除以 0x100 (4),即向右位移两位。
0x1800 / 4 = 0x600
0x3000 / 4 = 0xC00
这是有道理的,因为 32 位是四个字节。您还会看到,出于同样的原因,字节地址的数量是 32 位地址的四倍。