diff --git a/vasm/src/vasm_assembler.rs b/vasm/src/vasm_assembler.rs index 577d24a..fb20a62 100644 --- a/vasm/src/vasm_assembler.rs +++ b/vasm/src/vasm_assembler.rs @@ -502,4 +502,18 @@ mod test { ]) ); } + + #[test] + fn test_relative_blanks() { + assert_eq!(assemble_snippet(".org 0x400 + nop $+2 + + nop 0x111111 + nop 0x222222".lines()), + Ok(vec![ + 0x03, 0x08, 0x04, 0x00, + 0x03, 0x11, 0x11, 0x11, + 0x03, 0x22, 0x22, 0x22 + ])) + } } diff --git a/vasm/src/vasm_preprocessor.rs b/vasm/src/vasm_preprocessor.rs index 88a3131..d1257d5 100644 --- a/vasm/src/vasm_preprocessor.rs +++ b/vasm/src/vasm_preprocessor.rs @@ -78,6 +78,12 @@ impl<'a, T: IntoIterator, F: Fn(String) -> Result { self.next() } + Ok(normal_line) => Some(Ok(Line { line: normal_line, line_num: self.current_line,