AIM: Write a program to find 2‘s complement of an 8 bit number.

Objective:

  • To understand the complement process
  • To write algorithm for 1’s complement
  • To develop the assembly language program to find 2’s complement
  • To analyse the result and interpret errors if any

Requirement:

  • Operating System- Windos, Linux
  • 8085 simulator

Theory

2’s complement of a number is found in following ways:

  • Do the 1’s complement of the given number
  • Add ‘1’ to this 1’s complement

Example:

Find the 2’s complement of 59h

Number 59h                       =  01011001

1’s complement               = 10100110

Adding ‘1’ = 10100110 + 1 = 10100111

So, 2’s complement of 59h = A7h

Algorithm:

  • Get a number in the accumulator
  • Complement using CMA
  • Add ‘1’ to this to get 2’s complement
  • Save the result

Assembly language Program

 

Address OP-CODE Operands Label Mnemonic Comments
4200 C3 05 042     JMP start  
4203 F0   X: db  0F0h  
4204 00   Y: Db 00h  
4205 00   Start: NOP  
4206 21 03 042     LXI H, X  
4209 11 04 042     LXI D, Y  
420C 7E     MOV A,M  
420D 2F     CMA  
420E C6 01     AdI 01  
4210 12     STAX D  
4211 76     HLT  
Result

 

 

By admin

Leave a Reply

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

error: Content is protected !!