Professional Documents
Culture Documents
Mul
Mul
= 12 x 5 = (6010) Source program LXI H, 2200 : Initialize the memory pointer MOV E, M : Get multiplicand MVI D, 00H : Extend to 16-bits INX H : Increment memory pointer MOV A, M : Get multiplier LXI H, 0000 : Product = 0 MVI B, 08H : Initialize counter with count 8 MULT: DAD H : Product = product x 2 RAL JNC SKIP : Is carry from multiplier 1 ? DAD D : Yes, Product =Product + Multiplicand SKIP: DCR B : Is counter = zero JNZ MULT : no, repeat SHLD 2300H : Store the result HLT : End of program