Hello,
I really tried not to bother anyone about my question. I searched the
Internet and QNX site the best I could for the information I wanted,
but couldn’t find anything.
I am wondering about QNX Neutrino/RTP/whatever. I am moving away from
DPMI ASM programming, and may have some misconceptions about
programming under a POSIX+ELF ASM environment. Please ignore any
errors I make.
My question has to do with system services: Is there any way to access
POSIX or system services using software interrupts under QNX RTP?
For example: DOS has INT 21h (among others). BeOS has INT 25h. Linux,
FreeBSD, AtheOS, and others have INT 80h whereby POSIX services can be
accessed.
I heard that Be Inc. didn’t want to publish this information. Maybe
because these features are undocumented, not official, and reliance on
software interrupts is just plain bad? So, should I assume QSSL has
the same policy? I also heard that many portable operating systems do
not allow software interrupts, because not all hardware architectures
support them.
Although software interrupts are considered slow, linking to shared
objects in ASM can get pretty hairy and time-consuming. Plus reliance
on LIBC or any such libraries almost defeats the purpose of ASM
programming in the first place. So, in many cases it is preferable to
use software interrupts.
As well, any information on interrupts and functions would complement
an existing effort to provide a portable POSIX ASM environment
(targeted for embedded systems) nicely.
(http://linuxassembly.org/asmutils.html)
Thank you,
Dylan.