case(opcode[5:3])
`INSN_alu_RLCA: begin
`_A <= {`_A[6:0],`_A[7]};
- `_F <= {`_F[7:5],`_A[7],`_F[3:0]};
+ `_F <= {3'b0,`_A[7],`_F[3:0]};
end
`INSN_alu_RRCA: begin
`_A <= {`_A[0],`_A[7:1]};
- `_F <= {`_F[7:5],`_A[0],`_F[3:0]};
+ `_F <= {3'b0,`_A[0],`_F[3:0]};
end
`INSN_alu_RLA: begin
`_A <= {`_A[6:0],`_F[4]};
- `_F <= {`_F[7:5],`_A[7],`_F[3:0]};
+ `_F <= {3'b0,`_A[7],`_F[3:0]};
end
`INSN_alu_RRA: begin
`_A <= {`_F[4],`_A[7:1]};
- `_F <= {`_F[7:5],`_A[0],`_F[3:0]};
+ `_F <= {3'b0,`_A[0],`_F[3:0]};
end
`INSN_alu_DAA: begin
`_A <= daa_tmp[7:0];
`_F <= {`_F[7],1'b1,1'b1,`_F[4:0]};
end
`INSN_alu_SCF: begin
- `_F <= {`_F[7:5],1'b1,`_F[3:0]};
+ `_F <= {`_F[7],3'b001,`_F[3:0]};
end
`INSN_alu_CCF: begin
- `_F <= {`_F[7:5],~`_F[4],`_F[3:0]};
+ `_F <= {`_F[7],2'b00,~`_F[4],`_F[3:0]};
end
endcase
end