COPROCESSOR .HARDWARE INTERFACE

606b/a7/6MlSb MACRO

ASSEMBLER

Test for presence of a Numerics Chip,

Revision 1.0

PAGE 2

LOC

OBJ

LINE

SOURCE

 

 

 

 

 

 

 

001F

'BD'Ea

~,

 

fld1

 

 

 

Must use default control word froIR FNINIT

0022

'BD'EE

50

 

fldz

 

 

 

Form

infinity

,

0025

'BDEF'

51

 

fdiv

 

 

 

6067/267 says. inf = -inf

0026

'BD'C0

52

 

fld

 

st

 

Form

negative infinity

002B

'BD'E0

53

 

fchs

 

 

 

i387 SX/DX NPX says .inf <> -inf

002E

'BDED'

5~

 

fcompp

 

 

See

if they are the salle and reRlQve them

0031

'BDD3C

55

 

fstsw

{sO·

Look

at status from

FCOMPP

003~

6B0~

5b

 

lIIav

 

ax,[siJ

See if the infinities matched

003b

'E

57

 

sahf

 

 

 

0037

7~0b

56

 

je

 

found_a7_2a7

Jump

if a0a7l287 is

present

 

 

5'

 

An i367 SX/DX NPX is present', If denormal exceptions are used for an 6B.!.71267,

 

 

b0

 

 

 

b1

 

they

must be masked. The i367 SX/DX NPX will automatically normalize denormal

 

 

b2

 

operands faster than an exception handler can·

003'

EB07'0

b3

 

jmp

 

found_3a7 SLDX

 

 

 

b~

 

 

 

 

 

003C

 

b5

 

set

up

f or

no NPX

 

 

 

 

 

bb

 

 

 

 

 

 

b7

 

 

 

 

 

 

 

 

 

 

b6

 

jmp

exi t

 

 

 

 

003C

EB0~'0

b'

 

 

 

 

 

003F

 

70

found_8L287:

 

 

 

 

 

 

 

 

71

 

set

up

for

8712a7

 

 

 

 

 

72

 

 

 

 

 

 

 

 

003F

EB01'0

73

 

 

exit

 

 

 

 

7~

 

jllP

 

 

 

 

00~2

 

75

found-3a7 :

 

 

 

 

 

 

 

 

76

 

set up for 367 SLDX

 

 

 

 

 

77

 

 

 

 

 

 

 

 

 

 

76

~xit:

 

 

 

 

 

 

 

00~2

 

7'

ends

 

 

 

 

 

 

 

 

a0

code

 

 

 

 

 

 

 

 

a1

 

end

 

start I ds: dgroup I ss: dgroup: ~st

 

ASSEMBLY COMPLETE, NO ERRORS FOUND

Figure 5-3. Software Routine to Recognize the Coprocessor (Contd.)

5-8

Page 90
Image 90
Intel 386 manual Coprocessor .HARDWARE Interface