From 3f1e17f9803faeab79f6dbf000b4855ba7bc894f Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Sat, 4 May 2013 16:23:28 -0700 Subject: Implement HALT (sort of tested) --- zruntime.S | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'zruntime.S') diff --git a/zruntime.S b/zruntime.S index 8b74b1b..c2ffe19 100644 --- a/zruntime.S +++ b/zruntime.S @@ -71,6 +71,17 @@ z80_do_sync: 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 -- cgit v1.2.3