Re: FASM Users can now Call HLA StdLib Routines
From: Randall Hyde (randyhyde_at_earthlink.net)
Date: Sat, 22 Nov 2003 20:46:31 GMT
"Frank Kotler" <firstname.lastname@example.org> wrote in message news:rpJvb.207055$9E1.1112071@attbi_s52...
> Randall Hyde wrote:
> Not to be outdone by Fasm... I hadda take a crack at that.
That's what I was hoping for, and I had you in mind.
> "translation" of the include files so Nasm users could call the UCR
> Standard Library was such a massive success, I guess the glory went to
> my head! :)
It should. If it weren't at least a small amount of work, I would have
done it myself. Thanks for the effort.
> It seems to work, probably got problems that will crop up... Not very
> portable yet - gotta look into how HLA does things in Linux - surely not
> with MessageBoxA :) Tried to get that stuff all in the ".inc" file, so
> only that would need to be changed...
I haven't thought about the Linux side of things yet. Though most of
the library routines should be fine (obviously linking with the library
stuff for Linux); about the only thing that *should* need to be changed
is the skeleton file. As for the exception handling stuff, if an unclaimed
exception occurs, the Linux code sends the output to the stderr device.
So other than the possible appearance of MessageBoxA in the
skeleton file, things should be okay.
> You done changing the names of the library routines, Randy? It wasn't as
> ugly in lowercase...
This is MASM's fault. I needed to use the Pascal calling convention, but
MASM always maps all identifiers to upper case in that mode. Ugly.
There are a few routines I've haven't made the conversion to yet, but they're
the routines that are quite difficult to call from other assemblers (e.g.,
the pattern matching stuff and things involving character sets). Actually,
calling isn't the true problem, passing the parameters is the real problem.
Someday soon I plan on playing around with the macros in MASM
a bit more and I'll see if there isn't an easy way to do character set
constants with MASM.