28 lines
		
	
	
		
			486 B
		
	
	
	
		
			NASM
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			486 B
		
	
	
	
		
			NASM
		
	
	
	
	
	
; Simple RDTSC reader for NASM
 | 
						|
;
 | 
						|
; build with "nasm -f ___ timer.asm" where ___ is coff or elf [or whatever]
 | 
						|
;
 | 
						|
; Most *nix installs use elf so it would be "nasm -f elf timer.asm"
 | 
						|
;
 | 
						|
; Tom St Denis
 | 
						|
[bits 32]
 | 
						|
[section .data]
 | 
						|
timer dd 0, 0
 | 
						|
[section .text]
 | 
						|
[global _rdtsc]
 | 
						|
_rdtsc:
 | 
						|
   rdtsc
 | 
						|
   sub eax,[timer]
 | 
						|
   sbb edx,[timer+4]
 | 
						|
   ret
 | 
						|
 | 
						|
[global _reset]
 | 
						|
_reset:
 | 
						|
   push eax
 | 
						|
   push edx
 | 
						|
   rdtsc
 | 
						|
   mov [timer],eax 
 | 
						|
   mov [timer+4],edx
 | 
						|
   pop edx
 | 
						|
   pop eax
 | 
						|
   ret |