home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
utils
/
asmutl
/
mpdlib.lbr
/
MPDLIB.DZC
/
MPDLIB.DOC
Wrap
Text File
|
1987-10-26
|
2KB
|
70 lines
Name: MPDLIB.REL
Date: JUNE 30, 1984
This library module contains four subroutines which are further
described in Z80 Assembly Language Subroutines, by Leventhal & Saville,
Osborne/McGraw-Hill. These routines are for doing multiple precision
decimal arithmetic. They are:
NAME PURPOSE
MPDADD Add 2 arrays of decimal bytes.
MPDSUB Subtract 2 arrays of decimal bytes.
MPDMUL Multiply 2 arrays of decimal bytes.
MPDDIV Divide 2 arrays of decimal bytes
These routines are set up for use with the Microsoft assembler and
linking loader. To call them in a program you must reference the name
as an external and then simply do a call to the subroutine. For
example,...
EXT BN2HEX
*
*
*
*
CALL BN2HEX
*
*
ETCETERA
To use them with the loader, go:
* MPDLIB,YOURPROGRAM,/G
(Or whichever command line toggle you like)
All of these routines have been tested and debugged. I am making
them available because they aren't available on a disk as far as I know.
To use this stuff you are going to have to buy the man's book. If you
use these programs commercially then shame on you. These are for
intellectual exercise only
In order to use these subroutines it is to your advantage to sit
down and code a routine to test run them that you may really grok them
in full. I suggest that you hunt down a copy of ZPMMAC.MAC which is a
library of Z80 macros adapted from "Mastering CP/M" by Alan Miller.
These macros or similar ones will allow you to do console I/O on any
standard CP/M system... among other things. Rather than upload all the
subroutines in one gross big file, I am uploading several smaller files.
So far these are:
CODELIB.REL CODE CONVERSION ROUTINES
MPBLIB.REL MULTI-PRECISION BINARY MATH
MPDLIB.REL MULTI-PRECISION DECIMAL MATH
ARRAYLIB.REL ARRAY ROUTINES
BIGLIB.REL EVERYTHING ELSE IN THE BOOK
STRLIB.REL STRING HANDLING LIBRARY
enjoy,
Martin Kilgore
c/o Western States Info
(209) 222-2233
(local) (213) 257-4594