title: CMP in assembly language
body: <p>So I have this line of code:</p>
  
  <pre><code>LOOP CMP Y, #0
  BEQ DONE - When it is equal go to DONE.
  ADD X, #1 - add decimal constant 1 to x.
  SUB Y, #1 - subtract decimal constant 1 from y
  B LOOP - branch loop (start the loop again)
  DONE ...
  </code></pre>
  
  <p>I just read that CMP means subtracting the operand from Rn (Y minus 0)
  And that CMN means adding the operand to the Rn (0 + Y for example)</p>
  
  <p>The first line (LOOP CMP Y, #0): I thought this just compares Y with the number 0. Is this true?</p>