From: Frank K. <fbk...@co...> - 2003-11-17 00:12:34
|
Randy Hyde has posted the following on alt.lang.asm... ------------------------------------- Odyssey, over at the Win32 ASM Community Board, has created an include file for FASM users that allows them to call many of the routines in the HLA Standard Library. I've posted an early version of this header file on Webster at http://webster.cs.ucr.edu/Page_AdvAsm/0_HLA4FASM.html FASM users might want to check this out. Those interested in helping out with this project might want to check out http://board.win32asmcommunity.net/showthread.php?s=&threadid=16040 It might also be a bit of a help to NASM users if someone were to do the same thing for NASM (I'd do it, but I'm a bit snowed under right now). Between the MASM and FASM header, skeleton, and demo files, it should be pretty obvious to any NASM programmer what needs to be done. For any FASM users looking for a project, the header file above is for Windows; a Linux version would be cool to have, too (then FASM users could more easily port programs between Windows and Linux, just like HLA). Cheers, Randy Hyde -------------------------------------- Now... I did a similar thing a while ago - ported the include files so we could call the old 16-bit UCR Standard Library from Nasm code... There appeared to be *zero* interest in such a thing. Still, include files for Nasm so we could call the HLA library might be a handy thing to have... The problem is that the Fasm files use a lot of "if used" constructs, like: macro EXTRN symbol,name { if used symbol if name eq extrn symbol else extrn name as symbol end if end if } or: if used AbortDoc extrn '__imp__AbortDoc@4' as AbortDoc:dword end if ... and I'm not sure how to do that in Nasm. "%ifid" seems not to do the trick. If we declare everything extern, whether it's used or not, it'll work, but results in a bloated executable. Anyone know how to do "if used" in Nasm? Best, Frank |