Admin Panel
import pytest
from amitools.vamos.machine.regs import *
from amitools.vamos.machine import MockCPU
def machine_mockcpu_rw_reg_test():
cpu = MockCPU()
cpu.w_reg(REG_D0, 0xdeadbeef)
assert cpu.r_reg(REG_D0) == 0xdeadbeef
cpu.w_reg(REG_A6, 0xcafebabe)
assert cpu.r_reg(REG_A6) == 0xcafebabe
cpu.w_pc(0x123456)
assert cpu.r_pc() == 0x123456
cpu.w_sr(0x4711)
assert cpu.r_sr() == 0x4711
# invalid values
with pytest.raises(OverflowError):
cpu.w_reg(REG_D0, 0xdeafbeef12)
with pytest.raises(OverflowError):
cpu.w_reg(REG_D0, -1)
with pytest.raises(TypeError):
cpu.w_reg(REG_D0, 'hello, world!')
def machine_mockcpu_rws_reg_test():
cpu = MockCPU()
cpu.ws_reg(REG_D0, -23)
assert cpu.rs_reg(REG_D0) == -23
# invalid values
with pytest.raises(OverflowError):
cpu.ws_reg(REG_D0, 0x80000000)
with pytest.raises(OverflowError):
cpu.ws_reg(REG_D0, -0x80000001)
with pytest.raises(TypeError):
cpu.ws_reg(REG_D0, 'hello, world!')