This changes the interface between reloc_call_int2f_handler
(int2f.asm) and int2F_12_handler( ) (inthndlr.c) so that
- int2F_12_handler( ) will not try to output values to its
caller by passing "back" input parameter values
- reloc_call_int2f_handler will switch to an internal
stack before calling int2F_12_handler( ), so that SS ==
DGROUP as expected by the latter.
This partly addresses https://github.com/FDOS/kernel/issues/11 .
(The call to syscall_MUX14( ) in int2f.asm seems to have
similar issues, and should probably also be updated.)
GCC has -mrtd but the args are pushed in reverse versus PASCAL. So asm
routines have to use macros to obtain the stack arguments.
For the complex call_nls assembly, revert the arguments in C using a
preprocessor macro.
Because ia16-elf-gcc and the GNU linker do not understand OMF we
need to use ELF everywhere.
This also means we cannot use "wrt", "seg" and "call/jmp far".
Most wrt's are superfluous, and seg and call/jmp far can be
replaced by explicit ?GROUP references (to be defined in the
linker script).