如何用2个16位合成一个20位物理地址
时间: 2023-05-15 11:05:47 浏览: 120
如何用十六位字长表示20位地址
可以使用位移运算和位运算来实现。假设两个16位地址为addr1和addr2,可以将addr1左移4位,然后将addr2右移12位,再将两个地址进行或运算,得到一个20位的物理地址。具体代码如下:
uint16_t addr1 = 0x1234;
uint16_t addr2 = 0x5678;
uint32_t phys_addr = ((uint32_t)addr1 << 4) | ((uint32_t)addr2 >> 12);
这样就可以将两个16位地址合成一个20位的物理地址了。
阅读全文