title: A couple of questions about [base + index*scale + disp] and AT&T disp(base, index, scale)
body: <p>The general form for memory addressing in Intel and AT&amp;T Syntax is the following:</p>
  <pre><code>[base + index*scale + disp]      # Intel, including GAS .intel_syntax noprefix
  disp(base, index, scale)         # AT&amp;T
  </code></pre>
  <p>My questions are the following:</p>
  <ul>
  <li>Can <code>base</code> and <code>index</code> be any register?</li>
  <li>What values can <code>scale</code> take, is it 1, 2, 4 and 8 (with 1 being the default)?</li>
  <li>Are <code>index</code> and <code>disp</code> interchangeable (with the only difference being that <code>index</code> is a register while <code>disp</code> is an immediate value)?</li>
  </ul>