/// <summary> /// Write instruction operands into bytecode stream. /// </summary> /// <param name="writer">Bytecode writer.</param> public override void WriteOperands(WordWriter writer) { Pointer.Write(writer); Stride.Write(writer); ColumnMajor.Write(writer); if (MemoryAccess != null) { MemoryAccess.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 += Pointer.GetWordCount(); wordCount += Object.GetWordCount(); wordCount += Stride.GetWordCount(); wordCount += ColumnMajor.GetWordCount(); wordCount += MemoryAccess?.GetWordCount() ?? 0u; return(wordCount); }