]> Joshua Wise's Git repositories - fpgaboy.git/blobdiff - core/insn_ld_nn_sp.v
First attempt at fixing DAA. Add ld (nn), sp.
[fpgaboy.git] / core / insn_ld_nn_sp.v
diff --git a/core/insn_ld_nn_sp.v b/core/insn_ld_nn_sp.v
new file mode 100644 (file)
index 0000000..ade83fe
--- /dev/null
@@ -0,0 +1,39 @@
+`define INSN_LD_NN_SP          9'b000001000
+
+`ifdef EXECUTE
+       `INSN_LD_NN_SP: begin
+               case (cycle)
+               0:      begin
+                               `EXEC_INC_PC
+                               `EXEC_READ(`_PC + 16'h0001)
+                       end
+               1:      begin
+                               `EXEC_INC_PC
+                               `EXEC_READ(`_PC + 16'h0001)
+                       end
+               2:      begin
+                               `EXEC_WRITE(({tmp, rdata}), `_SPL)
+                       end
+               3:      begin
+                               `EXEC_WRITE(({tmp, tmp2}), `_SPH)
+                       end
+               4:      begin
+                               `EXEC_NEWCYCLE
+                               `EXEC_INC_PC
+                       end
+               endcase
+       end
+`endif
+
+`ifdef WRITEBACK
+       `INSN_LD_NN_SP: begin
+               case (cycle)
+               0:      begin end
+               1:      tmp <= rdata;
+               2:      {tmp, tmp2} <= {tmp, rdata} + 1;
+               3:      begin end
+               4:      begin end
+               endcase
+       end
+`endif
+
This page took 0.024391 seconds and 4 git commands to generate.