From 1c3ae169f7f139c29c737b8c25aee43e8ac752dd Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 10 Oct 1996 18:07:37 +0000 Subject: [PATCH] * config/tc-mn10300.c (md_assemble): Format D5 instructions are 7 bytes long. Write out instructions in big-endian format. Matsushita. --- gas/ChangeLog | 7 ++++++- gas/config/tc-mn10300.c | 10 +++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 504344bd2d1..c7b4363ee11 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,6 +1,11 @@ +Thu Oct 10 12:05:45 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_assemble): Format D5 instructions + are 7 bytes long. Write out instructions in big-endian format. + Tue Oct 8 14:56:15 1996 Jeffrey A Law (law@cygnus.com) - * config/tc-mn10300.h (md_assemble): Tweak further so + * config/tc-mn10300.c (md_assemble): Tweak further so that all instructions are parsed correctly. Tue Oct 8 13:02:21 1996 Ian Lance Taylor diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c index 796b6966379..f1de133e18f 100644 --- a/gas/config/tc-mn10300.c +++ b/gas/config/tc-mn10300.c @@ -677,7 +677,7 @@ keep_going: if (opcode->format == 4) size = 5; - if (opcode->format == 5) + if (opcode->format == 5 || opcode->format == 10) size = 7; if (opcode->format == 8) @@ -686,16 +686,12 @@ keep_going: if (opcode->format == 9) size = 6; - if (opcode->format == 10) - size = 8; - - /* Write out the instruction. */ f = frag_more (size); + number_to_chars_bigendian (f, insn, size > 4 ? 4 : size); if (size > 4) - size = 4; - md_number_to_chars (f, insn, size); + number_to_chars_bigendian (f + 4, 0, size - 4); } -- 2.30.2