diff --git a/src/vm/obj/assemble.rs b/src/vm/obj/assemble.rs index b59a352..9345eac 100644 --- a/src/vm/obj/assemble.rs +++ b/src/vm/obj/assemble.rs @@ -226,13 +226,16 @@ impl Assemble for Inst { let mut bytes = Vec::with_capacity(len); bytes.write_u16::($op).unwrap(); let source = $source; - let source_encoding = source.source_encoding(); + let source_encoding = source.source_encoding() << 4; bytes.write_u8(source_encoding).unwrap(); bytes.extend(source.assemble(asm)?); assert_eq!( - self.len(), bytes.len(), + self.len(), + bytes.len(), "instruction size mismatch in {} instruction - {:?} produces these bytes {:?}", - stringify!($op), self, bytes + stringify!($op), + self, + bytes ); Ok(bytes) }};