有人可以解释一下操作码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);
Run Code Online (Sandbox Code Playgroud)
因为它是一个小端处理器,所以首先放置最低有效字节.