home *** CD-ROM | disk | FTP | other *** search
- ; ---------------
- ;--------------- TEST_CO.ASM -------------------------------
- ;-- --------------- --
- ;-- Autor: Ulrich Schmitz & toolbox 1990 --
- ;-- Assembler: Microsoft Assembler ab Version 5.1 --
- ;-- AUFRUF: byte coprozessor(void); --
- ;-- EINGABE: keine. --
- ;-- RÜCKGABE: 0 --> kein Coprozessor vorhanden. --
- ;-- 1 --> Coprozessor installiert. --
- ;-- Funktion: Prüft über den BIOS-Interrupt 11h sowie --
- ;-- direkt, ob ein Coprozessor vorhanden ist. --
- ;-----------------------------------------------------------
- ;
- PUBLIC test_co, Start, No_Co, Co, next_test
- .MODEL SMALL, C
- .STACK
- .CODE
- ;
- test_co PROC
- JMP Start
- Status DW '??'
-
- ;-------- Test über Interrupt -----------------------------
- Start:
- int 11h
- mov Status, ax ;System-Statuswort in ax
- test ax, 2 ;Bit 1 gesetzt?
- JZ next_test ;nächster Test auf Coprozessor
- mov al, 1 ;Coprozessor erkannt
- jmp Ende
-
- ;-------- direkter Test auf Coprozessor --------------------
- next_test:
- FINIT
- FSTSW Status
- MOV ax, Status
- CMP Status, 0000h
- JNE No_Co ;kein Coprozessor installiert
- Co:
- MOV al, 1 ;Coprozessor installiert
- JMP Ende
- No_Co:
- MOV al, 0
- Ende:
- RET
- test_co ENDP
- END
- ;--------------- Ende TEST_CO.ASM -------------------------