X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/77ab69d7bb0902e6ebf0994159ed2205f8413e34..b057a5d6e6db6db06ae33703ca72cd235eec91d6:/core/insn_incdec_reg8.v diff --git a/core/insn_incdec_reg8.v b/core/insn_incdec_reg8.v new file mode 100644 index 0000000..58582b6 --- /dev/null +++ b/core/insn_incdec_reg8.v @@ -0,0 +1,34 @@ +`ifdef EXECUTE + `INSN_INCDEC_reg8: begin + `EXEC_INC_PC + `EXEC_NEWCYCLE + case (opcode[5:3]) + `INSN_reg_A: tmp <= `_A; + `INSN_reg_B: tmp <= `_B; + `INSN_reg_C: tmp <= `_C; + `INSN_reg_D: tmp <= `_D; + `INSN_reg_E: tmp <= `_E; + `INSN_reg_H: tmp <= `_H; + `INSN_reg_L: tmp <= `_L; + endcase + end +`endif + +`ifdef WRITEBACK + `INSN_INCDEC_reg8: begin + case (opcode[5:3]) + `INSN_reg_A: `_A <= tmp + (opcode[0] ? 8'hFF : 8'h01); + `INSN_reg_B: `_B <= tmp + (opcode[0] ? 8'hFF : 8'h01); + `INSN_reg_C: `_C <= tmp + (opcode[0] ? 8'hFF : 8'h01); + `INSN_reg_D: `_D <= tmp + (opcode[0] ? 8'hFF : 8'h01); + `INSN_reg_E: `_E <= tmp + (opcode[0] ? 8'hFF : 8'h01); + `INSN_reg_H: `_H <= tmp + (opcode[0] ? 8'hFF : 8'h01); + `INSN_reg_L: `_L <= tmp + (opcode[0] ? 8'hFF : 8'h01); + endcase + `_F <= { + ((tmp + (opcode[0] ? 8'hFF : 8'h01)) == 8'h00) ? 1'b1 : 1'b0, + 1'b0, + (({1'b0,tmp[3:0]} + (opcode[0] ? 5'h1F : 5'h01)) >> 4) ? 1'b1 : 1'b0, + `_F[4:0]}; + end +`endif