; ; THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY ; PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT ; TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX ; INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE ; DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com). ; THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER ; EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A ; FULL TEXT OF THE NON-WARRANTY PROVISIONS. ; ; USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO ; RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN ; TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013, ; AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR ; SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF ; THE UNITED STATES. ; ; COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED ; ;; ;; Assembly Function for reading the Time Stamp Counter ;; TITLE utsc.asm .586P ;include listing.inc if @Version gt 510 .model FLAT, C else _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS _DATA SEGMENT DWORD USE32 PUBLIC 'DATA' _DATA ENDS CONST SEGMENT DWORD USE32 PUBLIC 'CONST' CONST ENDS _BSS SEGMENT DWORD USE32 PUBLIC 'BSS' _BSS ENDS _TLS SEGMENT DWORD USE32 PUBLIC 'TLS' _TLS ENDS FLAT GROUP _DATA, CONST, _BSS ASSUME CS: FLAT, DS: FLAT, SS: FLAT endif ; some useful floating load and store macros flds TEXTEQU fsubs TEXTEQU fmuls TEXTEQU fstsp TEXTEQU _DATA SEGMENT One DD 03f800000r Dummy DD ? _DATA ENDS _TEXT SEGMENT ;; Fxu32 tscReadTSC( void ) ;; Reads the pentium time stamp counter and returns ;; the low 32bits align 4 PUBLIC tscReadTSC tscReadTSC PROC NEAR .586 rdtsc ; Read the time stamp counter ret tscReadTSC ENDP _TEXT ENDS END