|
|
- import pytest
-
- from tests.insn.helpers import *
-
-
- def test_rlca():
- cpu = CPU()
- cpu.set_reg8(R8.A, 0x80)
-
- RLCA().exec(cpu)
-
- assert cpu.get_reg8(R8.A) == 0x01
- assert cpu.carry == 1
- assert cpu.cycles == 4
-
- RLCA().exec(cpu)
-
- assert cpu.get_reg8(R8.A) == 0x02
- assert cpu.carry == 0
- assert cpu.cycles == 8
-
-
- def test_rla():
- cpu = CPU()
- cpu.set_reg8(R8.A, 0x80)
-
- RLA().exec(cpu)
-
- assert cpu.get_reg8(R8.A) == 0x00
- assert cpu.carry == 1
- assert cpu.cycles == 4
-
- RLA().exec(cpu)
-
- assert cpu.get_reg8(R8.A) == 0x01
- assert cpu.carry == 0
- assert cpu.cycles == 8
-
-
- def test_rrca():
- cpu = CPU()
- cpu.set_reg8(R8.A, 0x01)
-
- RRCA().exec(cpu)
-
- assert cpu.get_reg8(R8.A) == 0x80
- assert cpu.carry == 1
- assert cpu.cycles == 4
-
- RRCA().exec(cpu)
-
- assert cpu.get_reg8(R8.A) == 0x40
- assert cpu.carry == 0
- assert cpu.cycles == 8
-
-
- def test_rra():
- cpu = CPU()
- cpu.set_reg8(R8.A, 0x01)
-
- RRA().exec(cpu)
-
- assert cpu.get_reg8(R8.A) == 0x00
- assert cpu.carry == 1
- assert cpu.cycles == 4
-
- RRA().exec(cpu)
-
- assert cpu.get_reg8(R8.A) == 0x80
- assert cpu.carry == 0
- assert cpu.cycles == 8
-
-
- @pytest.mark.parametrize("r", R8)
- def test_rlc_r(r):
- cpu = CPU()
- cpu.set_reg8(r, 0x80)
-
- RLC_R(r).exec(cpu)
-
- assert cpu.get_reg8(r) == 0x01
- assert cpu.carry == 1
- assert cpu.cycles == 8
-
- RLC_R(r).exec(cpu)
-
- assert cpu.get_reg8(r) == 0x02
- assert cpu.carry == 0
- assert cpu.cycles == 16
-
-
- @pytest.mark.parametrize("r", R8)
- def test_rl_r(r):
- cpu = CPU()
- cpu.set_reg8(r, 0x80)
-
- RL_R(r).exec(cpu)
-
- assert cpu.get_reg8(r) == 0x00
- assert cpu.carry == 1
- assert cpu.cycles == 8
-
- RL_R(r).exec(cpu)
-
- assert cpu.get_reg8(r) == 0x01
- assert cpu.carry == 0
- assert cpu.cycles == 16
-
-
- @pytest.mark.parametrize("r", R8)
- def test_rrc_r(r):
- cpu = CPU()
- cpu.set_reg8(r, 0x01)
-
- RRC_R(r).exec(cpu)
-
- assert cpu.get_reg8(r) == 0x80
- assert cpu.carry == 1
- assert cpu.cycles == 8
-
- RRC_R(r).exec(cpu)
-
- assert cpu.get_reg8(r) == 0x40
- assert cpu.carry == 0
- assert cpu.cycles == 16
-
-
- @pytest.mark.parametrize("r", R8)
- def test_rr_r(r):
- cpu = CPU()
- cpu.set_reg8(r, 0x01)
-
- RR_R(r).exec(cpu)
-
- assert cpu.get_reg8(r) == 0x00
- assert cpu.carry == 1
- assert cpu.cycles == 8
-
- RR_R(r).exec(cpu)
-
- assert cpu.get_reg8(r) == 0x80
- assert cpu.carry == 0
- assert cpu.cycles == 16
-
-
- # TODO: Test RLC_HL, RL_HL, RRC_HL, RR_HL
|