gas: Adjust ptr variable also in "case 0" case.
+2002-08-22  Christian Groessler <chris@groessler.org>
+
+       * config/tc-z8k.c (get_operands): Adjust ptr variable also in
+       "case 0" case.
+
 2002-08-12  Graeme Peterson  <gp@qnx.com>
 
        * configure.in: Add support for sh-**-nto* target.
 
   char *ptr = op_end;
   char *savptr;
 
+  ptr++;
   switch (opcode->noperands)
     {
     case 0:
       break;
 
     case 1:
-      ptr++;
       if (opcode->arg_info[0] == CLASS_CC)
-       {
-         get_cc_operand (&ptr, operand + 0, 0);
-       }
+       get_cc_operand (&ptr, operand + 0, 0);
+
       else if (opcode->arg_info[0] == CLASS_FLAGS)
-       {
-         get_flags_operand (&ptr, operand + 0, 0);
-       }
+       get_flags_operand (&ptr, operand + 0, 0);
+
       else if (opcode->arg_info[0] == (CLASS_IMM + (ARG_IMM2)))
-       {
-         get_interrupt_operand (&ptr, operand + 0, 0);
-       }
+       get_interrupt_operand (&ptr, operand + 0, 0);
+
       else
-       {
-         get_operand (&ptr, operand + 0, 0);
-       }
+       get_operand (&ptr, operand + 0, 0);
+
       operand[1].mode = 0;
       break;
 
     case 2:
-      ptr++;
       savptr = ptr;
       if (opcode->arg_info[0] == CLASS_CC)
-       {
-         get_cc_operand (&ptr, operand + 0, 0);
-       }
+       get_cc_operand (&ptr, operand + 0, 0);
+
       else if (opcode->arg_info[0] == CLASS_CTRL)
        {
          get_ctrl_operand (&ptr, operand + 0, 0);
+
          if (the_ctrl == 0)
            {
              ptr = savptr;
              get_operand (&ptr, operand + 0, 0);
+
              if (ptr == 0)
                return NULL;
              if (*ptr == ',')
            }
        }
       else
-       {
-         get_operand (&ptr, operand + 0, 0);
-       }
+       get_operand (&ptr, operand + 0, 0);
+
       if (ptr == 0)
        return NULL;
       if (*ptr == ',')
       break;
 
     case 3:
-      ptr++;
       get_operand (&ptr, operand + 0, 0);
       if (*ptr == ',')
        ptr++;
       break;
 
     case 4:
-      ptr++;
       get_operand (&ptr, operand + 0, 0);
       if (*ptr == ',')
        ptr++;
 
 void
 md_apply_fix3 (fixP, valP, segment)
-     fixS *fixP;
+     fixS * fixP;
      valueT * valP;
      segT segment ATTRIBUTE_UNUSED;
 {
      register fragS *fragP ATTRIBUTE_UNUSED;
      register segT segment_type ATTRIBUTE_UNUSED;
 {
-  printf (_("call tomd_estimate_size_before_relax \n"));
+  printf (_("call tomd_estimate_size_before_relax\n"));
   abort ();
 }
 
 
+2002-08-16  Christian Groessler <chris@groessler.org>
+
+       * z8k-dis.c (unparse_instr): case CLASS_BA: Designate hex
+       values as those.
+       * z8kgen.c (opt): Fix definition of "in rd,imm16" opcode.
+       * z8k-opc.h: Regenerated with new z8kgen.c.
+
 2002-08-19  Elena Zannoni  <ezannoni@redhat.com> 
 
         From  matthew green  <mrg@redhat.com>
 
          break;
        case CLASS_BA:
           if (is_segmented)
-            sprintf (tmp_str, "rr%ld(#%lx)", instr_data->arg_reg[datum_value],
+            sprintf (tmp_str, "rr%ld(#0x%lx)", instr_data->arg_reg[datum_value],
                      instr_data->immediate);
           else
-            sprintf (tmp_str, "r%ld(#%lx)", instr_data->arg_reg[datum_value],
+            sprintf (tmp_str, "r%ld(#0x%lx)", instr_data->arg_reg[datum_value],
                      instr_data->immediate);
          strcat (out_str, tmp_str);
          break;
 
        {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
 
 
-/* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
+/* 0011 1011 dddd 0100 imm16 *** in rd,imm16 */
 {
 #ifdef NICENAMES
 "in rd,imm16",16,12,
 0x00,
 #endif
 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
-       {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
+       {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
 
 
 /* 0011 1100 ssN0 dddd *** inb rbd,@rs */
 
 
   "------", 8, 16, "0111 1010 0000 0000", "halt", 0,
   "------", 10, 16, "0011 1101 ssN0 dddd", "in rd,@rs", 0,
-  "------", 12, 16, "0011 1101 dddd 0100 imm16", "in rd,imm16", 0,
   "------", 12, 8, "0011 1100 ssN0 dddd", "inb rbd,@rs", 0,
+  "------", 12, 16, "0011 1011 dddd 0100 imm16", "in rd,imm16", 0,
   "------", 10, 8, "0011 1010 dddd 0100 imm16", "inb rbd,imm16", 0,
   "-ZSV--", 11, 16, "0010 1001 ddN0 imm4m1", "inc @rd,imm4m1", 0,
   "-ZSV--", 14, 16, "0110 1001 ddN0 imm4m1 address_dst", "inc address_dst(rd),imm4m1", 0,