diff options
-rw-r--r-- | sim/tic80/ChangeLog | 3 | ||||
-rw-r--r-- | sim/tic80/insns | 4 |
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 */ |