diff --git a/src/bin/ponderosa-asm.rs b/src/bin/ponderosa-asm.rs index 8ae5866..b97d4f8 100644 --- a/src/bin/ponderosa-asm.rs +++ b/src/bin/ponderosa-asm.rs @@ -88,7 +88,12 @@ fn parse_forestry_op(tokens: &Vec<&str>, opcode: u16) -> Result { } else if relative_y > 15 || relative_y < -16 { Err(format!("Cannot reach cell at {relative_y} along the Y-axis; trees may only access cells in the range of -16 to 15")) } else { - Ok(opcode<<11 | stack<<10 | (relative_x as u16)<<5 | (relative_y as u16)) + Ok( + opcode<<11 + | stack<<10 + | ((relative_x as u16)<<5) & 0b11111 + | (relative_y as u16) & 0b11111 + ) } }