问题描述
计算由8085微处理器执行以下代码得出的延迟 时钟频率为5 MHz
MVI C,08
Loop2: MVI B,09
Loop1 :DCR B
JNZ loop1
DCR C
JNZ loop2
HLT
我是微处理器的新手,在计算延迟方面确实发现了一点困难。请帮忙!!!
解决方法
在数据表中查找每条指令所花费的时间,并计算所需的时钟脉冲总数。然后将时钟脉冲的数量乘以一个脉冲在5 MHz处花费的时间,即250nS。
,正如@yannik-loroesch 所建议的,您可以查看数据表以找出每条指令所需的 T 状态(时钟周期)数。通过分析代码计算出每条语句被执行的次数,并总结出T个状态的总数。最后将其乘以每条指令执行所需的时间,在本例中为 1/5 µs = 0.2 µs。
你可以使用像 this 这样的模拟器,它显示每条指令的 T 个状态,甚至计算代码执行时 T 个状态的总数。
这里的时间延迟循环总共有 ((4+10)*10 + 7+4+10)*9 = 1449 个 T 状态(不包括第一个和最后一个语句)。