private void Disassemble() { while (true) { var index = _current; PushOperation(Directive.MarkLabel(GetOrAddLabel(index))); if (index >= _stream.Length) { break; } var opcode = (short)_stream[index]; if (opcode >= OpCodeConst.Prefix7) { opcode = (short)((_stream[index] << 8) + _stream[index + 1]); _current += 2; } else { _current += 1; } DisassembleNextOpCode(index, opcode); } }