Welcome to mirror list, hosted at ThFree Co, Russian Federation.

clock.S « go32 « sys « libc « newlib - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 198c7e6e87f676215ff74a25fd1686dea9bd01c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* This is file CLOCK.S */
/*
** Copyright (C) 1993 DJ Delorie
**
** This file is distributed under the terms listed in the document
** "copying.dj".
** A copy of "copying.dj" should accompany this file; if not, a copy
** should be available from where this file was obtained.  This file
** may not be distributed without a verbatim copy of "copying.dj".
**
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**
** Modified by C. Sandmann for DPMI support (sandmann@clio.rice.edu)
*/
	.data
clock_init:
	.long	0

	.text
	.globl _clock
_clock:
	call	_rawclock
	imull	$54931,%eax,%eax
	ret
	
	.align  4,0x90
	.globl	_rawclock
_rawclock:
	movzwl	__core_select,%eax
	testl	%eax,%eax
	je	old_clock	/* Image run with pre-DPMI extender */
	movw	%ax,%gs
	movl	%gs:0x46c(,1),%eax
	jmp	check_initted
old_clock:
	movl	0xe000046c,%eax
check_initted:
	cmp	$0,clock_init
	jne	clock_initted
	movl	%eax,clock_init
clock_initted:
	subl	clock_init,%eax
	ret