Found a bug: when defining variables and clearing them, a function that uses those variable will crash SmileBASIC. This is how I discovered it: VAR VAR1%[0] VAR VAR2%[0] VAR VAR3%[0] DEF MYFUNCTION VAR1%[0] = (VAR2%[var3%[0]] << 8) VAR1%[0] = VAR1%[0] + VAR2%[VAR3%[0] + 1] Then I ran the program, used CLEAR, then MYFUNCTION and SmileBASIC crashed.