http://cs.nyu.edu/cs/dept_info/course_home_pages/fall96/V22.0201.002/shiftadd.html
; code to demonstrate the shift & add method of multiplication ; ; ; presume the input is in two bytes named fact1 and fact2 ; and the output is going into a Word (unsigned) called PRODUCT ; ; mov bl, fact1 ; grab input mov al, fact2 mov bh, 0 ;zero out high byte of bx mov dx, 0 ;zero accum (product) lp: cmp al, 0 ;check for end je fini shr al, 1 ;grab rightmost bit jnc nextbit ;don't add it -bit was zero add dx, bx ;add next shift into accum nextbit: shl bx, 1 ;shift first fact to left jmp lp fini: mov product, dx