I know how to atomically write a value in x86 ASM. But how do I read one? The LOCK prefix can't be used with mov.

To increase a value, I am doing:

```
lock inc dword ptr Counter

```

How do I read Counter in a thread-safe way?