/// <summary>
 /// Write instruction operands into bytecode stream.
 /// </summary>
 /// <param name="writer">Bytecode writer.</param>
 public override void WriteOperands(WordWriter writer)
 {
     Pipe.Write(writer);
     NumPackets.Write(writer);
     PacketSize.Write(writer);
     PacketAlignment.Write(writer);
 }
 /// <summary>
 /// Calculate number of words to fit complete instruction bytecode.
 /// </summary>
 /// <returns>Number of words in instruction bytecode.</returns>
 public override uint GetWordCount()
 {
     uint wordCount = 0;
     wordCount += IdResultType.GetWordCount();
     wordCount += IdResult.GetWordCount();
     wordCount += Pipe.GetWordCount();
     wordCount += NumPackets.GetWordCount();
     wordCount += PacketSize.GetWordCount();
     wordCount += PacketAlignment.GetWordCount();
     return wordCount;
 }