diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-09-19 19:33:48 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-09-19 19:33:48 +0000 |
commit | 9adcd78108cf3fd738cf973ab5c27c4c16c4df7d (patch) | |
tree | 80a4baf830c6a2990d8be5db0dc3d612a6aba9c9 /gas | |
parent | a4a879cde225d9f87a035e90010ce9240b0e59df (diff) | |
download | gdb-9adcd78108cf3fd738cf973ab5c27c4c16c4df7d.zip gdb-9adcd78108cf3fd738cf973ab5c27c4c16c4df7d.tar.gz gdb-9adcd78108cf3fd738cf973ab5c27c4c16c4df7d.tar.bz2 |
* config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'.
Replace 'P' with '0', '1', and '2'.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 3 | ||||
-rw-r--r-- | gas/config/tc-m68k.c | 28 |
2 files changed, 25 insertions, 6 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 426e5d5..d7f472a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,8 @@ Tue Sep 19 11:31:31 1995 Ian Lance Taylor <ian@cygnus.com> + * config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'. + Replace 'P' with '0', '1', and '2'. + * config/tc-m68k.c (parse_mri_control_operand): Change leftstop and rightstop to not be const. (parse_mri_control_expression): Likewise. diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c index 01200f0..4c0fd6d 100644 --- a/gas/config/tc-m68k.c +++ b/gas/config/tc-m68k.c @@ -1227,6 +1227,12 @@ m68k_ip (instring) || opP->mode == AREG || opP->mode == REGLST) losing++; + /* We should accept immediate operands, but they + supposedly have to be quad word, and we don't + handle that. I would like to see what a Motorola + assembler does before doing something here. */ + if (opP->mode == IMMED) + losing++; break; case 'f': @@ -1235,13 +1241,21 @@ m68k_ip (instring) losing++; break; - case 'P': + case '0': + if (opP->mode != CONTROL || opP->reg != TC) + losing++; + break; + + case '1': + if (opP->mode != CONTROL || opP->reg != AC) + losing++; + break; + + case '2': if (opP->mode != CONTROL - || (opP->reg != TC - && opP->reg != CAL + || (opP->reg != CAL && opP->reg != VAL - && opP->reg != SCC - && opP->reg != AC)) + && opP->reg != SCC)) losing++; break; @@ -2258,7 +2272,9 @@ m68k_ip (instring) install_operand (s[1], tmpreg); break; - case 'P': + case '0': + case '1': + case '2': switch (opP->reg) { case TC: |