46 lines
1.1 KiB
ArmAsm
46 lines
1.1 KiB
ArmAsm
|
/* This is file CLOCK.S */
|
||
|
/*
|
||
|
** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
|
||
|
**
|
||
|
** This file is distributed under the terms listed in the document
|
||
|
** "copying.dj", available from DJ Delorie at the address above.
|
||
|
** 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
|
||
|
|