diff zruntime.S @ 285:021aeb6df19b

Implement HALT (sort of tested)
author Mike Pavone <pavone@retrodev.com>
date Sat, 04 May 2013 16:23:28 -0700
parents ed7098f717d7
children 171f97e70d85
line wrap: on
line diff
--- a/zruntime.S	Sat May 04 15:58:15 2013 -0700
+++ b/zruntime.S	Sat May 04 16:23:28 2013 -0700
@@ -71,6 +71,17 @@
 zskip_sync:
 	ret
 
+	.global z80_halt
+z80_halt:
+	mov %edi, %r14d
+	sub %ebp, %r14d
+	and $0xFFFFFFFC, %r14d
+	add %r14d, %ebp
+	cmp %edi, %ebp
+	jnb z80_handle_cycle_limit_int
+	add $4, %ebp
+	jmp z80_handle_cycle_limit_int
+
 	.global z80_read_byte
 z80_read_byte:
 	call z_inccycles