8085的跳转语句中有多少个机器周期?

时间:2013-09-05 06:50:59

标签: assembly 8085

如果要检查的条件满足,则8085中的任何跳转语句需要哪个 机器循环?对于不满足的情况?

编辑:我知道这个号码。我想知道那些机器周期是什么。第一个是Opcode Fetch,但其余的是

5 个答案:

答案 0 :(得分:4)

根据this instruction set reference,如果不采用分支,则8085上的条件分支采用9个T状态(2个M周期),如果采用分支,则采用18个T状态(5个M周期)被采取。

就我所知,T状态等于8085上的一个时钟周期。 M循环由几个(3到6个)T状态组成。 M循环的例子是“Opcode Fetch”(它总是每个指令的第一个M循环); “内存读取”和“内存写入”。
您可以阅读有关8085状态和周期in this document的更多信息。

答案 1 :(得分:3)

当不满足J condition时,周期为

  1. Opcode fetch (4 T states)
  2. 指定低位字节的
  3. Memory read (3 T states),同时检查标志条件。
  4. 如果不满足条件,则在这两个机器周期后processor ends此指令循环并4+3 = 7 T states.

答案 2 :(得分:1)

当满足条件时,8085A上的循环为:

JNZ 9050H

  • 操作码提取
  • 内存读取:获取低阶地址字节
  • 内存读取:获取更高阶的地址字节

4 + 3 + 3 = 3个机器周期中的10个T状态

我来到这里是因为我自己在寻找不满足条件时的周期。

答案 3 :(得分:0)

如果条件满足10T状态,否则在条件跳转的情况下7T状态。 在无条件跳转JMP的情况下,它总是10T状态

答案 4 :(得分:0)

让我们以“ JNZ 16位地址”指令为例。 和以下代码以供理解:

INR B           // B=03 H 
JNZ C200 H 

这里的条件成立,因为寄存器B不为零。因此有10个t状态。

如果寄存器B = 00 H,则JNZ条件为假,因为它为零。因此有7个t-状态。

真实:OF + MR + MR = 4 + 3 + 3 = 10吨状态
False:OF + MR = 4 + 3 = 7 t个状态