8085 program to convert an 8 bit number into Grey number
Prerequisite – Binary to/from Gray Code
Problem – Write an assembly language program in 8085 which convert an 8 bit number into grey number
Example –
Assumption – 8 bit number (input) is stored at memory location 2050 and output to be stored at memory location 3050.
Algorithm –
- Load the content of memory location 2050 in Accumulator
- Reset carry flag i.e. CY = 0
- Rotate the contents of Accumulator right by 1 bit with carry and perform xor operation with initial value of input
- Store the result at memory location 3050
Program –
MEMORY ADDRESS | MNEMONICS | COMMENT |
---|---|---|
2000 | LDA 2050 | A <- M[2050] |
2003 | MOV B, A | B <- A |
2004 | STC | CY = 1 |
2005 | CMC | CY <- complement of CY |
2006 | RAR | Rotate 1 bit right with carry |
2007 | XRA B | A <- A XOR B |
2008 | STA 3050 | M[3050] <- A |
200B | HLT | End of program |
Explanation –
- LDA 2050 loads the content of memory location 2050 in accumulator
- MOV B, A transfers the content of register A in register B
- STC sets the carry flag i.e. CY becomes 1
- CMC complements the carry flag i.e. CY becomes 0
- RAR rotate the content of accumulator by 1 bit along with carry flag
- XRA B performs the xor operation in values of register A and register B and store the result in A
- STA 3050 stores the value of accumulator in memory location 3050
- HLT stops executing the program and halts any further execution
Please Login to comment...