Commodore‎ > ‎BASIC‎ > ‎Keywords‎ > ‎

END

Keyword Abbreviation Token (hex) Version(s) Classification
END E{Shift+N} 80 1.0 to 4.7 Command* and Statement
END none 80 7.0 Command* and Statement

 
Syntax  
END
 
 
Purpose  
Program flow control.  Stop executing the current program and enter direct mode.

 
 
Remarks  
This statement is normally optional as the program will terminate after executing the last line of the program.  However it is required when the program logically ends in the middle of the program listing.  That is, when some code (typically subroutines) that should not be directly executed follow the logical end. 
 
Example:
10 GOSUB 100
20 PRINT "HELLO "; N$
30 END
100 N$="" : PRINT "WHAT'S YOUR NAME?";
110 INPUT N$
120 IF LEN(N$)<1 OR LEN(N$) > 20 THEN GOTO 100
120 RETURN
 
In the example, the END on line 30 is required to prevent execution from continuing into the subroutine that starts on line 100.
 
* END may be entered as a command in direct mode, but it has no effect.  Another quirk is that CONT is allowed after the program executes END.  This would be bad in most programs, like the example, because it would eventually cause a RETURN WITHOUT GOSUB error.
 
This statement updates a secret variable.  It is secret because BASIC provides no way to read the value (except for machine-specific PEEK).  It sets the secret variable to "in direct mode" (0).
 
In version 2.0 and before, using LIST in a program would end the program after the listing finished.
 
In any version, using NEW in a program will "end" the program, "permanently" if you don't have a copy saved somewhere.
 
Compare With  
 
Contrast With  
 
See Also  

© H2Obsession, 2014
Comments