73 lines
2.0 KiB
NASM
73 lines
2.0 KiB
NASM
;
|
|
; 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 <ala gmt>
|
|
flds TEXTEQU <fld DWORD PTR>
|
|
fsubs TEXTEQU <fsub DWORD PTR>
|
|
fmuls TEXTEQU <fmul DWORD PTR>
|
|
fstsp TEXTEQU <fstp DWORD PTR>
|
|
|
|
_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
|