Multiplication of Two 8 bit numbers in 8085

AIM

To prepare an assembly language program for 8085 to multiply two 8 bit numbers

PROGRAM

MVI C,00

LDA 4200

MOV B,A

LDA 4201

MOV A,D

MVI A,00

LABEL:ADD B

DCR D

JNZ LABEL

JNC LOOP

INR C

LOOP:STA 4202

MOV A,C

STA 4203

HLT

SAMPLE OUTPUT

ADDRESS

DATA

INPUT/OUTPUT

4200

04

Input

4201

02

Input

4202

08

Output

4203

00

Output

RESULT

A program to multiply two 8 bit numbers was prepared and output obtained

Show Comments

7 thoughts on “Multiplication of Two 8 bit numbers in 8085

  1. Neel Terdal

    MVI C,00
    MVI A,02
    STA 00A0
    LDA 00A0
    MOV B,A
    MVI A,04
    STA 00A1
    LDA 00A1
    MOV D,A
    MVI A,00
    LABEL:ADD B
    DCR D
    JNZ LABEL
    STA 00A2
    HLT

    Reply
  2. arindam

    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

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>