Admin Panel
import pytest
from musashi import emu
from musashi.m68k import *
from amitools.vamos.machine import *
def musashi_cpustate_rw_test():
cpu = emu.CPU(M68K_CPU_TYPE_68000)
cpu.w_pc(0)
cpu.w_sr(0x2700)
for i in xrange(16):
cpu.w_reg(i, i)
# get state
s = CPUState()
s.get(cpu)
assert s.pc == 0
assert s.sr == 0x2700
for i in xrange(8):
assert s.dx[i] == i
for i in xrange(8):
assert s.ax[i] == i + 8
# modify state
for i in xrange(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 xrange(8):
assert s.dx[i] == cpu.r_reg(i)
for i in xrange(8):
assert s.ax[i] == cpu.r_reg(i+8)