Fetch&f(V,e) is a generalization for arbitrary binary,
associative operation f
Define
f(a,b) = a+b to define Fetch&Add(
)
If f is associative, the final value is independent of
the serializing order
Test&Set(V)
is just Fetch&Or(V, 1)
Load
and Store use p1(a,b)=a, p2(a,b)=b
Load R <-- Fetch&p1(V,*)
Store * <--
Fetch&p2(V,L)