Dec 052017
 
ASM source code from "The BlueBook of Assembly Language".
File BLUEBOOK.ZIP from The Programmer’s Corner in
Category Assembly Language
ASM source code from “The BlueBook of Assembly Language”.
File Name File Size Zip Size Zip Type
BCD.ASM 7552 1618 deflated
BCD.DOC 3968 1174 deflated
BCD.IDX 256 110 deflated
BCD.OBJ 515 384 deflated
BINARY.ASM 12416 2108 deflated
BINARY.DOC 9216 1337 deflated
BINARY.IDX 896 175 deflated
BINARY.OBJ 814 508 deflated
BLUEBOOK.IDX 4480 1407 deflated
FILES.ASM 11648 3444 deflated
FILES.DOC 8064 2082 deflated
FILES.IDX 768 343 deflated
FILES.OBJ 1787 1170 deflated
FLOATPT.ASM 22784 5231 deflated
FLOATPT.DOC 18688 3024 deflated
FLOATPT.IDX 1152 369 deflated
GRAPHICS.ASM 23552 5433 deflated
GRAPHICS.DOC 13824 2790 deflated
GRAPHICS.IDX 512 237 deflated
GRAPHICS.OBJ 2276 1418 deflated
MULTIDGT.ASM 8448 2009 deflated
MULTIDGT.DOC 4992 1045 deflated
MULTIDGT.IDX 256 104 deflated
SOUND.ASM 9344 2819 deflated
SOUND.DOC 12288 3548 deflated
SOUND.IDX 512 271 deflated
SOUND.OBJ 890 627 deflated
STDIO.ASM 6912 1505 deflated
STDIO.DOC 9472 1955 deflated
STDIO.IDX 640 227 deflated
STDIO.OBJ 476 324 deflated
STRINGS.ASM 9216 2417 deflated
STRINGS.DOC 9856 2240 deflated
STRINGS.IDX 512 219 deflated
STRINGS.OBJ 537 431 deflated
TPCREAD.ME 199 165 deflated

Download File BLUEBOOK.ZIP Here

Contents of the BCD.DOC file



BCD.DOC -- Description of BCD.ASM
=================================

From `BLUEBOOK of ASSEMBLY ROUTINES for the IBM PC & XT'
by Christopher L. Morgan
Copyright (C) 1984 by The Waite Group, Inc.

Purpose: BCD.ASM contains routines to convert between internal binary
coded decimal (BCD) and other formats, both internal and external.
_______________________________________________________________________________

Contents:
---------
BCDIN-- Convert from ASCII Decimal to BCD
BCDOUT-- Convert from BCD to ASCII Decimal
BCD2I16-- Convert from BCD to 16-bit Binary
I162BCD-- Convert from 16-bit Binary to BCD
_______________________________________________________________________________

Overview:
These routines can convert external decimal representation and
internal BCD representation, and between internal binary and internal BCD.
The internal BCD format packs two decimal digits per byte, one per
nibble. By using a large number of bytes, you can precisely represent
high precision decimal numbers. These routines use 18 bytes of storage to
handle 36-digit BCD numbers, but are easily modified to handle other sizes.
Fixed point numbers can be handled by assigning a fixed position for
a decimal point. For example, dollars & cents can be handled by assigning
the decimal point so there are exactly two BCD digits to its right, which
form the fractional part of the number.
_______________________________________________________________________________

BCDIN

Function: This routine accepts a decimal number from the standard input
device and converts it to internal BCD format.

Input: The individual digits of the decimal number are received in ASCII
through a call to a standard I/O routine. The valid digits are 0
through 9. An ASCII code other than a digit will terminate the routine.

Output: On return a 36-digit number is stored in BCD form in an
18-byte buffer called BCDBUFF.

Registers used: No registers are modified.

Segments referenced: DATAS is data segment which contains BCDBUFF.

Routines called: STDIN
_______________________________________________________________________________

BCDOUT

Function: This routine converts a 36-digit number stored in BCD form to
ASCII decimal form which is sent to the standard output device.

Input: Upon entry a 36-digit number is stored in an 18-byte BCD buffer
called BCDBUFF.

Output: A string of ASCII digits representing a decimal number is stored
in a buffer called TBUFF and then sent out through a standard I/O routine.

Registers used: No registers are modified.

Segments referenced: DATAS is a data segment containing BCDFUFF and TBUFF.

Routines called: STDOUT
_______________________________________________________________________________

BCD2IB16

Function: This routine converts from internal BCD to intermal binary format.

Input: Upon entry a 36-digit number is contained in am 18-byte BCD buffer
called BCDBUFF.

Output: A 16-bit binary number is returned in the DX register.

Registers used: Only DX is modified. DX is used for output.

Segments referenced: DATAS is a data segment containing the buffer, BCDBUFF.
_______________________________________________________________________________

IB162BCD

Function: This routine converts internal 16-bit binary numbers to numbers
stored in internal BCD format.

Input: Upon entry a 16-bit binary number is in the DX register.

Output: On return a 36-digit number is stored in BCD form in an 18-byte
buffer called BCDBUFF.

Registers used: No registers are modified. DX is used for input.

Segments referenced: DATAS is a data segment containing BCDBUFF.
_______________________________________________________________________________
>>>> Physical EOF BCD.DOC <<<<<


 December 5, 2017  Add comments

Leave a Reply