📜  8085程序将灰色转换为二进制

📅  最后修改于: 2021-06-28 22:39:02             🧑  作者: Mango

问题–在8085微处理器中编写汇编语言程序,以将灰度数字转换为二进制。

例子 –

算法 –

  1. 将地址2050中的数据加载到A中
  2. 在C中移动数据07
  3. 将A的数据移到B
  4. 提取A中可用数据的MSB(最高有效位)
  5. 向右旋转A位
  6. 在A和7F中的数据之间取AND
  7. 在A和B中存在的数据之间进行XOR
  8. 减少C的内容
  9. 如果未设置零标志(ZF),则转到步骤4,否则转到步骤9
  10. 将结果存储在内存地址3050中
  11. 停止

程序 –

MEMORY ADDRESS MNEMONICS COMMENT
2000 LDA 2050 A <- 2050
2003 MVI C, 07 C <- 07
2005 MOV B, A B <- A 2006 ANI 80 A = A AND 80 2008 RRC Rotate A to Right without carry 2009 ANI 7F A = A AND 7F 200B XRA B A = A XOR B 200C DCR C C = C – 1 200D JNZ 2008 JUMP to 2008 if ZF = 0 2011 STA 3050 3050 <- A 2014 HLT Stop

解释-

  1. LDA 2050用于从A中的地址2050加载数据
  2. MVI C,07用于在C中移动数据07
  3. MOV B,A将A的数据移至B
  4. ANI 80提取A中可用数据的MSB(最高有效位)
  5. RRC无需进位就将A的位向右旋转
  6. ANI 7F用于在A和7F中的数据之间进行“与”运算
  7. XRA B对A和B中存在的数据进行XOR
  8. DCR C用于减少C的内容
  9. 如果ZF = 0,则使用JNZ 2008跳转到地址2008
  10. STA 3050用于将结果存储在内存地址3050中
  11. HLT用于结束程序