1; x86 timer in NASM
2;
3; Tom St Denis, tomstdenis@iahu.ca
4[bits 32]
5[section .data]
6time dd 0, 0
7
8[section .text]
9
10%ifdef USE_ELF
11[global t_start]
12t_start:
13%else
14[global _t_start]
15_t_start:
16%endif
17   push edx
18   push eax
19   rdtsc
20   mov [time+0],edx
21   mov [time+4],eax
22   pop eax
23   pop edx
24   ret
25   
26%ifdef USE_ELF
27[global t_read]
28t_read:
29%else
30[global _t_read]
31_t_read:
32%endif
33   rdtsc
34   sub eax,[time+4]
35   sbb edx,[time+0]
36   ret
37