title: Double word operations in assembly language
body: <p>I need to perfom the following operations in both signed and unsigned convention: x*x-y+2, where x is a byte and y a double word.
  Here is what I've tried so far using the unsigned convention, but it appears I wrote something wrong because it throws an error. What is the mistake?
  <code><br>
  mov al, x<br>
  mov ah, 0<br>
  mul x<br>
  mov dx, 0<br>
  sub dword ptr ax, y<br>
  add ax, 2
  </code></p>