检查分支是否在 Motorolla 68k 中执行
Check if Branch Executes in Motorolla 68k
我听说条件代码寄存器 (CCR) 包含 $0B。然后我被问到是否会发生以下分支。
BGT LABEL
我知道这是大于分支,但我不确定 $0B 代表什么。如果我将 $0B 写为 $011,那仍然对我没有帮助,因为我不知道如何判断分支是否会执行,有什么想法吗?我是否可以以某种方式告诉由于 $0B 设置了哪些标志?如果是这样的话,我怎么知道哪些标志是打开的,而这反过来又如何帮助了解分支是否执行?
[=10=]B
我假设是十六进制 0B
是二进制 0000 1011
。由于 CCR
的低 4 位是 NZVC
,这意味着 N=1
、Z=0
、V=1
和 C=1
。
您还需要知道标志 BGT
检查什么。如果 Z=0
和 N=V
则跳转。在这种情况下,这是真的,所以分支将被采用。
我听说条件代码寄存器 (CCR) 包含 $0B。然后我被问到是否会发生以下分支。
BGT LABEL
我知道这是大于分支,但我不确定 $0B 代表什么。如果我将 $0B 写为 $011,那仍然对我没有帮助,因为我不知道如何判断分支是否会执行,有什么想法吗?我是否可以以某种方式告诉由于 $0B 设置了哪些标志?如果是这样的话,我怎么知道哪些标志是打开的,而这反过来又如何帮助了解分支是否执行?
[=10=]B
我假设是十六进制 0B
是二进制 0000 1011
。由于 CCR
的低 4 位是 NZVC
,这意味着 N=1
、Z=0
、V=1
和 C=1
。
您还需要知道标志 BGT
检查什么。如果 Z=0
和 N=V
则跳转。在这种情况下,这是真的,所以分支将被采用。