Warning, this is work-in-progress, posted for information. Based on C86NC5C.C.
Note: many of the new constructs in CCN8A.C are commented out awaiting further integration, and testing.
-Removed cz name mangling.
-Changed exit: to use Call5 'program terminate' instead of INT 19h, in C5LIBA.C, the version to use for this build.
-Changed termination in PROLOG.NSM to use Call5 'program terminate' instead of INT 19h, for those applications in which main() returns without an exit() function call.
The Call5 'program terminate' works better than int19h on real mode pcDos to return to the enviornment instead of a full reboot of pcDos.
The C5LIBA.C I/O Library to be %included.
NASM makefile for this project, ccn8a.mak outputs CCN8A.BIN Rename to CCN8A.COM
The self-compiled output, CCN8A.NSM ready to make. Note how the generated code differs from the other CodeSets.
NASM leading bookend code, PROLOG.NSM to CCN8A.NSM, NASM will %include it.
NASM trailing bookend code, EPILOG.NSM to CCN8A.NSM, NASM will %include it.
Note that if Nasm can't open an %include file, it will hang waiting. The 'NASM version 0.98.38 compiled on Sep 12 2003' was used for these projects. The dos version was used under Win XP's CMD.EXE, see 'workspace enviornment' for how CMD.EXE was utilized. Be aware that most 32-bit instructions are available in the CMD.EXE VM. Enjoy!