diff options
author | Michael Pavone <pavone@retrodev.com> | 2019-02-04 21:43:59 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2019-02-04 21:43:59 -0800 |
commit | 5caf8851feae58b447cbef8e21ed21e211b5da98 (patch) | |
tree | 0802225f8da0ee77413804b952ea72dad832ab77 | |
parent | 25af8ab1a85fa1148b69eb20d29de285e14953f2 (diff) |
Implemented DAA in new Z80 core
-rw-r--r-- | z80.cpu | 48 |
1 files changed, 48 insertions, 0 deletions
@@ -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 |