【发布时间】:2015-12-06 21:52:58
【问题描述】:
COND 字段或微指令字是 2 位,有四种可能的不同代码:
00 表示不跳转;如果 N=1 则为 01 跳转;如果 Z=1,则为 10 跳转; 11 代表总是跳跃。
如果需要其中一个代码来测试新实现的 ALU 溢出状态位,您会建议我牺牲四个代码中的哪一个?另外,我很想听听为什么。
谢谢!
【问题讨论】:
-
这个 COND 字段是在分支/跳转指令中还是在非分支/跳转指令中(它告诉指令只有在条件为真时才会执行)?我之所以问是因为术语不明确,并且因为 00“无跳转”在分支/跳转指令中没有意义,而 00 或 11 在非分支/跳转指令中没有意义。什么都不做的指令的目的是什么?如果您需要这样的指令作为代码填充器而没有副作用,您可能会找到比指令编码中浪费位更有效的解决方案。
-
@AlexeyFrunze COND 字段在 branch.jump 指令中。我试图从一项包含 00 代码的作业中理解一个问题,以防止跳跃。因此,如果我对您的理解正确,则有另一种方法可以执行此操作。但是,我必须用位来实现它。所以 00 将是解决方案,因为不会有副作用?谢谢。
标签: microcontroller bit microcoding