* config/tc-mn10300.c (md_assemble): Format D5 instructions
authorJeff Law <law@redhat.com>
Thu, 10 Oct 1996 18:07:37 +0000 (18:07 +0000)
committerJeff Law <law@redhat.com>
Thu, 10 Oct 1996 18:07:37 +0000 (18:07 +0000)
        are 7 bytes long.  Write out instructions in big-endian format.

Matsushita.

gas/ChangeLog
gas/config/tc-mn10300.c

index 504344bd2d192e471d670fe6bf520a067c7a52a7..c7b4363ee113ed4c1760e96e650c264b40e391a8 100644 (file)
@@ -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  <ian@cygnus.com>
index 796b696637902e041d797ea9bb85f6c258fa6ae3..f1de133e18f4925ca0d5c3e3731eb2b508892b13 100644 (file)
@@ -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);
 }