Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
def setup_function():
    Emulator.reset()