Ejemplo n.º 1
0
  private byte rotate(int rotateCount_) {
    for (int i = 0; i < rotateCount_; i++) {
      _c.LDA(_c.ROL(_c.getA()));
    }

    return _c.getA();
  }
Ejemplo n.º 2
0
  @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());
  }
Ejemplo n.º 3
0
  @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());
  }