16 BIT MULTIPLICATION




ADDRESS

OPCODE

LABEL

MNEMONICS

OPERAND

COMMENTS

8000         

 

START

LHLD

8050

Load the first No. in stack pointer through HL reg. pair

8001

 

 

 


8002

 

 

 

 

8003

 

 

SPHL

 

8004

 

 

LHLD

8052

Load the second No. in HL reg. pair

& Exchange with DE reg. pair.

8005

 

 

 

 

8006

 

 

 

 

8007

 

 

XCHG

 

8008

 

 

LXI

H, 0000H

 

 

Clear HL & DE reg. pairs.

8009

 

 

 

 

800A

 

 

 

 

800B

 

 

LXI

B, 0000H

800C

 

 

 

 

800D

 

 

 

 

800E

 

LOOP

DAD

SP

Add SP with HL pair.

800F

 

 

JNC

NEXT

If there is no carry, go to the instruction labeled NEXT

8010

 

 

 

 

8011

 

 

 

 

8012

 

 

INX

B

Increment BC reg. pair

8013

 

NEXT

DCX

D

Decrement DE reg. pair.

8014

 

 

MOV

A,E

Move the content of reg. E to Acc.

8015

 

 

ORA

D

OR Acc. with D reg.

8016

 

 

JNZ

LOOP

If there is no zero, go to instruction labeled LOOP

8017

 

 

 

 

8018

 

 

 

 

8019

 

 

SHLD

8054

Store the content of HL pair in memory locations 8054 & 8055.

801A

 

 

 

 

801B

 

 

 

 

801C

 

 

MOV

A, C

Move the content of reg. C to Acc.

801D

 

 

STA

8056

Store the content of Acc. in memory location 8056.

801E

 

 

 

 

801F

 

 

 

 

8020

 

 

MOV

A, B

Move the content of reg. B to Acc.

8021

 

 

STA

8057

Store the content of Acc. in memory location 8056.

8022

 

 

 

 

8023

 

 

 

 

8024

 

 

HLT

 

Stop  program execution

Comments

Popular posts from this blog

8086 STRING MANIPULATION –FIND AND REPLACE A WORD

Animated Circles In C++

C program to find out the sum of series 1 + 2 + …. + n.