/* Disassemble h8300 instructions.
- Copyright (C) 1993, 1998, 2000 Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "dis-asm.h"
#include "opintl.h"
+static void bfd_h8_disassemble_init PARAMS ((void));
+static unsigned int bfd_h8_disassemble
+ PARAMS ((bfd_vma, disassemble_info *, int));
+
/* Run through the opcodes and sort them into order to make them easy
to disassemble. */
static void
}
}
-unsigned int
+static unsigned int
bfd_h8_disassemble (addr, info, mode)
bfd_vma addr;
disassemble_info *info;
int bit = 0;
int plen = 0;
static boolean init = 0;
- struct h8_opcode *q = h8_opcodes;
+ struct h8_opcode *q;
char CONST **pregnames = mode != 0 ? lregnames : wregnames;
int status;
int l;
status = info->read_memory_func (addr + l, data + l, 2, info);
/* Find the exact opcode/arg combo. */
- while (q->name)
+ for (q = h8_opcodes; q->name; q++)
{
- op_type *nib;
+ op_type *nib = q->data.nib;
unsigned int len = 0;
- nib = q->data.nib;
-
while (1)
{
op_type looking_for = *nib;
}
fail:
- q++;
+ ;
}
/* Fell off the end. */