changeset 688:8c546bc1d773

Moved m68k_save_result to m68k_core.c
author Michael Pavone <pavone@retrodev.com>
date Thu, 08 Jan 2015 21:00:21 -0800
parents a61d33ccea7d
children 858e31f977ae
files m68k_core.c m68k_core_x86.c m68k_internal.h
diffstat 3 files changed, 23 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/m68k_core.c	Thu Jan 08 19:11:56 2015 -0800
+++ b/m68k_core.c	Thu Jan 08 21:00:21 2015 -0800
@@ -86,6 +86,28 @@
 	}
 }
 
+void m68k_save_result(m68kinst * inst, m68k_options * opts)
+{
+	code_info *code = &opts->gen.code;
+	if (inst->dst.addr_mode != MODE_REG && inst->dst.addr_mode != MODE_AREG && inst->dst.addr_mode != MODE_UNUSED) {
+		if (inst->dst.addr_mode == MODE_AREG_PREDEC && inst->src.addr_mode == MODE_AREG_PREDEC && inst->op != M68K_MOVE) {
+			areg_to_native(opts, inst->dst.params.regs.pri, opts->gen.scratch2);
+		}
+		switch (inst->extra.size)
+		{
+		case OPSIZE_BYTE:
+			call(code, opts->write_8);
+			break;
+		case OPSIZE_WORD:
+			call(code, opts->write_16);
+			break;
+		case OPSIZE_LONG:
+			call(code, opts->write_32_lowfirst);
+			break;
+		}
+	}
+}
+
 void translate_m68k_lea_pea(m68k_options * opts, m68kinst * inst)
 {
 	code_info *code = &opts->gen.code;
--- a/m68k_core_x86.c	Thu Jan 08 19:11:56 2015 -0800
+++ b/m68k_core_x86.c	Thu Jan 08 21:00:21 2015 -0800
@@ -521,28 +521,6 @@
 	}
 }
 
-void m68k_save_result(m68kinst * inst, m68k_options * opts)
-{
-	code_info *code = &opts->gen.code;
-	if (inst->dst.addr_mode != MODE_REG && inst->dst.addr_mode != MODE_AREG && inst->dst.addr_mode != MODE_UNUSED) {
-		if (inst->dst.addr_mode == MODE_AREG_PREDEC && inst->src.addr_mode == MODE_AREG_PREDEC && inst->op != M68K_MOVE) {
-			areg_to_native(opts, inst->dst.params.regs.pri, opts->gen.scratch2);
-		}
-		switch (inst->extra.size)
-		{
-		case OPSIZE_BYTE:
-			call(code, opts->write_8);
-			break;
-		case OPSIZE_WORD:
-			call(code, opts->write_16);
-			break;
-		case OPSIZE_LONG:
-			call(code, opts->write_32_lowfirst);
-			break;
-		}
-	}
-}
-
 void check_user_mode_swap_ssp_usp(m68k_options *opts)
 {
 	code_info * code = &opts->gen.code;
--- a/m68k_internal.h	Thu Jan 08 19:11:56 2015 -0800
+++ b/m68k_internal.h	Thu Jan 08 21:00:21 2015 -0800
@@ -42,6 +42,7 @@
 void print_regs_exit(m68k_context * context);
 void m68k_read_size(m68k_options *opts, uint8_t size);
 void m68k_write_size(m68k_options *opts, uint8_t size);
+void m68k_save_result(m68kinst * inst, m68k_options * opts);
 void push_const(m68k_options *opts, int32_t value);
 void jump_m68k_abs(m68k_options * opts, uint32_t address);
 void swap_ssp_usp(m68k_options * opts);