diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2007-07-03 07:54:19 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2007-07-03 07:54:19 +0000 |
commit | afa2158f09569ac8c57c27a001d6221e8c6bd39f (patch) | |
tree | a72eb9d405614d00cc12499577d717befbd84613 /include | |
parent | ae4a729bff61b571c63a35ffa265d321cf8f9c89 (diff) | |
download | gdb-afa2158f09569ac8c57c27a001d6221e8c6bd39f.zip gdb-afa2158f09569ac8c57c27a001d6221e8c6bd39f.tar.gz gdb-afa2158f09569ac8c57c27a001d6221e8c6bd39f.tar.bz2 |
gas/testsuite/
* gas/m68k/mcf-coproc.d: New.
* gas/m68k/mcf-coproc.s: New.
* gas/m68k/all.exp: Add it.
gas/
* config/tc-m68k.c (m68k_ip): Add j & K operand types.
(install_operand): Add E encoding.
(md_begin): Check and skip initial '.' arg character.
(get_num): Add 0..511 case.
include/
* opcode/m68k.h: Document j K & E.
opcodes/
* m68k-dis.c (fetch_arg): Add E. Replace length switch with
direct masking.
(print_ins_arg): Add j & K operand types.
(match_insn_m68k): Check and skip initial '.' arg character.
(m68k_scan_mask): Likewise.
* m68k-opc.c (m68k_opcodes): Add coprocessor instructions.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/opcode/m68k.h | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 8fa288e..275d729 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2007-07-03 Nathan Sidwell <nathan@codesourcery.com> + + * opcode/m68k.h: Document j K & E. + 2007-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com> * dis-asm.h (print_insn_cr16): New prototype. diff --git a/include/opcode/m68k.h b/include/opcode/m68k.h index 60bfb3a..2dd6d3f 100644 --- a/include/opcode/m68k.h +++ b/include/opcode/m68k.h @@ -96,10 +96,15 @@ struct m68k_opcode_alias The args field is a string containing two characters for each operand of the instruction. The first specifies the kind of - operand; the second, the place it is stored. */ + operand; the second, the place it is stored. + + If the first char of args is '.', it indicates that the opcode is + two words. This is only necessary when the match field does not + have any bits set in the second opcode word. Such a '.' is skipped + for operand processing. */ /* Kinds of operands: - Characters used: AaBbCcDdEeFfGgHIiJkLlMmnOopQqRrSsTtU VvWwXxYyZz01234|*~%;@!&$?/<>#^+- + Characters used: AaBbCcDdEeFfGgHIiJjKkLlMmnOopQqRrSsTtUuVvWwXxYyZz01234|*~%;@!&$?/<>#^+- D data register only. Stored as 3 bits. A address register only. Stored as 3 bits. @@ -234,6 +239,8 @@ struct m68k_opcode_alias y (modes 2,5) z (modes 2,5,7.2) x mov3q immediate operand. + j coprocessor ET operand. + K coprocessor command number. 4 (modes 2,3,4,5) */ @@ -301,6 +308,7 @@ struct m68k_opcode_alias 7 second word, shifted 7 8 second word, shifted 10 9 second word, shifted 5 + E second word, shifted 9 D store in both place 1 and place 3; for divul and divsl. B first word, low byte, for branch displacements W second word (entire), for branch displacements |