X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/03202f62407e24bd964016dccc06de95df622e3c..f6fa1d6e1393de5d18302b8674ed1616afdfcefb:/insn_ldm16_a.v diff --git a/insn_ldm16_a.v b/insn_ldm16_a.v new file mode 100644 index 0000000..d8356f7 --- /dev/null +++ b/insn_ldm16_a.v @@ -0,0 +1,37 @@ +// 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 +