; x86 timer in NASM
;
; Tom St Denis, tomstdenis@iahu.ca
[bits 32]
[section .data]
time dd 0, 0
[section .text]
%ifdef USE_ELF
[global t_start]
t_start:
%else
[global _t_start]
_t_start:
%endif
push edx
push eax
rdtsc
mov [time+0],edx
mov [time+4],eax
pop eax
pop edx
ret
%ifdef USE_ELF
[global t_read]
t_read:
%else
[global _t_read]
_t_read:
%endif
rdtsc
sub eax,[time+4]
sbb edx,[time+0]
ret