前提条件–二进制与格雷码之间
问题–编写一个程序,将二进制数转换为格雷码8位数字,起始地址为2000 ,该数字存储在2500存储器地址中,并将结果存储到2600存储器地址中。
例子 –
算法 –
- 将[2500]处的值移到AL中
- 将AL移至BL
- 逻辑右移AL一次
- 与AL进行XOR BL(逻辑上)并存储到BL中
- 将BL的内容移至2600
- 停止
程序 –
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 |
说明–寄存器AL,BL用于通用
- MOV用于传输数据
- SHR用于右移(逻辑上)直到计数器不为零
- XOR用于两个值的“异或”(逻辑上)
- HLT用于暂停程序
请参阅8085程序以将二进制数字转换为灰色