; Where a variable lives BYTE score=[0] ; global: every routine below sees it PROC AddPoints(BYTE points) BYTE bonus ; local: only AddPoints sees it bonus=points/10 score==+points+bonus RETURN PROC Counter() BYTE calls=[0] ; a local keeps its value between calls calls==+1 Print("Counter was called ") PrintB(calls) PrintE(" times") RETURN PROC Hide() BYTE score ; a local with the name of a global hides it score=200 Print("Inside Hide: ") PrintBE(score) RETURN MODULE ; global declarations after a routine need MODULE BYTE lives=[3] PROC Main() AddPoints(20) AddPoints(50) Print("Score: ") PrintBE(score) Counter() Counter() Counter() Hide() Print("Score after Hide: ") PrintBE(score) Print("Lives: ") PrintBE(lives) RETURN