From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/CONTRIB/SNIP/ndpcheck.asm | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 reference/C/CONTRIB/SNIP/ndpcheck.asm (limited to 'reference/C/CONTRIB/SNIP/ndpcheck.asm') diff --git a/reference/C/CONTRIB/SNIP/ndpcheck.asm b/reference/C/CONTRIB/SNIP/ndpcheck.asm new file mode 100755 index 0000000..4f788ef --- /dev/null +++ b/reference/C/CONTRIB/SNIP/ndpcheck.asm @@ -0,0 +1,44 @@ + page 55, 132 + +; +; FUNCTION: ndp_check +; +; Require MASM 5.1 or later, or equivalent +; +; Assemble with: MASM /Mx /z ... +; TASM /jMASM /mx /z ... +; + +% .MODEL memodel,C ;Add model support via + ;command line macros, e.g. + ;MASM /Mx /Dmemodel=LARGE + + .CODE + +control dw 0 + +;--------------------------------------------------------------- +; +; Check for an NDP. +; +; Returns 0 if no coprocessor +; Returns 1 if coprocessor present + + PUBLIC ndp_check + +ndp_check PROC USES BX + xor BX,BX ; set up zero return + fninit ; try to initialize the NDP + mov byte ptr control+1,0 ; clear memory byte + fnstcw control ; put control word in memory + mov AH,byte ptr control+1 ; if AH is 03h, you got + cmp AH,03h ; an NDP on board !! + jne SHORT NDPbye + inc BX +NDPbye: + mov AX,BX + ret + +ndp_check ENDP + + end -- cgit v1.2.3-54-g00ecf