我正在尝试用C语言编写Gameboy模拟器,目前正在决定如何实现以下行为:
- 两个8位寄存器可以合并并作为一个16位寄存器对待
- 更改配对中其中一个8位寄存器的值应更改组合寄存器的值
例如,8位寄存器A和F可以联合使用作为16位寄存器AF。但当寄存器A和F的内容发生变化时,这些变化应反映在后续对寄存器AF的引用中。
如果我将寄存器AF实现为uint16_t*
,那么我可以将寄存器A和F的内容分别存储为指向寄存器AF的第一字节和第二字节的uint8_t*
吗?如果不行,请提供其他建议 :)
编辑:仅澄清,这与Z80架构非常相似