private byte rotate(int rotateCount_) { for (int i = 0; i < rotateCount_; i++) { _c.LDA(_c.ROL(_c.getA())); } return _c.getA(); }
@Test public void testRotateLeftOnceNoCarry() { // before _c.LDA((byte) 0b0101_0101); byte result = _c.ROL(_c.getA()); // after assertEquals((byte) 0b1010_1010, result); assertTrue(_c.getNegativeFlag()); assertTrue(!_c.getCarryFlag()); assertTrue(!_c.getZeroFlag()); }
@Test public void testRotateLeftOnceCarry() { // before _c.LDA((byte) 0b1101_0100); byte result = _c.ROL(_c.getA()); // 0xA9 = 1010 1001 System.out.println(HexUtils.toHex(result)); System.out.println(HexUtils.toHex((byte) 0b1010_0101)); // after assertEquals((byte) 0b1010_1000, result); assertTrue(_c.getNegativeFlag()); assertTrue(_c.getCarryFlag()); assertTrue(!_c.getZeroFlag()); }