1991-03-29 00:28:29 +08:00
|
|
|
/* Instruction printing code for the AMD 29000
|
1993-04-02 08:18:47 +08:00
|
|
|
Copyright (C) 1993 Free Software Foundation, Inc.
|
1991-03-29 00:28:29 +08:00
|
|
|
Contributed by Cygnus Support. Written by Jim Kingdon.
|
|
|
|
|
|
|
|
This file is part of GDB.
|
|
|
|
|
|
|
|
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
|
1991-06-04 16:31:55 +09:00
|
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
|
|
(at your option) any later version.
|
1991-03-29 00:28:29 +08:00
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
1991-06-04 16:31:55 +09:00
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
1991-03-29 00:28:29 +08:00
|
|
|
|
|
|
|
#include "defs.h"
|
1993-04-02 08:18:47 +08:00
|
|
|
#include "dis-asm.h"
|
1991-03-29 00:28:29 +08:00
|
|
|
|
1993-04-02 08:18:47 +08:00
|
|
|
/* Print the m68k instruction at address MEMADDR in debugged memory,
|
|
|
|
on STREAM. Returns length of the instruction, in bytes. */
|
1991-03-29 00:28:29 +08:00
|
|
|
|
|
|
|
int
|
|
|
|
print_insn (memaddr, stream)
|
|
|
|
CORE_ADDR memaddr;
|
1993-11-02 06:25:23 +08:00
|
|
|
GDB_FILE *stream;
|
1991-03-29 00:28:29 +08:00
|
|
|
{
|
1993-04-02 08:18:47 +08:00
|
|
|
disassemble_info info;
|
1991-03-29 00:28:29 +08:00
|
|
|
|
1993-04-02 08:18:47 +08:00
|
|
|
GDB_INIT_DISASSEMBLE_INFO(info, stream);
|
1991-09-13 09:29:14 +09:00
|
|
|
|
* defs.h: If TARGET_BYTE_ORDER_SELECTABLE is defined by tm.h,
define TARGET_BYTE_ORDER as target_byte_order, and declare
target_byte_order as an extern int, and define BITS_BIG_ENDIAN as
a test of TARGET_BYTE_ORDER.
* top.c: Several additions if TARGET_BYTE_ORDER_SELECTABLE is
defined:
(endianlist, target_byte_order): New variables.
(set_endian, set_endian_big, set_endian_little): New functions.
(show_endian): New function.
(init_cmd_lists): Initialize endianlist.
(init_main): Add commands ``set endian big'', ``set endian
little'', and ``show endian''.
* a29k-pinsn.c: Rewrite uses of TARGET_BYTE_ORDER and
BITS_BIG_ENDIAN to switch at run time rather than at compile time.
* coffread.c, dwarfread.c, findvar.c, mips-tdep.c: Likewise.
* remote-os9k.c, stabsread.c, valarith.c, valprint.c: Likewise.
* values.c: Likewise.
* mips-tdep.c: Rewrite uses of GDB_TARGET_IS_MIPS64 to switch at
run time rather than at compile time.
1994-10-07 00:47:32 +08:00
|
|
|
if (TARGET_BYTE_ORDER == BIG_ENDIAN)
|
|
|
|
return print_insn_big_a29k (memaddr, &info);
|
|
|
|
else
|
|
|
|
return print_insn_little_a29k (memaddr, &info);
|
1991-03-29 00:28:29 +08:00
|
|
|
}
|