aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/tic80/ChangeLog3
-rw-r--r--sim/tic80/insns4
2 files changed, 5 insertions, 2 deletions
diff --git a/sim/tic80/ChangeLog b/sim/tic80/ChangeLog
index e5d4850..91d6685 100644
--- a/sim/tic80/ChangeLog
+++ b/sim/tic80/ChangeLog
@@ -1,5 +1,8 @@
Fri Feb 13 17:11:22 1998 Michael Meissner <meissner@cygnus.com>
+ * insns ({get,set}_fp_reg): Tic80 floating point is little endian,
+ not big endian.
+
* misc.c (tic80_trace_fpu*): Pass address of sim_fpu structure,
not the structure itself. Use %g consistantly to print floating
point.
diff --git a/sim/tic80/insns b/sim/tic80/insns
index 896443f..4ffc6c5 100644
--- a/sim/tic80/insns
+++ b/sim/tic80/insns
@@ -447,7 +447,7 @@ sim_fpu::function::get_fp_reg:int reg, unsigned32 val, int precision
sim_engine_abort (SD, CPU, cia, "DP FP register must be even");
if (reg <= 1)
sim_engine_abort (SD, CPU, cia, "DP FP register must be >= 2");
- sim_fpu_232to (&ans, GPR (reg), GPR (reg + 1));
+ sim_fpu_232to (&ans, GPR (reg + 1), GPR (reg));
break;
case 2: /* 32 bit signed integer */
sim_fpu_i32to (&ans, val, 0);
@@ -473,7 +473,7 @@ void::function::set_fp_reg:int Dest, sim_fpu val, int PD
sim_engine_abort (SD, CPU, cia, "DP FP Dest register must be even");
if (Dest <= 1)
sim_engine_abort (SD, CPU, cia, "DP FP Dest register must be >= 2");
- sim_fpu_to232 (&GPR (Dest + 0), &GPR (Dest + 1), &val);
+ sim_fpu_to232 (&GPR (Dest + 1), &GPR (Dest + 0), &val);
break;
}
case 2: /* signed */