8085程序查找8位数字的平方

2021年3月17日14:36:06 发表评论 807 次浏览

问题–在8085微处理器中编写汇编语言程序, 以找到8位数字的平方。

示例–

8085程序查找8位数字的平方1

假设–输入数据和输出数据的地址分别为2050和3050。

方法–合并寄存器H和L的内容, 结果内容可用于间接指向存储器位置, 并且该存储器位置由M指定。要查找任何数字的平方, 请继续在最初包含0的累加器A中添加该数字我们需要找到其平方的次数。

算法

  1. 将20分配给寄存器H, 将50分配给寄存器L, 将00分配给累加器A
  2. 加载由寄存器B中的M指定的存储单元的内容
  3. 将累加器A中的M内容与B的减值相加01
  4. 检查B是否持有00, 如果为true, 则将A的值存储在内存位置3050中, 否则转到步骤3

程序–

内存地址 记忆 注释
2000 MVI H 20 H <-20
2002 MVI L 50 L <-50
2004 MVI A 00 A <-00
2006 MOV B, M B <-M
2007 添加M A <-A + M
2008 DCR B B <-B – 01
2009 JNZ 2007 如果ZF = 0则跳转
200度 STA 3050 M [3050] <-A
200楼 HLT 结束

说明–使用A, H, L, B和间接存储器M的寄存器:

  1. MVI H 20 –用20初始化寄存器H
  2. MVI L 50 –用50初始化寄存器L
  3. MVI A 00 –用00初始化累加器A
  4. MOV B, M –移动由寄存器B中的M间接指定的存储位置的内容
  5. 添加M –在累加器A中添加由M间接指定的存储位置的内容
  6. DCR B –将寄存器B的值减1
  7. JNZ 2007 –如果ZF = 0, 则跳转到存储器位置2007, 即寄存器B不包含0
  8. STA 3050 –在3050中存储A的值
  9. HLT –停止执行程序并停止任何进一步的执行

木子山

发表评论

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