# 8085 program to convert gray to binary

Last Updated : 22 Mar, 2024

Problem â€“ Write an assembly language program in 8085 microprocessor to convert gray numbers to binary. Example – Algorithm â€“

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 â€“

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
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
10. STA 3050 is used to store the result at memory address 3050
11. HLT is used to end the program

Simplification: A binary image contains only two color values (typically black and white), which can simplify image analysis and processing tasks. This can be especially useful in applications such as optical character recognition (OCR) or image segmentation.
Reduced storage requirements: Since a binary image contains only two color values, it requires less storage space than a grayscale or color image.
Easy visualization: Binary images can be easily visualized and understood by humans, since they only contain two color values.
Â