mirror of
https://github.com/LIV2/amitools.git
synced 2025-12-05 22:22:45 +00:00
35 lines
791 B
Python
35 lines
791 B
Python
from amitools.vamos.machine import Machine, CPUState
|
|
|
|
|
|
def machine_cpustate_rw_test():
|
|
machine = Machine()
|
|
cpu = machine.cpu
|
|
cpu.w_pc(0)
|
|
cpu.w_sr(0x2700)
|
|
for i in range(16):
|
|
cpu.w_reg(i, i)
|
|
# get state
|
|
s = CPUState()
|
|
s.get(cpu)
|
|
assert s.pc == 0
|
|
assert s.sr == 0x2700
|
|
for i in range(8):
|
|
assert s.dx[i] == i
|
|
for i in range(8):
|
|
assert s.ax[i] == i + 8
|
|
# modify state
|
|
for i in range(8):
|
|
s.dx[i] = i + 0x100
|
|
s.ax[i] = i + 0x200
|
|
s.pc = 0x400
|
|
s.sr = 0x2701
|
|
# set state
|
|
s.set(cpu)
|
|
# check state
|
|
assert cpu.r_sr() == s.sr
|
|
assert cpu.r_pc() == s.pc
|
|
for i in range(8):
|
|
assert s.dx[i] == cpu.r_reg(i)
|
|
for i in range(8):
|
|
assert s.ax[i] == cpu.r_reg(i + 8)
|