It's a good idea to avoid GOTO. It's almost never necessary and tends to make programs confusing or lead to bugs. For instance, this works: IF B$=="+" THEN D=A+C IF B$=="-" THEN D=A-C etc. whereas this has a bug in it: IF B$=="+" THEN GOTO @PLUS IF B$=="-" THEN GOTO @MINUS @PLUS D=A+C @MINUS D=A-C Notice that after D=A+C is run, it ends up running D=A-C too.