ABSTRACT FOR PASCAL/Z USERS GROUP LIBRARY DISK Files with ext = LIB are Pascal source files. Files with ext = SRC are assembly language source files that are specifically written for Pascal/Z. Programs on this diskette were selected by Ray Penley. +++ A SMALL LIBRARY (ASL) +++ All the SRC files from this disk as a library. Select the required version and rename to ASL.REL ASL-V3.REL Pascal/Z version 3.3 ASL-V4.REL Pascal/Z version 4.0 +++ TUTORIAL +++ DATE.DOC How to use the date library of routines. LIBRARY.DOC How to include REL files in your own library. MAKEREL.DOC How to translate a Pascal program into a REL file. +++ BIT FIDDLING +++ ANDMSK.SRC Logical ANDing of two integers. x := a AND b; BITTEST.SRC Boolean function tests if one bit is set or not. If bittest(k,1) then ... EXORG.SRC Function returns the address location of the argument of the function. INPORT.SRC Input a byte directly from a specific port. OUTPORT.SRC Output a byte to a specific port. ORMSK.SRC Logical ORing of two integers. x := a OR b; PEEKPOKE.LIB Like BASIC - PEEK and POKE written in Pascal. +++ EXTERNAL DEVICE CONTROL +++ REMOTE.SRC Outputs codes recognized by a Scitronics BSR interface card and the BSR remote command modules. +++ CHARACTER I/O +++ CONCHAR.SRC Real time input of a single char. CONSTAT.SRC Real time console status check. DWRITE.SRC Direct console output of a char. KEYIN.SRC Direct console input of a char. +++ CHARACTER MANIPULATION +++ ISALPHA.SRC Is char an alphanumeric. ISDIGIT.SRC Is char a digit. ISLOWER.SRC Is char lower case. ISSPACE.SRC Is char a space or a tab char. ISUPPER.SRC Is char upper case. STDLIB2.SRC A collection of all these routines. TOLOWER.SRC Char to lower case. TOUPPER.SRC Char to upper case. +++ DISK FILE I/O +++ CFIO.LIB Opens an input file and an output file. GCML.LIB Gets the command line buffer. GET2C.LIB Gets two characters from disk file. GETCS.LIB getc(); get char from file STDIN putc(); put char to file STDIN gets(); get string from file STDIN puts(); put string to file STDIN GETINT.LIB Interactive input routine. GETW.LIB Gets a "word" from a disk file. OPEN.LIB Generalized file opening routine. Will open CON:, LST:, and disk files either for input or output. +++ STRING MANIPULATION +++ BRKDATE.LIB Converts days stored as integer and converts into month, day, year and day of week. CAPSTR.LIB Converts a string to upper case. CONCAT.LIB Concatenate routine COPY.LIB Copy a substring from a source string. CTOITOC.LIB String to Integer and Integer to String. (no error checking) CVRT.LIB Convert an alphanumeric string into its separate integer values. DASTRFIX.LIB Takes an integer date value and returns an eight-character string for month, day and year. DASTRLON.LIB Takes an integer date value and returns a string with all words spelled out. DASTRSH.LIB Takes an integer date value and returns a string with all words abbreviated. DATE.PAS The complete collection of routines from the date routines to be used as Pascal/Z external module. DATEFUNC.LIB Global functions used by the date routines. DEFINES.LIB Various types and variables to be used with the string handling routines. DELETE.LIB Delete a substring from a source string DEPAD.LIB Remove spaces from a string. INSERT.LIB Insert a substring into a source string IVAL.LIB String to INTEGER - with extensive error checking. LCASE.LIB Entire string to lower case. MAKEDATE.LIB GETDATE with no range limits. This inputs a date in the format 1-22-80 or 10/5/77 and returns an integer in the range 1..maxint. PADSTR.LIB Pad a string with spaces PROMPT.LIB Takes message, formats into fixed length string, and writes it to the console. QUIRY.LIB Interactive input for a Yes/No answer. REPLACE.LIB Replace characters in a string. RDR.LIB String to REAL number. RMAKEDA.LIB SCAN3-1.LIB Scans a string for length, valid chars/extensive error checking. STR.LIB Integer to string. UCASE.LIB Entire string to upper case. +++ TERMINAL I/O +++ GOTOXY.LIB Move cursor to XY coordinates. IOAIDS.LIB Library of useful definitions to be used with console I/O. TERMIO.LIB Library of useful definitions to be used with console I/O. TVI920.LIB Some strings to define characteristics for the TVI950.LIB Televideo model 920 and 950 terminals. +++ TRIG FUNCTIONS +++ COMPLEX.LIB Library of complex functions. COSINE.PAS Cosine routine written in Pascal. COSINE.SRC SRC of above. POWER.LIB The power function. POWER.SRC SRC of above. PWROFTEN.PAS Power of ten PWROFTEN.SRC SRC of above. TRIG.DOC Summaries of all the routines in TRIG.LIB TRIG.LIB May useful routines completely written in Pascal: ARCCOS(X), ARCSIN(X), ARCTAN(X), COSECANT(X), COSH(X), GCD(N,D), LOG(B,X), LOG10(X), LOWTERM(N,D), MAX(X,Y), POWER(X,Y), POWERI(X,I), RANDOM, SECANT(X), SINH(X), SQUAREROOT(X), TAN(X), TANH(X) +++ UTILITY MODULES +++ COMPILE.SUB Submit file that will do a complete compilation of a Pascal program under Pascal/Z. CALL.SRC Call an assembly language routine from within a Pascal/Z program. DELAY.PAS Routine to do a short delay. DELAY.SRC HALT.SRC Fatal error termination. IMINMAX.LIB Functions to return MIN or MAX of two integers. QQSORT.LIB Quicker sort routine. QSORT.LIB Quick sort routine. RANDOM.PAS (side 1) Generates random numbers using a Fibonacci series. RANDOM.SRC SRC for RANDOM.PAS SHELL.LIB Shell sort. STDFUNC.LIB Calls to 'setlength', 'length', 'index', 'POS'. RANDOM.LIB (side 2) Random number generator. RANDOM.SRC SRC for above. lls to 'setlength', 'length', 'i