8085 微处理器中的跳跃正数指令 (JP)


在 8085 指令集中,我们有一个助记符 **JP a16**,它代表“跳跃正数”,而“a16”代表任何 16 位地址。此指令用于跳转到指令中提供的 a16 地址。但由于它是一个条件跳转,所以只有在当前符号标志值为 0 时才会发生。如果符号标志值为 1,程序流程将依次继续。它是一个 3 字节指令。

助记符,操作数
操作码(十六进制)
字节
标签
F2
3


让我们考虑此指令类型 **JP 4000H** 的一个示例。它是一个 3 字节指令。下面通过一个示例显示了执行此指令的结果。

地址
十六进制代码
助记符
注释
2000
3E
MVI A,40
A ← 40H
2001
40


8 位操作数 40H
2002
06
MVI B,30
B ← 30H
2003
30


8 位操作数 30H
2004
90
SUB B
A ← A – B= 40H – 30H = 10H。由于结果为 10H 且结果为正,因此 S 标志位将为 0
2005
F2
JP 4000
跳跃正数,即当 S = 0 时跳跃,由于减法结果为 10H,因此 S 标志位将保持值为 0
2006
00


目标地址的低位字节
2007
40


目标地址的高位字节
PC <- 4000H,因此程序控制将转移到地址 4000H
2008
78
MOV A, B
此指令现在不会获得控制权,因为 JP 会将控制权转移到内存地址 4000H
….
….
….
….
4000
41
MOV B, C
地址 4000H 处的下一条指令将获得控制权


针对此指令 **JP 4000H** 执行的时序图如下所示:


**总结** - 因此,此指令 **JP** 需要 3 个字节、3 个机器周期(操作码获取、内存读取、内存读取)和 10 个 T 状态才能执行,如时序图所示。

更新于: 2020-06-27

2K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告