📜  8085程序将8位数字转换为格雷数字

📅  最后修改于: 2021-06-28 16:33:52             🧑  作者: Mango

前提条件–二进制与格雷码之间
问题–在8085中编写一个汇编语言程序,该程序将8位数字转换为灰度数字

例子 –

假设– 8位数字(输入)存储在存储位置2050,输出输出存储在存储位置3050。

算法 –

  1. 在累加器中加载内存位置2050的内容
  2. 复位进位标志,即CY = 0
  3. 用进位将累加器的内容右移一位,并用输入的初始值执行异或运算
  4. 将结果存储在内存位置3050

程序 –

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

解释 –

  1. LDA 2050将存储单元2050中的内容加载到累加器中
  2. MOV B,A传送寄存器B中寄存器A的内容
  3. STC设置进位标志,即CY变为1
  4. CMC补充进位标志,即CY变为0
  5. RAR与进位标志一起将累加器的内容旋转1位
  6. XRA B对寄存器A和寄存器B的值执行异或运算,并将结果存储在A中
  7. STA 3050将累加器的值存储在内存位置3050中
  8. HLT停止执行程序,并停止任何进一步的执行