Tutorialspoint.dev

8085 program to convert gray to binary

Problem – Write an assembly language program in 8085 microprocessor to convert gray numbers to binary.

Example –

Algorithm –

  1. Load the data from address 2050 in A
  2. Move the data 07 in C
  3. Move the data of A to B
  4. Extract the MSB (Most Significant Bit) of data available in A
  5. Rotate the bits of A to right
  6. Take AND between data in A and 7F
  7. Take XOR between the data present in A and B
  8. Decrements the contents of C
  9. If Zero Flag (ZF) is not set go to step 4 else go to step 9
  10. Store the result at memory address 3050
  11. Stop

Program –

MEMORY ADDRESS MNEMONICS COMMENT
2000 LDA 2050 A <- 2050
2003 MVI C, 07 C <- 07
2005 MOV B, A B <- A
2006 ANI 80 A = A AND 80
2008 RRC Rotate A to Right without carry
2009 ANI 7F A = A AND 7F
200B XRA B A = A XOR B
200C DCR C C = C – 1
200D JNZ 2008 JUMP to 2008 if ZF = 0
2011 STA 3050 3050 <- A
2014 HLT Stop

Explanation–

  1. LDA 2050 is used to load the data from address 2050 in A
  2. MVI C, 07 is used to move the data 07 in C
  3. MOV B, A moves the data of A to B
  4. ANI 80 extracts the MSB(Most Significant Bit) of data available in A
  5. RRC rotates the bits of A to right without carry
  6. ANI 7F is used to tTake AND between data in A and 7F
  7. XRA B takes XOR between the data present in A and B
  8. DCR C is used to decrement the contents of C
  9. JNZ 2008 is used to jump to address 2008 if ZF = 0
  10. STA 3050 is used to store the result at memory address 3050
  11. HLT is used to end the program


This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter