changeset 423:8e136187c0e0

Use the registers that were freed up by the memory map function changes
author Mike Pavone <pavone@retrodev.com>
date Tue, 25 Jun 2013 23:18:57 -0700
parents 642b2f8aee32
children 7e8e179116af
files m68k_to_x86.c runtime.S
diffstat 2 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/m68k_to_x86.c	Tue Jun 25 23:03:25 2013 -0700
+++ b/m68k_to_x86.c	Tue Jun 25 23:18:57 2013 -0700
@@ -4339,8 +4339,10 @@
 	opts->dregs[0] = R10;
 	opts->dregs[1] = R11;
 	opts->dregs[2] = R12;
+	opts->dregs[3] = R8;
 	opts->aregs[0] = R13;
 	opts->aregs[1] = R14;
+	opts->aregs[2] = R9;
 	opts->aregs[7] = R15;
 	opts->native_code_map = malloc(sizeof(native_map_slot) * NATIVE_MAP_CHUNKS);
 	memset(opts->native_code_map, 0, sizeof(native_map_slot) * NATIVE_MAP_CHUNKS);
--- a/runtime.S	Tue Jun 25 23:03:25 2013 -0700
+++ b/runtime.S	Tue Jun 25 23:18:57 2013 -0700
@@ -222,8 +222,10 @@
 	mov %r10d, 8(%rsi) /* d0 */
 	mov %r11d, 12(%rsi) /* d1 */
 	mov %r12d, 16(%rsi) /* d2 */
+	mov %r8d,  20(%rsi) /* d3 */
 	mov %r13d, 40(%rsi) /* a0 */
 	mov %r14d, 44(%rsi) /* a1 */
+	mov %r9d,  48(%rsi) /* a2 */
 	mov %r15d, 68(%rsi) /* a7 */
 	mov %eax, 80(%rsi) /* current cycle count */
 	ret
@@ -237,13 +239,13 @@
 	mov 8(%rsi), %r10d /* d0 */
 	mov 12(%rsi), %r11d /* d1 */
 	mov 16(%rsi), %r12d /* d2 */
+	mov 20(%rsi), %r8d  /* d3 */
 	mov 40(%rsi), %r13d /* a0 */
 	mov 44(%rsi), %r14d /* a1 */
+	mov 48(%rsi), %r9d  /* a2 */
 	mov 68(%rsi), %r15d /* a7 */
 	mov 76(%rsi), %ebp /* target cycle count */
 	mov 80(%rsi), %eax /* current cycle count */
-	mov 96(%rsi), %r8d /* cartridge address */
-	mov 104(%rsi), %r9d /* work ram address */
 	ret
 
 	.global m68k_start_context