Home > CBM > BASIC > Keywords > On
180 Subpages: (divide), (equal), (less), (minus), (more), (multiply), (plus), (power), Abs, And, Append, Asc, Atn, Auto, Backup, Bank, Begin, Bend, Bload, Boot, Box, Bsave, Bump, Catalog, Char, Chr, Circle, Close, Clr, Cmd, Collect, Collision, Color, Concat, Cont, Copy, Cos, Data, Dclear, Dclose, Dec, Def, Delete, Dim, Directory, Dispose, Dload, Do, Dopen, Draw, Ds, Ds string, Dsave, Dverify, El, Else, End, Envelope, Er, Err, Exit, Exp, Fast, Fetch, Filter, Fn, For, Fre, Get, Get num, Getkey, Go, Gosub, Goto, Graphic, Gshape, Header, Help, Hex, If, Input, Input num, Instr, Int, Joy, Key, Left, Len, Let, List, Load, Locate, Log, Loop, Mid, Monitor, Movspr, New, Next, Not, Off, Open, Or, Paint, Peek, Pen, Pi, Play, Pointer, Poke, Pos, Pot, Print, Print num, Pudef, Quit, Rclr, Rdot, Read, Record, Rem, Rename, Renumber, Restore, Resume, Return, Rgr, Right, Rlum, Rnd, Rreg, Rspcolor, Rsppos, Rsprite, Run, Rwindow, Save, Scale, Scnclr, Scratch, Sgn, Sin, Sleep, Slow, Sound, Spc, Sprcolor, Sprdef, Sprite, Sprsav, Sqr, Sshape, St, Stash, Step, Stop, Str, Swap, Sys, Tab, Tan, Tempo, Then, Ti, Ti string, To, Trap, Troff, Tron, Until, Using, Usr, Val, Verify, Vol, Wait, While, Width, Window, Xor

KeywordAbbreviationToken (hex)Version(s)Classification
ONnone911.0+Preposition

  Syntax  
[ ON selector ] { GOSUB | GOTO }  lineNumber [ , lineNumber ] ...
~ or ~
KEY [ { ON | OFF | key_number [ , definition ] } ]
~ or ~
{ APPEND | BACKUP | BOOT | BLOAD | BSAVE | CATALOG | COLLECT | CONCAT | COPY | DIRECTORY | DLOAD | DSAVE | DVERIFY | HEADER | RENAME | RUN |  SCRATCH } [ parameter ]... [ { , | ON } U device_number ] [ parameter ]...

 
Purpose  
Influence the behavior of other statements/commands.

 
Remarks  
The use of ON/OFF with the KEY command seems to be from the unreleased Commodore LCD.  Remnants of this code can be found in the BASIC 7.0 ROMs of the Commodore 128; however such use doesn't function in v7.0.

It's main use is to select one of many program lines (a switch statement in other languages) using either GOTO or GOSUB.

Example:
10 INPUT N
20 ON N GOTO 100, 200, 300
30 STOP
100 PRINT 1 : END
200 PRINT 2 : END
300 PRINT 3 : END

With the disk-related commands (DLOAD and friends), the ON preposition appears to perform the same task as a comma: to seperate items in a list.   However the ON keyword may be used where a comma would generate a SYNTAX ERROR.  Very hard to describe, so here are some examples!

DIRECTORY "*" , U8
0 "SAMPLE DISK     " H2 2A
664 BLOCKS FREE

READY.
DIRECTORY "*" ON U8
0 "SAMPLE DISK     " H2 2A
664 BLOCKS FREE

READY.
DIRECTORY , U8

?SYNTAX ERROR
READY.
DIRECTORY ON U8
0 "SAMPLE DISK     " H2 2A
664 BLOCKS FREE

READY.

  Compare With  
IF, UNTIL, WHILE

  Contrast With  
OFF

  See Also  
Disk Commands, GOSUB, GOTO, KEY, TO


© H2Obsession, 2014