(ALL numbers are decimals.)

I am working on a program that should display
some basic information about the drives in a computer.
It uses BIOS interrupts to get and display the information.

The problem is that the program is giving different
information each time it is executed although you would
think the information I am trying to get would stay
the same unless changes to the hardware are made...

What information am I trying to get?
Information:

status
CMOS drive type
cylinder count
sectors per track count
drives attached
bytes per sector code
carry flag status (0 = No Error, 1 = Error)

BIOS interrupt 19,8 (Get current drive parameters) is
used to get the information.

More information can be found in LstDrvs.txt
contained in LstDrvs.zip along with LstDrvs.asm (the code)
and LstDrvs.com (the program.)