Coder's Guild Mailing List

Bios Data Area

Posted by Kory Spansel on 2000-11-20

Hello,
    I'm curious as to when the information in the Bios Data Area is
initialized.  I have some code that is loaded from the boot sector of a disk
and the code checks to see whether or not a math-coprocessor is installed.
I'm not sure if my code is incorrect or if the information in the bios data
area is not yet initialized.  Because when i run this, it says my computer
doesn't have a co-processor (which it does).  Here's what I have:

mov ax, 40h
mov es, ax
mov di, 10h
mov al, es:[di]

;al contains low byte of equipment flag bit 1 = math coprocessor bit
and al, 2
shr al, 1
cmp al, 0
je nocoprocessor

;A coprocessor is installed

nocoprocessor:

;No coprocessor is installed


The problem is that I made a test program that uses this code and it
correctly finds the math co-processor on my other computer.  I don't know
what's up, any ideas?

Also does anyone know an algorithm to print the value of a register in
decimal form?

Thanks,
Kory