You have no items in your shopping cart.

Subtotal: 0.00

16-BIT ADDITION

AIM

To perform 16-bit addition of two 16-bit data using immediate addressing and store the result in memory.


THEORY

As there is only one 16-bit Register in 89C51, 16-bit addition is performed by using ADDC instruction twice, i.e. adding LSD first and MSD next.


DATAM1 - 12; DATAM2 = 56.


DATAM1 - MSD OF DATA1,


DATAM2 - MSD OF DATA2,


DATAL1 - LSD OF DATA1,


DATAL2 - LSD OF DATA2.


ASSEMBLY PROGRAM TO ADD TWO 16 BIT NUMBER

ADDRESS

OPCODE

MNEMONICS

8500

90 85 01

MOV DPTR,#8501H

8503

E0

MOVX A,@DPTR

8504

F5 F0

MOV B,A

8506

90 85 03

MOV DPTR,#8503H

8509

E0

MOVX A,@DPTR

850A

35 F0

ADDC A,B

850C

90 8601

MOV DPTR,#8601H

850F

F0

MOVX @DPTR,A

8510

90 85 00

MOV DPTR,#8500H

8513

E0

MOVX A,@DPTR

8514

F5 F0

MOV B,A

8516

90 85 02

MOV DPTR,#8502H

8519

E0      

MOVX A,@DPTR

851A

35 F0            

ADDC A,B

851C

90 86 00

MOV DPTR,#8600H

851F

F0

MOVX @DPTR,A

8520

80 FE

E: SJMP E

 

 

 

 

 

 

 


PROCEDURE:

  • Enter the above opcodes from 8500 in the trainer.
  • Execute the program.
  • Check for the result at 8550 and 8551.
  • Change data and see if the result at 8550 changes accordingly.

EXAMPLE:

The program is to add the 16-bit data 1234 with the data 5678 and store the result at the locations
RESULT: [8550] = AC (LSB); [8551] = 68 (MSB).
DATAL1 - 34; DATAL2 = 78.


RESULT

Thus the Addition of two 16 bit numbers is stored in the resultant memory