8085程序将灰度数字转换为二进制

2021年4月12日11:41:54 发表评论 995 次浏览

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

示例–

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

算法–

  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. 停止

程序–

内存地址 内存 注释
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 向右旋转A, 无需进位
2009 ANI 7楼 A = A AND 7F
200B XRA B A = A异或B
200度 DCR C C = C – 1
200D JNZ 2008 如果ZF = 0, 则跳至2008
2011 STA 3050 3050 <-A
2014 HLT 停止

说明-

  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 7楼用于在A和7F中的数据之间取AND
  7. XRA B在A和B中存在的数据之间进行XOR
  8. DCR C用于减少C的内容
  9. JNZ 2008如果ZF = 0, 则用于跳转到地址2008
  10. STA 3050用于将结果存储在内存地址3050中
  11. HLT用于结束程序

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: