Home > CBM > BASIC > Keywords > New
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, Next, Not, Off, On, 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
NEWnoneA21.0+Command and Statement*

  Syntax  
NEW

  Purpose  
State managment.  Delete the program in memory.

  Remarks  
NEW obstensibly deletes any BASIC program in memory.  The program is not actually erased; BASIC performs these actions:

  1. The first line-link is zeroed (see Program Format)
  2. The secret variable Text Pointer is set equal to another secret variable, Start of BASIC
  3. (v4.7, v7.0) End of Text is updated to point 2 bytes past Start of BASIC
  4. (v3.5, v7.0) program tracing is turned off (see TROFF)
  5. CLR is performed

The first action effectively remove all program lines.  Because of this behavior it is possible to completely recover the "erased" program using (for example) one of several UN-NEW utilitilies that have been published.

* NEW may be used as a statement in a program, but this is rare because BASIC will return to direct mode once the program has deleted itself.  This is due (mainly) to the second action.

When used as a command in direct mode, any following commands entered on the same line will be ignored (also mainly due to the second action).

The final action, CLR, obstensibly deletes all user variables, but has numerous side-effects.


Example:
10 A$ = "WORLD"
20 PRINT "HELLO "; A$
RUN
HELLO WORLD

READY.
LIST
10 A$ = "WORLD"
20 PRINT "HELLO "; A$

READY.
PRINT A$
WORLD

READY.
NEW : PRINT "ERASED!" 

READY.
LIST


READY.
PRINT A$


READY.

  Compare With  
DELETE, DLOAD, HEADER,  LOAD, RUN, SCNCLR,  SCRATCH

  Contrast With  
DEF, DIM, LET

  See Also  
CLR, TROFF


© H2Obsession, 2014