Skip to content

Commit e068585

Browse files
committed
Add extra test for memcell and cpustate
Checks for flags and register dependencies in memcell and cpustate.
1 parent e85caaa commit e068585

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

tests/arch/zx48k/backend/test_memcell.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,10 @@ def test_require_in(self):
151151
c = memcell.MemCell('in d, (c)', 1)
152152
self.assertSetEqual(c.requires, {'b', 'c'})
153153
self.assertSetEqual(c.destroys, {'d'})
154+
155+
def test_(self):
156+
""" Test requires for out(c), a instruction
157+
"""
158+
c = memcell.MemCell('ld (_push), a', 1)
159+
self.assertSetEqual(c.requires, {'a'})
160+
self.assertSetEqual(c.destroys, set())

tests/arch/zx48k/optimizer/test_cpustate.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,3 +327,13 @@ def test_in_a_c(self):
327327
self.assertEqual(self.cpu_state.C, 0)
328328
self.assertEqual(self.cpu_state.Z, 1)
329329

330+
def test_xor_a_ld_n_a(self):
331+
code = """
332+
xor a
333+
ld (_push), a
334+
"""
335+
self._eval(code)
336+
self.assertEqual(self.regs['a'], '0')
337+
self.assertFalse(helpers.is_unknown8(self.regs['a']))
338+
self.assertEqual(self.cpu_state.C, 0)
339+
self.assertEqual(self.cpu_state.Z, 1)

0 commit comments

Comments
 (0)