Różne programy na zajęcia laboratoryjne z AK2
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

1234567891011121314151617181920212223
  1. # Jan Potocki 2019
  2. # Funkcja odczytujaca i zwracajaca wartosc TSC (time-stamp counter)
  3. .globl rdtsc
  4. .type rdtsc, @function
  5. rdtsc:
  6. pushq %rbp # Wejscie do funkcji
  7. movq %rsp, %rbp
  8. pushq %rbx # Zapisanie wartosci rbx na stosie
  9. # (zgodnie z konwencja wywolan)
  10. movl $0, %eax # Wybor Maximum Return Value dla CPUID
  11. cpuid # Rozkaz serializujacy - zapobiega przesunieciu
  12. # rdtsc przez optymalizacje na poziomie mikrokodu
  13. rdtsc # edx:eax - time-stamp counter
  14. shlq $32, %rdx # Przesuniecie bitow z edx do wyzszej polowy rdx
  15. orq %rax, %rdx # W rax zwracany wynik (zlozony z edx:eax)
  16. popq %rbx # Przywrocenie wartosci rbx ze stosu
  17. popq %rbp # Wyjscie z funkcji
  18. ret