From 5776a07e6a3def343996c5ec83cd69242f7ea23a Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 25 Feb 2024 20:08:32 +0200 Subject: Add tests, fix bugs --- atk16_emu/test/test_opcode_alr.py | 154 -------------------------------------- 1 file changed, 154 deletions(-) delete mode 100644 atk16_emu/test/test_opcode_alr.py (limited to 'atk16_emu/test/test_opcode_alr.py') diff --git a/atk16_emu/test/test_opcode_alr.py b/atk16_emu/test/test_opcode_alr.py deleted file mode 100644 index 9a34845..0000000 --- a/atk16_emu/test/test_opcode_alr.py +++ /dev/null @@ -1,154 +0,0 @@ -from atk16_emu import Machine -from test.utils import make_rom - -def test_alr_add_small_unsigned(): - machine = Machine() - - rom_image = make_rom([0b0000_010_000_001_000]) # ALR target=RC left=RA right=RB alu_code=0 - machine.load_rom_image(rom_image) - machine.reset() - - machine.ra.value = 10 - machine.rb.value = 20 - - machine.run() - machine.step() - - assert machine.rc.value == 30 - assert machine.fr.carry == 0 - assert machine.fr.overflow == 0 - assert machine.fr.zero == 0 - assert machine.fr.sign == 0 - -def test_alr_add_large_unsigned(): - machine = Machine() - - rom_image = make_rom([0b0000_010_000_001_000]) # ALR target=RC left=RA right=RB alu_code=0 - machine.load_rom_image(rom_image) - machine.reset() - - machine.ra.value = 0xFFFF - machine.rb.value = 20 - - machine.run() - machine.step() - - assert machine.rc.value == 19 - assert machine.fr.carry == 1 - assert machine.fr.overflow == 0 - assert machine.fr.zero == 0 - assert machine.fr.sign == 0 - -def test_alr_add_small_signed(): - machine = Machine() - - rom_image = make_rom([0b0000_010_000_001_000]) # ALR target=RC left=RA right=RB alu_code=0 - machine.load_rom_image(rom_image) - machine.reset() - - machine.ra.value = 0xFFFF # -1 - machine.rb.value = 0x0001 # 1 - - machine.run() - machine.step() - - assert machine.rc.value == 0 - assert machine.fr.carry == 1 - assert machine.fr.overflow == 0 - assert machine.fr.zero == 1 - assert machine.fr.sign == 0 - -def test_alr_add_large_signed(): - machine = Machine() - - rom_image = make_rom([0b0000_010_000_001_000]) # ALR target=RC left=RA right=RB alu_code=0 - machine.load_rom_image(rom_image) - machine.reset() - - machine.ra.value = 0x7FFF # 32767 - machine.rb.value = 0x0001 # 1 - - machine.run() - machine.step() - - assert machine.rc.value == 0x8000 # -32768 - assert machine.fr.carry == 0 - assert machine.fr.overflow == 1 - assert machine.fr.zero == 0 - assert machine.fr.sign == 1 - -def test_alr_sub_small_unsigned(): - machine = Machine() - - rom_image = make_rom([0b0000_010_000_001_001]) # ALR target=RC left=RA right=RB alu_code=1 - machine.load_rom_image(rom_image) - machine.reset() - - machine.ra.value = 10 - machine.rb.value = 20 - - machine.run() - machine.step() - - assert machine.rc.value == 0xFFF6 # -10 - assert machine.fr.carry == 1 - assert machine.fr.overflow == 0 - assert machine.fr.zero == 0 - assert machine.fr.sign == 1 - -def test_alr_sub_large_unsigned(): - machine = Machine() - - rom_image = make_rom([0b0000_010_000_001_001]) # ALR target=RC left=RA right=RB alu_code=1 - machine.load_rom_image(rom_image) - machine.reset() - - machine.ra.value = 0xFFFF - machine.rb.value = 0xFFFF - - machine.run() - machine.step() - - assert machine.rc.value == 0x0000 - assert machine.fr.carry == 0 - assert machine.fr.overflow == 0 - assert machine.fr.zero == 1 - assert machine.fr.sign == 0 - -def test_alr_sub_small_signed(): - machine = Machine() - - rom_image = make_rom([0b0000_010_000_001_001]) # ALR target=RC left=RA right=RB alu_code=1 - machine.load_rom_image(rom_image) - machine.reset() - - machine.ra.value = 0x0001 # 1 - machine.rb.value = 0xFFFF # -1 - - machine.run() - machine.step() - - assert machine.rc.value == 0x0002 - assert machine.fr.carry == 1 - assert machine.fr.overflow == 0 - assert machine.fr.zero == 0 - assert machine.fr.sign == 0 - -def test_alr_sub_large_signed(): - machine = Machine() - - rom_image = make_rom([0b0000_010_000_001_001]) # ALR target=RC left=RA right=RB alu_code=1 - machine.load_rom_image(rom_image) - machine.reset() - - machine.ra.value = 0x7FFF # 32767 - machine.rb.value = 0xFFFF # -1 - - machine.run() - machine.step() - - assert machine.rc.value == 0x8000 # -32768 - assert machine.fr.carry == 1 - assert machine.fr.overflow == 1 - assert machine.fr.zero == 0 - assert machine.fr.sign == 1 -- cgit v1.3