X-Authentication-Warning: kendall.sfbr.org: jeffw set sender to jeffw AT darwin DOT sfbr DOT org using -f Date: Sat, 3 Mar 2001 14:32:22 -0600 From: JT Williams To: djgpp-workers AT delorie DOT com Cc: Bill Currie , Eli Zaretskii Subject: Re: djasm patch #5 Message-ID: <20010303143222.A11337@kendall.sfbr.org> Mail-Followup-To: djgpp-workers AT delorie DOT com, Bill Currie , Eli Zaretskii References: <20010301154709 DOT B8889 AT kendall DOT sfbr DOT org> <2593-Fri02Mar2001121352+0200-eliz AT is DOT elta DOT co DOT il> <20010302082021 DOT C9404 AT kendall DOT sfbr DOT org> <200103030244 DOT VAA31634 AT envy DOT delorie DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200103030244.VAA31634@envy.delorie.com>; from dj@delorie.com on Fri, Mar 02, 2001 at 09:44:15PM -0500 Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk Bill, Eli, Just to review and make sure we are on the same page.... Bill, you initially implemented sh[lr]d in `stock' djasm.y for the following double-precision shifts: sh[lr]d reg16, reg16, const sh[lr]d reg16, reg16, reg8 sh[lr]d reg32, reg32, const sh[lr]d reg32, reg32, reg8 (This is only half of the available double-precision shifts, but these are the only ones you implemented.) Then, you later (in your hacked version of djasm.y, never distributed with DJGPP) redefined sh[lr]d to be consistent with the other mnemonics, introduced new mnemonics for the double-precision shift operations, and implemented all 8 forms of the instruction. Now, in the patch to be applied *after* the one we are discussing, you have implemented a trap for the following mnemonic usage | SHIFTD REG16 ',' REG16 ',' const { shld_error($1,0); } | SHIFTD REG16 ',' REG16 ',' REG8 { shld_error($1,0); } | SHIFTD regmem ',' REG16 ',' const { shld_error($1,0); } | SHIFTD regmem ',' REG16 ',' REG8 { shld_error($1,0); } | SHIFTD REG32 ',' REG32 ',' const { shld_error($1,1); } | SHIFTD REG32 ',' REG32 ',' REG8 { shld_error($1,1); } | SHIFTD regmem ',' REG32 ',' const { shld_error($1,1); } | SHIFTD regmem ',' REG32 ',' REG8 { shld_error($1,1); } so that any obsolete usage of sh[lr]d as a double-precision instruction will be flagged and the correct mnemonic will be indicated. If this is all correct, then IMHO we should proceed with the next two patches to djasm, and add notes to wc204.txi and djasm.txi. I don't see how we can (easily) do any better than this. -- jtw 3:47 E.S.T.