title: signed and unsigned arithmetic implementation on x86
body: <p>C language has signed and unsigned types like char and int.
  I am not sure, how it is implemented on assembly level, for 
  example it seems to me that multiplication of signed and unsigned 
  would bring different results, so do assembly do both unsigned 
  and signed arithmetic or only one and this is in some way 
  emulated for the different case?</p>