8085程序:将二进制数转换为格雷码
在这个程序中,我们将学习如何从一个8位数中找到格雷码。
问题陈述
编写8085汇编语言程序,将存储在8000H的8位数转换为其等效的格雷码。结果将存储在8050H。
讨论
在这个程序中,我们将二进制转换为格雷码。过程很简单。首先,我们必须将内容右移,然后执行XOR运算,将右移后的内容与实际内容进行异或运算。这样我们就得到了格雷码。例如,如果数字是ABH,则二进制值为(1010 1011),右移后值为(0101 0101) = 55H,现在将ABH和55H进行异或运算,结果为(1111 1110) = FEH
输入
第一个输入
地址 | 数据 |
---|---|
... | ... |
8000 | AB |
... | ... |
第二个输入
地址 | 数据 |
---|---|
... | ... |
8000 | 77 |
... | ... |
第三个输入
地址 | 数据 |
---|---|
... | ... |
8000 | CD |
... | ... |
流程图
程序
地址 | 十六进制代码 | 助记符 | 注释 |
---|---|---|---|
F000 | 21, 00, 80 | LXI H,8000H | 指向源地址 |
F003 | 7E | MOV A, M | 将内存中的数字取到累加器A |
F004 | 37 | STC | 设置进位标志 |
F005 | 3F | CMC | 反转进位标志 |
F006 | 1F | RAR | 累加器A内容右移 |
F007 | AE | XRA M | 将内存内容与A进行异或运算 |
F008 | 32, 50, 80 | STA 8050H | 存储格雷码 |
F00B | 76 | HLT | 终止程序 |
输出
第一个输入
地址 | 数据 |
---|---|
... | ... |
8050 | FE |
... | ... |
第二个输入
地址 | 数据 |
---|---|
... | ... |
8050 | 4C |
... | ... |
第三个输入
地址 | 数据 |
---|---|
... | ... |
8050 | AB |
... | ... |
广告