home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 5
/
ctrom5b.zip
/
ctrom5b
/
PROGRAM
/
ASM
/
ALIB30A
/
ALIB2.DOC
< prev
next >
Wrap
Text File
|
1994-12-03
|
29KB
|
400 lines
The following information summaries ALIB functions. Functions are grouped
into categories and then into modules. The module is the smallest unit
which the linker can handle. The category is for descriptive purposes.
Category Module
-------- ------
SHRINK - compress data block, adaptive huffman compress shrink1
EXPAND - expand data back to original state, adaptive huffman compress shrink1
COMPRESS - compress data block, limpel-ziev algorithm compress shrink2
UNCOMPRESS - uncompress data block, limpel-ziev algorithm compress shrink2
GET_SETUP - read setup file from disk & write initial file config config
CHANGE_SETUP - allow user to change setup configuration. config config
WRITE_SETUP - write setup block to disk file config config
SET_LIB_COLORS - set a color for library use config config
COMPARE1 - compare asciiz strings, use case, registers updated compare compar1
COMPARE2 - compare strings cx=len, use case, registers restore compare compar2
COMPARE3 - compare asciiz strings, use case, registers updated compare compar3
COMPARE4 - compare strings cx=len, use case, registers restore compare compar4
COMPARE5 - compare asciiz strings, no case, registers updated compare compar5
COMPARE6 - compare strings cx=len, no case, registers restore compare compar6
COMPARE7 - compare asciiz strings, no case, registers updated compare compar7
COMPARE8 - compare strings cx=len, no case, registers restore compare compar8
COMPARE9 - compare characters, ignore case (no case) compare compar9
COMPAREF - compare files, using case compare comparf
BYTE_TO_DEC_STDOUT - convert byte to decimal ascii and output convert conv20
BYTE_TO_HEX_STDOUT - convert byte to hex ascii and output convert conv23
BYTE_TO_HEX_CRT - convert hex byte to ascii and display convert conv06
BYTE_TO_HEX_STR - convert hex byte to two ascii characters convert conv06
DEC_STR_TO_WORD - convert unsigned asciiz string to word convert conv25
DEC_STR_TO_DWORD - convert unsigned asciiz string to word convert conv24
DEC_STRZ_TO_DWORD - convert unsigned asciiz string to word convert conv24
DEC_STR1_TO_WORD - convert unsigned asciiz string to word convert conv10
DEC_STR1_TO_DWORD - convert unsigned asciiz string to dword convert conv14
DEC_STR2_TO_WORD - convert unsigned ascii string to word convert conv11
DEC_STR2_TO_DWORD - convert unsigned ascii string to dword convert conv15
DEC_STR3_TO_WORD - convert signed asciiz string to word convert conv12
DEC_STR3_TO_DWORD - convert signed asciiz string to dword convert conv16
DEC_STR4_TO_WORD - convert signed ascii string to word convert conv13
DEC_STR4_TO_DWORD - convert signed ascii string to dword convert conv17
DWORD_TO_DEC_STRX - convert dword to decimal ascii & format convert conv07
DWORD_TO_DEC_CRTX - convert dword to decimal ascii and display convert conv07
DWORD_TO_DEC_STR - convert dword value and save in memory convert conv03
DWORD_TO_DEC_STDOUT - convert dword value to decimal and output convert conv22
DWORD_TO_HEX_STR - convert hex double word to ascii convert conv06
DWORD_TO_HEX_CRT - convert hex double word to ascii and display convert conv06
DWORD_TO_HEX_STDOUT - convert dword value to hex and output convert conv23
HEX_STR_TO_BYTE - convert 2 hex ascii characters to 1 hex byte convert conv05
HEX_STR_TO_WORD - convert 4 hex ascii characters to 2 hex bytes convert conv05
WORD_TO_DEC_STR - convert an integer value to an ASCIIZ string convert conv04
WORD_TO_DEC_CRT - display integer as decimal value convert conv04
WORD_TO_DEC_STDOUT - convert word to decimal ascii and output convert conv21
WORD_TO_HEX_STR - convert hex word to four ascii characters convert conv06
WORD_TO_HEX_CRT - convert hex word to ascii and display convert conv06
WORD_TO_HEX_STDOUT - convert hex word to ascii and output convert conv23
DBASE_INIT - initialize a database for use database dbase
DBASE_READ - read specific record from the database database dbase
DBASE_READ_NEXT - read next sequential record database dbase
DBASE_READ_PREV - read previous record database dbase
DBASE_APPEND - append this record to end database dbase
DBASE_INSERT - insert this record before specific record database dbase
DBASE_REPLACE - replace data for a specific record database dbase
DBASE_REMOVE - delete specific record database dbase
DBASE_CLOSE - close & write any pending data to file database dbase
DBASE_KILL - delete dbase file database dbase
FILE_COPY - copy a file disk disk1
FILE_SIZE1 - find an open file's size disk disk2
FILE_SIZE2 - find a closed file's size disk disk2
FILE_COUNT - counts the number of files matching a filespec disk disk3
FILE_FLUSH - flushes the DOS output buffer for specified handle disk disk4
FILE_EXIST - determines if a file exists and can be opened disk disk8
EXPAND_FILENAME - Expand a file string to the full path disk disk9
DECODE_FILENAME - build pointers to major portions of file name disk diska
FIND_HOME_PATH - get executing programs disk location disk diskb
INSERT_HOME_PATH - build path to reach data disk diskg
GET_PATH - finds paths in program environment disk diskc
CHANGE_PATH - switch to new directory, save current path first disk diskd
RESTORE_PATH - switch to directory saved by CHANGE_PATH disk diskd
WALK_PATH - provide files matching pattern for processing disk diske
DiskWrite_open - open disk file for buffer write disk diskf
DiskWrite_buffer - open disk file for buffer write disk diskf
DiskWrite_close - close disk file used for buffer write disk diskf
PUT_CRT_CHR - display single character display crt1
GET_CRT_CHR - read character and attribute from text screen display crt1
REPEAT_PUT_CRT - displays a single char CX times display crt1
PUT_CRT_BLK - copies a string to video memory buffer display crt2
VERTICAL_REPEAT_CHR - repeat columns of a character vertically display crt2
TABULAR_DRAW - Subroutine to draw using a table display crt3
CLEAR_SCREEN - fill screen with specified character and color display crt4
DISPLAY_STRING - display string directly to video buffer display crt4
DISPLAY_STRING_FILL - display string at specified position display crt4
DISPLAY_STRING_LIST - display a list of strings display crt4
CLEAR_WINDOW - fill a rectangular area of screen display crt5
DRAW_BOX - draw a box on screen display crt5
WINDOW_STRING - display string in a window, handles cr/lf display crt5
BOX_RIGHT - move box parameters right display crt5
BOX_LEFT - move box parameters left display crt5
BOX_UP - move box parameters up one position display crt5
BOX_DOWN - move box parameters down one position display crt5
BOX_EXPAND - expand box one position in all directions display crt5
BOX_SHRINK - shrink box parameters one position display crt5
GET_ANSI_COLOR - find color attribute used by ANSI driver display crt6
CURSOR_ - like SHOW_CURSOR, but the underscore cursor is used display crt6
SHOW_CURSOR - move cursor to (row, col) and update cursor shape display crt6
HIDE_CURSOR - make hardware cursor invisible display crt6
BLINK_ON - enable blinking attributes display crt6
BLINK_OFF - disable blinking attributes display crt6
SAVE_WINDOW - save area of display in memory buffer display crt7
RESTORE_WINDOW - restore a previously saved area of display display crt7
DISK_TO_CRT - loads a screen image file saved by CRT_TO_DISK display crt8
CRT_TO_DISK - saves a screen image to disk display crt8
POSN_TO_ADR - library internal usage only display crt9
ADR_TO_POSN - library internal usage only display crt9
LIB_ERROR_HANDLER1 - pre definded errors in a window error error1
ERROR_HANDLER1 - text in memory displayed in window error error1
ERROR_PRIME1 - setup error handler for window display error error2
ERROR_TABLE_HANDLER1 - windowed error messages from table error error2
ERROR_FILE_HANDLER1 - windowed error messages from file error error2
LIB_ERROR_HANDLER2 - pre defined errors to stdout error error3
ERROR_HANDLER2 - general stdout error handling error error3
ERROR_PRIME2 - setup for ERROR_TABLE_HANDLER2 error error4
ERROR_TABLE_HANDLER2 - errors from table to stdout error error4
FLOAT_OPEN - open the floating point module & hardware for use float float1
FLOAT_CLOSE - release the memory allocated by FLOAT_OPEN float float1
BINARY_IN - double word binary to floating format float float2
BINARY_OUT - floating format to double word binary float float2
FMOVE - move floating point token variables float float2
F_SUBTRACT - floating point subtract float float2
F_ADDITION - floating point addition float float2
F_COMP - floating point compare float float2
F_MULTIPLY - floating point multiply float float2
F_DIVIDE - floating point divide float float2
ROUND - round floating number to two decimal points float float2
TEXT_OUT - floating point to ascii conversion float float2
TEXT_IN - ascii to floating point conversion float float2
FLOAT_SET - enable/disable hardware (not used at present) float float2
DMUL_10_PLUS - multiply times ten & add value math math01
DWORD_NEGATE - negate dwouble word math math02
DWORD_DIVIDE - divide dword by word math math02
DWORD_ADD - add two double words math math02
DWORD_SUB - subtract two dwords math math02
DWORD_MUL - multiply two dwords math math02
WORD_CRC1 - undate CRC word sum for next byte math math07
WORD_CRC2 - fast 16bit CRC for a buffer of data math math07
DWORD_CRC - compute 32 bit crc math math03
WORD_SQROOT - compute square root of word value math math04
DWORD_COMPARE - unsigned 32 bit number compare math math05
QUAD_MULTIPLY1 - multiply two dwords math math05
QUAD_MULTIPLY2 - multiply two 32 bit unsigned numbers math math05
QUAD_DIVIDE - divide quad value by dword math math05
BLOCK_ADD Add two values in memory math math06
BLOCK_NEGATE - negate block in memory math math06
BLOCK_SUBTRACT - subtract two data blocks in memory math math06
BLOCK_DIVIDE - divide two variable blocks in memory math math06
BLOCK_MULTIPLY - multiply of two block in memory math math06
MEM_OPEN - interrogate memory and setup database. memory memory1
MEM_ALLOCATE - allocate a block of memory. memory memory1
MEM_PUT - write to allocated memory area. memory memory1
MEM_GET - read from allocated memory area. memory memory1
MEM_RELEASE - release allocated memory block. memory memory1
MEM_CLOSE - close memory handler. memory memory1
DOS_MEM_ALLOCATE - allocate dos memory for direct writes memory memory1
DOS_MEM_RELEASE - release DOS_MEM_ALLOCATE memory memory memory1
CMOS_TYPE - check cmos type memory memory2
CMOS_CHECKSUM - checksum a block of cmos memory memory memory2
CMOS_READ_BYTE - read one char from cmos memory memory memory2
CMOS_READ_WORD - read one word from cmos memory memory memory2
CMOS_READ_BLOCK - read block of data from cmos memory memory memory2
CMOS_WRITE_BYTE - write one char to cmos memory memory memory2
CMOS_WRITE_WORD - write one word to cmos memory memory memory2
CMOS_WRITE_BLOCK - write block of data to cmos memory memory memory2
MCB_FIND_FIRST - scan for start of MCB chain memory memory3
MCB_FIND_NEXT - scan for next MCB entry memory memory3
MCB_CHECK_NAME - compare current MCB name against list of names memory memroy3
MCB_FIND_NAME - scan current mcb to see if name is present memory memory3
MCB_DISPLAY_NAME - display program name if present memory memory3
CHECK_DOS_MEMORY - check DOS memory size and amount available memory memory4
XMS_CHECK - check XMS memory size and amount available memory memory5
XMS_UMB_CHECK - check if UMB area allocated by XMS driver memory memory5
XMS_ALLOCATE - allocate xms memory memory memory5
XMS_READ - read XMS memory block memory memory5
XMS_WRITE - write block of data to XMS memory memory memory5
XMS_RELEASE - release current XMS memory block memory memory5
EMS_CHECK - detects EMS driver memory memory6
EMS_ALLOCATE - allocate EMS memory memroy memory6
EMS_PAGE - request page of ems memory memory memory6
EMS_RELEASE - release allocated ems memory memory memory6
EXT_CHECK - check if EXT memory is present memory memory7
EXT_READ - read block of ext memory memory memory8
EXT_WRITE - write to EXT memory memory memory8
MENU_SYSTEM - Menu bar display and decode of user selection menu puldown1
QMENU_SYSTEM - Quick pull down menu bar menu puldown2
MESSAGE - boxed message display message msg1
QMESSAGE - Quick message display (msg in file) message msg3
QWARN - Quick message display (msg in mem) message msg3
BIT_COUNT - count bits in -al- misc misc1
REGISTER_DUMP - dump registers for debugging misc misc2
STACK_DUMP - dump stack for debugging misc misc2
A20_CHECK - check if A20 line is active misc misc3
A20_WRAP_OFF - check if A20 line is active misc misc3
A20_WRAP_ON - check if A20 line is active misc misc3
SEG_TO_ABS - convert segment:offset to absolute address misc misc3
IS_ALPHA - determines if a key from KEY_READ alpha char mouse/key mkey01
IS_TEXT - determines if key from KEY_READ is 20h-7eh or tab mouse/key mkey01
IS_DIGIT - determines if a key from KEY_READ is number mouse/key mkey02
IS_LOWER - determine if a key from KEY_READ is lower case mouse/key mkey03
IS_UPPER - determine if a key from KEY_READ is upper case mouse/key mkey04
TO_UPPER - converts keycode returned by KEY_READ to upper case mouse/key mkey05
TO_LOWER - converts keycode returned by KEY_READ to lower case mouse/key mkey06
IS_STDOUT_CONSOLE - check if stdout is redirected mouse/key mkey19
CAPS_ON - keyboard capslock key enabled mouse/key mkey07
NUMLOCK_ON - keyboard numlock key enabled mouse/key mkey07
SCROLL_ON - keyboard scroll lock key enabled mouse/key mkey07
INSERT_OFF - keyboard insert key disabled mouse/key mkey07
CAPS_OFF - keyboard capslock key disabled mouse/key mkey07
NUMLOCK_OFF - keyboard numlock key disabled mouse/key mkey07
SCROLL_OFF - keyboard scroll lock key disabled mouse/key mkey07
YES_OR_NO - wait for yes or no user response mouse/key mkey08
FLUSH_KEYBOARD - clears the keyboard's 'type-ahead' buffer mouse/key mkey09
KEY_CHECK - determines if a key is waiting mouse/key mkey09
KEY_READ - returns next key pressed mouse/key mkey09
KEY_PUT - put key back into BIOS buffer mouse/key mkey10
KEY_IF_READY - Returns key if one is waiting mouse/key mkey11
SETUP_MOUSE - initializes mouse if present mouse/key mkey12
MOUSE_PARMS - determine mouse position & buttons pressed mouse/key mkey12
KEY_OR_MOUSE - waits for keypress or mouse button click mouse/key mkey13
MOVE_MOUSE - position the mouse cursor mouse/key mkey14
BOX_THE_MOUSE - limits mouse's range of motion mouse/key mkey15
MOUSE_CURSOR_ON - enable the mouse cursor at BIOS level mouse/key mkey15
MOUSE_CURSOR_OFF - disable the mouse cursor at BIOS level mouse/key mkey15
GET_STRING - read string from the keyboard. mouse/key mkey16
KEY_DECODE - analyze key and select processing mouse/key mkey16
QGET_STRING - Quick call to get string & return when done mouse/key mkey16
window_edit - edit text within window mouse/key mkey17
window_cstring - display text with hyper formatting mouse/key mkey17
RANDOM_BYTE1 - generate random byte value random random3
RANDOM_DWORD1 - generate random dword value random random4
RANDOM_WORD1 - generate random word value, using method 1 random random1
RANDOM_WORD2 - generate random word value, using method 2 random random2
RANDOM_WORD3 - generate random word value, using method 3 random random5
RANDOM_WORD4 - generate random word value, method 4 random random6
RANDOM_WORD4_SCALED - random number within a specific range random random6
RANDOM_WORD5 - generate random word value, method 5 random random7
SCALE - scale word value random random7
RANDOM_SEED - get low clock value for us as random number random random8
PARSE_FIRST - parse first argument from command line parse parse
PARSE_NEXT - parse next command line parameter parse parse
SCAN_BLOCK_TINY1 - scan buffers for string, case match search scan01
SCAN_BLOCK_TINY2 - scan buffers for string, match either case search scan02
SCAN_BLOCK1 - scan buffers for string, match case search scan03
SCAN_BLOCK2 - scan buffers for string, match either case search scan04
SCAN_BLOCK_FOPEN - initialize fast scan of sequential buffers search scan05
SCAN_BLOCK_FCLOSE - terminate fast scan sequential buffers search scan05
SCAN_BLOCK_FAST - fast scan of sequential buffers for string search scan05
BUFFER_SEARCH - search string1 for the first string2 search scan16
BUFFER_SEACHC - search a buffer for the first of a string search scan16
SCAN_CHAR1 - scan asciiz buffer for character, case match search scan06
SCAN_CHAR2 - scan asciiz buffer for char, match either case search scan07
SCAN_CHAR3 - scan buffer for character, case match search scan08
SCAN_CHAR4 - scan buffer for character, match either case search scan09
SCAN_LAST_CHAR1 - scan asciiz string for last match, case match search scan10
SCAN_LAST_CHAR2 - scan asciiz buffer for last occurance of char search scan11
SCAN_LAST_CHAR3 - scan buffer for last char match, case match search scan12
SCAN_LAST_CHAR4 - scan buffer for last match, match either case search scan13
SCAN_LAST_STR1 - find last match of str in buffer, case match search scan14
LAST_CHAR - find last char in block search scan15
LAST_CHARC - find last char in block search scan15
BUBBLE_SORT_BUFFER - bubble sort of buffer in memory sort sort30
BUBBLE_SORT_FILE - bubble sort of file sort sort31
BUBBLE_SORT_ARRAYW - bubble sort array of word integers sort sort33
BUBBLE_SORT_ARRAYD - bubble sort array of double words sort sort34
MERGE_SORT_BUFFER - merge sort of buffer in memory sort sort20
MERGE_SORT_FILE - merge sort of file sort sort21
MERGE_SORT_ARRAYW - merge sort array of words sort sort23
MERGE_SORT_ARRAYD - merge sort array of double words sort sort24
SELECTION_SORT_BUFFER - selection sort of buffer in memory sort sort10
SELECTION_SORT_FILE - selection sort of file sort sort11
SELECTION_SORT_ARRAYW - selection sort of array of words sort sort13
SOUND_ON - enable sounds on speaker from BEEP or ONE_BEEP sound sound1
SOUND_OFF - disable sounds on speaker from BEEP or ONE_BEEP sound sound1
ONE_BEEP - beep once sound sound2
MAKE_SOUND make sound for number of milliseconds. sound sound2
STRLEN1 - finds length of an ASCIIZ string in DS:SI string str01
STRLEN2 - finds length of an ASCIIZ string in DS:DI string str01
STRLEN3 - finds length of an ASCIIZ string in DS:BX string str01
LEGAL_CHAR_CHECK - scan target string for legal characters string str08
ILLEGAL_CHAR_CHECK - scan target string for illegal characters string str09
STR_UPPER - change lower-case characters to upper case string str16
STR_UPPERC - changes lower-case characters in n-length string string str17
STR_LOWER - changes bytes of a string to lower case string str19
STR_LOWERC - changes n bytes of a string to lower case string str20
STR_CENTER - centers a string in a fixed field string str21
STR_LEFT - left-justifies a string in a fixed field string str22
STR_RIGHT - right-justifies a string in a fixed field string str23
STR_CLEANL - remove leading blanks from an ASCIIZ string string str24
STR_CLEANR - removes trailing blanks from an ASCIIZ string string str25
STR_REMOVE - remove all occurrences of a character from string string str26
STR_CHAR_DEL - deletes a character from a string string str27
STR_CHAR_DELC - deletes a character from string of known length string str27
STR_REVERSE - reverses all characters in a string string str28
STR_REVERSEC - reverses n characters in a string string str28
STR_SWAP - swaps strings or portion of strings string str29
STR_CLEAN - sets all bytes of string to a specified character string str30
STR_CLEANC - sets n bytes of string to a specified character string str30
STR_JOIN - appends string2 at end of string1 string str31
STR_INSERT - inserts string2 in string1 at specified offset. string str32
STR_INSERTC - inserts string2 in string1 at specified offset. string str32
STR_COPY - copy an ASCIIZ string to existing buffer string str33
STR_COPYC - copy CX bytes to an existing buffer string str33
STDOUT_CHAR - put character to stdout stdout stdout01
STDOUT_STRING - put asciiz string to stdout stdout stdout01
STDOUT_CRLF - put new line to stdout stdout stdout01
STDOUT_SPACES - put spaces to stdout stdout stdout01
LIBRARY_SETUP - setup library for use system sys1
LIBRARY_TERMINATE - close out library for program exit system sys1
FIND_CPU_TYPE - detects cpu type system sys1
MATH_HARDWARE - determines if 80x87 math coprocessor present system sys1
KEYBOARD_SETUP - determine type of keyboard attached system sys1
FIND_MOUSE - determines if a mouse is installed system sys1
CHECK_ANSI - determines if ANSI is present system sys1
DISPLAY_INFO - analyze display type and return parameters system sys1
DETECTVID - determine display type system sys1
FIND_DISPLAY_SEGMENT - scan for current display buffer segment system sys1
SPAWN_DOS - execute a second copy of DOS and application system sys2
COUNT_FLOP_DRIVES - determine the number of floppy drives system sys3
GET_DRV_TYPE - determine drive type system sys3
BREAK_KEY_INTERCEPT - initialize Ctrl+Break trap system sys4
BREAK_KEY_RESTORE - restore previous Ctrl+Break handler system sys4
BREAK_CHECK - check if break key pressed system sys4
DAYS_TO_DATE - date for a given number of days since 1-1-1980 time time1
MONTH_TO_ASCII - get ASCII string for specified month time time2
DAY_TO_ASCII - get ASCII string for specified day time time2
GET_TIME - get the current system time. time time3
ASC_TIME: Creates an ASCIIZ time string of the form HH:MM Xm. time time3
GET_DATE - get the current system date and day of the week time time4
GET_DAY - get the day of the week for a given date. time time4
ASC_DATE - Creates an ASCIIZ date string of the form MM/DD/YY time time5
DATE_TO_DAYS - get days between Jan 1, 1980 and a given date time time6
START_TIMER - start high resolution timer time time7
read_timer - read high resolution timer time time7
CONVERT_TIMER - convert timer ticks to seconds and microsecond time time7
DISPLAY_TIMER - display timer values to stdout time time7
CALIBRATE_TIMER - calibrate timer time time7
ALIB Overview
-------------
ALIB functions were written assuming a memory manager
is present and that information about the system they
are executing on is available. This allows the code
to make efficient use of memory, and avoids redundant
system interrogation. For example, the display
routines know the display mode, where display memory
is located, and what colors the user prefers.
The information needed to run any program is supplied
by the routine LIBRARY_SETUP. This function needs to
be at the start of every program, and LIBRARY_TERMINATE
needs to be at the end. Now the programmer can save
display data to a buffer with ease. The library knows
where display memory is located, and it can allocate a
buffer to hold the data. The programmer simply calls
SAVE_WINDOW, and eventually RESTORE_WINDOW to put the data
back on the display. This allows very complex library
functions and very efficient use of memory. Of course, it
also has a few restrictions. Programs must be in a fairly
standard form. The file TEMPLATE.ASM is a sample of the
form needed. Additionally, their are numerous sample
programs which also show the form needed.