home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS - Coast to Coast
/
simteldosarchivecoasttocoast.iso
/
sysutil
/
check87.asm
< prev
next >
Wrap
Assembly Source File
|
1994-03-05
|
2KB
|
53 lines
name check_coproc
;
;
;
;
;
cc_cr equ 0DH ; carriage return
cc_lf equ 0AH ; line feed
assume cs:code,ds:data
;
code segment public
start:
mov ax,data ; set data segment
mov ds,ax
;
; Test if 8087 is present in PC or PC/XT, or 80287 is in PC/AT
;
fninit ; initialize coprocessor
xor ah,ah ; zero ah register and memory byte
mov byte ptr control+1,ah
fnstcw control ; store coprocessor's control word in memory
mov ah,byte ptr control+1
cmp ah,03h ; upper byte of control word will be 03 if
; 8087 or 80287 coprocessor is present
jne no_coproc
;
coproc:
mov ah,09h ; print string - coprocessor present
mov dx,offset msg_yes
int 21h
jmp done
;
no_coproc:
mov ah,09h ; print string - coprocessor not present
mov dx,offset msg_no
int 21h
;
done:
mov ah,4CH ; terminate program
int 21h
code ends
data segment public
control dw 00
msg_yes db cc_cr,cc_lf,
db 'System has an 8087 or 80287',cc_cr,cc_lf,'$'
msg_no db cc_cr,cc_lf,
db 'System does not have an 8087 or 80287',cc_cr,cc_lf,'$'
data ends
end start ; start is entry point