private byte[] Assemble(Assembler assembler) { using var stream = new MemoryStream(); assembler.Assemble(new StreamCodeWriter(stream), 0); stream.Position = 0; var reader = new StreamCodeReader(stream); int next; var bytes = new byte[stream.Length]; while ((next = reader.ReadByte()) >= 0) { bytes[stream.Position - 1] = (byte)next; } return(bytes); }