Gameboy 处理器 LR35902 操作码 0x08 含义
Gameboy Processor LR35902 Opcode 0x08 Meaning
谁能解释一下操作码 0x08
在 LR35902 处理器上的作用。助记符为LD (a16),SP
.
我很困惑,因为堆栈指针是一个 16 位值,但 (a16)
是一个只能存储 8 位的地址(我认为!)。我猜前 8 位放在 (a16)
中,下一个放在相邻的位置,但我想确认一下。
是的,该操作码将 SP 值置于地址 (a16)。这是它的样子:
void MemoryWrite(uint16_t addr, uint8_t value);
MemoryWrite(a16, SP & 0xFF);
MemoryWrite(a16 + 1, (SP & 0xFF00) >> 8);
因为它是小端处理器,所以您将最低有效字节放在前面。
谁能解释一下操作码 0x08
在 LR35902 处理器上的作用。助记符为LD (a16),SP
.
我很困惑,因为堆栈指针是一个 16 位值,但 (a16)
是一个只能存储 8 位的地址(我认为!)。我猜前 8 位放在 (a16)
中,下一个放在相邻的位置,但我想确认一下。
是的,该操作码将 SP 值置于地址 (a16)。这是它的样子:
void MemoryWrite(uint16_t addr, uint8_t value);
MemoryWrite(a16, SP & 0xFF);
MemoryWrite(a16 + 1, (SP & 0xFF00) >> 8);
因为它是小端处理器,所以您将最低有效字节放在前面。