SUMMARY:
CLIB_16.LIB - Selected independent far model replacement functions from the standard C (Microsoft C/C++ 7.00) library. Distribution zip file includes sources, Makefile, and limited documentation.

DISTRIBUTION clib_16.zip CONTENTS:

isspace.asm
strcpy.asm
strlen.asm
skipsp.asm
skiptosp.asm
strcat.asm
strcmp.asm
strchr.asm
strstr.asm
strrchr.asm
stricmp.asm
skipspr.asm
skiptosr.asm
strlwr.asm
strupr.asm
strncpy.asm
strncat.asm
memmove.asm
memset.asm
memcmp.asm
isalnum.asm
isalpha.asm
isascii.asm
iscntrl.asm
iscsym.asm
iscsymf.asm
isdigit.asm
islower.asm
isupper.asm
isxdigit.asm
clib_16.inc
clib_16.txt
Makefile

BUILD THE LIBRARY:

BUILD - UNZIP DISTRIBUTION
Pkzip 2.50 zipped/ compressed the library distribution file. To unzip the library, place the clib_16.zip file into the desired directory.
pkunzip -d clib_16.zip
creates and places above listed files into directory clib_16
change to directory clib_16

BUILD - EDIT MAKEFILE
After unzipping the distribution package, edit Makefile as required.
Three configuration options require attention.
DIRINCLUDE
Set to the location to copy the library include (clib_16.h) file into.
DIRLIB
Set to the location to copy the library (clib_16.lib) into.
DEBUG=0
Value of 1 builds debug (CodeView) version of library.

BUILD - NMAKE
Once the files are unziped, and the Makefile edited, run
NMAKE clean

Then run
NMAKE
to build the library


CLIB_16.LIB BUILD TOOLS
The library is built (and debugged) with the following Microsoft development tools:
NMAKE 1.20
MASM 6.14
MSC/C++ 7.0
LINK 5.31
PWB 2.1.49
CODEVIEW 4.01
LIB 3.20

Note:
MASM 6.14 runs in a Windows9X DOS box.

DOCUMENTATION:
See the Run-Time Library Reference manual for each individual function. Except where noted, clib_16.lib function parameters and return values are identical.

Some functions in clib_16 have corresponding Microsoft intrinsic versions. To use the library, disabling automatic intrinsic substitution may be required in some cases.

All functions in clib_16.lib are far model; Pointers are far and procedure calls are far. Each function, where applicable, preserves the es register, for additional compatibility with assembly routines. Due to the semantics of the fastcall convention, only a subset of far model routines have corresponding fastcall routines. If a fastcall function exists, then all registers, except ax (and dx for 4 byte return values) are restored, to improve assembly language integration.

GENERAL:
Independent means that each function included in clib_16.lib is completely independent of any other function. Most C library functions are dependent on other library functions, computer hardware, BIOS, and may require initialization. Because each clib_16.lib function is independent, no initialization is required, and each individual function may be included as required in an application. Programmers developing applications requiring independent functions should appreciate clib_16.lib. Due to the independent nature of each function, only a subset of the standard C library may be implemented. As demand warrants, and/or as they are completed, and/or as they are donated, functions that may be implemented as independent will be added to clib_16.lib. Contributions gladly accepted, especially sprintf and sscanf.

See clibc_16.lib for near model (com/small) independent functions.

CONTACT INFORMATION:

email:
bkyoung@cwnet.com

Address:
Byron Young
2351 Woodthrush Way
Pleasanton, CA 94566

COPYRIGHT INFORMATION:
All work herein copyrighted by the author. Commercial use and distribution of this library without the prior written permission of the author is prohibited. Library may only be distributed for personal use in original zip format by the simtel network.

DISCLAIMER
No warranty, expressed or implied, is given concerning the functionality or operability of the code included in this distribution.

BUGS
A project of this type will never be bug free. Writing simultaneous, almost identical functions, for two different models (near, far) and three calling models (near, far, fastcall) always generates some confusion. Bug reports gladly accepted, and are appreciated.

REVISIONS
Release_02 09/14/2002 ilib_02.zip
Fastcall functions debugged.
Numerous bug fixes in other functions.

Release_01 09/04/2002 ilib_01.zip
Initial Release.