def test_multiplication_8(a, b): """Multiplication of two eight-bit integers should work""" Emulator.reset() RAM[vars.a] = a RAM[vars.b] = b Emulator.next_instruction = "multiply 8x8" expected_saving = (vars.no_msb_cost_saving if a < 128 and b < 128 else vars.one_msb_cost_saving if a < 128 or b < 128 else 0) cycles = Emulator.run_to("done") result = int.from_bytes(RAM[vars.result:vars.result + 2], "little", signed=False) assert a * b == result assert vars.cost_of_8bit_multiply - expected_saving == cycles
def setup_function(): Emulator.reset()