FAQ


Will there be a 16bit or 64bit version?

I am considering doing 64bit version after core of 32bit version is done. Due to nature of 64bit assembly code, it will not be truly a "port", it will be another library, very similar to this one. But this is still just an idea. 16bit version is not planned.


Why don't you use register calling convention? At least for some functions?

Number of reasons:
- Declarations in sources are processed by some build tools and test scripts to gain information about functions. I would have to build something like HLA to include this information to declarations. It will greatly complicate many things.
- I prefer simplicity. In this manner, same calling convention for every FASMLIB function is better than multiple calling conventions.
- Speed gain of register calling conventions is not purpose of FASMLIB. See question about speed optimizations.


Why don't you use macros to inline short functions?

Same reasons as previous questions. Besides that, this will mean that i would have to rewrite macros for every supported assembler, and maybe enforce usgage of special macro to call these functions. This would beat one goal of FASMLIB: usability in pure assembly.


Why is speed not important for you?

FASMLIB is library, library means abstractions, and abstractions usually mean worse performace. Those few parts of your application that are time-critical shouldn't use library anyway.


Do you plan BSD support?

Not yet, until someone seriously requests it for some real purpose. Problem is that i would have to install some BSD system to test this version. However, I plan version built atop of standard C library, which will make it possible to port FASMLIB applications to BSD.


What is the end goal of this project?

See doc/TODO.txt in FASMLIB archive.


Do you plan some graphics / GUI support?

No. Doing portable GUI library is enormous problem, for large team of people working on it for years. There is GTK, in case you need portable GUI.


What is "libcall" macro that is used in some examples and in source code?

This is high level call macro that I use to call FASMLIB procedures. If FASMLIB is included by sources in FASM project, it can be used by that project too, as demonstrated in several examples. It is described in documentation under "FASM-Specific Features".


What is AsmDoc utility? Where can I get it?

It is utility I wrote, that extracts documentation from assembly code. It's still in very premature state, so I don't make it publicly available. If you want it, write me e-mail.


I would like to help with project. What should I do?

Just contact me, and we will agree on what you will be doing. After you deliver some usable code, you are officially in team.