Home | History | Annotate | Download | only in etc
      1 ; x86 timer in NASM
      2 ;
      3 ; Tom St Denis, tomstdenis (a] iahu.ca
      4 [bits 32]
      5 [section .data]
      6 time dd 0, 0
      7 
      8 [section .text]
      9 
     10 %ifdef USE_ELF
     11 [global t_start]
     12 t_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]
     28 t_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