title: Arithmetic operations in ASM Language
body: <p>I just need some help. I don't fully understand and I am fairly new to masm32 so if you could explain, that would be great!</p>
  
  <pre><code>MOV AX, 200
  ADD AX, 300
  MOV RESULT, AX
  </code></pre>
  
  <p>Will result be equal to 500? I tried adding 3 and 2 and using this to show output:</p>
  
  <pre><code>MOV DX, RESULT
  ADD RESULT, '0'
  MOV AH, 02H
  INT 21H
  </code></pre>
  
  <p>But the output is a candy cane character! Where is it wrong?</p>
  
  <p>Now I assume subtraction will work the same as addition, so on to Multiplication we go.
  This is what I did for multiplication</p>
  
  <pre><code>MOV AX, 30
  MOV BX, 8
  MUL BX
  MOV RESULT, AX
  </code></pre>
  
  <p>Is RESULT's value equal to 240?.... 
  I tried AX as 3 and BX as 2. The output is a spade. Can you point me to the right direction?</p>
  
  <p>Now division. </p>
  
  <pre><code>MOV AX, 30
  MOV BX, 12
  DIV BX
  MOV RESULT, AX
  </code></pre>
  
  <p>What holds the quotient? If what I read was correct, that would be AX, and DX holds the remainder...?</p>
  
  <p>I have already done 8 bit arithmetic (using AL, BL, DL...) and I tried to apply it here, sadly, when the RESULT becomes greater than 128, it just outputs garbage. Someone suggested that I should declare my variables as 'RESULT dw ?' instead of 'RESULT db ?' and instead of AL BL registers I should use AX BX....  Now I'm stuck.</p>
  
  <p>Any help would be appreciated! Sorry if these questions seem too trivial. Anyway, thanks in advance! :DD</p>