Cleanups to make code nicer looking. ALU subtraction fixes.
[fpgaboy.git] / insn_vop_intr.v
index 134d462..06218f4 100644 (file)
@@ -1,19 +1,9 @@
 `ifdef EXECUTE
        `INSN_VOP_INTR: begin
                case (cycle)
-               0:      begin
-                               address <= {registers[`REG_SPH],registers[`REG_SPL]} - 1;
-                               wdata <= registers[`REG_PCH];
-                               wr <= 1;
-                       end
-               1:      begin
-                               address <= {registers[`REG_SPH],registers[`REG_SPL]} - 2;
-                               wdata <= registers[`REG_PCL];
-                               wr <= 1;
-                       end
-               2:      begin
-                               `EXEC_NEWCYCLE;
-                       end
+               0:      `EXEC_WRITE(`_SP - 1, `_PCH);
+               1:      `EXEC_WRITE(`_SP - 2, `_PCL);
+               2:      `EXEC_NEWCYCLE;
                endcase
        end
 `endif
                1:      begin end
                2:      begin
                                ie <= 0;
-                               {registers[`REG_PCH],registers[`REG_PCL]} <=
-                                       {8'b0,jaddr};
-                               {registers[`REG_SPH],registers[`REG_SPL]} <=
-                                       {registers[`REG_SPH],registers[`REG_SPL]} - 2;
+                               `_PC <= {8'b0, jaddr};
+                               `_SP <= `_SP - 2;
                        end
                endcase
        end
This page took 0.019452 seconds and 4 git commands to generate.