On Thu, 10 Mar 2011, Julian Skidmore wrote:
  Actually this isn't *quite* true. An n x n bit
unsigned multiplier
 producing a 2n bit result also produces the correct signed results for
 the bottom n bits. Thus the 6809's MUL instruction produces the correct
 answer to A = -20 * B = -3 as it will store -60 in the B register. 
-20*-3=-60 ?
(((-20) * (-3)) .EQ. (-60))  ?
if (-20 * -3 == -60) printf("always knew there was something
fundamentally wrong with the universe");