0

The COND field or the microinstruction word is 2 bits with four possible different codes:

00 for no jump; 01 for jump if N=1; 10 for jump if Z=1; 11 for jump always.

If one of these codes were needed to test a newly implemented ALU overflow status bit, which of the four codes would you recommend I sacrifice? Also, I would love to hear why.

Thanks!

  • Is this COND field in a branch/jump instruction or in a non-branch/jump instruction (and it tells that the instruction will only execute if the condition is true)? I'm asking because the terminology is ambiguous and because 00 "no jump" makes no sense in a branch/jump instruction, and either 00 or 11 makes no sense in a non-branch/jump instruction. What would be the purpose of an instruction that does nothing? If you need such an instruction as a code filler without side effects, you can probably find a more efficient solution than wasted bits in the instruction encoding. – Alexey Frunze Dec 06 '15 at 22:53
  • @AlexeyFrunze The COND field is in a branch.jump instruction. I am trying to understanding one question from an assignment that includes a 00 code for no jumping. So if I am understanding you correctly, there is a different way to conduct this. However, I have to implement it with bits. So 00 would be the solution because there would be no side-effects? Thanks. – Justin_Finland Dec 07 '15 at 00:54

1 Answers1

1

A jump instruction that never jumps is pretty much useless. OTOH, there are many desirable conditions for conditional jumps, more than 4 (think of like 8-16), so supporting more of them directly is a good thing. You could repurpose 00 for the overflow condition.

Alexey Frunze
  • 61,140
  • 12
  • 83
  • 180
  • Awesome. Your explanation goes beyond the assignment, and I am appreciative of that because I like learning for the future, and not just a class. Thank you! – Justin_Finland Dec 07 '15 at 01:19