8086 program to convert binary to Grey code
Prerequisite – Binary to/from Gray Code
Problem – Write a program to convert Binary number to Grey code 8-bit number where starting address is 2000 and the number is stored at 2500 memory address and store result into 2600 memory address.
Example –
Algorithm –
- Move value at [2500] into AL
- Move AL into BL
- Logical shift right AL one time
- XOR BL with AL (Logically) and store into BL
- Move content of BL into 2600
- Stop
Program –
Memory | Mnemonics | Operands | Comment |
---|---|---|---|
2000 | MOV | AL, [2500] | [AL] <- [2500] |
2004 | MOV | BL, AL | [BL] <- [AL] |
2006 | SHR | AL, 01 | Shift Right one time |
2008 | XOR | BL, AL | [BL] <- [BL] @ AL |
200A | MOV | [2600], BL | [2600] <- [BL] |
200E | HLT | Stop |
Explanation – Registers AL, BL are used for general purpose
- MOV is used to transfer the data
- SHR is used to shift right (logically) up to counter is not zero
- XOR is used to exclusive-or of two values (logically)
- HLT is used to halt the program
Please Login to comment...