Я пытаюсь написать эмулятор Gameboy в C, и в настоящее время находится в процессе принятия решения о том, как реализовать следующее поведение:Можно ли создать два указателя uint8_t для первой и второй половины значения, указанного указателем uint16_t?
- Два 8-битные регистры могут быть объединены и рассматриваться как единый 16- битовый регистр
- изменения значения одного из 8-битных регистров в паре должны изменить значение комбинированного регистра
Например, регистры а и F, которые являются 8-битными регистрами, может быть используется совместно как 16-разрядный регистр AF. Однако при изменении содержимого регистров A и F эти изменения должны быть отражены в последующих рефералах для регистрации AF.
Если я реализую регистр AF как uint16_t*
, могу ли я сохранить содержимое регистров A и F как uint8_t*
, указывая на первый и второй байты регистра AF соответственно? Если нет, то любые другие предложения будут оценены :)
EDIT: Просто чтобы прояснить, что это очень похоже на архитектуру Z80
Попробуйте союз ... но обратите внимание на утверждение. – Dmitri
он также похож на x86 –