This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: PATCH: add pa2.0 system instructions
>> "jeff" == Jeffrey A Law <law@cygnus.com> writes:
>> Perhaps I don't understand here, but this doesn't seem ambiguous to
>> me. There isn't ambiguity in the 0, 4, or 9. In the old syntax, 5 can
>> only be a displacement.
jeff> But the code which parses an 'x' operand (or any register operand) will
jeff> accept an immediate and treat it like a register number. So, if you
jeff> are using existing letters to stand for registers, then you've got no
jeff> way to distinguish between those cases. It's a serious issue.
jeff> Given the table fragment I posted, there's no way to get load-word with
jeff> short displacement without modifying how the 'x' and other register
jeff> operands are handled because 'x' will interpret the short displacement
jeff> as a register #.
OK, I see. Yeah that's a nuisance. But, if we're willing to go to the effort
of prefixing to free up codes, we can handle this by adding codes that only
accept registers versus the ones that cast immediates to registers. In this
case, the stricter syntax restriction comes for free.
Jerry