smutnyjoe

Untitled

Mar 24th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. section .text
  2.     global verhogen
  3.     global proberen
  4.  
  5. verhogen:
  6.     lock inc qword[rdi]
  7.     ret
  8.  
  9. proberen:
  10.     mov eax, 0             
  11.     lock xchg [rdi], eax    ; ustawiam semafor na 0, by miec dostep do sekcji krytycznej, zapisuje wartosc w eax
  12.     cmp eax, 0              ; sprawdzam czy ta wartosc zapisana na eax = 0
  13.     je proberen             ; jesli jest rowna 0, tzn musze dalej czekac
  14.     dec eax                 ; wpp zmniejszam wartosc semafora
  15.     lock xadd [rdi], eax    ; i ustawiam miejsce w pamieci na ta zmniejszona wartosc
  16.     ret
Add Comment
Please, Sign In to add comment