From 5caf8851feae58b447cbef8e21ed21e211b5da98 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Mon, 4 Feb 2019 21:43:59 -0800 Subject: Implemented DAA in new Z80 core --- z80.cpu | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'z80.cpu') diff --git a/z80.cpu b/z80.cpu index d676eb8..ba3b214 100644 --- a/z80.cpu +++ b/z80.cpu @@ -2171,4 +2171,52 @@ ed 10111001 cpdr end +00100111 daa + local diff 8 + local tmp 8 + local low 8 + and 0xF a low + and 0x8 chflags tmp + if tmp + + mov 6 diff + + else + + cmp 0xA low + if >=U + mov 6 diff + else + mov 0 diff + end + + end + + and 0x80 chflags tmp + if tmp + + or 0x60 diff diff + + else + + cmp 0xA0 a + if >=U + or 0x60 diff diff + end + end + + if nflag + + sub diff a a + update_flags SZYHPXC + + else + + add diff a a + update_flags SZYHPXC + + end + + + \ No newline at end of file -- cgit v1.2.3