0% found this document useful (0 votes)
56 views2 pages

Add 16 Bit Without Carry PDF

Uploaded by

haddy1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views2 pages

Add 16 Bit Without Carry PDF

Uploaded by

haddy1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

8085 Programs

Program 13: Add two 16-bit numbers without considering the carry.
Flowchart:
Start
Load H-L pair with the first
16-bit operand.

Move the first operand to


D-E pair.

Load H-L pair with the


second 16-bit operand.

Add two 16-bit numbers.

Store the 16-bit result from


H-L pair to memory.

Stop

Gursharan Singh Tatla

Page 1 of 2

8085 Programs

Program:
Address
2000

Mnemonics
LHLD

Operand
3000H

Opcode
2A

Remarks
Load H-L pair with 1st operand from 3000H.

2001

00

Lower-order of 3000H.

2002

30

Higher-order of 3000H.

EB

Exchange H-L pair with D-E pair.

2A

Load H-L pair with 2nd operand from 3002H.

2005

02

Lower-order of 3002H.

2006

30

Higher-order of 3002H.

2003

XCHG

2004

LHLD

3002H

2007

DAD

19

Add D-E pair with H-L pair.

2008

SHLD

3004H

22

Store the result at address 3004H.

2009

04

Lower-order of 3004H.

200A

30

Higher-order of 3004H.

76

Halt.

200B

HLT

Explanation:

This program adds two 16-bit operands stored in memory locations 3000H-3001H and
3002H-3003H, without considering the carry produced (if any).

Let us assume that the operands stored at memory locations 3000H-3001H is 02H-04H and
3002H-3003H is 04H-03H.

The H-L pair is loaded with the first 16-bit operand 0204H from memory locations 3000H3001H.

Then, the first 16-bit operand is moved to D-E pair.

The second 16-bit operand 0403H is loaded to H-L pair from memory locations 3002H3003H.

The two operands are added and the result is stored in H-L pair.

The result is stored from H-L pair to memory locations 3004H-3005H.

Output:
Before Execution:

After Execution:

3000H:

02H

3004H:

06H

3001H:

04H

3005H:

07H

3002H:

04H

3003H:

03H

Gursharan Singh Tatla

Page 2 of 2

You might also like