public BranchDescriptor ResolveBranch(SpanLocation memory) { var branchOnTrue = Bits.SevenSet(memory.Bytes[0]); var oneByteOffset = Bits.SixSet(memory.Bytes[0]); var offset = 0; if (oneByteOffset) { offset = Bits.BottomSix(memory.Bytes[0]); } else { offset = Bits.MakeSignedWordFromBottomFourteen(memory.Bytes); } return(new BranchDescriptor(branchOnTrue, offset, oneByteOffset ? 1 : 2)); }