X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=procln.c;fp=procln.c;h=be57b7d7f366f53db548a34a7b16bf4d450711d5;hp=9c207bfdefe8481ca71195ad1ad7c3aaaf7c3471;hb=3492e185b1dc066efaceb0c3f214467d5ab1e2c8;hpb=fbbe9b115f949735421485513154ce8abb8453eb diff --git a/procln.c b/procln.c index 9c207bf..be57b7d 100644 --- a/procln.c +++ b/procln.c @@ -845,8 +845,13 @@ When checking to see if it's already been equated, issue a warning. if (amode(1) < 0) // Parse 0, 1 or 2 addr modes goto loop; - if (*tok != EOL) - error(extra_stuff); + // Check that we're at EOL + // The only exception is ptestr/ptestw instructions + // that have 3 or 4 operands and are not handled by + // amode(). (yes, we're taking a performance hit here sadly) + if (m->mnfunc != m_ptestr && m->mnfunc != m_ptestw) + if (*tok != EOL) + error(extra_stuff); amsk0 = amsktab[am0]; amsk1 = amsktab[am1];