fixed stupid bug with conditional branches, made 16x16=16bit multiplication routine