title: mov eax, large fs:30h
body: <p>I was analyzing some x86 binary and found the following instruction which I can not understand. Can someone please explain me following instruction?</p>
  
  <pre>
  mov     eax, large fs:30h
  </pre>
  
  <p>I googled this, and it turns out it is some anti-debugging stuff... but that's all I know.</p>
  
  <p>what does <code>large</code> means?? And what does <code>fs:30</code> means??</p>
  
  <p>I know about segmentation but I don't know when the <code>fs</code> register is used. For say <code>cs:</code>, <code>ds:</code> are implicitly skipped when instruction is referencing code or data. But what is <code>fs</code>, and what is <code>gs</code>?</p>