geoff@eagle_snax.UUCP ( R.H. coast near the top) (11/17/88)
The good news about Turbo Assembler is its speed - 6:25 to build
PC-NFS, compared to 8:03 under MASM 5.0.
The bad news is a nasty little bug. It turns out that if you assemble
a statement such as
cmp ax, es:word ptr [di].symbol
the "es" segment prefix is lost and it is assembled as though
you had written
cmp ax, word ptr [di].symbol
If you modify the code to read
cmp ax, word ptr es:[di].symbol
everything is fine.
Just out of curiosity, I checked to see how many lines of this form
we have in PC-NFS (or at least in PC-NFS.SYS). For those with
a taste for the macabre, the egrep command was
egrep -i "[cdes]s:.*(word|byte|dword).*ptr.*\[..\]" *.asm
There were 21 hits.
I've talked to Borland; somebody reported the same bug earlier
today.
THE VERDICT: Don't Use Turbo Assembler (yet), unless you're prepared to
find and fix any lines of this form in your source.
Geoff
--
Geoff Arnold, Sun Microsystems Inc. +------------------------------------+
PC Distributed Systems(home of PC-NFS)|Someone, somewhere, wants an RFC822 |
UUCP: {hplabs,decwrl...}!sun!garnold |message from YOU. |
ARPA: garnold@sun.com +------------------------------------+