X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/b057a5d6e6db6db06ae33703ca72cd235eec91d6..a6035e0c1b5785205c73dd6510e0b83631bda75b:/core/insn_add_hl.v diff --git a/core/insn_add_hl.v b/core/insn_add_hl.v index 8ff25f4..66a047f 100644 --- a/core/insn_add_hl.v +++ b/core/insn_add_hl.v @@ -1,3 +1,5 @@ +`define INSN_ADD_HL 9'b000xx1001 + `ifdef EXECUTE `INSN_ADD_HL: begin case (cycle) @@ -18,15 +20,14 @@ `ifdef WRITEBACK `INSN_ADD_HL: begin case (cycle) - 0: {tmp,tmp2} <= `_HL + {tmp,tmp2}; 1: begin `_F <= { /* Z */ `_F[7], /* N */ 1'b0, - /* H */ (({`_HL} + {tmp,tmp2}) & 16'h1000) ? 1'b1 : 1'b0, - /* C */ (({1'b0,`_HL} + {1'b0,tmp,tmp2}) >> 16 == 1) ? 1'b1 : 1'b0, + /* H */ (({1'b0,`_H[3:0],`_L} + {1'b0,tmp[3:0],tmp2}) & 13'h1000) ? 1'b1 : 1'b0, + /* C */ (({1'b0,`_HL} + {1'b0,tmp,tmp2}) & 17'h10000) ? 1'b1 : 1'b0, `_F[3:0] }; - `_HL <= {tmp, tmp2}; + `_HL <= `_HL + {tmp, tmp2}; end endcase end