Gameboy处理器LR35902操作码0x08含义

时间:2016-03-26 20:59:20

标签: z80 gameboy

有人可以解释一下操作码0x08在LR35902处理器上的作用。助记符是LD (a16),SP

我感到困惑,因为堆栈指针是一个16位值,但(a16)是一个只能存储8位的地址(我想!)。我可以猜测前8位被放入(a16),而下一位被放在那些旁边,但我想要确认。

1 个答案:

答案 0 :(得分:8)

是的,该操作码将SP值放在一个地址(a16)。这就是它的样子:

void MemoryWrite(uint16_t addr, uint8_t value);

MemoryWrite(a16, SP & 0xFF);
MemoryWrite(a16 + 1, (SP & 0xFF00) >> 8);

因为它是一个小端处理器,所以你首先放置最低有效字节。