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