// If opcode[4], then ld A, x, else ld x, A // If opcode[1], then ld 16m8, else ld 8m8 `ifdef EXECUTE `INSN_LD16M_A: begin case (cycle) 0: begin `EXEC_INC_PC `EXEC_READ(`_PC + 16'h0001) end 1: begin `EXEC_INC_PC // we only hit here if 16m8 `EXEC_READ(`_PC + 16'h0001) end 2: if (opcode[4]) // LD A,x `EXEC_READ(({rdata, tmp})) else `EXEC_WRITE(({rdata, tmp}), `_A) 3: begin `EXEC_NEWCYCLE `EXEC_INC_PC end endcase end `endif `ifdef WRITEBACK `INSN_LD16M_A: begin case (cycle) 0: begin end 1: tmp <= rdata; 2: begin end 3: if (opcode[4]) `_A <= rdata; endcase end `endif