title: Why use temporary register to pass a value to a segment register?
body: <p>I've been following a few examples on writing assembly and they use a temporary register to pass an immediate value to a segment register. Why is there a need to place the immediate in some register before putting it in the segment register?<br>
  Example:<br/></p>
  
  <pre><code>movw $0x7c00, %ax
  movw %ax, %ds
  ...
  ...
  movw $0x6000, %ax
  movw %ax, %ss
  </code></pre>
  
  <p>Why not instead directly put the immediate in the segment register?</p>
  
  <pre><code>movw $0x7c00, %ds
  ...
  movw $0x6000, %ss
  </code></pre>