Mercurial > repos > blastem
changeset 1738:d6157b7eb20c
Implemented DAA in new Z80 core
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 04 Feb 2019 21:43:59 -0800 |
parents | 2207cd2bae14 |
children | 435877da5837 |
files | z80.cpu |
diffstat | 1 files changed, 48 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/z80.cpu Mon Feb 04 21:43:43 2019 -0800 +++ b/z80.cpu Mon Feb 04 21:43:59 2019 -0800 @@ -2171,4 +2171,52 @@ 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