Commit Graph

494 Commits

Author SHA1 Message Date
J.T. Conklin
c49bbc27db fix operand mask in the "moveml" entries for the coldfire. 1997-01-18 00:37:30 +00:00
J.T. Conklin
a3d4e445d2 From the coldfire branch:
* m68k-opc.c (m68k_opcodes): add b, w, or l specifier to coldfire
	move insns to handle immediate operands.

From Andreas Schwab:

        * m68k-opc.c (m68k_opcodes): Delete duplicate entry for "cmpil".
1997-01-18 00:27:23 +00:00
Fred Fish
c977d8fb7b * tic80-opc.c (V_a, V_m, V_S, V_Z, V_p, OP_V, MASK_V):
New macros for building vector instruction opcodes.
	(tic80_opcodes): Remove all uses of FMT_SI, FMT_REG, and
	FMT_LI, which were unused.  The field is now a flags field.
	Remove some opcodes that are possible, but illegal, such
	as long immediate instructions with doubles for immediate
	values.  Add "vadd" and "vld" instructions.
1997-01-17 04:00:56 +00:00
Fred Fish
5fdeceb477 * tic80-opc.c (tic80_operands): Reorder some table entries to make
the order more logical.  Move the shift alias instructions ("rotl",
	"shl", "ins", "rotr", "extu", "exts", "srl", and "sra" to be
 	interspersed with the regular sr.x and sl.x instructions.  Add
	and test new instruction opcodes for "sl", "sli", "sr", "sri", "st",
 	"sub", "subu", "swcr", and "trap".
1997-01-16 02:10:17 +00:00
Fred Fish
003df61759 * tic80-dis.c (print_insn_tic80): Print floating point operands
as floats.
      * tic80-opc.c (SPFI): Add single precision floating point
      immediate operand type.
      (ROTATE): Add rotate operand type for shifts.
      (ENDMASK): Add for shifts.
      (n): Macro for the 'n' bit.
      (i): Macro for the 'i' bit.
      (PD): Macro for the 'PD' field.
      (P2): Macro for the 'P2' field.
      (P1): Macro for the 'P1' field.
      (tic80_operands): Add entries for "exts", "extu", "fadd",
      "fcmp", and "fdiv".
1997-01-13 23:05:49 +00:00
Jeff Law
1b8a127fe7 Fix copyright. 1997-01-06 22:14:13 +00:00
Jeff Law
09171e3fe6 * mn10200-dis.c (disassemble): Mask off unwanted bits after
adding in current address for pc-relative operands.
Fixes disassembly of backwards 24bit pc-relative addressese.
1997-01-06 22:13:39 +00:00
Fred Fish
50965d0ec2 * tic80-dis.c (R_SCALED): Add macro to test for ":s" modifier bit.
(print_insn_tic80): If R_SCALED then print ":s" modifier for operand.
	* tic80-opc.c (REG0, REG22, REG27, SSOFF, LSOFF): Names
	changed to REG_0, REG_22, REG_DEST, OFF_SS, OFF_SL respectively.
	(SICR, LICR, REGM_SI, REGM_LI): Names changed to CR_SI, CR_LI,
	REG_BASE_M_SI, REG_BASE_M_LI respectively.
	(REG_SCALED, LSI_SCALED): New operand types.
	(E): New macro for 'E' bit at bit 27.
	(tic80_opcodes): Add and test dld, dld.u, dst, estop, and etrap
	opcodes, including the various size flavors (b,h,w,d) for
	the direct load and store instructions.
1997-01-06 18:04:38 +00:00
Fred Fish
937fe72232 * tic80-dis.c (M_SI, M_LI): Add macros to test for ":m" modifier bit
in an instruction.
	* tic80-dis.c (print_insn_tic80): Change comma and paren handling.
  	Use M_SI and M_LI macros to check for ":m" modifier for GPR operands.
	* tic80-opc.c (tic80_operands): Add REGM_SI and REGM_LI operands.
	(F, M_REG, M_LI, M_SI, SZ_REG, SZ_LI, SZ_SI, D, S): New	bit-twiddlers.
	(MASK_LI_M, MASK_SI_M, MASK_REG_M): Remove and replace in opcode
	masks with "MASK_* & ~M_*" to get the M bit reset.
	(tic80_opcodes): Add bsr, bsr.a, cmnd, cmp, dcachec, and dcachef.
1997-01-05 19:29:42 +00:00
Fred Fish
1f8c8c60a1 * tic80-dis.c (print_insn_tic80): Print TIC80_OPERAND_RELATIVE
correctly.  Add support for printing TIC80_OPERAND_BITNUM and
	TIC80_OPERAND_CC, and TIC80_OPERAND_CR operands in symbolic
	form.
	* tic80-opc.c (tic80_operands): Add SSOFF, LSOFF, BITNUM,
	CC, SICR, and LICR table entries.
	(tic80_opcodes): Add and test "nop", "br", "bbo", "bbz",
	"bcnd", and "brcr" opcodes.
1997-01-05 02:10:14 +00:00
Fred Fish
872dc6f0bc * ppc-opc.c (powerpc_operands): Make comment match the
actual fields (no shift field).
	* sparc-opc.c (sparc_opcodes): Document why this cannot be "const".

	* tic80-dis.c (print_insn_tic80): Replace abort stub with a
	partial implementation, work in progress.
	* tic80-opc.c (tic80_operands): Begin construction operands table.
	(tic80_opcodes): Continue populating opcodes table and start
	filling in the operand indices.
	(tic80_num_opcodes): Add this.
1997-01-04 01:39:30 +00:00
Ian Lance Taylor
a3ecb49f4b * m68k-opc.c: Add #B case for moveq. 1997-01-03 17:14:30 +00:00
Jeff Law
bc83032148 * mn10300-dis.c (disassemble): Make sure all variables are initialized
before they are used.
Fixes various weird disassembly problems.
1997-01-02 19:21:36 +00:00
Jeff Law
160cca6457 * v850-opc.c (v850_opcodes): Put curly-braces around operands
for "breakpoint" instruction.
Fixes random assembler failures for hp-x-v850 toolchain.
1996-12-31 21:20:00 +00:00
Ian Lance Taylor
1a4752c664 * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
(dep): Use ALL_CFLAGS rather than CFLAGS.
1996-12-31 20:38:45 +00:00
Michael Meissner
0068e79cc5 Set V850_OPERAND_ADJUST_SHORT_MEMORY flag on sst.{h,w}/sld.{h,w} instructions 1996-12-31 20:11:39 +00:00
Ken Raeburn
f204f75257 End tic80 sanitization regions with "end-sanitize-tic80", not
with "start-sanitize-tic80".
1996-12-31 17:51:22 +00:00
Fred Fish
39620b712c * Makefile.in (m68k-opc.o, alpha-opc.o): Remove dis-asm.h dependency.
(tic80-dis.o, tic80-opc.o): Add rules per comment in Makefile.in.
1996-12-31 00:09:59 +00:00
Ian Lance Taylor
ea6c562019 * mips16-opc.c: Add "abs". 1996-12-30 16:38:24 +00:00
Fred Fish
a79d0193ec * Makefile.in (ALL_MACHINES): Add tic80-dis.o and tic80-opc.o.
* disassemble.c (ARCH_tic80): Define if ARCH_all is defined.
	(disassembler): Add bfd_arch_tic80 support to set disassemble
 	to print_insn_tic80.
	* tic80-dis.c (print_insn_tic80): Add stub.
1996-12-29 18:01:29 +00:00
Fred Fish
6357e7f68e (Laying groundwork (that will be incrementally fleshed out) for TIc80 support)
* configure.in (arch in $selarchs): Add bfd_tic80_arch entry.
	* configure: Regenerate with autoconf.
	* tic80-dis.c: Add file.
	* tic80-opc.c: Add file.
1996-12-28 05:36:52 +00:00
Martin Hunt
b5baebe405 Fri Dec 20 14:30:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* d10v-opc.c (pre_defined_registers):  Add cr[0-15], dpc, dpsw, link.
1996-12-20 22:32:16 +00:00
Jeff Law
e098bae8e7 * mn10200-opc.c (mn10200_operands): Add SIMM16N.
(mn10200_opcodes): Use it for some logicals and btst insns.
        Add "break" and "trap" instructions.
1996-12-18 17:12:16 +00:00
Jeff Law
374cb3020b * mn10300-opc.c (mn10300_opcodes): Add "break" instruction.
For gdb.
1996-12-16 22:28:24 +00:00
Jeff Law
d21f1eae7d * mn10200-opc.c: Add pseudo-ops for "mov (an),am" and "mov an,(am)". 1996-12-16 20:05:07 +00:00
Ian Lance Taylor
39e5bea281 * mips-dis.c (print_mips16_insn_arg): The base address of a PC
relative load or add now depends upon whether the instruction is
	in a delay slot.
1996-12-15 03:37:08 +00:00
Jeff Law
c6b62ad1d7 * mn10200-dis.c: Finish writing disassembler.
* mn10200-opc.c (mn10200_opcodes): Fix mask for "mov imm8,dn".
        Fix mask for "jmp (an)".
mn10200 disassembler works!
1996-12-12 08:09:27 +00:00
Jeff Law
77955104ba * mn10300-dis.c (disassemble, print_insn_mn10300): Corrently
handle endianness issues for mn10300.
1996-12-11 17:34:15 +00:00
Jeff Law
532700fc31 * mn10200-opc.c (mn10200_opcodes): Fix operands for "movb dm,(an)".
Yoshihiro Adachi sez the manual was wrong for this insn.
1996-12-11 16:29:02 +00:00
Jeff Law
7bfc95d917 * mn10200-opc.c (mn10200_opcodes): "mov imm8,d0" is a format 2
instruction.  Fix opcode field for "movb (imm24),dn".
Stuff found by the testsuite.
1996-12-10 20:34:14 +00:00
Jeff Law
0888b4a38a * mn10200-opc.c (mn10200_operands): Fix insertion position
for DI operand.
Found by gas testsuite.
1996-12-10 19:13:07 +00:00
Jeff Law
781766e7e1 * mn10200-opc.c: Create mn10200 opcode table.
* mn10200-dis.c: Flesh out mn10200 disassembler.  Not ready,
        but moving along nicely.
Checkpointing today's mn10200 work.
1996-12-09 23:48:15 +00:00
Peter Schauer
b65415a446 * Makefile.in (ALL_MACHINES): Add mips16-opc.o. 1996-12-08 12:35:28 +00:00
J.T. Conklin
6827a1c758 * m68k-opc.c (m68k_opcodes): Revert change to use < and >
specifiers for fmovem* instructions.
1996-12-07 00:54:51 +00:00
Jeff Law
4db788a664 * mn10300-dis.c (disassemble): Remove '$' register prefixing. 1996-12-06 22:40:31 +00:00
Ian Lance Taylor
34212ec3f6 * mips16-opc.c: Change opcode for entry/exit to avoid conflicting
with dsrl.
1996-12-06 22:35:01 +00:00
Jeff Law
8329699005 * mn10300-opc.c: Add some comments explaining the various
operands and such.

        * mn10300-dis.c (disassemble): Fix minor gcc -Wall warnings.
1996-12-06 22:04:12 +00:00
J.T. Conklin
e72d5a50f9 * m68k-dis.c (print_insn_arg): Handle new < and > operand
specifiers.
* m68k-opc.c (m68k_opcodes): Simplify table by using < and >
operand specifiers in fmovm* instructions.
1996-12-05 20:12:47 +00:00
Ian Lance Taylor
70eb6bdd65 * ppc-opc.c (insert_li): Give an error if the offset has the two
least significant bits set.
PR 11201.
1996-12-04 19:53:09 +00:00
Jeff Law
069279b34a * mn10300-dis.c (disasemble): Finish conversion to '$' as
register prefix.
Fixes improper disassembly of movm instructions.
1996-11-26 23:04:02 +00:00
Ian Lance Taylor
0e809bba05 * configure: Rebuild with autoconf 2.12. 1996-11-26 21:59:23 +00:00
Jeff Law
23b01150f5 * mn10300-opc.c (mn10300_opcodes): Fix mask field for
mov am,(imm32,sp).
Found during initial simulator work.
1996-11-26 20:28:34 +00:00
Ian Lance Taylor
8d67dc3077 Add support for mips16 (16 bit MIPS implementation):
* mips16-opc.c: New file.
	* mips-dis.c: Include "elf-bfd.h" and "elf/mips.h".
	(mips16_reg_names): New static array.
	(print_insn_big_mips): Use print_insn_mips16 in 16 bit mode or
	after seeing a 16 bit symbol.
	(print_insn_little_mips): Likewise.
	(print_insn_mips16): New static function.
	(print_mips16_insn_arg): New static function.
	* mips-opc.c: Add jalx instruction.
	* Makefile.in (mips16-opc.o): New target.
	* configure.in: Use mips16-opc.o for bfd_mips_arch.
	* configure: Rebuild.
1996-11-26 15:59:18 +00:00
J.T. Conklin
520e44a15a * m68k-opc.c (m68k_opcodes): Simplify table by using < and >
operand specifiers in *save, *restore and movem* instructions.
1996-11-26 03:24:55 +00:00
J.T. Conklin
da34628ad8 * m68k-opc.c (m68k-opcodes): Fix move and movem instructions for
the coldfire.
1996-11-26 01:54:16 +00:00
J.T. Conklin
0dd19a8f36 * m68k-opc.c (m68k-opcodes): Fix many forms of the move
instruction for the coldfire.
1996-11-26 00:17:17 +00:00
J.T. Conklin
09d205d155 * m68k-opc.c (m68k-opcodes): The coldfire (mcf5200) can only use
register operands for immediate arithmetic, not, neg, negx, and
set according to condition instructions.
1996-11-25 22:33:46 +00:00
J.T. Conklin
1852237cf4 * m68k-opc.c (m68k_opcodes): Consistantly Use "s" as the storage
specifier of the effective-address operand in immediate forms of
arithmetic instructions.  The specifier for the immediate operand
notes how and where the constant will be stored.
1996-11-25 21:39:55 +00:00
Jeff Law
731c7b4bb8 * mn10300-opc.c (mn10300_opcodes): Remove redundant "lcc"
opcode.
1996-11-25 19:46:21 +00:00
Jeff Law
76783aa31c * mn10300-dis.c (disassemble): Use '$' instead of '%' for
register prefix.
It's easier for the assembler...
1996-11-25 18:46:06 +00:00