I think I am struggling to define correctly the following ambiguous opcodes: LD HL,SP+r8
and JP (HL)
opcodes (0xE9
and 0xF8
respectively)
In my implementation, LD HL,SP+r8
sets HL
to the value of SP+r8
, but I have a feeling that it may be to do with loading memory from RAM.
JP (HL)
, I have as PUSH
ing the PC onto the stack and setting the Program Counter to the value of HL (like JP a16
, except with the value of HL), but I've read a few forums that seem to say that that's wrong.
Any clarification of what either of these instructions do would be great, as I'm pretty lost at the moment.